Your SlideShare is downloading. ×
0
What is Aquila Software Architecture for Cognitive Robotics?
What is Aquila Software Architecture for Cognitive Robotics?
What is Aquila Software Architecture for Cognitive Robotics?
What is Aquila Software Architecture for Cognitive Robotics?
What is Aquila Software Architecture for Cognitive Robotics?
What is Aquila Software Architecture for Cognitive Robotics?
What is Aquila Software Architecture for Cognitive Robotics?
What is Aquila Software Architecture for Cognitive Robotics?
What is Aquila Software Architecture for Cognitive Robotics?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

What is Aquila Software Architecture for Cognitive Robotics?

630

Published on

Aquila 2.0, an open-source cross-platform software architecture for cognitive robotics that makes use of independent heterogeneous CPU-GPU modules with loosely coupled dynamically generated graphical …

Aquila 2.0, an open-source cross-platform software architecture for cognitive robotics that makes use of independent heterogeneous CPU-GPU modules with loosely coupled dynamically generated graphical user interfaces.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
630
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Martin Peniak, Anthony Morse and Angelo Cangelosi Aquila 2.0 Software Architecture for Cognitive Robotics
  • 2. Application Code + GPU CPU Use GPU to Parallelise Compute-Intensive Functions Rest of Sequential CPU Code Heterogeneous computing Host Device
  • 3. Heterogeneous computing in cognitive robotics
  • 4. Heterogeneous software architecture for the development of modules loosely coupled to their graphical user interfaces Provides simple and user friendly GUI client Distribute, control and visualise existing modules Generate new modules Monitor connected server Tools Modules Run heterogeneous CPU-GPU code doing the actual work What is Aquila?
  • 5. Developed in C++ and CUDA Cross-platform Linux OSX Windows Dependencies Qt YARP CUDA What is Aquila?
  • 6. YARP messages YARP Interface Interface.cpp GPU Kernels kernels.cu Main Thread moduleName.cpp GPUCPU YARP Interface moduleNameInterface.cpp Module Settings GUI Implementation moduleNameSettings.cpp Module GUI Implementation modulename.cpp Module GUI Design moduleName.ui Module Settings GUI Design moduleNameSettings.ui Tab 1 Name: moduleName Instance: instanceID Server: serverID Tab 2 Tab N AquilaGUIAquilaModuleGUIinTab1AquilaModule YARP messages YARP messages Othermodules
  • 7. Classes Visualtisation of image data (e.g from iCub) 2D and 3D plots Node graph Libraries liqaquila-nnet Self-organising maps Echo-state networks Multiple time-scales recurrent neural network libaquila-image Segmentation and object tracking libaquila-utility GPU handling, maths, message passing libaquila-icub iCub motor control (currently implements head-eye movement to pixel position) Existing Aquila Ecosystem
  • 8. Existing Aquila Ecosystem SOM Self-organising Map ERA Epigenetic Robotics Architecture Tracker Object tracking MTRNN Multiple Time-scales Recurrent Neural Network 0.0 20.0 40.0 60.0 264 1032 2056 4104 Speed-up Neurons MTRNN Benchmark Example 2xGTX580(P2P) vs 8 core Intel Xeon ESN Echo State Networks
  • 9. i3 i5 i7 CPUGPU Thank You

×