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
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
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
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
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/