SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Cognitive Robotics Technology and Tools
Martin Peniak
Overview

 iCub – iCognitive universal body

 YARP – Yet Another Robotics Platform

 GPU – Graphics Processing Unit

 Aquila – Acquisition of language and actions
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
iCub humanoid robot
Dexterous hands for object manipulation
iCub humanoid robot
Almost walking
iCub humanoid robot
Simulator


  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
YARP
Yet 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.
YARP
Yet Another Robotic Platform


                                                  /icub                 /icubSim




YARP module




YARP module   YARP module




       YARP module    YARP module   YARP module           YARP server
Examples
YARP and iCub simulator
YARP
Terminal commands


yarp                   yarp namespace
yarp help              yarp ping
yarp check             yarp read
yarp clean             yarp regression
yarp cmake             yarp resource
yarp conf              yarp rpc
yarp detect            yarp rpcserver
yarp disconnect        yarp run
yarp exists            yarp server
yarp forward           yarp terminate
yarp help              yarp topic
yarp name              yarp version
yarp name check        yarp wait
yarp name list         yarp where
yarp name unregister   yarp write
YARP and iCub simulator
Controlling 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
YARP and iCub simulator
Displaying 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
Computation of visual, auditory, and tactile perception while performing
elaborate motor control in real-time requires a lot of computation
YARP can run across any number of machines with different operating systems
YARP
Yet Another Robotic Platform


                                                               /icub                 /icubSim




YARP module
 (Windows)




YARP module        YARP module
   (OSX)                 (Linux)




           YARP module             YARP module   YARP module           YARP server
             (Windows)                (OSX)         (Linux)              (Linux)
Biologically-inspired models used in cognitive robotics are inherently parallel and
can greatly benefit from massively parallel devices such as GPU processors
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 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
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 xtors
RIVA 128  23M xtors
3M xtors




1995             2000                    2005                   2010              2012
Programming GPUs with CUDA
History


  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
Aquila
Cognitive robotics research toolkit
Inspiration
Simplification of commonly used features on the iCub and the simulator
Inspiration
Development of bio-inspired models and tools
Inspiration
Scalability modularity and platform-independency

                  /aquila/yarprun/0   /aquila/yarprun/1   /aquila/yarprun/2



                                                                              GPU
                                                                              CPU
Inspiration
Overcoming computational constrains by using GPU processors


   Motion compliance < 1 ms
   Vision (30fps) < 33 ms
   Vision (60fps) < 16 ms

We typically take 33 ms as the cut-off time. 1 complete cycle of
everything critical MUST be completed in that time.

Of course some processes are not critical and their information
can be used as and when it becomes available, subject to
various constraints.
Aquila 2.0
Questions?

Weitere ähnliche Inhalte

Ähnlich wie Cognitive robotics tools and technology

emips_overview_apr08
emips_overview_apr08emips_overview_apr08
emips_overview_apr08Neil Pittman
 
Stream Processing
Stream ProcessingStream Processing
Stream Processingarnamoy10
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...Edge AI and Vision Alliance
 
Multipilot pres-ufficiale last 2
Multipilot pres-ufficiale last 2Multipilot pres-ufficiale last 2
Multipilot pres-ufficiale last 2Roberto Navoni
 
LCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience ReportLCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience ReportLinaro
 
Multipilot pres-ufficiale alpago 2011
Multipilot pres-ufficiale alpago 2011Multipilot pres-ufficiale alpago 2011
Multipilot pres-ufficiale alpago 2011Roberto Navoni
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleAlison Chaiken
 
Parallelism in a NumPy-based program
Parallelism in a NumPy-based programParallelism in a NumPy-based program
Parallelism in a NumPy-based programRalf Gommers
 
Multipilot pres-ufficiale def
Multipilot pres-ufficiale defMultipilot pres-ufficiale def
Multipilot pres-ufficiale defRoberto Navoni
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOSICS
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB WorkshopAntonio Mondragon
 
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Akihiro Hayashi
 
2013 Programming And Controlling Puma Arms
2013 Programming And Controlling Puma Arms 2013 Programming And Controlling Puma Arms
2013 Programming And Controlling Puma Arms 블로그코디
 
Programming and-controlling-puma-arms
Programming and-controlling-puma-armsProgramming and-controlling-puma-arms
Programming and-controlling-puma-armsGyoung Kim
 
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOS
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOSBuilding a QT based solution on a i.MX7 processor running Linux and FreeRTOS
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOSFernando Luiz Cola
 
Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iaetsd Iaetsd
 
May2010 hex-core-opt
May2010 hex-core-optMay2010 hex-core-opt
May2010 hex-core-optJeff Larkin
 

Ähnlich wie Cognitive robotics tools and technology (20)

emips_overview_apr08
emips_overview_apr08emips_overview_apr08
emips_overview_apr08
 
Stream Processing
Stream ProcessingStream Processing
Stream Processing
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
 
Multipilot pres-ufficiale last 2
Multipilot pres-ufficiale last 2Multipilot pres-ufficiale last 2
Multipilot pres-ufficiale last 2
 
LCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience ReportLCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience Report
 
Multipilot pres-ufficiale alpago 2011
Multipilot pres-ufficiale alpago 2011Multipilot pres-ufficiale alpago 2011
Multipilot pres-ufficiale alpago 2011
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the Preemptible
 
Multicore
MulticoreMulticore
Multicore
 
Parallelism in a NumPy-based program
Parallelism in a NumPy-based programParallelism in a NumPy-based program
Parallelism in a NumPy-based program
 
Numba
NumbaNumba
Numba
 
Multipilot pres-ufficiale def
Multipilot pres-ufficiale defMultipilot pres-ufficiale def
Multipilot pres-ufficiale def
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOS
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop
 
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
 
2013 Programming And Controlling Puma Arms
2013 Programming And Controlling Puma Arms 2013 Programming And Controlling Puma Arms
2013 Programming And Controlling Puma Arms
 
Programming and-controlling-puma-arms
Programming and-controlling-puma-armsProgramming and-controlling-puma-arms
Programming and-controlling-puma-arms
 
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOS
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOSBuilding a QT based solution on a i.MX7 processor running Linux and FreeRTOS
Building a QT based solution on a i.MX7 processor running Linux and FreeRTOS
 
Vips 4mar09e
Vips 4mar09eVips 4mar09e
Vips 4mar09e
 
Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...
 
May2010 hex-core-opt
May2010 hex-core-optMay2010 hex-core-opt
May2010 hex-core-opt
 

Mehr von Martin Peniak

GPU-accelerated Action Acquisition Through Multiple Time Scales Recurrent Neu...
GPU-accelerated Action Acquisition Through Multiple Time Scales Recurrent Neu...GPU-accelerated Action Acquisition Through Multiple Time Scales Recurrent Neu...
GPU-accelerated Action Acquisition Through Multiple Time Scales Recurrent Neu...Martin Peniak
 
GPU Computing for Cognitive Robotics
GPU Computing for Cognitive RoboticsGPU Computing for Cognitive Robotics
GPU Computing for Cognitive RoboticsMartin Peniak
 
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?Martin Peniak
 
Bio-inspired Active Vision System
Bio-inspired Active Vision SystemBio-inspired Active Vision System
Bio-inspired Active Vision SystemMartin Peniak
 
Bio-inspired Active Vision System
Bio-inspired Active Vision SystemBio-inspired Active Vision System
Bio-inspired Active Vision SystemMartin Peniak
 
Fluoridation, the scientific fraud of a century
Fluoridation, the scientific fraud of a centuryFluoridation, the scientific fraud of a century
Fluoridation, the scientific fraud of a centuryMartin Peniak
 
Co-evolving controller and sensing abilities in a simulated Mars Rover explorer
Co-evolving controller and sensing abilities in a simulated Mars Rover explorerCo-evolving controller and sensing abilities in a simulated Mars Rover explorer
Co-evolving controller and sensing abilities in a simulated Mars Rover explorerMartin Peniak
 
Vedecká evidencia poukazujúca na spojenie hmoty a vedomia
Vedecká evidencia poukazujúca na spojenie hmoty a vedomiaVedecká evidencia poukazujúca na spojenie hmoty a vedomia
Vedecká evidencia poukazujúca na spojenie hmoty a vedomiaMartin Peniak
 
Scientific evidence for a connection between mind and matter
Scientific evidence for a connection between mind and matterScientific evidence for a connection between mind and matter
Scientific evidence for a connection between mind and matterMartin Peniak
 
Introduction to parallel computing using CUDA
Introduction to parallel computing using CUDAIntroduction to parallel computing using CUDA
Introduction to parallel computing using CUDAMartin Peniak
 

Mehr von Martin Peniak (11)

GPU-accelerated Action Acquisition Through Multiple Time Scales Recurrent Neu...
GPU-accelerated Action Acquisition Through Multiple Time Scales Recurrent Neu...GPU-accelerated Action Acquisition Through Multiple Time Scales Recurrent Neu...
GPU-accelerated Action Acquisition Through Multiple Time Scales Recurrent Neu...
 
GPU Computing for Cognitive Robotics
GPU Computing for Cognitive RoboticsGPU Computing for Cognitive Robotics
GPU Computing 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?
 
Bio-inspired Active Vision System
Bio-inspired Active Vision SystemBio-inspired Active Vision System
Bio-inspired Active Vision System
 
Bio-inspired Active Vision System
Bio-inspired Active Vision SystemBio-inspired Active Vision System
Bio-inspired Active Vision System
 
Aquila 2.0
Aquila 2.0Aquila 2.0
Aquila 2.0
 
Fluoridation, the scientific fraud of a century
Fluoridation, the scientific fraud of a centuryFluoridation, the scientific fraud of a century
Fluoridation, the scientific fraud of a century
 
Co-evolving controller and sensing abilities in a simulated Mars Rover explorer
Co-evolving controller and sensing abilities in a simulated Mars Rover explorerCo-evolving controller and sensing abilities in a simulated Mars Rover explorer
Co-evolving controller and sensing abilities in a simulated Mars Rover explorer
 
Vedecká evidencia poukazujúca na spojenie hmoty a vedomia
Vedecká evidencia poukazujúca na spojenie hmoty a vedomiaVedecká evidencia poukazujúca na spojenie hmoty a vedomia
Vedecká evidencia poukazujúca na spojenie hmoty a vedomia
 
Scientific evidence for a connection between mind and matter
Scientific evidence for a connection between mind and matterScientific evidence for a connection between mind and matter
Scientific evidence for a connection between mind and matter
 
Introduction to parallel computing using CUDA
Introduction to parallel computing using CUDAIntroduction to parallel computing using CUDA
Introduction to parallel computing using CUDA
 

Kürzlich hochgeladen

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Cognitive robotics tools and technology

  • 1. Cognitive Robotics Technology and Tools Martin Peniak
  • 2. Overview iCub – iCognitive universal body YARP – Yet Another Robotics Platform GPU – Graphics Processing Unit Aquila – Acquisition of language and actions
  • 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. iCub humanoid robot Dexterous hands for object manipulation
  • 6. iCub humanoid robot Simulator 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. YARP Yet 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. YARP Yet Another Robotic Platform /icub /icubSim YARP module YARP module YARP module YARP module YARP module YARP module YARP server
  • 10. YARP Terminal commands yarp yarp namespace yarp help yarp ping yarp check yarp read yarp clean yarp regression yarp cmake yarp resource yarp conf yarp rpc yarp detect yarp rpcserver yarp disconnect yarp run yarp exists yarp server yarp forward yarp terminate yarp help yarp topic yarp name yarp version yarp name check yarp wait yarp name list yarp where yarp name unregister yarp write
  • 11. YARP and iCub simulator Controlling 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. YARP and iCub simulator Displaying 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. Computation of visual, auditory, and tactile perception while performing elaborate motor control in real-time requires a lot of computation
  • 14. YARP can run across any number of machines with different operating systems
  • 15. YARP Yet Another Robotic Platform /icub /icubSim YARP module (Windows) YARP module YARP module (OSX) (Linux) YARP module YARP module YARP module YARP server (Windows) (OSX) (Linux) (Linux)
  • 16. Biologically-inspired models used in cognitive robotics are inherently parallel and can greatly benefit from massively parallel devices such as GPU processors
  • 17. The GPU Computing Revolution GPU CPU
  • 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.
  • 20. 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 xtors RIVA 128 23M xtors 3M xtors 1995 2000 2005 2010 2012
  • 21. Programming GPUs with CUDA History 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
  • 23. Inspiration Simplification of commonly used features on the iCub and the simulator
  • 25. Inspiration Scalability modularity and platform-independency /aquila/yarprun/0 /aquila/yarprun/1 /aquila/yarprun/2 GPU CPU
  • 26. Inspiration Overcoming computational constrains by using GPU processors Motion compliance < 1 ms Vision (30fps) < 33 ms Vision (60fps) < 16 ms We typically take 33 ms as the cut-off time. 1 complete cycle of everything critical MUST be completed in that time. Of course some processes are not critical and their information can be used as and when it becomes available, subject to various constraints.
  • 28.

Hinweis der Redaktion

  1. You may ask “Why are these design decisions different from a CPU?”In fact, the GPU’s goals differ significantly from the CPU’sGPU evolved to solve problems on a highly parallel workloadCPU evolved to be good at any problem whether it is parallel or notFor example, the trip out to memory is long and painfulThe question for the chip architect: How to deal with latency?One way is to avoid it: the CPU’s computational logic sits in a sea of cache. The idea is that few memory transactions are unique, and the data is usually found quickly after a short trip to the cache.Another way is amortization: GPUs forgo cache in favor of parallelization. Here, the idea is that most memory transactions are unique, and can be processed efficiently in parallel. The cost of a trip to memory is amortized across several independent threads, which results in high throughput.
  2. In fact, manycore NVIDIA GPUs make parallel processing a commodity technologyGPUs are mass-market commodity products sold at tremendous economies of scale. We sell around 1 million GPUs per week! That’s about 100 per minute. GPUs are massively parallel devices. Our high-end GPUs have 3072 heavily multithreaded thread processors, 7.08 billion transistorsUpshot: Massively parallel computing has become a commodity technology!