sweeping ability of a robot and a shape of a work area to be swept. Evaluation and .... where Ci means cost of robot i, Lli indicates cost of sweeping, L2i is cost of ...
Proceedings ofthe 1996 IEEE Intemational Conference on Robotics and Automation Minneapolis, Minnesota - April 1996
Cooperative Sweeping by Multiple Mobile Robots Daisuke KURABAYASHI, Jun OTA, Tamio ARAI and Eiichi YOSHIDA Department of Precision Machinery Engineering The University of Tokyo 7-3-1 Hongo, Bunkyo-ku, Tokyo 1 13, Japan E-mail: kuru @prince.pe.u-tokyo.ac.jp
Abstract
path planning of a robot [4] and a group of robots [5], transportation of large object [6][7]and transportation of many objects [8]. We can expect applications of the sweeping such as cleaning room, maintenance of buildings and painting large objects, etc. However, planner for sweeping is very few. A motion planner for sweeping requires quite different approach from that of point-to-point, because a goal of sweeping is 2 dimension. Almost of all studies about foraging use behavior based architectures[9] like [2](they call "graze task"). The algorithm do not plan robots motions in advance. As Beckers et al. reports [lo], the efficiency of multiple mobile robots is often made lower because of interference between robots and overlaps of their work area (Fig. 1). For efficient cooperation, setting appropriate burden onto each robot is very important. However we have no good algorithm for cooperative sweeping. The goal of this paper is establishment of off-line planning algorithmfor cooperative sweeping. We realize appropriate cost distribution by creating paths for robots.
In this paper, we propose an off-line planning algorithm for cooperative tasks of multiple mobile robots. Sweeping means a motion that a robot covers a 2-dimensional area by its effecter. Sweeping of a whole work area is fundamental and essential task of mobile robots. For efficient cooperation, setting appropriate burden onto each robot is very important because interference of robots and overlaps of their effecters make efficiency low. The cost of sweeping depends on both sweeping ability of a robot and a shape of a work area to be swept. Evaluation and distribution of the cost are most important issues. In the proposed algorithm, the cost is evaluated by means of length on which robot should move. We introduce both edges of the configuration space and Voronoi diagram so as to compute paths in the whole area. We generate the a tour for traversing all the paths by applying the algorithm of the Chinese Postman Problem. According to the cost evaluation, appropriate paths of the tour are assigned to each robot. The efficiency of the proposed algorithm is verified by simulations and an experiment. Key words: multiple mobile robot system, cooperative sweeping.
Sweeping
1 Introduction The wider the field of application for mobile robots becomes, the more important cooperation of robots is. Effective cooperation can ovemde limitations of capacity of single robot and decrease time to complete a task. Recently many studies about multiple mobile robot system have been made. We can classify essential motions of mobile robots into two essentials; point-to-
point and sweeping. The point-to-point is a motion for a set of points (0 dimension). The sweeping deals with an area (2 dimension). The sweeping is a motion such as a robot covers an area by its sweeping unit. We can sort tasks of mobile robots into three types (Table. 1). A robot iterates following two motions in the foraging tasks; searching some object in an area, and return to a base of a robot. We can find applications of the foraging such as an exploration of a distant planet [ 1][2][3]. The transporting includes following tasks:
0-7803-2988-4/96 $4.00 0 1996 IEEE
point-topoint
0 X
0
X
Foraging Sweeping
Transporting X
The layout of this paper is as follows. In section 2, settlement of the problem and outline of our algorithm are discussed. In section 3, we describe the proposing algorithm. In section 4 we verify the proposed algorithm by simulations and an experiment. We will conclude this paper in section 5.
2 Conceptual design of cooperative sweeping 2.1 Problem Settlement
1744
Planner for sweeping calculates paths of robots from
given work area. Since appropriate paths depend on both sweeping ability of robots and shape of the: work area, we set inputs and output of the planner as follows.
Inputs: . shape of work area to be swept . number of robots . sweeping ability of robots Outputs: . path for each robot. We set following assumptions to simplify the problem. (1) All robots have equal ability. (2) A sweeping unit of a robot is a circle with radius r. (3) A robot can move in omni-direction. (4) Only the size of the sweeping unit is considered. A robot can be regarded as a point. (5) The work area to be swept is repr'esented by polygons.
[ B ] Trajectories of all robots are calculated simultaneously by evaluating cost of each robot. In the method [AI, cost distribution is done after whole cost estimation. In the method [B], cost evaluation and distribution are done simultaneously. The [B] is too much complicated, because it is too hard to calculate the overlaps when arbitrary numbers of robots sweep a work area which has complex shape. According to the method [AI we propose the outline of the algorithm as following two steps. (1) Evaluation of total cost of sweeping task by generating a tour to sweep all work area. (2) Cost distribution by assigning appropriate paths of the tour to robots. Figure 3 shows the outline of our algorithm. Notice that a "Tour" means a continuous queue of directed paths (Fig. 4). We call lines, like 1, 2 (3) and 4 in Fig. 4, as "Paths." By the "Tour," we consider the cost to repeat on same path.
2.2 Outline of planning algorithm Appropriate cost distribution of the task is the most important issue for effective cooperation. We have to solve following two issues for the distributioa. Cost evaluation Cost distribution by path planning. Cost evaluation is more essential, because the cost distribution should be done according to the cost evaluation. Robot's motions on sweeping tasks composed of two kinds of movement. One is actual sweeping, the other is moving to next position. We model the cost by equation (1). Ci = a . L l i + @.L2i... (1) where Ci means cost of robot i, L l i indicates cost of sweeping, L2i is cost of move without sweeping. a and p are coefficients. Because path for each robot must be continuous, we have to consider the cost of movement without sweeping. On actual robot system, p is nearly equal to a. In this paper, we set a = = 1. We can not evaluate the cost of sweeping according to only size of a work area. Though both areas A and B have same size in Fig. 2, lengths which robtots have to move are different (thick lines). We propose to evaluate cost of a task by means of length which a robot should move. We forrnulate cost function as equation (2). Ci = Li (= L l i + L2i) ...(2) where Li means sum length of paths of robot i.
Fig. 1: Overlaps of work area (checkerhatched area). The overlaps decrease efficiency of multiple robot system.
(a) In this example, we assume that a robot's sweeping unit is above square.
To establish a planning algorithm, following two methods are expected: [A] After generation of a tour (trajectory) to sweep whole work area, the paths of the tour are assigned to robots.
(b) Area A: A robot moves 2.
(c) Area B: A robot moves 2.5.
Fig. 2: An example of the sweeping cost.
1745
+puts
3 Planning algorithm for cooperative sweeping
Shape of work area Number of robots Sweeping ability of robots
In this section, we describe the contents of the algorithm respectively.
3.1 Tour generation We can take two kinds of basic method of tour generation, contour-parallel sweeping and directionparallel sweeping as Fig. 5. The solid lines in Fig. 5 indicate paths to sweep, and the dotted lines are paths to go to next sweeping. A robot sweeps an area along its contour by "contour-parallel" sweeping. By the "direction parallel" sweeping, a robot sweeps in parallel direction all the way. The direction-parallel method often fails in a concave shape area. We have to divide the area into small convex areas in advance. Figure 6 shows a comparison of the methods. The shape of the area in Fig. 6 is a combination of 5 squares. Hofner et al. proposed a sweeping algorithm for single cleaning robot [l 11. In their algorithm the direction-parallel method is applied. Figure 6(b) indicates that some part of the tour by direction-parallel sweeping goes across other paths. That can cause collisions of robots in multiple mobile robot system. In contrast, contour-parallel sweeping can be applied for the concave area and no pass goes across other paths(Fig. 6(a)). We propose to generate tour based on contour-parallel sweeping. To generate a tour, at first we generate paths which are need to sweep whole work area. The tour is equivalent to a way to traverse all the paths with minimum cost (length). We represent the connections of paths by a graph. By applying the solution of the Chinese Postman Problem [12], a tour is generated. Thus the algorithm of tour generation is composed of following three parts: (a) path generation, (b) graph representation, and (c) tour generation.
Tour generation
1 I
I I
Path assignment
Path for each robot
I
Fig. 3: Outline of the algorithm.
Fig. 4: Example of "Tour". Lines (with arrows) are paths, and numbers indicate order to pass.
(a) Contour-parallel (b) Direction-parallel Fig. 5: Basic ideas of tour generation
3.l.(a) Path generation To generate paths, both edges 'of the configuration space of a robot and Voronoi diagram are introduced. We generate paths along contours of a work area by edges of
the configuration space of robot's sweeping unit (Fig. 7(a)). Paths are calculated from Voronoi diagram for parts of the work area where c-space can not be created. In Fig. 7, thick lines indicate generated paths. Above processes will be repeated recursively until no part of the work area is left unswept.
(a) Contour-parallel (b) Direction-parallel Fig. 6: In non-monotonous area.
1746
3.l.(b) Graph representation We create a graph which describes connections of generated paths. The paths are turned into edges of the graph. The ends of the paths and intersections will be regarded as vertices.
3 . 1 4 ~ ) Tour generation According to the graph, we create a continuous tour so that robots can follow. When plural connected components are generated on the graph, we add paths to joint connected components with minimum length (dotted lines in Fig. 8(a)). Notice that a "connected components" means a set of paths which are connected other paths directly. Generation of a tour is the same problem as Chinese Postman Problem, one of the variations of Traveling Salesman Problem. The goal of the problem is to find the shortest tour such that each path is traversed at least once, with repeating paths as necessary. By applying algorithm of [ 131 we calculate a tour and determine start and goal point begin based on the theory of Euler graph.
sweeping area gf a robot
(a) Edges of C-Space
9 (a) Graph of the lines
3.2 Path assignment The purpose of this procedure is the appropriate assignment of paths onto each robot. For effective cooperation the tours should be distributed as muximum Ci is minimized, because time to complete a task depends on it. Because the generated tour is continuous from start point to end, we can assign paths by cutting it to robots. The path assignment is equivalent to finding appropriate cutting points on the tour. As initial state, we set cutting points by which every Ci is equal to simple average of total length of the tour. When a cutting point is set on a repeated path, we can omit one way. Because it is no use that two robots pass on the same way. We search set of cutting points which minimize maximum Ci. Figure 9 shows an example of path assignment to 3 robots. Thick lines indicate a tour composed of path 0, 1 and 2. Figure 9(a) also shows each length of paths. Arrowhead lines show burdens of robots, and white triangles denote cutting points. In this case, since path 1 is repeated, total length of the tour is 12. Figure 9(b) shows initial state. Every robot is assigned 4 length path. However, with setting of cutting points as Fig. 9(c), the maximum Ci is reduced to 3.5, because one way of path 1 is omitted.
4 Simulation and Experiment In this section, we verify the efficiency of proposed algorithm by simulation and experiment.
(b) Voronoi lines
Fig. 7: Schematic view of path generation.
(b) Tour
Fig. 8: Generation of a tour.
Start
Path0
Path2
Goal
T3 -+5H (a) Example of tour robot 1
start
Goal (b) Initial state
robot 0
Start
17 Z2i.i a
(c) Final state Fig. 9: Schematic view assignment.
1747
robot 2
Goal
of
the
path
the time has about 4% difference. The main reason of the difference is number of curves and their curvature in path of each robot. We can consider the effect of curves by adding factors into the cost function. From the results, validity of proposed algorithm in actual robot system is demonstrated.
4.1 Simulation 4.l.(a) Conditions of simulation The work area to be swept has 200x200 size and it composed of polygons (Fig. 10). Five robots sweep the work area. Hatched triangle and square are obstacles. To verify that the proposed algorithm considers sweeping ability of robots, we execute simulations on two cases; radius r of the sweeping unit is r=15 and r=30.
5 Conclusion
4.2.(b) Results of simulation The results of planned trajectories are drawn in Fig. 11 with different 5 kinds of lines. Figure 11 indicates that each robot was assigned continuous paths. The lengths of the paths assigned to robots are shown in Table 2. Notice that Ci means the length of trajectory of robot i. When the radius r=15, the total length of the tour T is 1584, the value of the maximum Ci is 314.2. When r=30, T is 881 and maximum Ci is 175.6. In both cases, we can find that maximum Ci becomes less than single average Ti5, because proposed algorithm omitted some redundant part of the tour. In the result of r=15, a path is shared by robot 2 and 4. However, the path is added to joint two connected components, outer contour-parallel paths and inner contour-parallel paths. Since the path does not contribute sweeping, it is no problem that two robots deviate the path to avoid each other, if needed. From the results, we can see that propose algorithm creates appropriate trajectories with considering sweeping abilities of mobile robots, number of robots and shape of work area.
4.2 Experiment 4.2.(a) Conditions of experiment In this section, we demonstrate that proposed algorithm is valid for actual multiple robot system. The work area to be swept has 200[cm]x200[cm] size and its shape is the same as that of the simulations (Fig. 10). Three robots sweep the work area. A robot has 4 wheels which a robot can both drive and steer. A robot can tum its direction without changing its position. The radius r of sweeping unit is assumed as 30[cmj. A robot can run at 2[cm]is speed and change its direction at rt/12[rad/s]. A robot recognizes its position by deadreckoning with its encoders. Each robot is controlled by a personal computer which has Intel 486DX2-66MHz CPU. 4.2.(b) Result of experiment The result of planned paths is illustrated in Fig. 12,13, and result of experiment is shown in Table 3. The robots succeeded to complete their task without collision. Though all lengths of planned path are equal,
In this paper, we proposed an off-line planning algorithm of cooperative sweeping by multiple mobile robots. In the algorithm, we proposed cost estimation algorithm by means of length of a trajectory and cost distribution by path assignment. The proposed algorithm distributes costs to robots based on cost estimation with considers sweeping ability of robots. By the planned paths, collisions of robots and overlaps of robot’s work area are avoided. The proposed algorithm is valid for arbitrary numbers of robots and shape of work area. By simulation and experiment, we verify the efficiency of the algorithm.
References [ 11 Steels, L.: Cooperation between distributed agents
through self-organization, in Journal on Robotics and Autonomous Systems, North Holland, Amsterdam, 1989. [2j Balch, T., Arkin, R.C.: Communication in Reactive Multiagent Robotic Systems, Autonomous Robots, Vol. 1, No. 1, 27/52, 1994. [3] Goss, S., Deneubourg, J.L.: Harvesting By A Group of Mobile Robots, Proc. of the 1st European Conf. on Artificial Life, 1951204, 1992. [4] Latombe, J.C.: Robot Motion Planning, Kluwer Academic Publishers, 1991. [SI Ota, J., Arai, T., Kurabayashi, D.: Dynamic Grouping in Multiple Mobile Robots System, Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 196311970, 1993. [6j Stilwell, D.J., Bay, J.S.: Towards the Development of a Material Transport System Using Swarms of Antlike Robots, Proc. of IEEE Int. Conf. on Robotics and Automation, 7661771, 1993. [7] Ota, J., Miyata, N., Arai, T., Yoshida, E., Kurabayashi, D., Sasaki, J.: Transferring and Regrasping a Large Object by Cooperation of Multiple Mobile Robots. Proc. of IEEE1RSJ Int. Conf. on Intelligent Robots and Systems, 5341548, 1995. [8] Ota, J., Arai, T., Yokogawa, Y.: Distributed Strategy Making Method in Multiple Mobile Robot System, Distributed Autonomous Robotic Systems, Springer-Verlag, 1994. [9] Brooks, R.A.: A Robust Layered Control System for
1748
a Mobile Robot, IEEE Journal of Robotics and Automation, RA-2(1), 14/23, March, 1986. [lo] Beckers, R., Holland O.E., Deneubourg, J.L.: From Local Actions to Global Tasks: Stigmergy and Collective Robotics, Artificial Life IV, 181/ I 89, 1994. [ I 11 Hofner, C., Schmidt, G.: Path Planning and Guidance Techniques for an Autonomous Mobile Cleaning Robot, Proc. of 1994 IEEEIRSJ Int. Conf. on Intelligent Robots and Systems, 610/617, 1994. [12] Kwan, M.: Graphic Programming using Odd or Even Points, Chinese Math, 1, 2731277, 1962. [ 131 Edmonds, J., Johnson, E.L.: Matching, Euler Tours and the Chinese Postman, Mathematical Programming, No. 5, 88/124, 1973.
(2.am1.:
2.OImD
ml)
I I I
I
I I I I I I
I I
I
\
6
9
Xml)
-b O+robotO 8 - @robot1 0 +robot2
(2.4mI.WmD
Fig. 12: Paths for 3 robots.
(40,160)
(160,160)
U (200,200)
(0.200)
Fig. 10: Work area to be swept.
-robot
0 robot 1
-robot
Table. 3: Result of exoeriment. Robot 0 Robot 1 Robot 2 Length of planned path 293.5 293.5 293.5 Icml I I I Time to complete [sec] 225 I 235 I 232
I
2
@-%robot
3
robot 4
(a) r
=
1
robot 0 robot 1 robot 2 robot 3
C.............
d
-+
I
robot 4
Fig. 13: View of experiment. There are 3 robots with white circle which indicates a sweeping unit of a robot.
(b) r = 30 Fig. 11: Results of simulation.
1749