Current limitations• Modules are not available as separate, reusable YARP processes• Modules can only run on the host machine• Growing number of modules introduces more complexity and makes the compilation process more difﬁcult• Linux-only support
Current beneﬁts• Easy to use user interface• Simple to use by non-programmers (e.g. psychology researchers, undergrads etc.)• Provides several useful tools and also interfaces for commonly used features in the iCub repository• GPU-accelerated processing
Current Aquila Architecture ITALK Sequence ModiTerminal MTRNN Demo Recorder Experiment (ERA) Aquila 1.x Helper classes SOM Vision Simulator ARA CUDA
New Aquila Architecture Control panel Aquila 2.0 iCubSequence Modi ITALK MTRNNRecorder Experiment Demo SOM Vision
Control panel Aquila 2.0 iCub• Aquila 2.0 will provide the control panel and the iCub modules only. • Control panel lets users to load different Aquila-compliant YARP modules and provides information about CUDA and visualises connected modules. Aquila should also detect if any of the modules is already running, both on host and remote machines. • iCub module provides automated launching and/or graphical interfaces for commonly used features e.g. face expressions, force control, skin and robot motor GUIs • This modules also contains the current simulator module
Control panel Aquila 2.0 iCub• This new user interface will be very light and will not need any additional dependencies, just Qt for the GUI and YARP for the communication• All other modules will be developed as separate YARP processes that will be usable without Aquila. However, all these modules (so-called Aquila-compliant) will also contain conﬁguration ﬁles that will be used by Aquila to construct the required UIs for the modules on the ﬂy. Different modules will appear as separate tabs within Aquila• Some modules, for example the MTRNN should be able to be executable on host and remote machines and have several instances and therefore have unique port IDs. Aquila can then provide UI for all the instances running on other computers and utilising different GPUs for example.• If some dependencies were not met during the iCub compilation process then Aquila will load only the UIs for the modules that were compiled• Aquila-compliant modules will communicate with Aquila via extra YARP ports e.g. /mtrnn/ aquila/ui:o,i and Aquila will receive commands through e.g. /aquila/module_id/ui:i,o
Control panel Aquila 2.0 iCub• Runs on Linux, Windows and OSX• Decoupled Aquila-compliant yet Aquila-independent modules• Modules can run on any machine with any compatible OS on the YARP network• Modules can have multiple instances with multiple Aquila UI tabs. (e.g. Training of multiple MTRNNs at the same time on different GPUs and different computers)• Better platform for developers• Easier to use and to debug• Simpler, faster and more efﬁcient
Aquila 2.0Your thoughts and suggestions would be appreciated
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.