• Aucun résultat trouvé

Multi-robot exploration under communication constraint: a disCSP approach

N/A
N/A
Protected

Academic year: 2022

Partager "Multi-robot exploration under communication constraint: a disCSP approach"

Copied!
12
0
0

Texte intégral

(1)

Multi-robot exploration under communication constraint: a disCSP approach

Arnaud Doniec, Noury Bouraqadi, Michael Defoort Univ Lille Nord de France, F-59000 Lille, France

EMDouai, IA, F-59508 Douai, France { doniec,bouraqadi,defoort } @ensm-douai.fr

Van Tuan Le, Serge Stinckwich

GREYC, UMR 6072 (CNRS, Universit´e de Caen) UMI UMMISCO 209 (IRD/UPMC/IFI-MSI)

lvtuan@gmail.com serge.stinckwich@ird.fr

May 3, 2010

Abstract

Exploration of an unknown environment is one of the major applications of Multi-Robot Systems. Many works have proposed multi-robot coordination algorithms to accomplish ex- ploration missions based on multi-agent techniques. Some of these works focus on multi-robot exploration under communication constraints. This paper is an extract of [4] in which we pro- pose an original way to formalize and solve this issue. Our proposal relies on distributed constraint satisfaction problems (disCSP) which are an extension of classical constraint satis- faction problems (CSP). Compared to other works, our proposal is fully distributed and guar- anties the exploration of an unknown environment with maintenance of connectivity between all the members of a robots’ team.

1 Introduction

Multi-robot systems (MRS) consist in a set of autonomous mobile robots which collaborate to perform a mission. This collaboration is allowed by communication abilities which usually rely on radio communication technologies. For example, Mobile Ad Hoc Networks (MANET) are frequently employed to support explicit communications in MRS: each robot becomes a node of the network and is able to send, receive and relay data to other robots. In order to have an accurate and efficient collaboration between robots, each node (robot) of the network has to be reachable at

(2)

each instant. This implies that, in addition to their collaborative task, the robots have to perform an extra task which consists in maintaining the network connectivity.

One of the major applications of multi-robot systems is the exploration of an unknown envi- ronment. It consists, for a fleet of robots, in navigating while incrementally constructing a map of the environment. In this application, the robots have to collaborate to:

• spread out on the ground (and consequently: speed up the exploration and use less energy),

• keep in touch with each other in order to exchange partial maps and share areas that have not been explored yet.

Therefore, a good collaboration scheme for multi-robots exploration has to conciliate these two antagonist constraints.

2 Multi-robot exploration related works

The multi-robot exploration issue has been addressed in the literature using different approaches and has been originally initiated by: [9] and [14].

In [14], robots try to build and use a global map for the exploration. The postulate of this work is the following: to speed up the exploration, robots have to gain new information about the envi- ronment. Therefore, they have to move towards the boundary between open space and unexplored area. In practice, some robots try to get closer to the boundary but without real cooperation with the rest of the fleet. Nevertheless, this article states the concept of frontier-based exploration which has inspired many other works.

Main improvings of the frontier-based exploration have consisted in introducing coordination between robots. This has firstly been performed in a centralized way. In [11], the authors propose to assign a target destination to each robot so that the expected information gain over time will be maximized. Since the computation of the optimal solution is intractable in practice, they proposed an heuristic based on bids construction. Each robot estimates the utility and the cost to travel towards various locations. A central server receives all the bids and assigns a location target to each robot taking possible overlaps in the coverage of the ground into account.

More recently, Rooker and Birk [8] also proposed a centralised coordination ensuring that, during the exploration, no robot will loose the connection with the rest of the fleet. To achieve this goal, a central entity collects the current positions of all the robots and generates a set of future configurations for the fleet (i.e. the future possible positions of the robots). Due to the high number of available combinations, all configurations can not be considered but only a limited number of them. Among this number of generated configurations, the central entity chooses the best one according to an utility function. This function gives penality when the evaluated future position is occupied by an obstacle or when it puts a robot out of the communication range with the other robots.

Clearly, centralized coordination algorithms dedicated to frontier-based exploration seem dif- ficult to employ in real applications. They are not fault tolerant since the entire system will fail

(3)

whether the central entity fails. Moreover, for large scale MRS, the use of an entity which central- izes all data accounts for a bottleneck in terms of decision computing and communication.

To avoid these drawbacks, some works have investigated multi-robot coordination in a dis- tributed way. In [13], the authors propose an exploration algorithm based on the selection of different behaviors: avoiding obstacles, maintaining network connectivity, exploring around the frontier. This selection takes into account the current network condition which is known by each robot thanks to periodically exchanged messages. To achieve the connectivity of the network, each robot analyses the topology of the network and makes distinction between a simple articulation and a bridge. A simple articulation is a link whose deconnection does not imply the loss of connectivity in the network. A bridge is a link whose deconnection creates two unconnected subnetworks.

Many other works use multi-agent bidding algorithms to achieve multi-robot coordination.

An example of such an approach can be found in [10]. The authors introduce a bid calculation allowing robots to find their best target locations. The bid calculation is based on a ponderated sum of three elements: the potential information gain of the target location, the distance from the current position of the robot to the target location and a nearness measure intended to characterize the ability to maintain communication links with other robots. To perform coordination, robots periodically broadcast their best bids to all other robots within the same subnetwork. At the end of a constant time, the robot who provides the best bid is declared as winner and is allowed to move towards the target. This process restarts for all the remaining robots.

The use of distributed bidding algorithms does not guaranty the maintenance of connectivity.

Indeed, the introduction of the nearness measure in the bid calculation is just an heuristic which tends to make robots stay close to each other. Robots exhibit certain clustering behaviors during the exploration but deconnections can occur and lead to the partition of the network. The au- thors explicitely mention this problem and talk about inconsistency between maps of the disjoint subnetworks.

The aim of this article is to provide a fully distributed algorithm for exploration with main- tenance of connectivity. In the following, we present an original way to formalize and solve this issue considering distributed constraint satisfaction problems.

3 DisCSP for multi-robot coordination

3.1 Distributed Constraint Satisfaction Problems (disCSP)

Constraint satisfaction is a classical and powerfull tool in artificial intelligence [2] whose tradi- tional applications concern planning, scheduling, placement, logistics and so on. A constraint satisfaction problem (CSP) can be viewed as a triplet(X, D, C)in which:X is a finite set of vari- ables, each variablexi ∈X is associated to a finite domaindom(xi)∈Dand relates to a finite set of constraintsC. Solving a CSP requires to find for each variablexi a value in dom(xi)which is consistent withC(i.e. which does not violate any constraint ofC).

The concept of distributed CSP has been introduced to formalize and solve naturally distributed decision problems [16] which generally deal with a set of data, shared out among many sites and whose centralization is often impossible.

(4)

A disCSP(X, D, C, A)is an extension of the triplet(X, D, C)whereAis a finite set of agents {A1, A2, . . . , Ap}in which eachAk(1≤ k ≤ p)owns a subset ofX: XAk withT

Ak∈AXAk =∅ and a subset ofC:CAk. From the point of view of agentAk, variables of setXAkare called ”owned variables” whereas the setX\XAk refers to the ”foreign variables”.

Most of algorithms to solve disCSP are distributed and asynchronous. To execute such algo- rithms, an agent has to be able to send messages to any other agents of its accointance set1. As the algorithms are asynchronous, delays can occur when messages are exchanged through the commu- nication network. Nevertheless, we assume that when two agents exchange successive messages, the sending order is preserved when receiving. For more details about disCSP algorithms, readers can consult [16].

3.2 Modelling the multi-robot exploration problem as a disCSP

To expose our proposal, we consider the traditional hypothesis made in works related to multi-robot exploration:

• each robot, during its movement, updates its map with the new areas discovered,

• periodically, the robots exchange their map so that they can own a global map and know the position of the frontier,

• each robot is able to know its own position and the other robots’ ones.

To express the multi-robot exploration as a distributed constraint satisfaction problem, we have to discretize the space of actions of robots. The movement of a mobile robot is usually the result of a combination of lateral and longitudinal accelerations. To simplify our speech, we consider 8 possible directions corresponding to the cardinal points of a compass: go to the north, go to the north-east, go to the east, go to the south-east, etc.

Considering this discretization, each robot has to find a decision among these 8 possibilities such that three requirements are fulfilled:

1. its future location does not break the connectivity of the network, 2. its future location does not induce overlaps between the sensor ranges, 3. its future location allows to discover new unexplored areas.

To evaluate if a movement will break or not the connectivity of the network, a robot has to be aware about it. In practice, a robot has to identify among all these direct connections the one that allows to access to the rest of the network (the others being able to be broken if necessary).

Our algorithm presented in [6] allows the robots to obtain such information: based on exchanged

1In MAS, the term accointance refers to the set of agents with which an agent can exchange messages knowing their address and id

(5)

messages in the network, each robot constructs a table containing the id of access robots with which it has to maintain a direct connection in order to stay in touch with a reference node2.

Thus, the requirement 1. can be expressed as a constraint defined by an inferiority test between two values: the distance between the future positions of the two robots and the communication range (Figure 1).

To maximize the discovery of new unexplored areas, a robot has to be closed to the frontier. The requirement 3. can be expressed as a specific ordering between the 8 cardinal positions such that the first cardinal position allows to have the lowest distance between the robot and the frontier, the second cardinal position allows to have the second lowest distance, etc. To enforce the efficiency of the exploration by reducing overlaps (requirement 2), we can also impose that the distance between the future positions of any two robots ofAhave to be superior to the sum of their sensor ranges.

Figure 1: Connectivity constraint between two robots This previous statement can be expressed as the following disCSP:

• A = {A1, A2, . . . , Ap}denotes a fleet of p robots exploring an unknown environment and sharing a common map of already explored areas.

• X ={x1, x2, . . . , xp}is composed of variables storing the next heading of each robot ofA.

• D = {dom(x1), . . . , dom(xp)} with dom(xi)(1 ≤ i ≤ p) is the set of all 8 cardinal di- rections that a robot Ai can choose to plan its next movement. The domain is ordered by the following relation: v1 4v2 ≡ dist(f p(Ai, v1), f rontier)< dist(f p(Ai, v2), f rontier) with(v1, v2)∈dom(xi)2.

2When all robots maintain a communication path towards a reference node, then the connectivity of the network is assured.

(6)

• C =C1∪C2where:

C1 = {∀Ai ∈A, ∃Aj ∈ARAi,

dist(f p(Ai, xi), f p(Aj, xj))< cr}

C2 = {∀Ai ∈A, ∀Aj ∈A\Ai,

2sr < dist(f p(Ai, xi), f p(Aj, xj))}

with:

• srthe sensor range of a robot3,

• dist(p1, p2)the euclidian distance between the positionp1 and the positionp2,

• f p(Ai, xi)the future position ofAi considering its future directionxi and its current vector speed,

• crthe communication range of a robot.

To explore an unknown environment, the robots of setAhave to periodically solve this disCSP in order to be able to choose a heading compatible with the requirements previously introduced.

We present the resulting algorithm in the following.

3.3 Multi-robot exploration algorithm based on distributed constraint rea- soning

The proposed multi-robot exploration algorithm consists in repeating the following sequence until the end of the mission:

1. update maps and connectivity tables for each robot,

2. construct the disCSP based on connectivity tables and current positions of robots, 3. order the value of each domain taking the distance to the frontier into account, 4. solve the disCSP to obtain future directions of each robot,

5. operate the movement of each agent during a fixed time period.

The mission is finished when there is no more area to explore. To be able to detect this state, each robot has to own a global view of the environment. Clearly, this implies that robots build this global view by exchanging periodically their local map. In pratice, our algorithm can be run concurrently with a process realizing simultaneous localisation and mapping (SLAM) [5].

3To simplify our speech, is made the assumption that all robots have identical sensor capacities. This assumption is also made for the communication range.

(7)

algorithm explore

1: begin

2: whilef rontierexists do

3: update map and connectivity table 4: XAi ← {xi}

5: CAi ← {dist(f p(Ai, xi), f p(Aj, xj))< cr}Aj∈ARAi

6: CAi ←CAi∪ {2sr < dist(f p(Ai, xi), f p(Aj, xj))}Aj∈A\Ai 7: heading ← {N, N E, E, SE, S, SW, W, N W}

8: H¯ ←∅

9: for eachh∈headingdo

10: if there is an obstacle towardshthen 11: H¯ ←H¯ ∪ {h}

12: end

13: end

14: H←heading\H¯

15: dom(xi)← {va∈H/∀(va, vb)∈H2, a < b⇒va4vb} 16: dom(xi)←dom(xi)∪H¯

17: solveDisCSP

18: move towards directionxiduringdtseconds 19: end

20: end

Figure 2: Distributed exploration algorithm

Figure 2 details the exploration algorithm run by robotAi. The algorithm stops when there is no more unexplored area as expressed at line 2. Line 3 concerns the updates of the map and the connectivity table ofAiusing the algorithm presented in [6].

From lines 4 to 16, Ai constructs its part of the disCSP. At line 5, Ai is aware about its own connectivity with the rest of the fleet and is able to initialize its set CAi with the constraints of connectivity maintenance. At line 6,Ai completes its setCAi with the constraints of non overlap between sensor ranges.

Lines 7 to 16 concern the ordering of the domain ofxi. Among the set of all possible headings {N, N E, E, SE, S, SW, W, N W}, the robot Ai selects the one which brings him closer to the frontier. The order relation4compares the distances to the frontier from two future positions. The future position of a robot can be calculated using the current speed and heading of the robot and the position of known obstacles.

Considering the situation of Figure 3, the strict application of relation 4betweenW andSE gives W 4 SE since, in term of the euclidian distance, f p(Ai, W) is closer to the frontier than f p(Ai, SE). Obviously, the frontier is not directly reachable from f p(Ai, W)because of the ob- stacle. To take into account such a situation, the set of all possible headings is splited into two subsets: the setH¯ whose headings lead into obstacles and the setHwhich contains the remained

(8)

free headings.

Figure 3: Future possible positions according to current speed and obstacles position At line 15, the domain of xi is initialized with the values of H ordered with the relation 4.

In some cases, the only way to maintain connectivity is to choose a direction towards an obstacle.

Consequently, the values of the setH¯ are added at the end of the domaindom(xi)(line 16). In the example, such an ordering policy gives {N, N E, S, E, SW, SE, N W, W} as the domain for the variablexi.

The disCSP is solved at line 17. Here any disCSP solving algorithm can be used such as ABT [15], AWS [16], ABTnot[1], etc. Finally, the movement of the robot is operated at line 18. To take the obstacle into account in a finer manner, a navigation algorithm can be used [3].

Figure 4: Examples of environments with different complexity and density of obstacles

(9)

4 Implementation and Validation

4.1 Implementation details

To evaluate the feasibility and the relevance of our approach, we have implemented the exploration algorithm in NetLogo. NetLogo is a multi-agent programmable modeling environment [12] which allows to prototype quickly systems of situated agents evolving in a two dimensions world. Our considered environments are closed and modeled as a grid with100×100cells. Each cell can be empty, occupied by a robot or an obstacle, explored or unknown.

Many parameters of the robots like the sensor range, the communication range and dt can be tuned. Many data are recorded at each simulation: exploration duration, travelled distance by each robot, number of exchanged messages by robots. In addition, specific data about disCSP solving are available: number of ”nogood” messages, number of ”ok” messages, number of cycles, number of checked constraints. The disCSP solving algorithm used for our experiments is ABT whose implementation has been provided by [7] in community models of NetLogo.

4.2 Simulations

In our simulations, we have considered environments with different levels of complexity depending on: the shape of the obstacles (concave vs convexe), the size of the obstacles (compared to the size of one robot), the density of the obstacles, the minimum distance between two close obstacles.

Figure 4 gives two examples of possible environments.

At the beginning of each simulation, the robots are initially aligned in the bottom right corner of the environment with a distance between them inferior to the communication range. For our experiments, we have considered two different communication ranges: a short one and a large one. Figures 5 and 6 are examples of obtained results respectively for a simple and a complex environment. They present the average of exploration durations according to the number of robots deployed in the environment.

Our different experimentations show that the typology of the environment has a great impact on the duration of the exploration: a ”simple” environment is faster explored than a ”complex”

one. Moreover, for closed environments, adding robots improves the speed of the exploration to a certain limit: when robots are too many, they interfer with each other and spend more time avoiding each other than exploring.

Clearly, a large communication range also helps to improve the exploration: robots are less constrained in their movements and can cover a larger area of exploration. On the other hand , we have noticed that initial positions of robots in the environment have a minor influence on the exploration.

Figure 7 presents the average of exchanged messages for different sizes of robots’ team to accomplish a full exploration. When the number of robots increases, the size of the disCSP grows and consequently more messages are required to find a solution. Meanwhile, the increase of the number of exchanged messages is balanced by the fact that the duration of the exploration is reduced with more robots. Let us remind that we have used in our prototype the simplest algorithm

(10)

500 1000 1500 2000 2500 3000 3500 4000

1 2 3 4 5 6 7 8

time

number of robots

wifi range = 25 wifi range = 50

Figure 5: Experiments with a ”simple” environment

500 1000 1500 2000 2500 3000 3500

1 2 3 4 5 6

time

number of robots

wifi range = 25 wifi range = 50

Figure 6: Experiments with a ”complex” environment

(ABT) for solving the disCSP. Using a more sophisticated algorithm will help to reduce the number of exchanged messages at each decision step.

(11)

0 5000 10000 15000 20000 25000

1 2 3 4 5 6 7 8

Number of exchanged messages

number of robots

Figure 7: Number of exchanged messages during an exploration

5 Conclusion

This paper proposes an original way to deal with multi-robot exploration under limited communi- cation range. From a robot point of view, such a task consists in choosing its best decision such as it can explore unknown areas and maintain connectivity with the rest of its fleet. To state this coordination problem, we use a well known formalism in artificial intelligence: the distributed constraint satisfaction problems (disCSP). Based on this foundation, a new distributed algorithm for the coordination of robots is introduced. Using its own connectivity awareness, each robot constructs a part of the disCSP by adding constraints with the rest of the fleet. The distributed resolution of the disCSP gives the future direction of each robot.

Simulations give interesting results: reasonable number of exchanged messages, decrease of the exploration duration when the number of robots grows, robust connectivity maintenance, easier deadlock detection. Next step of this work will consist in implementing our approach on real robots.

References

[1] C. Bessiere, I. Brito, A. Maestre, and P. Meseguer. Asynchronous backtracking without adding links: A new member in the ABT family. Artificial Intelligence, 161:7–24, 2005.

[2] R. Dechter. Constraint Processing. Morgan Kaufmann, 2003.

[3] M. Defoort, J. Palos, A. Kokosy, T. Floquet, and W. Perruquetti. Performance-based reactive navigation for nonholonomic mobile robots. Robotica, 27(2):281–290, 2009.

(12)

[4] A. Doniec, N. Bouraqadi, M. Defoort, V-T. Le, and S. Stinckwich. Distributed constraint reasoning applied to multi-robot exploration. In 21st International Conference on Tools with Artificial Intelligence (ICTAI), New Jersey, USA, 2009.

[5] H. Durrant-Whyte and T. Bailey. Simultaneous localization and mapping: Part I and II. IEEE Robotics & Automation Magazine, pages 99–117, 2006.

[6] Van Tuan Le, Noury Bouraqadi, Victor Moraru, Serge Stinckwich, and Arnaud Doniec. Mak- ing networked robot connectivity-aware. In Proceedings of the IEEE International Confer- ence on Robotics and Automation (ICRA), pages 3502–3507, 2009.

[7] I. Muscalagiu, J. M. Vidal, and H. Jiang. Random binary CSPs using asynchronous back- tracking. NetLogo Models, http://discsp-netlogo.fih.upt.ro/, 2007.

[8] M. N. Rooker and A. Birk. Multi-robot exploration under the constraints of wireless net- working. Control Engineering Practice, 15(4):435–445, 2007.

[9] H. Shatkay and L. P. Kaelbling. Learning topo-logical maps with weak local odometric information. In Proceeding of the International Joint Conference on Artificial Intelligence (IJCAI), pages 920–929, 1997.

[10] W. Sheng, Q. Yang, J. Tan, and N. Xi. Distributed multi-robot coordination in area explo- ration. Robotics and Autonomous Systems, 54:945–955, 2006.

[11] R. Simmons, D. Apfelbaum, W. Burgard, D. Fox, M. Moors, S. Thrun, and H. Younes. Coor- dination for multi-robot exploration and mapping. In Proceedings of the National Conference on Artificial Intelligence (AAAI), 2000.

[12] S. Tisue and U. Wilensky. Netlogo: Design and implementation of a multi-agent modeling environment. In Proceedings of the Agent 2004 Conference, 2004.

[13] J. Vazquez and C. Malcolm. Distributed multirobot exploration maintaining a mobile net- work. In Proceedings of the 2nd International IEEE Conference on Intelligent Systems, vol- ume 3, pages 113–118, 2004.

[14] B. Yamauchi. Frontier-based exploration using multiple robots. In Proceedings of the Second International Conference on Autonomous Agents (Agent’98), 1998.

[15] M. Yokoo. Distributed constraint satisfaction for DAI problems. In Proceedings of the 10th International Workshop on Distributed Artificial Intelligence., 1990.

[16] M. Yokoo. Distributed Constraint Satisfaction: Foundations of Cooperation in Multi-agent Systems. Springer, 2001.

Références

Documents relatifs

Using the Brick&amp;Mortar Improved ant- algorithm as a base, we add robot-perspective vision, variable vision range, and an optimization which prevents agents from going to

tams r = {r , m} (4) where tams r represents the task allocation message tams sent by seller robot r, r in the message means the number of the seller robot, m signifies the

For each experiment the sensor first starts and seek the object, second, it flees from the electric influence of the object and third, follows the boundaries of the object.. Many

For the multi-robot exploration problem, examples of local moves are the ad- dition/removal of a chunk and the addition/removal of an observation task for a robot inside a

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

As experienced during the DISEL project, the development of software in a geographically distributed environment is still much challenging and therefore does not

Key words: sample, Population, random sampling, nonrandom. sampling, sampling size, experimental method,

Since this is not always painless because of the schemaless nature of some source data, some recent work (such as [12]) propose to directly rewrite OLAP queries over document