Вы находитесь на странице: 1из 6

Proceedings of the 32nd ISR(International Symposium on Robotics), 19-21 April 2001

The Resource Sharing Architecture of Mobile Robots in the Home Network En-
vironment Using Jini

Byoung-Ju Lee*, Joo-Ho Lee** and Gwi-Tae Park*


*Department of Electrical Engineering, Korea University
5-1, Anam-Dong, Sungbuk-Ku, SEOUL, KOREA
{sseng, gtpark}@elec.korea.ac.kr

**IIS #3, University of Tokyo


7-22-1, Roppongi, Minato-ku, Tokyo, Japan
leejooho@ieee.org
Abstract
In the past decade, many robotic researchers
have tried to make mobile robots fully intelli-
gent, but there remain still so many problems.
Recently, to solve them many robotic research-
ers are much interested in designing a mobile
robot which can work in the networked and in-
telligent space. In this case, these robots receive
data from external resources to build the map for
navigation and perform their tasks by sharing
many external resources around them. These re-
searches show the possibility to realize the ro-
bot. However, the robot has some problems such
as its extension, modification and maintenance.
To solve the problems, we implemented a net-
work protocol that links all resources around the
robot.
In this paper by using Jini, we propose an ad-
Fig.1 An example of mobile robot in the home network environment
vanced resource sharing architecture(RSA) for a
mobile robot in the home network environment.
By using Jini we made several services of re- so many problems to be solved. For example, so expen-
sources around a robot. There is a task managing sive devices such as gyroscope and laser range finder are
service for a certain task, and the service use necessary to recognize the environment and build a map
other service to perform a task as well as make a for navigation. Hence, until now it is difficult to put mo-
new service of other services. To verify our ar- bile robots for a practical use. Recently, many robotic
chitecture we built a simple experimental space researchers are much interested in mobile robots in the
consisted of some resources. In this space we networked and intelligent space [1]. The space can per-
performed the tasks such as detection of desired ceive what is happening in it, build a model of itself,
objects, path generation and motion control for a communicate with its habitants and act based on things
robot, object avoidance and so on. Experimental happening in it. Coen et al. suggests intelligent agents
results show the mobile robot with our advanced known as the Scatterbrain[2]. The agent’s primary tasks
RSA performs successfully various tasks and the is to link various components of the room (e.g., tracking
proposed architecture is proper to develop mo- camera, speech recognition system) and to connect them
bile robots for a home network environment. to internal and external stores of information (e.g., a per-
son locator, the World Wide Web). The room is called
the smart room. This room is illustrated in Fig. 1. Lee et
1 Introduction al. tried to applied this paradigm to a mobile robot[3].
They showed that the robot in the networked and intelli-
In the past decade, many robotic researchers have tried
gent space received necessary data from external re-
to make mobile robots fully intelligent, but there are still

233
sources to build the map for navigation, and hence it did As shown in Fig.2(a) a conventional architecture of
not bring sensing devices with itself. Since 1998 our mobile robot fundamentally consists of four components;
laboratory has been interested in such an embedded main controller with high performance, sensor, actuators
space and mobile robots for it. By combining mobile and communication unit. Robot with this architecture is
robots and the embedded space, we could get many good so expensive due to sensors such as gyroscopes, and la-
features which could not be obtained before. For exam- ser range finders, and moreover sensors get only limited
ple, without gyroscopes and laser range finders we can data about its environment. On the other hand, Fig.2(b)
get very precise positions of mobile robots and easily shows an architecture of the mobile robot in the home
extend their functions because the robot shares the re- network environment. The robot has only simple three
sources in the room [4][5]. However, these researches components: main controller, actuators, and communica-
only show the possibility to realize the robot. The robot tion unit. The robot don’t have to build a global map of
has some problems such as its extension, modification its environment because sensing devices for doing that
and maintenance. To solve the problems, we imple- are not on the robot itself as shown in Fig.3. A map
mented a network protocol that links all resources around building is done by external resources(e.g. CCD camera
the robot. We used Jini as a network protocol. It was hanging on the wall and an external host computer con-
designed by the Sun microsystems for a protocol of net- nected with the camera). Because the sensing resources
worked consumer electronics[6]. Many vendors are de- are able to watch a global area where the robot is lo-
veloping networked consumer electronics with a network cated, they can calculate a position of the robot more
transceiver using Jini. As a result, if we use Jini, we can precisely. Moreover, tasks such as a localization and
use so many devices such as TV, air conditioner and decision making are done by an external resource so that
light as our resources. we can make a robot very simply.
In this paper, by using Jini, we propose an advanced
resource sharing architecture(RSA) for a mobile robot in
the home network environment. With Jini we made sev- 3 An advanced resource sharing archi-
eral services of all resources around a robot. There is a
task managing service for a certain task, and the service tecture of mobile robots using Jini
uses other service to perform a task as well as makes a
new service of other services. Networks must link all resources in RSA together. So
In chapter 2, we will explain mobile robots in the a proper protocol is needed to construct RSA from sev-
home network environment. Chapter 3 describes an ad- eral resources over the network. There are some tech-
vanced RSA. Chapter 4 shows results of experiments. nologies to construct systems from distributed objects
Finally, chapter 5 concludes this paper. over the network such as Jini [TM]and UPnP(universal
plug and play). We selected Jini as a tool to construct
RSA because it offers a simple infrastructures for deliv-
2 Mobile robots in the home network ering services over the networks and creating spontane-
ous interaction between programs that use these services,
environment regardless of their hardware or software implementa-
tions. Moreover it is recently more popular than UPnP.
Hence we can use so many resources in which Jini is
Sensors

implemented.
Communication

Communication
Module

Module

Main
Controller with Main Controller with low
High performance 3.1 Protocol interface, Jini
performance
Jini is a set of APIs and network protocols that can
help developer to build and deploy distributed systems
Sensors

that are organized as federations of services. Hardware


Driver for Actuators Driver for Actuators devices, software, communications channels that reside
on the network can be services. Jini defines a runtime
infrastructure that resides on the network and provides
mechanisms that enable you to add, remove, locate, and
Actuators Actuators access services. The runtime infrastructure resides on the
network in three places: in lookup services that sit on the
network; in the service providers (such as Jini-enabled
(b) Mobile robot in the home network devices); and in clients. Lookup services are the central
(a) Convetional mobile robot
environment organizing mechanism for Jini-based systems. When new
services become available on the network, they register
Fig.2 Architecture of a mobile robot themselves with a lookup service. When clients wish to

234
ternal resources are regarded as local components on the
Lookup
robot themselves. As a result a developer designs a robot
Service without considering a network protocol between a robot
Service Discovery and external resources. Additionally because Jini basi-
Provider
Service 1 cally supplies ‘PnP(plug and play)’ function, a developer
Service 3 Join
don’t have to consider a configuration of each resource
Service 2 and partial faults of a system does not effect their whole
system.
Service 3
The suggested architecture fundamentally consists of
two physical components and three logical components
as shown in Fig.5. The Physical components are mobile
Lookup
robots and vision system with a network device, and the
Lookup Client
Service logical components are a vision service, robot operation
service and robot control service.
Service 1 Service 3 Proxy Service 3

Service 2 - Physical components


Service 3
Jini service should run on each device to realize an
Service ideal physical component. However, we cannot make Jini
Provider
run on all devices, since the OS such as Window98 or
Linux is required in order to run Jini. Hence some Jini
Fig.4 A run time infrastructure of a protocol, Jini services are run on a PC. For example, we use the PC as
locate a service to assist with some task, they consult a a Jini service for a image sensing resource and robot op-
lookup service. eration.
The runtime infrastructure uses one network-level pro-
tocol, called discovery, and two object-level protocols,
called join and lookup. Fig.4 describes it. Discovery en- - Logical components
ables clients and services to locate lookup services. Join Logical components are classified into three basic
enables a service to register itself in a lookup service. components according to their functions: service for im-
Lookup enables a client to query a lookup service for age processing, robot operation and robot control.
services that can help the client to accomplish its goals.
- Jini service for image processing, VisionService
( Service Provider )
3.2 A advanced resource sharing architec- Jini service for a vision system acts as a service pro-
ture vider. It means that it serves a service to other clients. In
this system, it is a service to find a robot in environment,
The most important characteristic of RSA is that ex- localizes the robot and sends a position data to other cli-
ents to request it. The following program written in Java
Host PC
Jini Service for Vision System
Remote
control
Internet

Remote PC via Object Extraction Calibration


Internet

COM interface
Remote PC
Navigation
Display
for Robot
(Jini Service for Vision)

(Jini Service for Robot Network


Control) Driver Directshow

Decision Making
Sensor interface
Capture board
(TV card)
Jini Service for Robot Operation CCD Camera
Network based robot

Fig.5 An advanced resource sharing architecture

235
is to do it. - Jini service for robot control, VisionClient
( Client )
1: class VisionServiceImpl { This acts as a service client of a service for robot op-
2: int robotX; // a x-axis coordination of the robot eration. On the other hand previous services is performed
3: int robotY; // a y-axis coordination of the robot on a host PC connected to a vision system, while this
4: int robotDir; // a direction of the robot service is on robots and control its actuators, simple sen-
5: public void GetRobotInfo( int x, int y, int dir); // sors and so on.
retrieve a position information of the robot
1:class RobotClient {
6: public static void main() { 2:public static void main() {
7: new VisionServiceImpl(); 3: ServiceFinder sf = new ServiceFinder( VisionCli-
// Create a VisionServiceImpl instance; ent.class ); // find the lookup service;
8: new JoinManager(.,this,..); 4: VisionClient vs = (VisionClient) sf.getObject();
// Join to the lookup service; //get the matching service
//Wait for client’s request; 5: vs.GetRobotOperation();// use the service inter-
9: } face
10:} 6: }
7:}
In line 8, a service provider registers an interface of
this function to a lookup table of a proxy in their network In line 3, a robot(client) finds a desired interface and
and then waits for a request from any client. in line 5, an interface, ‘GetRobotOperation()’ is declared
in a service provider. Because it can find it at a lookup
- Jini service for robot operation, VisionClient table, it uses the function supplied by a service provider,
( Client, Server ) vision server.
Jini service for robot operation acts as a service client
So far we explain a new architecture of mobile robots
for image processing service and also service server for
using Jini. In the next chapter, we will describe our robot
robot control service. This service receives information
system and show some experimental results.
about robots and decides its task. This performed by fol-
lowing sequences. Firstly, a robot find an desired inter-
face at a lookup table of a proxy in its network and if the
interface is registered in the lookup table, it processes 4 Experiment
the interface. Otherwise, the robot should wait until the
interface is registered by any service provider. The fol- 4.1 Experimental system
lowing program describes this process.
Our system consists of a robot, vision system and
1:class VisionClient { some logical components. A mobile robot, ‘Pioneer2 CE’
2: int targetX; // a x-axis coordination of a target is used. As shown in Fig.5 we use a PCI-type capture
3: int targetY; // a y-axis coordination of a target card and camera as a vision system. The robot and vision
system is linked by a wireless Ethernet (IEEE 802.11). In
4: public void GetRobotOperation( int x, int y); // re- this experiment a running speed of the robot is about
trieve a kind of an operating method of robots 40[cm/sec]. The size of a test field is about 4x3[m], and
5: public static void main() { there are two obstacles in the field. We make the robot
6: ServiceFinder sf = new ServiceFinder( VisionSer- de s i re d Path
vice.class ); // find the lookup service;
7: VisionService vs = (VisionService)
sf.getObject(); //get the matching service S TART

8: vs.GetRobotInfo();// use the service interface


9: }
10:}

In line 6, a robot(client) finds a desired interface and


in line 8, an interface, ‘GetRobotInfo()’ is declared in a GOAL
service provider. Because it can find it at a lookup table,
it uses the function supplied by a service provider, vision
server.
Fig.6 A feature of an experiment of our robot

236
go to the ‘GOAL’ point and then come back to the rors at the point A, B and ‘GOAL’. We get a direction of
‘START’ point along the simple path shown in Fig.6, the robot by a vector of its displacement. Hence if a ro-
and repeat it seven times. We use PI-control for a path bot has a distorted direction during its stopping, it takes
tracking and a simple calibration algorithm for compen- some time to compensate the distortion. While the error
sating a distortion of a captured image. Following sub- is decreased in running. The position error in the point
section briefly explains the calibration algorithm. ‘GOAL’ is influenced a mechanical faults of the robot,
slip, image calibration and so forth. But because this er-
ror is small enough not to effect an operation, we neglect
- Calibration for a localization of robots it.
x P P' a Experimental results show the mobile robot with our
a (0,0)
(0,0) advanced RSA performs successfully various tasks and
y the proposed architecture is proper to develop mobile
L (k,q) robots for a home network environment.
b b
(k,q)
5 Conclusion
(m,n) It is the main idea of RSA that Jini applied to limited
(m,n)
(a) Coordination in a captured image (b) Real-world coordination
fields such as consumer electronics, is applied to more
Fig.7 Calibration scheme for a localization various areas such as service robots and sensor devices.
Even though Jini is not necessary for robots in home
network environment, we can get some advantages by
If a camera is located at a wall, a rectangular region using Jini. For example, firstly, developers can easily
captured by the camera looks like trapezoid. As shown in design the robots without considering a network pro-
Fig.7 we build a transfer table and then map a point on a gramming such as a socket programming because exter-
coordination of a captured image into a real-world coor- nal resources can be used as if they were local compo-
dination with a transform table. The followings are the nents of robots. Secondly, developers can save a devel-
basic procedure to make a transform table. Firstly, select opment time because Jini is based on Java so that a num-
4 line at a boundary in Fig.7(a) and then divide each line ber of classes with various functions are supported. Fi-
at regular intervals. Secondly, among division points nally, nowadays standard interfaces of Jini for consumer
made at the previous step find symmetrical points on the electronics are being discussed. If they are established,
boundary such as the point P and P’ in Fig.7(a) and then Jini will be used in various fields. It means that resources
connect the points respectively. As a result we can get which robots can use will increase. Thus, robots can be
the number of lines connected to the points. If an interval utilized at various fields because all objects in the space
between division points on the same boundary is less (e.g. TV, air conditioner, lights, windows, gas valves and
than the length of a pixel of a captured image, all points etc… ) can be used as resources.
on a captured image can be mapped into a real-world
coordinates as shown in Fig.7(b).
6 References
[1] J.H. Lee, G. Appenzeller, H. Hashimoto, Physical
4.2 Experimental result agent for a sensored, networked and thinking space, In
Fig.8 shows the trajectory that the robot kept track of Proc. of IEEE Int. Conf. On Robot and Automation,
in processing the task. In Fig.8 a straight line is the path 1998.
which the robot goes along. There are some position er- [2] Coen, M. SodaBot: A Software agent Environment
3 START and Construction System. AI Lab Technical Report 1493,
Massachusetts Institute of Technology, Cambridge, MA,
1994.
2
[3] J.H. Lee, G. Appenzeller, H. Hashimoto, Building
A
Topological Maps by Looking at people: An Example of
Cooperation between Intelligent Spaces and Robots, In
B Proc. Of IEEE Int. Conference of Intelligent Robotics
1 and Systems, pp. 1326-1333, 1997.
GOAL
[4] B.J. Lee, G.T. Park, A Design of a Physical Agent for
a Cooperative Space, Proc. Of KACC99, vol. B, pp. 168-
0
171, 1999
0 1 2 3 4 [5] B.J. Lee and G. T. Park, A Robot in Intelligent Envi-
ronment : Soccer Robot, Proceedings of the 1999
Fig.8 An experimental result of a path tracking IEEE/ASME International Conference on Advanced In-
telligent Mechatronics, pp. 73-78, 1999

237
[6] W.Keith Edwards, Core Jini, Prentice Hall PTR,
1999
[7] Kwun Han, Manuela Veloso, Reactive Visual Control
of Multiple Non-Holonomic Robotic Agents, Proc. of
IEEE Int. Conference on Robotics and Automation,
vol.4, pp.3510-3515, 1998
[8] T.Yoshikawa, J.Ueda, Analysis and Control of Mas-
ter-salve systems with Time Delay, Proc. Of IEEE Int.
Conference of Intelligent Robotics and Systems, pp.
1366-1373, 1996.
[9] T.Matsumaru, S.Kawabata, T.Kotoku, N.Matuhira,
Task-based Data Exchange for Remote Operation System
through a Communication Network, Proc. of IEEE Int.
Conference on Robotics and Automation, pp. 557-564,
1999.

238

Вам также может понравиться