Академический Документы
Профессиональный Документы
Культура Документы
The Resource Sharing Architecture of Mobile Robots in the Home Network En-
vironment Using Jini
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
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
COM interface
Remote PC
Navigation
Display
for Robot
(Jini Service for Vision)
Decision Making
Sensor interface
Capture board
(TV card)
Jini Service for Robot Operation CCD Camera
Network based robot
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
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