Minimizing Data Exchange in Ad Hoc Multi-robot Networks - CiteSeerX

4 downloads 0 Views 596KB Size Report
the volumes of map data exchange when robot subnetworks merge. Simulation results validate this algorithm. I. INTRODUCTION. Exploration or coverage of ...
Minimizing Data Exchange in Ad Hoc Multi-robot Networks Weihua Sheng

Qizhi Wang

Qingyan Yang

Shenghuo Zhu

ECE Dept. School of Computer Science System Division Kettering University and Information Technology. Iteris Inc. NEC Labs America Flint, MI 48504 Beijing Jiaotong University, China Madison Heights, MI 48071 Cupertino, CA 95014 Email: [email protected]

Abstract— In many multi-robot applications, ad hoc networks are formed for data communication, which enables effective decision making and results in significant energy and time saving. However, unnecessary large volumes of communication data may still lead to big time delay and energy waste. This paper addresses the problem of how to reduce the data exchange among multiple robots when they carry out cooperative area exploration or coverage. In this application, multiple robots need exchange map information in order to minimize the repeated exploration or coverage. When a connected ad hoc network can not be maintained, the map data exchange or synchronization should be carefully dealt with in order to reduce the volume of data exchange. In this paper, a novel sequence number-based map representation scheme and an effective robot map update tracking scheme are proposed. Based on them, an algorithm is developed to reduce the volumes of map data exchange when robot subnetworks merge. Simulation results validate this algorithm.

I. I NTRODUCTION Exploration or coverage of unknown environments is an important topic in mobile robotics research [1], [2] due to its wide real-world applications, such as de-mining, vacuum cleaning, search and rescue, surveillance etc. On the other hand, multi-robot coordination has been receiving much attention in the last decade [3]. The obvious advantage of using multiple robots is that it can greatly increase the mission efficiency. Other desirable characteristics such as reliability, robustness also require the cooperation among multiple robots [4]. Therefore, multi-robot coordination is very useful for area exploration or coverage applications. We are interested in the following multi-robot-areaexploration problem [5]: A group of n identical robots (R1 , R2 , ..., Rn ) set out to explore an unknown area. Each robot is equipped with sensing, localization, mapping and limited-range communication capability. Design a simple coordination algorithm so that the whole environment can be explored reliably and efficiently. Here ‘reliably’ means that the robots should be able to deal with robot failures and communication link breakdowns while ‘efficiently’ means that the mission should be carried out at low cost in terms of time and energy. To achieve reliability, we developed a totally distributed coordination algorithm without using any central agent [5]

0-7803-9177-2/05/$20.00/©2005 IEEE

so that robot shutdowns or communication link breakdowns do not fail the whole mission. To achieve time and energy efficiency, we used bidding mechanism to select the best movement from the bids submitted by a set of robots [5]. Like many other multi-robot applications, explicit communication is necessary to facilitate the coordination and decision making among the robots. Exploration or coverage of unknown environments requires a large amount of map data to be exchanged among robots so that all the robots share consistent or weakly-consistent views [6] about the explored or covered area. Usually each robot only explores or covers a portion of the whole area, sharing explored/covered map information among robots will greatly reduce repeated exploration or coverage. Most of the existing multi-robot research assumes that constant communication connectivity is always maintained among robots and no network separation happens. With this assumption, the map synchronization becomes a multi-cast problem within the connected network. All robots maintain the same view of the explored/covered area. However, this assumption does not hold in many real-world scenarios. Some robots may not be able to communicate with other robots simply because the distance between them is beyond the communication range, or due to the existence of temporary communication interference or failure. In such situations, different robots may have different views of the explored/covered environment, which may lead to inefficient decisions on robot movement and repeated exploration or coverage. When new communication links are established and two or more subnetworks merge into one, map exchange will take place. The problem then arises: how to efficiently synchronize the local maps between the two subnetworks? In this paper, to effectively solve the map synchronization problem we propose a sequence number-stamped map representation scheme and a map update tracking scheme. The two schemes enable us to develop a map exchange algorithm that achieves a minimum communication volume. The rest of the paper is organized as follows. Section II reviews the related work. Section III presents the multirobot exploration model and our distributed, bidding-based algorithm. The map synchronization algorithm is developed in Section IV. Simulation and testings are presented in

811

Section V and Section VI concludes the paper. II. R ELATED W ORK Multirobot coordination has been attracting much research attention recently. Yamauchi [1] developed a distributed, asynchronous multi-robot exploration algorithm which introduces the concept of frontier cells, or the border area between known and unknown environment. Their basic idea is to let each robot move to the closest frontier cell independently. However their algorithm does not achieve sufficient coordination so that multiple robots may end up moving to the same frontier cell, which causes inefficiency. In recent years, several negotiation-based algorithms have been developed for multiple robot coordination [2], [7], [4]. However, most of the existing work adopts either central agents or group leaders for winner selection. Due to the use of central agents or group leaders, the negotiation protocols become complicated and suffer from the single-point-offailure problem. Furthermore, in most of the existing work, the communication between robots is assumed to be perfect, which makes their algorithms unable to handle unexpected, occasional communication link breakdowns. Therefore it is highly desirable to develop totally distributed, reliable coordination algorithms for various multi-robot applications. The map synchronization problem is closely related to the data synchronization problem in distributed computing research, where the goal is to maintain data consistency among different replicas [8]. Basically, the data consistency problem is addressed either conservatively or optimistically [9]. The conservative method requires consistency to be maintained whenever data are updated and it relies on constant connectivity among replicas, which is not always available in multi-robot exploration applications. The optimistic method assumes that concurrent updates or conflicts are rare and it allows updates to be performed independently at any replica. Boulkenafed and Issarny [9] introduce a coherency management protocol for mobile ad-hoc collaborative groups. This protocol lies in the integration of both conservative and optimistic coherency management. However, their protocol requires each data should have a copy on a trusted reliable stationary machine, which is not available in our multi-robot system. The Bayou architecture [6] is designed to support collaborative database applications in a mobile computing environment. It is based on an optimistically replicated client-server architecture which does not fit in our model. Bengal [10] is a distributed replicated database system using a peer-topeer optimistic-replication. Dynamic version vectors [11] are used to detect conflicts and collisions between updates made on partitioned system. Contrast to the Bengal method, Cox and Josephson [12] presents algorithms for tracking updates in an optimistically replicated hierarchical data using a pair of vector times (modification time and synchronization time). Their algorithms are simpler and more flexible compared to the dynamic version vector algorithms. However, there exist major differences between the map

synchronization problem we face and the data synchronization problem addressed by the above research work: i) the map synchronization problem focuses on the reduction of data exchange while most of the data synchronization work ignores this issue and only focuses on the version control and conflict detection. ii) the map synchronization problem does not have the concurrent update, or conflict problem since map update from any robot should be merged into one map instead of being overwritten by each other. Therefore, we can not directly use the existing algorithms in data synchronization. Instead, we develop a novel, simple algorithm based on a new map representation scheme and map update tracking scheme, which enables the robots to accurately identify the missing map information that should be exchanged. III. M ULTI - ROBOT EXPLORATION MODEL AND ALGORITHM

A. Environment and robot model Unknown Area

Boundary

Explored Area

Sensing Range

rs

Fig. 1. A multi-robot exploration in unknown environment. The circles represent the current robot positions and the crosses represent the next target positions.

As shown in Figure 1, the environment to be explored is modelled as a 2D occupancy grid of a specified resolution. There are arbitrary-shape stationary obstacles in the area. During the exploration, each cell of the grid has one of the three status: occupied, free or unknown. Here “occupied” means that the cell is occupied by obstacles, such as a wall; “free” means that no obstacle exists in this cell; and “unknown” means that the cell has not been detected by the range sensor of any of the robots yet. A frontier cell is a “free” cell that is adjacent to at least one “unknown” cell. The physical shape of a robot can be modelled as a square. For simplicity, its dimension is set as the size of a grid cell. Each robot Ri has mapping, localization and communication capabilities. It can sense the neighboring cells using range sensors such as a sonar or a laser-ranger-finder. Its sensing range is denoted by a circle of radius rs centered on the robot. When the robot is travelling, it does not carry out sensing and mapping. Each robot is capable of localizing itself with respect to its own local map. The communication

812

capability enables a robot to directly talk to other robots within the communication range rc , or to a remote robot in the same subnetwork through multi-hop communication. For each robot, the capability of maintaining communication links with other robots can be measured by its distances to other robots. Hence, a nearness measure is defined to characterize its communication capability. d1

d2

λi = e− rc + αe− rc + ... + αnk −2 e−

dn −1 k rc

.

(1)

Here λi is the nearness measure of Robot Ri . d1 ≤ d2 ≤ d3 ≤ ... ≤ dnk −1 is an increasing order of the distance between Robot Ri and Rj , d(Ri , Rj ) (j = i). k is the number of robots within the same subnetwork. rc is the communication range. α is a positive fading factor, which is less than 1. The use of the fading factor helps to disperse the robots and maximize the coverage area, since the nearness measure mainly depends on the closest neighbor. The nearness measure will be used in the coordination algorithms to increase the possibility that robots can communicate to each other. B. The distributed coordination algorithm All the n robots start from initial positions which are close to each other and the relative positions are known to all. To achieve reliability and robustness, the exploration algorithm should be totally distributed. To achieve efficiency, each robot seeks to explore the area with the maximum information gain while reducing its cost, which is usually the distance from the current position to the target position. Instead of using a central-agent-based distributed model for the coordination [4], [2], we develop a simple, totally distributed coordination algorithm [5]. In this algorithm, all robots asynchronously decide their movement based on a bidding mechanism: choose the best bid among several competing robots and assign the bid destination as the winner’s next stop. Basically, a robot sequentially carries out the following three steps: 1) sensing and mapping, 2) bidding and 3) travelling. In the sensing and mapping step, a robot uses its range sensor to detect the status of the cells within its sensor range. Then it broadcasts its newly-obtained map information to all the other robots in the same subnetwork. Upon the arrival of new information about the environment, either through its own range sensor or through the map updates from other robots within the same subnetwork, a robot updates its own local map. If the map is not complete, which means there are more frontier-cells, the robot moves to the next target frontier cell, which is decided in the next step. In the bidding step, the robot calculates its bid based on three measures. First the information gain Ii for each frontier cell i is calculated based on the current local map and the current positions of other robots within the same subnetwork. The information gain Ii for a specific frontier cell i is the number of unknown cells within the sensor range, but not within the sensor range of any other

sensing-mapping robots or the target cells of those travelling robots. This information gain definition keeps different robots separated so their sensing areas will not overlap too much. Second, the cost of movement, or the shortest travel distance Di to each frontier cell i is calculated. Due to the existence of obstacles and unknown areas, the shortest distance may not be the straight line distance. A quick algorithm based on Dijkstra’s algorithm [13] is used to find the shortest distance. Third, the nearness measure λi of the robot at each frontier cell i is calculated using Equation (1). The net gain gi for frontier cell i is the weighted combination of the three measures: gi = ωI Ii − ωD Di + ωλ λi .

(2)

Here ωI , ωD and ωλ are positive weights. The bid B of a bidding robot is the maximum net gain of all the frontier cells. B = max gi (3) i

Then the bidding robot broadcasts its bid B to all the other robots within the same subnetwork and waits for a constant bidding time tbid to hear responses from them. If during that bidding time, there is no other robot participating in the current bidding session, or no other robot provides better bids, this robot wins the bidding. If during that time, one or several other robots finish sensing and mapping and send in the new map updates, this bidding robot recalculates its bid based on the new local map and broadcasts the bid again. If this robot receives any better bid from other robots, it will wait for the winner to declare its ID. Once the winner is identified and its assigned target is known, this robot recalculates the bid based on the updated information and the process repeats. The winning robot then moves to its target frontier cell and starts the sensing and mapping-bidding-travelling cycle again. All the robots stop when no new frontier cell is available. IV. M AP S YNCHRONIZATION By using the nearness measure in the distributed bidding algorithm, the robots tend to stay close to each other. However, it is still possible that the communication network is partitioned. This is due to the fact that the bidding algorithm makes decisions only based on a static “snapshot” of the robot locations while the multi-robot system is highly dynamic and the robot locations are constantly changing. It is also possible that subnetworks are formed due to the interference on some critical communication links. On the other hand, when the distances between robots change as the multiple robot system evolves, new communication links will be established and the network connectivity will be changed. Therefore, subnetworks may merge to form bigger subnetworks or the the overall network becomes fully-connected again. Hence, map data should be exchanged between the merged subnetworks to achieve consistent internal maps in the corresponding robots. This raises the following question: how to minimize the volumes

813

TABLE II ROBOT Ri ’ S L AST-S EQUENCE -N UMBER TABLE

Subnetwork A

Robot R1 R2 R3 ··· Rn

Subnetwork B Ra

Rb

New link established

Fig. 2.

Two subnetworks merge into one.

of the map data exchanged between the subnetworks? Take an example, as shown in Figure 2, robot Ra in subnetwork A establishes a communication link with robot Rb in subnetwork B so the two subnetworks merge into one. In ideal situation, robot subnetwork A should send to robot subnetwork B what B does not know, vice versa. The difficulty is, robots in subnetwork A have little knowledge about what map information robots in subnetwork B have known and not known. A brute-force solution is that robot Ra sends all the explored map data to robot Rb and vice versa. After that, Ra and Rb send the received map data, through multi-cast, to all the other robots in subnetwork A and subnetwork B respectively. Although feasible, this solution incurs considerable redundancy, or unnecessary data exchange when both subnetworks have a large explored map. For example, when the mission approaches its end and most of the area has been explored. A. Schemes for Map Storage and Map Update Tracking In order to solve the above map synchronization problem, we first propose a scheme to store the map in each robot. Then based on the map storage, another scheme is developed to track the map updating in each robot. Each robot maintains a raw map table and a local map. The raw map table consists of the map information discovered by each robot. Therefore, the information in the raw map table may be redundant since different robots’ sensing areas may overlap. The raw map table is indexed by the discoverer and the map data sequence number as shown in Table I. The sequence number represents the order of map data discovery in each robot. The local map is derived from the raw map table using a map fusion mechanism. TABLE I ROBOT Ri ’ S R AW M AP TABLE R1 ∆M11 ∆M12 ∆M13 · · ∆M1i1

R2 ∆M21 ∆M22 ∆M23 · ∆M2i2

R3 ∆M31 ∆M32 ∆M33 · · · · ∆M3i3

... ... ... ... ... ... ... ... ...

Rn ∆Mn1 ∆Mn2 ∆Mn3 · · · ∆Mnin

Last Sequence Number i1 i2 i3 ··· in

information discovered by robot Rp at its qth sensing and mapping. x and y represent the coordinates of the cell and Value represents the status of the cell. Robot Ri gets new map information, either through its own exploration, where the discoverer of that map information is the robot itself, or through communication with other robots, where the discoverer of each part of the map is indicated. According to the discoverer of the map information, Robot Ri stores the map information in different columns of the raw map table, according to the sequence number. For example, in Table I, Robot Ri has map information discovered by number i1 , i2 , Robot R1 , R2 , R3 ,... Rn up to the sequence  q i3 ,..., in respectively. Define ∆Mi (p, q] = j=p+1 ∆Mij to represent the union of the map information discovered by Robot Ri between pth and qth sensing and mapping, not including the pth one. The local map is then derived from the raw map table. This local map is used in the bidding algorithm. Based on the above map storage scheme, a map update tracking scheme can be developed. Basically each robot maintains a last-sequence-number table, as shown in Table II. This table records the largest, or latest sequence number of map information obtained from each discoverer. Using this table, it is possible for two robots to exchange map information based on the last sequence numbers that each robot has. B. Map Synchronization Algorithm When two robots Ri and Rj meet and a new communication link is established, they first check if the other robot is already within its own subnetwork. If yes, the two robots do not need exchange map information since they already have consistent map. If not, Robot Ri sends its lastsequence-number table to Robot Rj , and Robot Rj sends its last-sequence-number table to Robot Ri . Based on Rj ’s last-sequence-number table, Robot Ri can calculate and send to Robot Rj the map information that Rj does not have, according to the following expression: ∆Mi→j =

n 

∆Mp (jp , ip ]

(4)

p=1

Similarly, Robot Rj should send the following map information to Robot Ri : ∆Mj→i =

 Here ∆Mpq = { (x, y, Value)} represents the map

n  p=1

814

∆Mp (ip , jp ]

(5)

TABLE III ROBOT Ri ’ S U PDATED L AST-S EQUENCE -N UMBER TABLE Robot R1 R2 R3 ··· Rn

4

Last Sequence Number max(i1 , j1 ) max(i2 , j2 ) max(i3 , j3 ) ··· max(in , jn )

1 2 3

After the map information is exchanged, Robot Ri and Robot Rj should update each other’s last-sequence-number table to reflect the exchange. Basically, both tables in Robot Ri and Rj are updated to Table III. The skeleton of the map synchronization algorithm on Robot Ri is as follows: Robot Ri ’s Map-Synchronization algorithm 1) if ( any robot Rj is reachable from this robot ) 2) if ( Rj is already in the same subnetwork as this robot ) return; 3) else do steps 4)-10) 4) send Last-Sequence-Number table to Rj ; 5) wait for Last-Sequence-Number table from Rj ; 6) calculate the missing map information ∆Mi→j for Rj ; 7) send the missing map information ∆Mi→j to Rj ; 8) wait for missing map information ∆Mj→i from Rj ; 9) update the Last-Sequence-Number table; 10) multi-cast the missing map information ∆Mi→j from Rj to all the other robots in the same subnetwork. V. S IMULATION R ESULTS The distributed coordination algorithm is simulated in JavaT M . The environment to be explored is a square of 40 by 40, with two obstacles in it. A number of robots are simulated by identical programs with each representing one robot and running on a separate computer within a local area network. First, we investigate how the nearness measure affects the behavior of the robots by comparing the movement of the robots in two different scenarios: the first test does not consider the nearness measure and the second test does. Four robots are used. The bidding time used in the coordination algorithm is Tbid = 1.5s. For all the four robots, the sensor range radius is 4 cell units (rs = 4) and the communication range is 16 cell units (rc = 16). When no nearness measure is concerned, the weights used in Equation (2) are: ωI = 1.0, ωD = 1.0, ωλ = 0. Figure 3 shows the local map in robot 1 at certain time instant. It is clear that robots disperse into the environment and some of the communication links are broken, which results in partitioned network. When the nearness measure is considered, the weights used in Equation (2) are: ωI = 1.0, ωD = 1.0, ωλ = 1.5. Figure 4 shows the local map of robot 1 at certain time instant. It is clear that the four robots exhibit certain clustering behavior, which

Fig. 3. No nearness measure is used and the robots tend to move apart quickly. The circles represent the sensing range and the circled dots are the robots.

2 4

1

3

Fig. 4. The nearness measure is used and the robots tend to stay close to each other.

implies that the nearness measure is taking effect in the coordination algorithm. Second, we investigate the effectiveness of the map synchronization algorithm. For simplicity, we use only three robots. Figure 5 shows the local maps of the three robots R1 , R2 and R3 one step before R1 and R3 establish a communication link. Obviously the local maps are inconsistent due to the network partition. Figure 6 displays the local maps of robots R1 , R2 and R3 right after R1 and R3 synchronize their maps. It can be seen that the R1 and R3 share the same map. Third, we look into the amount of map data exchanged during the whole exploration. Five robots are used and the tests are conducted using the following nearness measure weights: i) ωI = 1.0, ωD = 1.0, ωλ = 0; ii) ωI = Robot 3 Position

Robot 1 Position

(Robot 1)

Robot 2 Position

(Robot 2)

(Robot 3)

Fig. 5. The local maps one step before R1 and R3 can communicate with each other.

815

Robot 3 Position

Robot 1 Position

Robot 2 Position

The volume of map data exchange 10000 without map update tracking with map update tracking

9000

8000

Map Exchanged in Bytes

7000

6000

5000

4000

3000

2000

1000

(Robot 1)

(Robot 3)

(Robot 2)

0

1

2

3

4

Test Runs

Fig. 6. other.

The local maps right after R1 and R3 communicate with each

1.0, ωD = 1.0, ωλ = 1.0; iii) ωI = 1.0, ωD = 1.0, ωλ = 2.0. For each case, by varying the starting time of each robot, we run the programs four times and record the volumes of map data exchanged and compare with the volumes of map data that are “supposed” to be exchanged if the map update tracking scheme is not used. Figure 7, Figure 8 and Figure 9 show the amount of map data exchanged under case i), ii) and iii) respectively. It can be clearly seen that in all three cases, the map synchronization algorithm reduces the communication volumes. Comparing the three cases, it can also be noticed that as the nearness measure has more weight in the bid, the network tends to experience less network partitions, which leads to fewer numbers of map synchronization and less communication volumes. 4

3

The volume of map data exchange

x 10

without map update tracking with map update tracking

Map Exchanged in Bytes

2.5

2

1.5

1

0.5

0

1

2

3

4

Test Runs

Fig. 7.

The amount of map data exchanged: case 1 (ωλ = 0).

The volume of map data exchange 15000

Map Exchanged in Bytes

without map update tracking with map update tracking

10000

5000

0

1

2

3

4

Test Runs

Fig. 8.

The amount of map data exchanged: case 2 (ωλ = 1.0).

Fig. 9.

The amount of map data exchanged: case 3 (ωλ = 2.0).

VI. C ONCLUSIONS In this paper, a totally distributed bidding-based algorithm is used to coordinate multiple mobile robots for exploration applications. A nearness measure is used in the distributed bidding algorithm to reduce the chance of network partition among robots. In order to minimize the exchanged data volumes during map synchronization, a novel approach is developed which is based on new schemes to represent the map information and track the updates. Simulation results prove that the proposed algorithm effectively minimizes the data volumes, which leads to the reduction of time and energy consumption in communication. R EFERENCES [1] B.Yamauchi. Frontier-based exploration exploration using multiple robots. In Proceedings of Second International Conference on Autonomous Agents, pages 47–53, 1998. [2] R.Simmons, D.Apfelbaum, W.Burgard, D.Fox, S.Thrun, and H.Younes. Coordination for multi-robot exploration and mapping. In Proceedings of the National Conference on Artificial Intelligence, 2000. [3] Y.Cao, A.S.Fukunaga, and A.B.Kahng. Cooperative mobile robotics: Antecedents and directions. Autonomous Robots, (4), 1997. [4] R.Zlot, A.Stentz, M.B.Dias, and S.Thayer. Multi-robot exploration controlled by a market economy. In Proceedings of the 2002 IEEE International Conference on Robotics and Automation, pages 3016– 3023, 2002. [5] W. Sheng, Q. Yang, S. Ci, and N. Xi. Multirobot area exploration with limited-range communications. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, 2004. [6] A. J. Demers, K. Petersen, M. J. Spreitzer, D. B. Terry, M. M. Theimer, and B. B. Welch. The bayou architecture: Support for data sharing among mobile users. In Proceedings IEEE Workshop on Mobile Computing Systems & Applications, pages 2–7, Santa Cruz, California, 8-9 1994. [7] B.P.Gerkey and M.J.Mataric. Sold!: Auction methods for multirobot coordination. IEEE Transacitions on Robotics and Automation, 18(5):758–768, 2002. [8] M. Satyanarayanan. Fundamental challenges in mobile computing. In Symposium on Principles of Distributed Computing, pages 1–7, 1996. [9] Malika Boulkenafed and Valrie Issarny. Coherency management in ad-hoc group communication. [10] T. Ekenstam, C. Matheny, P. L. Reiher, and G. J. Popek. The bengal database replication system. Distributed and parallel databases, 9(3):187–210, 2001. [11] Ratner David, Reiher Peter, and Popek Gerald J. Dynamic version vector maintenance. Technical Report 970022, 30, 1997. [12] Russ Cox Mit. Optimistic replication using vector time pairs. [13] E.Dijkstra. A note on two problems in connection with graphs. Numerical Mathematics, 1:269–271, 1959.

816

Suggest Documents