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 Motivation Copyright Lucasfilm Ltd. Mobile Robot with Pan-Tilt Camera Honda Asimo Humanoid Robot 2 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 Motion Commands Have to choose OS based on the drivers provided Not easy to share a robot remotely Windows? Linux? Mac OS? with other collaborators in different Embedded OS? locations QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. 3 Project goals Whatever: (cross-model) Whoever: (cross-platform) Provide a network-enabled interface for Asimo which is independent of the controller libraries Access to other robots & simulators: Pioneer, Puma User interface must be cross-platform: support Unix, Linux, Mac OS X and Windows. Wherever: (cross-network) Good quality of service across the Internet. 4 Demo Videos 5 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 6 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] 7 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 8 System Architecture System Overview Client/Server Structure Four Communication Modes 9 Architecture - Specification Standard Abstraction Configuration Spec Command Spec Communication Spec 10 Architecture - System Overview Asimo Library Configuration Spec QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. Command Spec Client Communication Spec .. . Client Pioneer Library QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. Server Client/Server Simulator 11 Architecture - Robotalk Server Server Daemon Read and Write TCP/IP sockets CClientConnection . . . Provide: Buffering, Scheduling, Panic, etc. CClientConnection Class Interface Issue Robot Driver Calls Robot Daemon CRobotDriver 12 Architecture - CClientConnection Server Daemon Input commands CClientConnection Command Queue Read Playback Queue Robot Daemon Feedback Write Return Queue Priority Queues 13 Architecture - CClient Function calls CClient Class Commands to the server. (Blocking/Nonblocking) Class Interface Broadcast cache Return cache Feedback Read Daemon (Nonblocking) 14 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 15 Direct Mode Client Server Sync system clock Clock Function call Command Cache Client return Cache Robot Daemon Return Cache 16 Delay Mode Client Server Sync system clock Clock + Delay Function call Command Cache return Client Robot Daemon error signal Cache Return Cache 17 Playback Mode Length of the sequence Client Clock Function call return Command Cache Server Delay Playback Cache Client Robot Daemon error signal Cache Return Cache 18 Broadcast Mode Delay Broadcast call return Command Cache Client Cache data Robot Daemon Return Cache 19 Conclusions Motivations System Structure Four Network Command Modes Future Extensions Exclusive control Data channels Controlling multiple humanoid robots Virtual humanoid robots 20 Virtual Humanoid Pioneer Library Site A QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. Server Camera Library Puma Library Site B Quic kT i me™ and a T IFF (Unc ompres s ed) dec ompres s or are needed t o s ee thi s pi c ture. Virtual Humanoid 21 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/ 22