Ictai09 Finalversion
Ictai09 Finalversion
an agent can exchange messages knowing their address and id node, then the connectivity of the network is assured.
For instance, considering the networked robotics system • X = {x1 , x2 , . . . , xp } is composed of variables stor-
in Figure 1, robots A7 and A3 are able to construct the ing the next heading of each robot of A.
following tables with A1 as the reference node:
• D = {dom(x1 ), . . . , dom(xp )} with dom(xi )(1 ≤
i ≤ p) is the set of all 8 cardinal directions that
Access Robots Access Paths a robot Ai can choose to plan its next movement.
• table of A3 :
A2 (A2 , A1 ) The domain is ordered by the following rela-
tion: v1 4 v2 ≡ dist(f p(Ai , v1 ), f rontier) <
dist(f p(Ai , v2 ), f rontier) with (v1 , v2 ) ∈
Access Robots Access Paths dom(xi )2 .
• table of A7 : A3 (A3 , A2 , A1 )
A4 (A4 , A2 , A1 ) • C = C1 ∪ C2 where:
algorithm explore
1: begin
2: while f rontier exists 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 ∪ {2 sr < 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 each h ∈ heading do
10: if there is an obstacle towards h then
11: H̄ ← H̄ ∪ {h}
Figure 4. Future possible positions according
12: end
13: end
to current speed and obstacles position
14: H ← heading\H̄
15: dom(xi ) ← {va ∈ H/∀(va , vb ) ∈ H 2 , a < b ⇒ va 4 vb }
16: dom(xi ) ← dom(xi ) ∪ H̄ At line 15, the domain of xi is initialized with the val-
17: solveDisCSP ues of H ordered with the relation 4. In some cases, the
18: move towards direction xi during dt seconds only way to maintain connectivity is to choose a direc-
19: end tion towards an obstacle. Consequently, the values of the
20: end set H̄ are added at the end of the domain dom(xi )(line
16). In the example, such an ordering policy gives
Figure 3. Distributed exploration algorithm {N, N E, S, E, SW, SE, N W, W } as the domain for the
variable xi .
Figure 3 details the exploration algorithm run by robot The disCSP is solved at line 17. Here any disCSP solv-
Ai . The algorithm stops when there is no more unexplored ing algorithm can be used such as ABT [16], AWS [17],
area as expressed at line 2. Line 3 concerns the updates of ABTnot [1], etc. Finally, the movement of the robot is oper-
the map and the connectivity table of Ai using the algorithm ated at line 18. To take the obstacle into account in a finer
presented in [6]. manner, a navigation algorithm can be used [3].
From lines 4 to 16, Ai constructs its part of the disCSP.
At line 5, Ai is aware about its own connectivity with the
4 Implementation and Validation
rest of the fleet and is able to initialize its set CAi with the
constraints of connectivity maintenance. At line 6, Ai com-
pletes its set CAi with the constraints of non overlap be- 4.1 Implementation details
tween sensor ranges.
Lines 7 to 16 concern the ordering of the do- To evaluate the feasibility and the relevance of our ap-
main of xi . Among the set of all possible headings proach, we have implemented the exploration algorithm in
{N, N E, E, SE, S, SW, W, N W }, the robot Ai selects the NetLogo. NetLogo is a multi-agent programmable mod-
one which brings him closer to the frontier. The order re- eling environment [13] which allows to prototype quickly
lation 4 compares the distances to the frontier from two systems of situated agents evolving in a two dimensions
future positions. The future position of a robot can be cal- world. Our considered environments are closed and mod-
culated using the current speed and heading of the robot and eled as a grid with 100 × 100 cells. Each cell can be empty,
the position of known obstacles. occupied by a robot or an obstacle, explored or unknown.
Figure 5. Examples of environments with different complexity and density of obstacles
2000
ent communication ranges: a short one and a large one. Fig-
ures 6 and 7 are examples of obtained results respectively 1500
for a simple and a complex environment. They present the
average of exploration durations according to the number of 1000