SlideShare a Scribd company logo
1 of 22
RoboTalk: a general robot control framework
Can we access R2D2 & C3PO with the same control commands?
Allen Yang Yang
University of Illinois at Urbana-Champaign
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
H. Gonzales-Banos, V. Ng-Thow-Hing, J. E. Davis
Honda Research Institute, Mountain View, CA
2
Copyright
Lucasfilm Ltd.
Motivation
Mobile Robot with
Pan-Tilt Camera
Honda Asimo
Humanoid Robot
3
Why do we need a motion specification?
 Difficulties for researchers in robotics:
 Industrial copyright
 Programs are not re-usable in
different robot families, even
different versions of same robot
families
 Have to choose OS based on the
drivers provided
 Not easy to share a robot remotely
with other collaborators in different
locations
QuickTime™ anda
TIFF (Uncompressed) decompressor
are needed to see this picture.
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
Motion Commands
Windows? Linux? Mac OS?
Embedded OS?
4
Project goals
 Whatever: (cross-model)
 Provide a network-enabled interface for Asimo which is
independent of the controller libraries
 Access to other robots & simulators: Pioneer, Puma
 Whoever: (cross-platform)
 User interface must be cross-platform: support Unix, Linux, Mac
OS X and Windows.
 Wherever: (cross-network)
 Good quality of service across the Internet.
5
Demo Videos
6
Contributions
 A robot specification standard
 One command interface
 Four command modes between client and server:
 Direct
 Delay
 Playback
 Broadcast
 Easy-to-change robot driver implementation on the
server-end
7
Previous Work
 Player [R. Gerkey and A. Howard, 2003]
 Open Architecture Humanoid Robotics Platform (HRP)
[F. Kanehiro, et al., 2004]
 Open Pino Project [F. Yamasaki, et al., 2000]
 OROCOS [http://www.orocos.org/]
 Dedicated systems
 ARIA [robots.activmedia.com/ARIA/]
 Robonaut [H. Aldridge, et al., 2000]
 Athena [J. Biesiadecki, et al., 2001]
8
Why not others?
 Do not support humanoid robots
 Hard to change driver implementation
 Do not have network quality support
 Do not have protection mechanism for
exotic robots
9
System Architecture
 System Overview
 Client/Server Structure
 Four Communication Modes
10
Architecture - Specification Standard
Configuration Spec
Command Spec
Communication Spec
Abstraction
11
Architecture - System Overview
Client/Server
...
Client
Client
Server
Asimo
Library
Pioneer
Library
Simulator
QuickTime™ anda
TIFF (Uncompressed) decompressor
are needed to see this picture.
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
Configuration Spec
Command Spec
Communication Spec
12
Architecture - Robotalk Server
Server Daemon
Robot Daemon
Read and
Write
TCP/IP
sockets
Issue Robot
Driver Calls
CClientConnection
CClientConnection
Provide:
Buffering,
Scheduling,
Panic, etc.
Class
Interface
.
.
.
CRobotDriver
13
Architecture - CClientConnection
CClientConnection
Command Queue
Return Queue
Playback Queue
Read
Write
Input
commands
Feedback
Priority Queues
Server Daemon
Robot
Daemon
14
Architecture - CClient
Read Daemon
Return cache
CClient Class
Class
Interface
Commands to the server.
(Blocking/Nonblocking)
Feedback
(Nonblocking)
Broadcast
cache
Function
calls
15
Architecture - Communication Modes
 Direct mode:
blocking & instantaneous, for debug purposes
 Delay mode:
nonblocking, instantaneous or delay
 Playback mode:
nonblocking, adaptive caching based on channel quality
 Broadcast mode:
periodic query feedback
16
Direct Mode
Client Server Sync system clock
Clock
Command Cache
Robot
Daemon
Client
Function call
Cache Return Cache
return
17
Delay Mode
Client Server Sync system clock
Robot
Daemon
Client
Cache
Function call
return
Delay
Command Cache
Clock +
Return Cache
error signal
18
Playback Mode
Client
Cache
Function call
return
Return Cache
error signal
Clock
Playback Cache
Command Cache
Delay
Robot
Daemon
Client Server
Length of the sequence
19
Broadcast Mode
Client
Cache
Broadcast
call
return
Command Cache
Robot
Daemon
Return Cache
data
Delay
20
Conclusions
 Motivations
 System Structure
 Four Network Command Modes
 Future Extensions
 Exclusive control
 Data channels
 Controlling multiple humanoid robots
 Virtual humanoid robots
21
Virtual Humanoid
Server
Pioneer
Library
Camera
Library
Puma
Library
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
QuickT ime™ and a
T IF F (Uncom pressed) decompressor
are needed to see this picture.
Site A
Site B
Virtual Humanoid
22
Thank you!
Allen Yang: yangyang@uiuc.edu
Hector Gonzales-Banos: hhg@honda-ri.com
Victor Ng-Thow-Hing: vng@honda-ri.com
All videos available online: perception.csl.uiuc.edu/RoboTalk/

More Related Content

Similar to Humanoid robot ppt

FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep diveITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep diveITCamp
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..Aashish Uppal
 
Exor jmobile introduction
Exor jmobile introductionExor jmobile introduction
Exor jmobile introductionJimmy Hsu
 
Is parallel programming hard? And if so, what can you do about it?
Is parallel programming hard? And if so, what can you do about it?Is parallel programming hard? And if so, what can you do about it?
Is parallel programming hard? And if so, what can you do about it?John Lee
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...François Le Droff
 
OSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxOSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxBrett Hackleman
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience National Cheng Kung University
 
Typhoon Managed Execution Toolkit
Typhoon Managed Execution ToolkitTyphoon Managed Execution Toolkit
Typhoon Managed Execution ToolkitDimitry Snezhkov
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15sullis
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Developer Network
 

Similar to Humanoid robot ppt (20)

FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
 
Build Programming Language Runtime with LLVM
Build Programming Language Runtime with LLVMBuild Programming Language Runtime with LLVM
Build Programming Language Runtime with LLVM
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Genode Components
Genode ComponentsGenode Components
Genode Components
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep diveITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..
 
Exor jmobile introduction
Exor jmobile introductionExor jmobile introduction
Exor jmobile introduction
 
Eclipse RT Day
Eclipse RT DayEclipse RT Day
Eclipse RT Day
 
Is parallel programming hard? And if so, what can you do about it?
Is parallel programming hard? And if so, what can you do about it?Is parallel programming hard? And if so, what can you do about it?
Is parallel programming hard? And if so, what can you do about it?
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
 
Agnostic Device Drivers
Agnostic Device DriversAgnostic Device Drivers
Agnostic Device Drivers
 
Handout2o
Handout2oHandout2o
Handout2o
 
OSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxOSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems Toolbox
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience
 
Typhoon Managed Execution Toolkit
Typhoon Managed Execution ToolkitTyphoon Managed Execution Toolkit
Typhoon Managed Execution Toolkit
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 

More from Ravindranath Tagore

Software architecture for humanoid robots
Software architecture for humanoid robotsSoftware architecture for humanoid robots
Software architecture for humanoid robotsRavindranath Tagore
 
Software testing q as collection by ravi
Software testing q as   collection by raviSoftware testing q as   collection by ravi
Software testing q as collection by raviRavindranath Tagore
 
Improving software testing efficiency using automation methods by thuravupala...
Improving software testing efficiency using automation methods by thuravupala...Improving software testing efficiency using automation methods by thuravupala...
Improving software testing efficiency using automation methods by thuravupala...Ravindranath Tagore
 
Configuration-Release management
Configuration-Release managementConfiguration-Release management
Configuration-Release managementRavindranath Tagore
 

More from Ravindranath Tagore (11)

Humanoid robots
Humanoid robotsHumanoid robots
Humanoid robots
 
Software architecture for humanoid robots
Software architecture for humanoid robotsSoftware architecture for humanoid robots
Software architecture for humanoid robots
 
Robotic speech processing
Robotic speech processingRobotic speech processing
Robotic speech processing
 
Software testing q as collection by ravi
Software testing q as   collection by raviSoftware testing q as   collection by ravi
Software testing q as collection by ravi
 
Networking fundamental
Networking fundamentalNetworking fundamental
Networking fundamental
 
Wireless networks gsm cdma
Wireless networks  gsm cdmaWireless networks  gsm cdma
Wireless networks gsm cdma
 
Improving software testing efficiency using automation methods by thuravupala...
Improving software testing efficiency using automation methods by thuravupala...Improving software testing efficiency using automation methods by thuravupala...
Improving software testing efficiency using automation methods by thuravupala...
 
Automation beyond testing tools
Automation beyond testing toolsAutomation beyond testing tools
Automation beyond testing tools
 
Configuration-Release management
Configuration-Release managementConfiguration-Release management
Configuration-Release management
 
Software testing
Software testing   Software testing
Software testing
 
Video quality testing methods
Video quality testing methodsVideo quality testing methods
Video quality testing methods
 

Recently uploaded

Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 

Recently uploaded (20)

Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 

Humanoid robot ppt

  • 1. RoboTalk: a general robot control framework Can we access R2D2 & C3PO with the same control commands? Allen Yang Yang University of Illinois at Urbana-Champaign QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. H. Gonzales-Banos, V. Ng-Thow-Hing, J. E. Davis Honda Research Institute, Mountain View, CA
  • 2. 2 Copyright Lucasfilm Ltd. Motivation Mobile Robot with Pan-Tilt Camera Honda Asimo Humanoid Robot
  • 3. 3 Why do we need a motion specification?  Difficulties for researchers in robotics:  Industrial copyright  Programs are not re-usable in different robot families, even different versions of same robot families  Have to choose OS based on the drivers provided  Not easy to share a robot remotely with other collaborators in different locations QuickTime™ anda TIFF (Uncompressed) decompressor are needed to see this picture. QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. Motion Commands Windows? Linux? Mac OS? Embedded OS?
  • 4. 4 Project goals  Whatever: (cross-model)  Provide a network-enabled interface for Asimo which is independent of the controller libraries  Access to other robots & simulators: Pioneer, Puma  Whoever: (cross-platform)  User interface must be cross-platform: support Unix, Linux, Mac OS X and Windows.  Wherever: (cross-network)  Good quality of service across the Internet.
  • 6. 6 Contributions  A robot specification standard  One command interface  Four command modes between client and server:  Direct  Delay  Playback  Broadcast  Easy-to-change robot driver implementation on the server-end
  • 7. 7 Previous Work  Player [R. Gerkey and A. Howard, 2003]  Open Architecture Humanoid Robotics Platform (HRP) [F. Kanehiro, et al., 2004]  Open Pino Project [F. Yamasaki, et al., 2000]  OROCOS [http://www.orocos.org/]  Dedicated systems  ARIA [robots.activmedia.com/ARIA/]  Robonaut [H. Aldridge, et al., 2000]  Athena [J. Biesiadecki, et al., 2001]
  • 8. 8 Why not others?  Do not support humanoid robots  Hard to change driver implementation  Do not have network quality support  Do not have protection mechanism for exotic robots
  • 9. 9 System Architecture  System Overview  Client/Server Structure  Four Communication Modes
  • 10. 10 Architecture - Specification Standard Configuration Spec Command Spec Communication Spec Abstraction
  • 11. 11 Architecture - System Overview Client/Server ... Client Client Server Asimo Library Pioneer Library Simulator QuickTime™ anda TIFF (Uncompressed) decompressor are needed to see this picture. QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. Configuration Spec Command Spec Communication Spec
  • 12. 12 Architecture - Robotalk Server Server Daemon Robot Daemon Read and Write TCP/IP sockets Issue Robot Driver Calls CClientConnection CClientConnection Provide: Buffering, Scheduling, Panic, etc. Class Interface . . . CRobotDriver
  • 13. 13 Architecture - CClientConnection CClientConnection Command Queue Return Queue Playback Queue Read Write Input commands Feedback Priority Queues Server Daemon Robot Daemon
  • 14. 14 Architecture - CClient Read Daemon Return cache CClient Class Class Interface Commands to the server. (Blocking/Nonblocking) Feedback (Nonblocking) Broadcast cache Function calls
  • 15. 15 Architecture - Communication Modes  Direct mode: blocking & instantaneous, for debug purposes  Delay mode: nonblocking, instantaneous or delay  Playback mode: nonblocking, adaptive caching based on channel quality  Broadcast mode: periodic query feedback
  • 16. 16 Direct Mode Client Server Sync system clock Clock Command Cache Robot Daemon Client Function call Cache Return Cache return
  • 17. 17 Delay Mode Client Server Sync system clock Robot Daemon Client Cache Function call return Delay Command Cache Clock + Return Cache error signal
  • 18. 18 Playback Mode Client Cache Function call return Return Cache error signal Clock Playback Cache Command Cache Delay Robot Daemon Client Server Length of the sequence
  • 20. 20 Conclusions  Motivations  System Structure  Four Network Command Modes  Future Extensions  Exclusive control  Data channels  Controlling multiple humanoid robots  Virtual humanoid robots
  • 21. 21 Virtual Humanoid Server Pioneer Library Camera Library Puma Library QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. QuickT ime™ and a T IF F (Uncom pressed) decompressor are needed to see this picture. Site A Site B Virtual Humanoid
  • 22. 22 Thank you! Allen Yang: yangyang@uiuc.edu Hector Gonzales-Banos: hhg@honda-ri.com Victor Ng-Thow-Hing: vng@honda-ri.com All videos available online: perception.csl.uiuc.edu/RoboTalk/