220 likes | 581 Views
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. H. Gonzales-Banos, V. Ng-Thow-Hing, J. E. Davis Honda Research Institute, Mountain View, CA. Mobile Robot with Pan-Tilt Camera.
E N D
RoboTalk: a general robot control frameworkCan we access R2D2 & C3PO with the same control commands? Allen Yang Yang University of Illinois at Urbana-Champaign H. Gonzales-Banos, V. Ng-Thow-Hing, J. E. Davis Honda Research Institute, Mountain View, CA
Mobile Robot with Pan-Tilt Camera Honda Asimo Humanoid Robot Copyright Lucasfilm Ltd. Motivation
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 Motion Commands Windows? Linux? Mac OS? Embedded OS?
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.
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
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]
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
System Architecture • System Overview • Client/Server Structure • Four Communication Modes
Configuration Spec Command Spec Communication Spec Architecture - Specification Standard Abstraction
Configuration Spec Command Spec Communication Spec Architecture - System Overview Asimo Library Pioneer Library Client . . . Server Client/Server Simulator Client
Architecture - Robotalk Server Server Daemon Provide: Buffering, Scheduling, Panic, etc. Read and Write TCP/IP sockets CClientConnection . . . CClientConnection Issue Robot Driver Calls Class Interface Robot Daemon CRobotDriver
Architecture - CClientConnection Server Daemon CClientConnection Input commands Robot Daemon Command Queue Read Playback Queue Feedback Write Return Queue Priority Queues
Architecture - CClient Function calls CClient Class Commands to the server. (Blocking/Nonblocking) Class Interface Broadcast cache Return cache Feedback (Nonblocking) Read Daemon
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
Client Server Sync system clock Clock Function call Client Command Cache Robot Daemon return Cache Return Cache Direct Mode
Client Server Sync system clock + Clock Delay Function call Client Command Cache Robot Daemon return error signal Cache Return Cache Delay Mode
Length of the sequence Command Cache Robot Daemon Client Server Clock Delay Function call Client Playback Cache return error signal Cache Return Cache Playback Mode
Delay Broadcast call Client Command Cache Robot Daemon return data Cache Return Cache Broadcast Mode
Conclusions • Motivations • System Structure • Four Network Command Modes • Future Extensions • Exclusive control • Data channels • Controlling multiple humanoid robots • Virtual humanoid robots
Virtual Humanoid Pioneer Library Site A Camera Library Site B Server Puma Library Virtual Humanoid
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/