Sie sind auf Seite 1von 6

Copyright @ IFAC Telematics Applications in Automation

and Robotics, Weingarten, Germany, 2001

A JAVA BASED SYSTEM FOR NAVIGATION AND


TELE-OPERATION OF A MOBILE ROBOT

Piotr Skrzypczynski

Technical University of Poznan,


Department of Control, Robotics, and Computer Science
ul. Piotrowo 3A, PL-60-965 Poznan, Poland

Abstract: This paper describes a system that allows to tele-operate a semi-autonomous


mobile robot through the intranet/Internet network. The software of this system
has been written entirely in Java to achieve high platform-independence. The
user interface runs as a Java applet within Web browsers. The experiments with
the implementation on a Labmate mobile robot are described. Results of these
experiments show the feasibility of Java as a tool for building user-friendly, networked
robotic systems. Copyright© 2001 IFAC

Keywords: Telerobotics , Teleoperation, Mobile robots, Networks, Software tools

1. INTRODUCTION between the user and the remote site (i.e. robot).
Because of this, a network-controlled robot should
The Internet is a very fast evolving global network. demonstrate certain degree of autonomy, even if it
In recent years it has become one of major com- is tele-operated.
munication networks and information resources The aim of the described project was to develop an
for the society. Currently, a number of Web sites intranet/ Internet-based control system for a semi-
provide access to remotely controlled devices such autonomous mobile robot . The system, named IN-
as cameras, but physical interaction with remote TERLABNET enables a remote operator to control
environments through Internet is still seldom pos- a mobile robot, located at the Mobile Robotics
sible. Intelligent robotic systems, such as mobile Laboratory of TU Poznan from any computer
robots , connected to the Internet can be physical connected to the departments intranet, no matter
agents allowing users to make changes in the re- where this computer is physically located. After
mote environments through the network (Taylor first tests of this system (Skrzypczynski, 2000) it
and Dalton, 2000). Robotic systems operated via has been found out that some improvements are
Internet/intranet can have simple, intuitive hu- required, especially that the video feedback can
man interface based on commonly used software significantly help the remote user . So a second ver-
(e.g. graphical WWW browsers). Such robots can sion of the INTERLABNET has been accomplished
perform cleaning, delivery, and inspection tasks in in July 2000, and it is described in this paper.
hospitals and large offices, they can be also used in
the entertainment e.g. in exhibitions, fairs or mu-
seums (Thrun et al., 1999) and can assist people
2. INTERLABNET ARCHITECTURE
in their everyday activities (Roy et al., 2000).
Nevertheless, there are many challenges in using 2.1 Hardware
the Internet or intranet network as the communi-
cation medium for robots, because such computer The test-bed (Fig. 1,2) consists of a robot of the
networks introduce non-predictable time delays TRC Labmate type equipped with a low-cost laser

309
2.2 Java-based software for a mobile robot

The INTERLAsNET software set-up consists of two


kinds of programs. The first one is the server side
program, that actually controls the hardware (the
robot and all the sensors), and the second is the
intranet I Internet Labmate client side program that provides the graphical
user interface to the remote operators.
The server communicates with the clients through
computer network , namely the TCP /IP intranet .
The standard Web communication technique is
HTTP (Hyper Text Transfer Protocol) which is
Fig. 1. InterLabNet structure - first version often extended by using CGI (Common Gate-
way Interface) scripts. For the purpose of robot
tele-operation, the most important limitation of
scanning range finder, and infra-red proximity the CGI is that the generated HTML pages are
sensors. All the external sensors, as well as the static , and offer no interaction for the operator.
robot controller, are connected through the serial These standard techniques are not suitable to
interfaces (RS232). The vehicle is controlled by build a tele-operation system for mobile robots.
its on-board PC-compatible industrial computer On the other hand , the use of techniques which are
being a node of the computer network. The robot highly system- and vendor- dependent can affect
is connected to the network (intranet) via a wire- the port ability of the system, and make it inac-
less Ethernet link. Alternatively, the robot can be cessible to some users. Consequently, it has been
controlled via radio-modems from a stand-alone decided to write all the system in Java - both the
PC , in this case the on-board computer is not client and the server side applications.
used.
Java is a full-function , object-oriented program-
One of the main problems identified during the ming language. Among other features, it pro-
experiments with INTERLABNET (see section 3) vides safe error and exception handling, automatic
was the inability of the operator to see what the memory management with garbage collector and
robot is actually doing. Because the robot does good support for code reuse through formal inter-
not have an on-board camera, the video feedback face definitions . It has been designed especially to
is provided in the form of images from an overhead write portable systems which are able to operate
camera, fixed to the ceiling of the laboratory room. in a distributed, heterogeneous environment over
This camera is connected to a stand-alone PC the Internet . Web browsers execute Java applets
being a node of the network. within WWW pages. This portability of Java ap-
Currently, INTERLAsNET is available to the users plets allows the remote users of the robot to work
of the departments intranet. The Internet users on any hardware/software platform on which a
outside of the department are not allowed to Java-enabled Web browser is available. Java allows
control the robot mainly for logistic reasons : to implement direct connections over TCP /IP net-
firstly, it is not possible to have the robot on- work and thus avoids the most important limita-
line for longer time (because of the limitations tion of the HTTP protocol. Moreover, the applets
of battery power) , and secondly the navigation enable the user interface to be more interactive
system is still too simple to operate unassisted. as compared to a sequence of static HTML pages
generated by a CGI script.
Unfortunately, the portable nature of Java has an
impact on its performance (Atherton, 1998; Bol-
lella and Gosling, 2000). The portability has been
achieved by introducing the Java Virtual Machine
(JVM), as the intermediate execution layer. For
the sake of platform independence, the JVM en-
capsulates all services that are specific to the kind
of hardware and operating system, including I/O
operations and networking. Although Java was
originally designed for embedded systems, cur-
rently the language itself and the available JVM
Fig. 2. The structure of the improved InterLabNet implementations do not support all requirements
system for such real-time systems as autonomous robots.
This problem concerns such issues as memory

310
management, scheduling and synchronization of varying bandwidth and possibly large time delays
threads , interrupt handling, and implementation between the operator and the server the direct
of device drivers . Hence, one of the goals of the control of the vehicle (e.g. by means of a joystick)
presented project was to experiment with Java by is not suitable. The operator of the INTERLAB-
using it to the direct control of devices on board NET guides the mobile robot by specifying a path
of the mobile robot . consisting of intermediate goal points. This path is
then followed by the robot, by means of it's local
navigation capabilities. The control thread is also
responsible for reading periodically the robot sta-
2.3 Server application tus (including the current position and orientation
from odometry) and for exception handling, e.g. in
In the first version of INTERLABNET the robot the case of a failure of the communication with the
was controlled from a stand-alone PC through robot.
radio modems (Skrzypczynski, 2000). The server
application written in Java was executed under The third thread communicates with sensors of the
JDK 1.2 virtual machine and Windows NT 4.0 mobile robot. It reads the data from the laser scan-
operating system. In case of the improved version ner and builds the local occupancy grid according
of the system the aim was to install the server to the Histogramic In-Motion Mapping (HIMM)
on the on-board computer of the mobile robot. As algorithm proposed by Borenstein and Koren
this is an industrial-PC machine with quite limited (1991) . The local occupancy grid provides the base
power and resources (486/66MHz) there was no for obstacle avoidance, which is implemented by
possibility to use the software from the previous using the Vector Field Histogram (VFH) method
version in a straightforward way. Because of this, (Borenstein and Koren, 1991). The robot under
Linux (Red Hat 6.1) is used as operating system control of INTERLABNET does not have high de-
and Sun JDK 1.2.2 as Java run-time environment. gree of autonomy due to the limitations of the
on-board sensors (Skrzypczynski, 1997). However,
The HTTP server is used only to deliver the the basic autonomous behaviours like emergency
HTML document with the Java-applet to a remote stop and simple obstacle avoidance have been im-
user, then the Java-based server and client applica- plemented in the sensor-processing thread of the
tions establish communication through the socket server to ensure the safety of navigation in the face
mechanism without involving the Web-server. Af- of time-delays and possible disruption of commu-
ter it is started in JVM, the server application nication with the remote operator. All navigation
initialize serial ports and through them the robot algorithms have been implemented in Java and
as well as its sensors. Then, the server waits for integrated in the server.
the client requests.
The data collected by the server i.e. sensory read-
The INTERLABNET server consists of four concur- outs, robot position and status, and current sta-
rent threads. The main thread is responsible for tus of the server are passed to the main thread
operations related to clients. For the safety reasons and then broadcasted to the clients in the form
the users of the systems have been divided into depending on their status/rights. Moreover, the
two groups - operators and guests. Operators local occupancy values are also transferred to the
are those users that are registered, when all other remote users, and then used to build global occu-
users attempting to contact the system are treated pancy map in the clients applet.
as guests. The guests can not guide the robot, they
can only see what it is doing. The main thread The last thread of the server is the connection
manages the users queue, stores IP addresses, monitor. It's task is to wait in a loop for the
identifies new users and assigns their rights to connection requests from new clients. If a new
a proper group (guests, waiting operators, active client is connected, this thread passes his address
operator). The same thread manages also the ac- to the main thread, and continues to wait for
cess rights of logged clients, i.e. it decides who can next connection. This separate thread for new
control the robot at a given moment, and who only connections helps to avoid delays and thus makes
receives the sensory data from the robot operated the whole system more accessible.
by someone else. If the current operator issues a
command the main thread receives it and passes
to the control thread.
2.4 Video feedback
The control thread actually controls the mobile
robot and serves the active operator. This thread Where other Web-based mobile robots (e.g. Xavier
maintains the communication with the robot's (Simmons, 1998) , Minerva (Thrun et al. , 1999))
controller, interprets the high-level operator com- provide video feedback from on-board cameras,
mands received from the main thread and issues the INTERLABNET takes a different approach
low-level commands for the robot. Because of the and allows the remote users to see the robot

311
camera hnages(Java)
operator / guest applet (Java)
InterLabNet
server
(Java)

login mobile robot


(JavaScript)
welcome page (HTML)

Fig. 3. The configuration of InterLabNet Web site

from a "bird's eye" perspective through a ceiling- The operator can specify a path for the robot
mounted camera. Currently, only one camera is by clicking in the simplified map of the robot 's
used , but thanks to the fish-eye lenses an image work area (Fig. 4). The map can display the
from this camera covers almost entire floor of the 2D predefined model of the environment , current
lab. The B/ W CCD camera sends the video signal robot position and current path (lower-left part
to a frame grabber placed in a stand-alone PC , of the window) . The operator can also change the
which runs under Windows 9x. The video frames velocity and acceleration of the robot , stop it or
are captured by a separate GetCam program (be- reset, by using the" dashboard" in the central part
ing the only part of the system not implemented in of the applet 's screen . The client's applet features
Java), then converted to JPEG format and stored also the status-message monitor (upper-left part
in a file . The HTTP server (Apache 1.3.6) sends of the window). This monitor allows the operator
these images to client applets. to watch the communication between the applet
and the server, as well as the current status of the
The PC hosting the camera is also a Web server
server, and robot-server communication.
for the introduction WWW pages. These " wel-
come" pages provide a short presentation of the The upper-right part of the applet contains the
INTERLABNET concept, and the login service (im- camera feedback window. The view is updated
plemented in JavaScript) for users . Clients logged periodically, with the delay time chosen by the
in are directed via hyperlinks to the actual Web user from the options available below the image
server of the system , hosted on board of the robot. window. Currently, the minimal delay is 1 second ,
If the on-board server can not be reached , the what does not ensure a " live" video feedback. The
user still can see images from the overhead camera image refresh rate is limited mainly by the frame
available through a separate applet (Fig. 3). grabber used , and the current implementation of
the GetCam capturing program, and it is expected
that this parameter can be improved .

2.5 Web-based operator interface Because the human operator does not have di-
rect video feedback from a robot-mounted cam-
The client-side applet is down loaded from the era, the graphical presentation of the synthetic
Web-server , and runs within a Java-enabled browser environment model becomes very important. The
(e.g. Netscape Navigator) . It establishes a con- sensor-based map displayed to the remote oper-
nection with the server application via a socket ator (lower-right part of the window) is an oc-
and enables the user to interact with the robot. cupancy grid. The grid-based map has been cho-
There are separate applets available to the guest sen because such map tolerates sensory data un-
and to the registered operators. Which one is sent certainty and ambiguity so it can serve also in
to the client is decided by the login service. The weakly-structured environments. In the first ap-
proach a slightly modified version of the algo-
operator's applet gives him the control over the
rithm proposed by Elfes (1990) has been used
vehicle , while the guest's applet lets him only to
to integrate the range measurements into a map
watch the operation of the robot .

312
robot. The Java application (server) running III
JVM under Windows NT on a stand-alone PC

[~~~~~~
(Pentium/233MHz) was fast enough to control the
mobile robot and its sensors via radio modems.
The communication between the server and the
robot was stable even when the number of simul-
.~------'i ::t=J--1~ :; . ___.ff I ~ 7 r)r , r ,e taneously connected clients was high. The problem
:::f:Ij~ . ......,...... -,.,.... was the inability of the server to recognize the
"'"-__ ..... . P' " -
.,-.,- r failures of the robot hardware , for instance , it
I could not re-connect to the robot , after the robot 's
L ...-)(ro-_'f~'.
... -ro::===- ' ~
~. ,.~, ,M'>.<. ....~_...,< I:
controller " reset" due to the low battery power .
Similar experiments have been carried out with
the second version of Il'.'TERLABNET. The results
obtained were better because of the improved
Fig. 4. The operator 's applet graphical interface server functionality (scheduling of users requests ,
new obstacle avoidance functions , more robust
(Skrzypczyriski , 2000). This algorithm is compu-
protocol for communication with the robot), and
tational intensive and its implementation in Java
the visual feedback available to the remote oper-
on the on-board computer can rise problems . In
ator. The possibility to visually track the robot
contrary, the HIMM method does not involve the
on the camera window provides a better feeling of
use of probability functions, it only increments and
reality, even with the limited image refresh rate.
decrements cells in the map for each range reading ,
what requires minimal computational overhead. The system has been tested in two hardware con-
Moreover , the fast map building allows the robot figurations, namely the target configuration of the
to use the resulting local map for obstacle avoid- new version (Fig. 2) , and the configuration with
ance by means of the VFH method. The original the INTERLABNET server on a stand-alone PC
HIMM algorithm has been modified in order to use running under Windows NT, and radio-modem
laser scanner data instead of ultrasonic rangefinder connection to the robot (Fig. 1). This was pos-
readouts , and implemented in Java. Because the sible without any modification of the software ,
scanner has a narrow beam and the readouts do because of the portability of the server written
not suffer from specular reflections and crosstalks, in pure Java. The location of the server appli-
it was possible to simplify the data integration cation on the robot's PC improves the safety
method by avoiding the filtration operators, used of the whole system, because the communication
by Borenstein and Koren (1991) to compensate for between the server and the robot's controller is
the effects caused by in-motion use of sonars. " local" (through cables), in contrary to the radio-
modem communication.
The local occupancy map is produced by the
server application, and then sent to the clients. Although the system is completely based on Inter-
The client's applet receives the data and integrates net technologies, the server has enough autonomy
them into a global occupancy grid. Running the to compensate the effects of possibly unreliable
global occupancy map building process on the wireless communication. Even if the communica-
local machines helps to avoid large communication tion is lost completely, the robot protects itself
gaps , that can arise due to the transmission of from collisions with obstacles. The problem is the
huge data packages (like the global map) to clients. limited power of the on-board computer in the cur-
rent experimental set-up. It affects mostly the low-
level algorithms, like map building and obstacle
3. EXPERIMENTAL VALIDATION avoidance, and subsequently limits the safe speed
of the vehicle to about 0.2 m/so It limits also the
To validate the approach and the robustness of the number of clients which can connect simultane-
software a series of experiments has been carried ously.
out. With the first version of INTERLABNET the
robot has been controlled by using several different
computers (PC and SUN) working within the 4. CONCLUSIONS
department intranet. During these experiments
the robot was guided also by untrained operators,
The contribution of this work is the implementa-
for whom working with INTERLABNET was a first tion of the entire mobile robot navigation system
contact with mobile robots. in Java. This system proved to be capable of al-
From these experiments it has been found out lowing safe navigation in a structured laboratory
that the reliability of the Java-based software is environment and execution of tasks issued by sev-
good , despite of some technical problems with the eral remote users.

313
The lesson learned since the first version became Mobile Robot via Internet. Proc. Int. Conf.
operational (June 1999) is that the autonomy is Mechatronics 2000, Warsaw , 380-384.
a key feature for a networked mobile robot, even Taylor, K. and B. Dalton (2000) . Internet Robots:
if it is largely tele-operated, and that the robot A New Robotics Niche. IEEE Robotics and
must have enough "intelligence" to tolerate un- Automation Magazine 7(1) , 27-34.
predictable gaps in communication or even mis- Thrun, S., M. Bennewitz , W . Burgard , A. Cre-
leading commands from non-expert users. On the mers, F . Dellaert, D. Fox, D. Hiihnel , C.
other hand, it has been found out that Internet Rosenberg, N. Roy, J. Schulte and D. Schulz
communication techniques are enough flexible and (1999). MINERVA : A Second-Generation Mu-
reliable to be used for tele-operation of mobile seum Tour-Guide Robot. Proc. IEEE Int .
robots in real , indoor applications. Finally, the Conf. on Robotics and Automation, De-
feasibility of Java language and Java run-time en- troit , 1999-2005.
vironments as the base for robotic applications has
been tested. The use of Java has many advantages,
like portability and built-in networking support,
but the possibility of implementing real-time pro-
grams is somewhat limited . It is expected that
the introduction of the new real-time specification
for Java (Bollella and Gosling, 2000) will help to
overcome these limitations.

5. ACKNOWLEDGMENTS

Thanks are due to P. Grajdek and D. Jopek for


their contribution to the implementation of the
described system.

6. REFERENCES
Atherton , R. (1998) . Moving Java to the Factory.
IEEE Spectrum 35(12) , 18-23.
Bollella, G. and J . Gosling (2000) . The Real-
Time Specification for Java. IEEE Computer
33(6) , 47-55 .
Borenstein, J. and Y. Koren (1991). Histogramic
In-Motion Mapping for Mobile Robot Obsta-
cle Avoidance. IEEE Journal of Robotics and
Automation 7 (4), 535- 539.
Elfes, A. (1990). Sonar- Based Real- World Map-
ping and Navigation. In: Autonomous Robot
Vehicles ( I. J. Cox and G. T . Wilfong Ed.),
pp. 233- 249, Springer- Verlag , Berlin.
Roy, N. , G. Baltus, D. Fox, F. Gemperle, J . Goetz,
T . Hirsch, D. Magaritis, M. Montemerlo, J .
Pineau, J. Schulte, and S. Thrun. (2000). To-
wards Personal Service Robots for the El-
derly. In: Proc. of the Workshop on Interactive
Robotics and Entertainment (I. Horswill and
T . Balch, Ed.) CMU, Pittsburgh.
Simmons, R. (1998). Xavier: An Autonomous Mo-
bile Robot on the Web. Proc. IROS'98 Work-
shop on Robots on the Web, Victoria, 43-48.
Skrzypczynski, P. (1997) . Supervision and Tele-
operation System for an Autonomous Mobile
Robot. Proc. Int. Conf. on Intelligent Robots
and Systems, Grenoble, 1177-118l.
Skrzypczynski, P. (2000). InterLabNet: A Java-
based System for Remote Operation of a

314

Das könnte Ihnen auch gefallen