Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Cognitive Robotics Technology and ToolsMartin Peniak
Overview iCub – iCognitive universal body YARP – Yet Another Robotics Platform GPU – Graphics Processing Unit Aquila – Acq...
iCub humanoid robot                      The dimensions are similar to that of a                      3.5 year old child  ...
iCub humanoid robotDexterous hands for object manipulation
iCub humanoid robotAlmost walking
iCub humanoid robotSimulator  Open-source  Developed as part of a joint effort  with the European project iTalk  Widely ad...
YARPYet Another Robotic Platform  Supports building a robot control system as a collection of programs  communicating via ...
YARPYet Another Robotic Platform                                                  /icub                 /icubSimYARP modul...
ExamplesYARP and iCub simulator
YARPTerminal commandsyarp                   yarp namespaceyarp help              yarp pingyarp check             yarp read...
YARP and iCub simulatorControlling motors  yarp rpc /icubSim/left_leg/rpc:I                   Terminal 1: yarpserver      ...
YARP and iCub simulatorDisplaying camera outputs and controlling joints  Terminal 1: yarpserver  Terminal 2: iCub_SIM  Ter...
Computation of visual, auditory, and tactile perception while performingelaborate motor control in real-time requires a lo...
YARP can run across any number of machines with different operating systems
YARPYet Another Robotic Platform                                                               /icub                 /icub...
Biologically-inspired models used in cognitive robotics are inherently parallel andcan greatly benefit from massively para...
The GPU Computing Revolution   GPU   CPU
CPU vs. GPU Different goals produce different designs    GPU assumes work load is highly parallel    CPU must be good at e...
GPU Evolution High throughput computation                                                        “Kepler”         GeForce ...
Programming GPUs with CUDAHistory  Nvidia creates CUDA to facilitate the development of parallel  programs on GPUs (2007) ...
AquilaCognitive robotics research toolkit
InspirationSimplification of commonly used features on the iCub and the simulator
InspirationDevelopment of bio-inspired models and tools
InspirationScalability modularity and platform-independency                  /aquila/yarprun/0   /aquila/yarprun/1   /aqui...
InspirationOvercoming computational constrains by using GPU processors   Motion compliance < 1 ms   Vision (30fps) < 33 ms...
Aquila 2.0
Questions?
Cognitive robotics tools and technology
Cognitive robotics tools and technology
Upcoming SlideShare
Loading in …5
×

of

Cognitive robotics tools and technology Slide 1 Cognitive robotics tools and technology Slide 2 Cognitive robotics tools and technology Slide 3 Cognitive robotics tools and technology Slide 4 Cognitive robotics tools and technology Slide 5 Cognitive robotics tools and technology Slide 6 Cognitive robotics tools and technology Slide 7 Cognitive robotics tools and technology Slide 8 Cognitive robotics tools and technology Slide 9 Cognitive robotics tools and technology Slide 10 Cognitive robotics tools and technology Slide 11 Cognitive robotics tools and technology Slide 12 Cognitive robotics tools and technology Slide 13 Cognitive robotics tools and technology Slide 14 Cognitive robotics tools and technology Slide 15 Cognitive robotics tools and technology Slide 16 Cognitive robotics tools and technology Slide 17 Cognitive robotics tools and technology Slide 18

YouTube videos are no longer supported on SlideShare

View original on YouTube

Cognitive robotics tools and technology Slide 20 Cognitive robotics tools and technology Slide 21 Cognitive robotics tools and technology Slide 22 Cognitive robotics tools and technology Slide 23 Cognitive robotics tools and technology Slide 24 Cognitive robotics tools and technology Slide 25 Cognitive robotics tools and technology Slide 26 Cognitive robotics tools and technology Slide 27

YouTube videos are no longer supported on SlideShare

View original on YouTube

Cognitive robotics tools and technology Slide 29 Cognitive robotics tools and technology Slide 30 Cognitive robotics tools and technology Slide 31

1

Share

Download to read offline

Cognitive robotics tools and technology

Download to read offline

An introductory talk about iCub, iCub simulator, YARP, YARP modules and GPUs, Aquila

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Cognitive robotics tools and technology

  1. 1. Cognitive Robotics Technology and ToolsMartin Peniak
  2. 2. Overview iCub – iCognitive universal body YARP – Yet Another Robotics Platform GPU – Graphics Processing Unit Aquila – Acquisition of language and actions
  3. 3. iCub humanoid robot The dimensions are similar to that of a 3.5 year old child 53 degrees of freedom Came from the European Framework 6 project: RobotCub (www.robotcub.org) There are now 20 iCubs in different labs in Europe and 1 in the US Continued design - v2.0 to come out Various ongoing project outcomes are distributed via an open-source software repository and via hardware upgrades A free iCub simulator is available
  4. 4. iCub humanoid robotDexterous hands for object manipulation
  5. 5. iCub humanoid robotAlmost walking
  6. 6. iCub humanoid robotSimulator Open-source Developed as part of a joint effort with the European project iTalk Widely adopted within cognitive robotics community V. Tikhanoff, P. Fitzpatrick, F. Nori, L. Natale, G. Metta, and A. Cangelosi, “The icub humanoid robotsimulator,” In International Conference on Intel ligentRObots and Systems IROS, Nice, France, 2008
  7. 7. YARPYet Another Robotic Platform Supports building a robot control system as a collection of programs communicating via tcp, udp, multicast, local, MPI Can be broken down into: libYARP_OS - interfacing with the operating system(s) to support easy streaming of data across many threads across many machines libYARP_sig - performing common signal processing tasks (visual, auditory) in an open manner easily interfaced with other commonly used libraries, for example OpenCV libYARP_dev - interfacing with common devices used in robotics: framegrabbers, digital cameras, motor control boards, etc.
  8. 8. YARPYet Another Robotic Platform /icub /icubSimYARP moduleYARP module YARP module YARP module YARP module YARP module YARP server
  9. 9. ExamplesYARP and iCub simulator
  10. 10. YARPTerminal commandsyarp yarp namespaceyarp help yarp pingyarp check yarp readyarp clean yarp regressionyarp cmake yarp resourceyarp conf yarp rpcyarp detect yarp rpcserveryarp disconnect yarp runyarp exists yarp serveryarp forward yarp terminateyarp help yarp topicyarp name yarp versionyarp name check yarp waityarp name list yarp whereyarp name unregister yarp write
  11. 11. YARP and iCub simulatorControlling motors yarp rpc /icubSim/left_leg/rpc:I Terminal 1: yarpserver 6 joints Starts YARP server yarp rpc /icubSim/right_leg/rpc:i Terminal 2: iCub_SIM 6 joints Starts iCub simulator yarp rpc /icubSim/torso/rpc:I Terminal 3: yarp rpc /icubSim/left_arm/rpc:I 3 joints Terminal 3: set pos 0 – 90 yarp rpc /icubSim/left_arm/rpc:I Terminal 3: set vel 0 50 the arm includes the hand for a total of 16 controlled degrees of freedom Terminal 3: set pos 0 90 yarp rpc /icubSim/right_arm/rpc:I structure is identical to the left arm
  12. 12. YARP and iCub simulatorDisplaying camera outputs and controlling joints Terminal 1: yarpserver Terminal 2: iCub_SIM Terminal 3: yarpview /left Terminal 3: yarpview /right Terminal 3: yarp connect /icubSim/cam/left /left Terminal 3: yarp connect /icubSim/cam/right /right Move the iCub’s head and see the vision changing: Terminal 3: yarp rpc /icubSim/head/rpc:I Terminal 3: set pos 0 -30 (head will move down) Terminal 3: set pos 0 30 (head will move up) Easier way is to use the existing graphical user interface: Terminal 3: robotMotorGui To display camera outputs form the real iCub change the /icubSim prefix with /icub
  13. 13. Computation of visual, auditory, and tactile perception while performingelaborate motor control in real-time requires a lot of computation
  14. 14. YARP can run across any number of machines with different operating systems
  15. 15. YARPYet Another Robotic Platform /icub /icubSimYARP module (Windows)YARP module YARP module (OSX) (Linux) YARP module YARP module YARP module YARP server (Windows) (OSX) (Linux) (Linux)
  16. 16. Biologically-inspired models used in cognitive robotics are inherently parallel andcan greatly benefit from massively parallel devices such as GPU processors
  17. 17. The GPU Computing Revolution GPU CPU
  18. 18. CPU vs. GPU Different goals produce different designs GPU assumes work load is highly parallel CPU must be good at everything, parallel or not CPU: minimize latency experienced by 1 thread big on-chip caches sophisticated control logic GPU: maximize throughput of all threads # threads in flight limited by resources => lots of resources (registers, bandwidth, etc.) multithreading can hide latency => skip the big caches share control logic across many threads
  19. 19. GPU Evolution High throughput computation “Kepler” GeForce GTX 690: 2 x 2811 GFLOP/s 7B xtors High bandwidth memory GeForce GTX 690: 2 x 192 GB/s “Fermi” High availability to all 3B xtors 200+ million CUDA-capable GPUs in the world GeForce 8800 681M xtors GeForce FX 125M xtors GeForce 3 GeForce 256 60M xtorsRIVA 128 23M xtors3M xtors1995 2000 2005 2010 2012
  20. 20. Programming GPUs with CUDAHistory Nvidia creates CUDA to facilitate the development of parallel programs on GPUs (2007) The CUDA language is ANSI C extended with very few keywords for labeling data-parallel functions (kernels) and their associated data Nvidia technology benefits from massive economies of scale in the gaming market, CUDA-enabled cards are very inexpensive for the performance they provide 21
  21. 21. AquilaCognitive robotics research toolkit
  22. 22. InspirationSimplification of commonly used features on the iCub and the simulator
  23. 23. InspirationDevelopment of bio-inspired models and tools
  24. 24. InspirationScalability modularity and platform-independency /aquila/yarprun/0 /aquila/yarprun/1 /aquila/yarprun/2 GPU CPU
  25. 25. InspirationOvercoming computational constrains by using GPU processors Motion compliance < 1 ms Vision (30fps) < 33 ms Vision (60fps) < 16 msWe typically take 33 ms as the cut-off time. 1 complete cycle ofeverything critical MUST be completed in that time.Of course some processes are not critical and their informationcan be used as and when it becomes available, subject tovarious constraints.
  26. 26. Aquila 2.0
  27. 27. Questions?
  • TakeshiWatanabe2

    Dec. 7, 2012

An introductory talk about iCub, iCub simulator, YARP, YARP modules and GPUs, Aquila

Views

Total views

1,292

On Slideshare

0

From embeds

0

Number of embeds

5

Actions

Downloads

37

Shares

0

Comments

0

Likes

1

×