A Remote Robotics Laboratory On The Internet
A Remote Robotics Laboratory On The Internet
A Remote Robotics Laboratory On The Internet
should allow both scripting capability and low- With this in mind, even a minimal realization of our
level access to the robots.8 An ideal solution system must accomplish the following four steps: (i)
would be Unix-based with a standard mechatronic realize remote operation of taskable machines, (ii) add
interface [34] to low-level control of the robot. programmability, (iii) add multiplicity and autonomy,
Such an approach would leverage the mature and (iv) add collaborative remote experiment capabil-
Unix development environment, aording script- ity.
ing and rapid prototyping capabilities, while re- Regarding remote operation of taskable robots (our
taining low-level hooks into the hardware. step one), the eld of telerobotics has a 50-year history
[38] and is a form of resource sharing. When we add
2.2 Contrasts With Previous Work the goal of Web-accessibility, relevant previous works
Clearly, our goal of implementing Web-accessible include the following.11
autonomous mobile robots entails solving many prob-
lems. A brief digression into an operating systems The Mercury project at USC [19, 21] consists
analogy points out transferable techniques and en- of a robot manipulator moving above a section
ables a more tractable picture of the system design. of earth known to contain artifacts. There is a
First, the shell provides a user interface through which downward-pointing camera attached to the distal
users submit commands and receive responses from end of the robot arm. By clicking on an image
the system. Basically, the shell provides user registra- or buttons on the Web page, users can make the
tion, user login, utilities such as job submission com- robot move along the X-Y axes and the camera
mands/languages, data logging commands/languages, along the Z axis. In real-time operation, GIF im-
commands \who" and \talk" to facilitate collabora- ages of the camera view are updated on the Web
tion. The shell also provides a programming environ- page, and a session is logged as an MPEG movie;
ment (compiler, simulator, and debugger). Second, the resource dened by a [computer] system" [39].
kernel schedules resources9 and implements the shell 11 Other Web applications include: (1) Net-frog [28] uses
commands. Thus, the kernel is responsible for such QuickTime movies to demonstrate dissections in the frog
system aspects as: (i) communication between entities, anatomy. Users use a mouse to practice dissection on still im-
(ii) sharing, scheduling and partitioning of resources, ages of frog; the program monitors and noties the users if, e.g.,
(iii) the safety net, (iv) maintaining information about they try to cut at the wrong place. (2) The Monterey BayNet
users (e.g., to enforce dierent levels of access), and (v) project [12] establishes the backbone for multiple educational
security10 . initiatives and research projects. ATM, Frame Relay, and ISDN
networks are interconnected, with the Multicast Backbone [40]
8 For example, [21] showed that by using a Web interface, it and World-Wide Web providing tools for complete connectiv-
is possible to make robotics applications widely accessible by ity to a wide variety of existing information sources. Ongoing
appropriately abstracting the interface. On the other hand, [18] projects include the live exploration of Monterey Canyon using
showed that low-level real-time control can also be achieved over a deep-sea remotely-operated vehicle, and a \virtual telescope"
the Internet. interface to astronomical data at The Monterey Institute for Re-
9 For users, resources include actuation, sensing, computation search in Astronomy (MIRA). (3) The NERO project [26] is an
and communication capabilities of the taskable hardware, which ongoing multiple-institution eort in Oregon to create a virtual
form the basis for the remote experiment. For the taskable hard- classroom, i.e., collaborative research and teaching among the
ware, resources include space, communications media, etc. and memberinstitutionsand with industrialsites. ATM provides the
engender many resource-con
ict issues. basic network technology. Collaborative tools, distance learning
10 By \security", we mean \protection", i.e., \a mechanism and real-time control applications such as robotics and
ight
for controlling the access of programs, processes or users to the simulators are some of the research areas.
the only sensory data is the energy level. This sites, and a friendly user interface like Onika would
project has been decommissioned since March 31, be equally useful.14
1995. We know of no works that address the last two
steps { multiplicity, autonomy, and collaboration { of
The Australia's Telerobot On The Web project our minimal system realization. Certainly, computer-
at the University of Western Australia [24] chal- supported collaborative design [41] and \Virtual Envi-
lenges users to control the parallel-jaw grippers of ronment" eorts15 are well-developed research elds,
a six-axis manipulator to pick up blocks on a ta- and it is possible that techniques from those elds
ble. Through a ll-out form, users can submit de- will allow collaborative remote experiment capability
sired (X,Y,Z) coordinates, and roll,pitch,yaw ac- to be built on top of realizations of the rst three steps
tions. A xed camera gives a side view of the above.
arena, and the image is updated when the user
command is submitted and executed. 3 Current System
The Bradford Robotic Telescope [14, 25] allows The system is now in the early stages of implemen-
users to work either in batch mode12 or in real- tation and it is called the W3R3 Project. Ten R3
time mode. The user describes what he wishes robots have previously been acquired and an 8 meter
to observe and the telescope moves accordingly. x 7 meter arena has been set aside for remote exper-
One of the strong features of this project is the imentation. The following components are currently
good implementation of user access control: users in place: (i) IS Robotics R3 robots supplemented by
must register, login (passwords can be changed Unix workstations with Internet access, (ii) a Global
via e-mail), and submit jobs. Furthermore, jobs Positioning System, (iii) battery recharging support,
are prioritized; only those with highest priority and (iv) a Web-based user interface. These features
are allowed real-time control of the telescope. are described in the following subsections.
3.1 Robot Platform
All three of these projects aord remote manipula- Based on previous experience, we believe that the
tion of taskable hardware through a Web interface. In R3 is well suited to the project requirements outlined
this sense, they have demonstrated the feasibility of in section 2. However, two caveats apply: (i) they
certain basic aspects of our project plan. However, in have no interface to the Internet, and (ii) they have
each of these projects there is only one piece of taskable insucient GPS resolution (i.e., the measured spatial
hardware (the Mercury project uses an IBM manipula- resolution of the R3's original GPS subsystem was 10
tor, the UWA project uses an ASEA industrial robot, cm with a time resolution of 5 seconds).
and the Telescope project uses a telescope interfaced As initially congured, the R3 is a small, au-
to PCs); hence, issues of multiplicity and autonomy do tonomous mobile robot about 30 cm both in diameter
not arise. Furthermore, since there is no programma- and in height (see Figure 1). Computational require-
bility involved, neither programming environment nor ments are satised by 68332 and 68HC11 microcon-
data logging is an issue in these projects. trollers. The R3 runs the Venus operating system [27]
Regarding adding programmability (our step two), and runs user programs in 1MB of non-volatile RAM.
the most signicant work we know of is the Onika The sensor array of the robot includes infrared prox-
project at Carnegie-Mellon University [18], which sup- imity sensors, bump sensors, shaft encoders, power
posedly provides a \virtual laboratory / virtual fac- status indicators, and a user input panel. The robot
tory". moves using a dierential drive and can manipulate ob-
jects using a force-sensing gripper subsystem. Power is
Onika is an interface to a real-time operating sys- supplied by rechargeable NiCad batteries. The robot
tem called Chimera which supports reusable real- has the capability to detect low power conditions and
time software. Through Chimera, reusable soft- recharge under software control when attached to an
ware modules downloaded from other sites can be external power source.
immediatelyassembled. Onika's contributions are
(i) an iconic interface for linking software modules
3.2 Computation Upgrade
(basically, like an object manager in an object- A key aspect of our design is the on-board support
oriented environment), (ii) the ability to follow of standard Internet protocols (e.g., TCP/IP, FTP,
hyperlinks to retrieve remote software modules13, etc.). We examined several ways of modifying the R3
to accept network connections including direct modi-
and (iii) display of video and other information at cation of Venus. An alternative was to add another
run time. In a demonstration, remote and local
software modules for controlling a Puma manip- 14 The Onika interface is built on top of X-windows; it is not
ulator were linked and executed using the Onika as simple to achieve an iconic interface and real-time video using
interface, with real-time video of the Puma shown existing Web facilities.
on the interface. 15 Various research works toward \Virtual Environments" and
"Virtual Reality" have already produced a number of software
packages, architectures, and operating systems. Two examples
For our purposes, something similar to the Chimera are as follows: (i) The VEOS (Virtual Environment Operating
operating system would be able to provide a good Shell) project [10], which is a management facility for gener-
software development environment for collaborating ation of, interaction with and maintenance of virtual environ-
ments. An early demonstration in a blocks world allowed four
12 I.e., submitting a job and receiving an image result { some- participants to independently navigate and manipulate movable
times days later. objects in a shared virtual space. (ii) The work of [30] allows in-
13 Because network delays are relatively long and unpre- formal collaboration by embedding an information retrieval tool
dictable, the remote software modules are rst downloaded au- (Gopher) to a \text-based virtual reality" environment; this is
tomatically by Onika, then the whole program executes on the an example of merging computer-mediated conferencing and on-
machine where all modules reside. line information retrieval.
processor capable of running Unix, which supports of 19.2 Kbps. Based on spread-spectrum technology,
network communications natively and to write soft- the radio bandwidth is multiplexed over seven radio
ware that interfaces the two. In addition to satisfying channels. Each modem can select one of the channels
our original requirements, choosing the latter option to transmit or receive data, but only four radio chan-
also allowed us to signicantly upgrade the computa- nels can be concurrently used in the same area. To
tional capability of the R3 and provide access to the support more radio connections, each radio channel
large base of Unix applications. can be further divided into 64K logical sub-channels.
Therefore, our robots have been augmented with a Contention for the sub-channels is handled at the MAC
compact 486DX2-66 Unix workstation, based on the (medium access control) layer by using the CSMA/CA
PC/104 bus standard, with 4MB of RAM and .5GB (carrier-sense multiple access with collision avoidance)
mass storage. The workstations run a variant of Unix protocol. However, due to the inherent delay caused
called Linux, for which source code is available, mak- by CSMA/CA, throughput degrades as the number of
ing kernel-level modications possible. This ability be- active sub-channels increases.
comes important when device drivers have to be writ- In our conguration, we have used the maximum of
ten for task-specic sensors or actuators. The entire four independent channels, statically assigning radio
workstation ts in a 12 cm cube that is secured to the modems to sub-channels to accommodate more than
top of the R3. four simultaneous connections. We are currently run-
The Unix workstation and the robot communicate ning PPP (Point-to-Point Protocol) on the wireless
via virtual shared memory. By this, we mean that links to provide TCP/IP functionality. The basesta-
no actual physical memory is shared; instead, we em- tion therefore can communicate with the Unix work-
ulate shared memory with software that drives RS- station on-board each R3 by using any of the facilities
232 hardware linking the two computational resources. of the TCP/IP protocol suite. At the same time, the
The shared memory is logically implemented as les on basestation has an Ethernet connection to the Inter-
the Unix workstation that store the current values of net, which provides high bandwidth connectivity to
the robot's sensors and the current set points of the other Internet hosts.
robot's actuators. The update frequency between the
workstation and the R3 is currently 32 Hz.
The advantage of this le-based shared memory ap-
proach is that closed loop control of the robot can be
implemented as a high priority Unix process that reads
the sensors le, computes new actuator set points, and
then updates the actuators le. Since virtually all lan-
guages support some kind of le access, this system
provides nearly universal access to programming lan-
guages.
3.3 Gobal Positioning System
The GPS consists of four overhead cameras with
slightly overlapping elds of view. The camera images
are digitized and processed to yield the position and
orientation of each robot and of obstacles in the en-
vironment, with updates occurring at 30 Hz with a
spatial resolution of about 3 cm. The system allows
queries of the robot's own position, of other robots'
positions, and of obstacles' positions. To provide this
information to processes running on the robots, sock-
ets are used to transfer data from the o-board vision
processing workstation to the robots local lesystems.
3.4 Recharging
Battery recharging support is accomplished by Figure 2: Part of the Web page.
\feeding trough" technology. When a robot needs
to recharge, it proceeds to a wall on one side of the
arena where two parallel horizontal plates maintain 3.6 User Interface
enough potential to drive the robot's recharging cir- On the basestation, an NCSA HTTP server runs
cuitry. Physically, the robot's grippers have contacts and provides a graphical user interface (GUI) to the
above and below that are positioned so that the ngers mobile robots.
can be inserted between the parallel plates to allow
recharging. This allows the current system to run in- In order for the users to interact eectively with the
denitely. With power-conscious safety net software, mobile robots in the lab, it is necessary that the GUI
robots can interrupt the current experiment under low must support the following capabilities: (i) submis-
power conditions and recharge before completing the sion of basic commands, e.g., Forward, RaiseGripper-
experiment. Lift, (ii) viewing of actuator and sensor states, and (iii)
submission of program les. In addition, the following
3.5 Communication are highly desirable: (iv) video of the lab overview,
The communication between basestation and each and (v) real-time animation of sensory readings.
R3 is discussed as follows in terms of OSI layers. We implement our GUI based on Web facilities
At the physical layer, a pair of Proxim radio (i.e. HTTP, HTTP server, Common Gateway Inter-
modems is dedicated as a wireless serial link between face, HTML, and Web browser). Web facilities are
each R3 and its basestation. The link can be viewed chosen as the implementation language since (i) Web
logically as a standard RS-232 cable, with a data rate facilities are widely available and therefore maximize
the accessibility of our system, and (ii) Web facilities [2] A. Agah, Sociorobotics: The Study of Robot Colonies From
are rapidly evolving so that in the near future we will Simulation to Hardware Realization, Ph.D. thesis, USC CS
be able to implement our entire GUI based only on Dept., 1994.
Web facilities. Figure 2 shows part of the current Web [3] ARPA, working notes of ARPA Taskable Machines Work-
page. shop, Feb. 15-16, 1995.
Since the current Web facilities cannot support all [4] T. J. Berners-Lee, R.T. Fielding, and H. F. Nielsen, \Hy-
the features needed for our interface,16 we use a hybrid perText Transfer Protocol { http1.0", Internet draft, Mar.
approach for now, and plan to replace non-Web-based 1995,
parts as Web facilities improve. http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-v10-
The GUI can be divided into 3 parts: (i) registra- spec-00.txt.
tion/login, (ii) programming, and (iii) display. [5] T. J. Berners-Lee, R. Cailiau, J. F. Gro, and B. Poller-
The registration/login part is performed in a man- mann, \World-Wide Web: The Information Universe",
ner similar to the Bradford telescope project. We are Electronic Networking, Research, Applications and Policy,
adding new capabilities for users to schedule experi- No.2, 1992, pp.52-58.
ment time slots with our lab. [6] T. J. Berners-Lee and R. Cailliau, \World-Wide Web: Pro-
Programming is supported at dierent levels: posal for a Hypertext Project", 1990,
At Level 1, users can set the state and value of
http://info.cern.ch/hypertext/WWW/Proposal.html.
actuators on a particular R3. [7] T.J. Berners-Lee and D.Connolly, \HyperText Markup
Language Specication - 2.0", Internet draft, Feb. 1995,
At Level 2, users can program in a script lan- http://www.osn.de/htmlspec/HTMLSPEC.html.
guage to make an R3 to do simple tasks like mov- [8] J. Borenstein and Y. Koren, \Teleautonomous Guidance
ing in the gure of a square. A script is com- for Mobile Robots", IEEE Trans. on Systems, Man and
posed of lines with the format <command time- Cybernetics, 20(6), Nov.-Dec. 1990, pp. 1437-1443.
interval>. Commands currently implemented in- [9] A. Branch, personal communication, Oct. 1994.
clude Forward, Backward, FastForward, FastRe-
verse, TurnLeft, TurnRight, Pause, RaiseGripper- [10] W. Bricken and G. Coco, \The VEOS Project", Technical
Lift, and LowerGripperLift. Report, Tech Report R-93-3, Univ. of Washington, 1993.
At Level 3, users can submit a program to the [11] R. A. Brooks and A. M. Flynn, \Fast, Cheap and Out of
basestation, and get possible error messages back Control: A Robot Invasion of the Solar System", Journal
on a Web page. Since there is no Web facility of the British Interplanetary Society, 42(10), Oct. 1989,
for uploading les to an HTTP server, users must pp. 478-485.
e-mail the program. Additionally, very trusted [12] D. Brutzman, \Networked Ocean Science Research and Ed-
users can simply telnet into the basestation. ucation, Monterey Bay California", Proc. INET'95, 1995.
[13] Y. U. Cao, A. S. Fukunaga, A. B. Kahng and F. Meng, \Co-
The display part of the GUI transmits video and operative Mobile Robotics: Antecedents and Directions",
sensory data in semi real-time. In the current setup, Proc. IEEE/RSJ Intl. Symp. on Intelligent Robotics and
we send video stream via a video conferencing tool Systems, Aug. 1995, to appear.
called nv (NetVideo) [17]. This requires that the client [14] M. J. Cox and J. E. F. Baruch, \Robotic Telescopes: An
has nv capability, and is therefore restrictive. Sensory Interactive Exhibit on the World-Wide Web", Proc. 2nd
data are plotted and displayed in primitive animation International World-Wide Web Conference, Oct. 1994.
using Netscape's server push method. Finally, the user
can request that the complete log of sensory readings [15] K. G. Engelhardt, personal communication (talk at Los
be sent to him/her via e-mail. Angeles Area Robotics and Automation Symposium), May
1995.
4 Summary [16] D. E. Franklin, A. B. Kahng and M. A. Lewis, \Distributed
We have described ongoing work toward a remote Sensing and Probing With Multiple Search Agents: To-
robotics research site which allows repeatable remote ward System-Level Landmine Detection Solutions", Proc.
experimentation on multiple mobile robots. Our sys- SPIE Aerosense-95: Detection Technologies for Mines and
tem consists of multiple mobile robots hosting on- Minelike Targets, Apr. 1995.
board Unix workstations, and approximates the Phase [17] R. Frederick, \Experiences with Real-Time Software Video
One functionality described in Section 2 above. As we Compress", Jul. 1994,
move toward the ability to conduct \real science" via ftp://parcftp.xerox.com/pub/net-research/nvpaper.ps.
networked, remote colonies of taskable robots, we en- [18] M. W. Gertz, D. B. Stewart, and P. K. Khosla, \A Human-
vision applications in such domains as agriculture, en- Machine Interface for Distributed Virtual Laboratories",
vironmental monitoring, and deep-space exploration. IEEE Robotics and Automation Magazine, Dec. 1994, pp.
References 5-13.
[19] K. Goldberg, M. Mascha, S. Gentner, N. Rothenberg, C.
[1] M. Aarup, M. Zweben and M. S. Fox, eds., Intelligent Sutter, and J. Wiegley, \Desktop Teleoperation via the
Scheduling, Morgan Kaufmann, 1994. World-Wide Web", Proc. IEEE Intl. Conf. on Robotics and
16 Currently widely used Web facilities are HTTP 1.0 [4], Automation, 1995.
HTML 2.0 [7], CGI 1.1 [22], and the most widely used browser [20] I. Horswill, Specialization of Perceptual Processes, Ph.D.
is Netscape (Version 1.1 as of mid-April 1995). However, the thesis, MIT EECS Dept., May 1993.
current Web facilities do not eectively support: (i) real-time
animation (although \poorman's animation" is achievable via, [21] http://cwis.usc.edu:80/dept/raiders.
e.g., Netscape 1.1's \server push" and \client pull"), and (ii) [22] http://hoohoo.ncsa.uiuc.edu/cgi/overview.html.
le upload capability. We note that adding le upload function [23] http://mpfwww.jpl.nasa.gov/ jwright/fact sheet
into HTML ll-out forms has been proposed [33, 36], and has /fact sheet.html.
been implemented experimentally by some browsers such as Hot
Java. [24] http://telerobot.mech.uwa.edu.au.
[25] http://www.eia.brad.ac.uk/rti.
[26] http://www.nero.net.
[27] IS Robotics,Venus Reference Manual, 1995.
[28] M. B. Kinzie, V. A. Larsen, J. B. Burch, and S. M. Boker,
\Net-frog: Using the WWW to Learn about Frog Dissec-
tion and Anatomy", Proc. INET'95, 1995.
[29] M. A. Lewis, A. H. Fagg, and G. A. Bekey, \The USC
Autonomous Flying Vehicle: An Experiment in Real-Time
Behavior Based Control", Proc. of IEEE Intl. Conf. on
Robotics and Automation, Vol. II, May 1993, pp. 422-439.
[30] L. Masinter and E. Ostrom, \CollaborativeInformationRe-
trieval: Gopher from MOO", Proc. INET'93, 1993.
[31] M. Mataric, Interaction and Intelligent Behavior, Ph.D.
thesis, available as Technical Report AI-TR-1495, MIT AI
Lab, Aug. 1994.
[32] B. L. Musits, W. L. Bargar and E. J. Carbone, \Image-
Driven Robot Assists Surgeons With Total Hip Replace-
ments", Industrial Robot 20(5), 1993, pp. 12-14.
[33] E. Nebel and L. Masinter, \Form-Based File Upload in
HTML", Internet draft, Apr. 1995,
ftp://ietf.cnri.reston.va.us/internet-drafts/draft-ietf-html-
leupload-02.txt.
[34] E. J. Nicolson, \Standardizing I/O for Mechatronic Sys-
tems (SIOMS) Using Real Time UNIX Device Drivers",
Proc. IEEE Intl. Conf. on Robotics and Automation, May
1994, pp. 3489-3494.
[35] L. E. Parker, Heterogeneous Multi-Robot Cooperation,
Ph.D. thesis, MIT EECS Dept., Feb. 1994.
[36] D. Raggett, \HyperText Markup Language Specication
Version 3.0", Internet draft, Apr. 1995,
http://www.hpl.hp.co.uk/people/dsr/html3/CoverPage.html.
[37] K. S. Roberts, \Robot Active Touch Exploration: Con-
straints and Strategies", Proc. IEEE Intl. Conf. on
Robotics and Automation, 1990, pp. 980-985.
[38] T. B. Sheridan, Telerobotics, Automation and Human Su-
pervisory Control, MIT Press, 1992.
[39] A. Silberschatz and P.B. Galvin, Operating System Con-
cepts, Addison-Wesley, 1994.
[40] A. Thyagarajan, S. Casner, and S. Deering, \Making the
MBone Real", Proc. INET'95, 1995.
[41] I. Tou, S. Berson, G. Estrin, Y. Eterovic, and E. Wu,
\Strong Sharing and Prototyping Group Applications",
IEEE Computer, 27(5), May 1994, pp.48-56.