THE DEVELOPMENT OF R-CUBED MANIPULATION LANGUAGE:
ASYSTEおf DESIGN FOR SUPPORTING VARIOUS TYPES OF CLIENTS
Dairoku Sekiguchi, Naoki Kawakami, and Susumu Tachi
Information Physics and Computing, Graduate School of Information Science and Technology,
The University of Tokyo
7・3・1 Hongo, Bun勾ro-ku, To匂o 113-8656, JAPAN+81-3-5841-6917{ dairoku, kawakami, tachi }@st低 tルtokyo.ac.jp
ABSTRACTThe concept of R Cubed (Real-Time Remote Robotics:
R3) aims to provide a way to telexist anywhere in theworld by controlling remote robots over a network. RCML(R-Cubed Manipulation Language) is considered to be abottom-up approach of the R・Cubed concept. The designof an RCML system utilizes existing in企astructures anddevices such as the Internet and PC, and system users canuse it easily and in旬itively.
RCML is a language for describing the ,interface forcontrolling remote robots in an R・Cubed concept. In也ISpaper, we will show a new implementation of the RCML
2.0 system, which supports PDAs and cellular phones asclients in addition to ordinary desktop PCs. We also
implement怠d an expぽimental system based on RCML 2.0specifications for the communication device called theRobotPHONE, which uses a bilateral con仕olmethod.
幽1. INTRODUCTION
R Cubed (Real-Time Remote Robotics：む）[1] is aconcept that enables a 田er to telexist an抑here in theworld with the sensation of actually being there. This isaccomplished by controlling remote robots over a network.
Users of an R-Cubed system feel and act as ff they reallyexisted in a remote environment, regardless ofthe physicallimitations of time and space [2].
RCML (R-Cubed Manipulation Language) is considered
to be a bottom-up approach of白e R-Cubed concept. The
design of an RCML system utilizes existing irtfras回.cturesand devices such as the Internet and PC, andぷusers of thesystem are able to use it easily and intuitivelyぷIn a manner
similar to the way in which a VRML browser provides astan白rd method for accessing the virtual world, we intend
to provide a standard method for accessing the remote realenvironment with an RCML system.
司

In this paper, we will show a new system implementation,
which c姐 be 田 ed with various types of clients, such asPCs, PDAs, cellular phones, etc. Based on RCML 2.0
system specifications, we also implemented anexp釘imental system for the RobotPHONE, acommunication device that uses a bilateral control method.
2. RELATED WORK
Currently, network robotics is an active research topic.
Many implementation methods have been examined. The
simplest釦1plementation is the combination of CGI(Common Gateway Interface) and HTML (HyperText
Markup Language) [3]. The implemen匂tion that uses aweb browser and Java applet is widely used [4][5][6].
Other methods, which use ORB (Object Request Broker},such as CORBA (Common Object Request BrokerArchitecture) and DCOM (Dis位ibuted Component ObjectModel) have been studied in an 副empt to develop
methods that are more general and sophisticated.
Hirukawa et al. [7] use CORBA to implement theirteleoperation system. ORiN (Open Robot Interface for theNetwork)[8], which was developed by JARA （恥JapanRobot Association), uses DCOM. These ORBs aremechanisms for handling dis位ibuted objects and do not
define the interfaces between each object. Hence, it isnecessary to define a standard method (API）白紙can adapt
to various robots, but it is very difficult to define such ageneral interface in advance of ac旬al system
implementation. Until now, several implementations thatuse an ORB have been proposed, but a standard method
for con仕oiling a remote robot has not been established yet.
With the spread of non-PC devices such as PDAs andcellular phones, it is increasingly important to develop
support system for them. However, currently there is li仕leteleoperation system, which supports such non-PC devices.
In addition, unlike an ordinary PC, each non-PC device
has a wide v紅白ty of device configurations. For instance,
the CPU speed, memory size, and display size are di任erent

in each device. Therefore, a systematic approach is very
important to support various non-PC devices flexibly.
3. RCML 2.0 SYSTEMThe RCML 2.0 system consists of RCML 2.0, which is a
Ian思:iage for describing the remote robot, RCTP/2.0 (R­Cubed Transfer Protocol), a protocol for con加Hing a
remote robot and RXID 2.0 (RCML Extensible Interface
Definition), a language for defining GUI (Graphical UserInterface) [9].
In the RCML 2.0 system, a target robot is describe,d as aset of variables也at are necessary for con仕oiling a robot,
and the con仕ol of a 包rget robot is considered to beequivalent to accessing variables. Figure 1 shows a simple
example by two degrees of企eedomwi也 a parν＇tilt camera.
In Figure I, there are two variables 出at correspond to each
pan/tilt 眠is, and the camera is controlled by accessingthese two variables. Atぬis point, we show a very simple
ex阻iple that has only two variables. When more白血twovariables need to be managed, it is bet回to use a tree
S加C旬re than a flat struc旬re. Thus，位1e RCML 2.0 syst四1
manages variables泊a 位ee structure, which is called 朗
RCML da旬柑邸側re. RCML 2.0 is an XML (eXtensible
Markup Language)-based language that uses an XMLcapability to describe a tree s住UC旬re.
R刃D 2.0 is a new lan息調.ge for supporting vario国 kindsof clients泊出e RCML 2.0 system. RXID 2.0 suppo出well-known common GUI elements such as the window,
scroll bar, bu討on, and text input and can define 也eproperties for each element, such as position, size ，組dcaption. Hence, a usぽ can easily design v紅白田 kinds of
国 er interfaces for con住olling the remote robot. RXID 2.0,
which is 組 XML-based lan忽施F as is RCML 2.0, hasmechanism for a one-way link to an RCML data 甜UC旬re(Fig.2). This one-way link defines the relationship between
a GUI element described in an RXID file and a variable inan RCML data structure defined by an RCML file. Bylinking these two elements, the input企om the GUI side istransferred tp an RCML da包甜UC旬re, and the change ofvariables in the RCML data s加lC旬re is 位祖国ferred ω白eGUI side. Thus, a user can control remote robots by GUIand know the status of the remote robot. Because RXID
2.0’s one-way link starts企om the RXID file side, it is notnecessary to modify the RCML file when describing也ERXID file. This mechanism provides for the complete
sep訂ation of the control of the robot and user interface.
Hence, multiple user interfaces for one RCML file can bedefined without modi今ing the RCML file, or one
integrated user也terface for multiple RCML血es can bedefined. By using 也is one-way link mechanism, theRCML 2.0 system can systematically support variouskinds of clients, which have wide v釘iety of device
configuration.

Control

Fig.I An example using pan/tilt camera

RCML data structure

GUI byRXID

Fig.2 One-way link in RXID 2.0
4. IMPLEMENTATION
4.1. The implementa姐on for PC, PDA and Cellularphone clients
To show也at our sys胞m design can support various旬pesof client seamlessly, we built three experimental systems
for different types of clients. In也is exp拍nent, we choosea PDA and a cellular phone as cli阻ts血addition to an
ordinary PC. We used the same server program and也epan/tilt camera (CANON VC・C3) for each client s戸旬mσig.3).
PC

4.1.1. PC client 砂•stem
The system consists of the RCML server, which con佐ols
the robot, and也e RCML browser, which is used at theclient site for operating remote robot. The RCM工server
consists of the main process, the child processes, whichhandle each session to an RCML client, and世1e robot

driver processes, which control the robot. The RCML
browser is an independent application that connects to thedesired RCML server by typing URL as in an ordinary
web browser.
The RCML server and the RCML browser are written by
C++ and use呪ML for C++ (Version 2.3.1） ” as an XML
processor. In白is experiment, we used Windows 2000 for
the server and the client machine.
The RCML browser can dynamically display a GUI panel
for con仕oiling remote robots according to the descriptionof an RXID file. Figure 4 shows all the GUI elements thatare supported by the cu町ent RCML browser. Figure 5
shows the screen-shot image of the RCML browser
connected to the remote pan/tilt camera. The images inFig.6 show a different con仕ol panel for the same pan/tilt
camera used in Fig.5. These control panels can bedisplayed by simply changing the RXID白le.

4.1.2. PDA client system

We used the Windows CE 3.0 plaぜorm (Pocket PC madeby Hewlett Packard, CPU: SH・3 133MHz, Memory32恥侶） and the Personal Java runtime environment for theWindows CE. The RCML browser designed for a PDA iswri仕en by Java. This RCML browser uses JAXP Ver.1.0
XML processor and has almost the same function with theRC恥1L browser on a PC. By loading a different RXID file,
this RCML browser can display a different GUI in thesame way as the RCML browser running on PC.
The PDA used with this experiment had a small display
area (240 x 320), and the display aspect ratio was also
different企om the PC's display. Therefore, we prepared theuser interface, which optimized for the PDA by creating a
new RXID file. Fi思rre 7 shows the PDA screen image thatis displayed when con仕oiling the remote pan/tilt camera.
幽Fig.4 All the GUI elements supported by the browser
Fig.7 Screen-shot image of the PDA
4.1.3. Cellular phone client system

Fig.5 Screen-shot images of the RCML browser
間思阻Fig.6 The control panels that have different design

This system supports a cellular phone that has a built-in
HTML browser. The gateway program and the web server
are placed between the RCML server and the cellularphone. This gateway program uses a JAXP Ver.1.0 XML
processor and dynamically produces HTML files from an
RCML file and an RXID file. Therefore, by changing these仕ings on the gateway program, this system can be usedwith various robots and clients such as the RCML browser
and can adapt to various robots and clients by changing
the URL. Fi思ire 8 shows the image that is displayed on acellular phone when controlling the remote pan/tilt camera.

Fig.8 Screen-shot image of a cellular phone

5. CONCLUSION

Fig. 9 Movements ofthe teddy bear-like RobotPHONE
4.2. The implementation for RobotPHONE
To show that our system design can support various typesof device seamlessly, we also built an experimental system
for RobotPHONE.
The RobotPHONE is a Robotic User Interface (RUI) thatuses robots as physical avatars for interpersonalcommunication [IO]. Using the RobotPHONE, users inremote locations can communicate shap es and motions
with each other (Fig.9). The RobotPHONE system uses
robots that are called shap e-sharing device. The shape andmotion of remote shap e幽sharing devices are always
S戸chronized by the s戸nmetric bilateral con仕ol method.
The RobotPHONE system is a completely s戸nmetricalsystem and there is no distinction of server and client. On
the other hand, the design of the RCML 2.0 system isbasically based on server client models. Therefore, tobuild an RCML 2.0 system for the RobotPHONE, weintroduced a module called an RCML coordinator to thesystem (Fig.I0).
As shown in Fig.IO, both ends of血巴system are RCML
servers. The RCML coordinator acts as an RCML client
for both RCML servers and mediates between the twoservers. The first negotiation between the two RCML
servers is done through the RCML coordinator. However,仕1e con仕ol data is甘ansferred directly by an RCTP/2.0
data 附earn, which is set up by an RC恥1L coordinatorbetween the two servers.
The con仕ol cycle of the system was 2l[ms], and thebilateral control was performed the same way when阿ocontrollers were connected directly.
PC・2閉ndows 20帥

P四血mill7帥llfllz

In this paper, we showed a system design for the supportof various types of clients. By in佐oducing RXID 2.0 into
仕1e system, GUI and the control information of the robot
were completely separated, and the systematic support forvarious types of client was archived. We implemented anexperimental system for a PC, a PDA, a cellular phone,
and a RobotPHONE and showed that our system design
can adapt to various types of device.
6. ACKNOWLEDGMENTS
The part of this work has been supported by CREST ofJST(Japan Science and Technology Corporation).
7. REFERENCES[1] MITI of Japan, R-Cubed WG ed.： ”'R-Cubed", Nikkan Kogyo
Shinbun, (1996).
[2] S. Tachi：”Real-time Remote Robotics - Toward NetworkedTelexistence", IEEE Computer Graphics and Applications, pp.
6 ・9, (1998).
[3] R. Simmons：”Xavier. An Autonomous Mobile Robot on The
Web ” ， Preprints IROS仰 Workshop ’'Robots on the Web', pp. 4347, (1998).
[4] M. R. Stein: "Painting on the World Wide Web: The
PumaPaint Project ” ， Preprints JROS’98 Work苫hop 'Robots on theWeb', pp. 37-42, (1998).
[5] Roland Siegwart, et al.：”Guiding Mobile Robots through theWeb ’ ： Preprints JR0S'98 Work苫hop ’'Robots on the Web', pp. 1-6,
(1998).
[6] P. Saucy, F. Mondada： ” KhepOnTheWeb: One Year ofAccess to a Mobile Robot on the Internet", Preprints IR0S'98
Workshop ’'Robots on the Web', pp. 23-29, (1998).
[7] H. Hirukawa and I. H 訂a：寸he Web Top Robotics ” ，Preprints JROS ’98 Workshop 'Robots on the Web', pp. 49-54,(1998).
’[8] Mizukawa,M., Matsuka,H., Koyama,T., Matsumoto,A.：” De­facto standard API for Open and Networked Indus仕i al Robots ” ，Proc. 30th Int. Symp. on Robotics, pp.455-462, Oct. 1999
[9] Dairoku Sekiguchi, Weichung Teng, Yasuyuki Yanagida,
Naoki Kawakami, Susumu Tachi: Development of R-Cubed
Manipulation Lan guage - The design ofRCML 2.0 system, Proc.

10th International Conference on Artificial Reality and Tele働
existence 2000, pp. 44-51, 2000

RCTP/2.0 Data Stream

Fig.IO The experimental system for the RobotPHONE[10] Dairoku Sekiguchi, Masahiko Inami, Ssusumu Tachi:
RobotPHONE: RUI for Interpersonal Communication, CHl2001
Extended Abstf・acts, pp. 277-278, 2001.