Grid Based 2D Navigation by a Decentralized Robot System with Collison
1. School of Electrical Engineering and Telecommunications, the University of New South Wales, Sydney 2052, Australia
Abstract: This paper presents a collision-free decentralized random algorithm for robots to search an unknown 2D area with
obstacles. Assumptions in this paper are based on real robots instead of particles so collisions between robots are considered.
Robots move along edges of a grid and randomly choose the next steps in sequence based on local sensing, communication, and
the repulsive force method. A rigorous mathematical proof of convergence with probability 1 is given. For a complete search of
the area, an equilateral triangular grid should be used and the algorithm is compared with others in the simulation.
Key Words: Grid Selection, Robot Team, Search, Decentralized Algorithm
Search and rescue is an important research field in
robotics. If the area is large and the efficiency is important, a
robot team should be used instead of one robot. In the search,
robots move around to dynamically cover the area until each
point is detected. The applications of multiple robots can be
found in fire detection , rescue .
For a team of robots, both centralized and decentralized
methods can be used for communication and control.
Although decentralized solutions are more challenging, they
provide robustness, flexibility, reliability and scalability 
because robots are dynamically decoupled which enables
robots to work independently sometimes. Some simple local
coordination and control laws had been found in animal
aggregation behaviors, such as . Similarly, robots could
also use limited communication and computation abilities to
deal with local information, which saves time, money and
energy and is more applicable than centralized algorithms. In
situations with limited communication between robots, the
necessary information can be estimated using methods of
Kalman state estimation, see e.g. [5, 6]. In the proposed
algorithm, temporary local networks are employed as in
To simplify the algorithm, the topological map  is
used to represent selected information of the area instead of
the geometric map [11, 12] which describes all details. The
equilateral triangular grid was chosen by [7-9, 13, 14] to
employ the least vertices to cover an area. In their algorithm,
robots move between vertices along edges of the grid. Thus,
the map only includes the coordinates and visitation states of
vertices. However, the equilateral triangular grid does not
always the least vertices under different conditions. This
paper chooses it because it can provide a complete search of
In decentralize search algorithms, some publications using
grids had rigorous proofs of the convergence of their
algorithms [7, 8, 13] but they may not prove 100% coverage.
Although  proved 100% blanket coverage, it required
robots to exceed the boundaries, which limits the range of
*This work was supported by the Australian Research Council.
application. Even  used a grid inside the boundaries, the
routes of the robots still exceeded the boundaries in its
simulations. [7, 9, 13] only proved that robots can go through
every vertex of the grid but their authors directly thought that
proof is equal to the proof of 100% coverage. Actually, part
of the area is not detected which was discussed in .
However,  only considered the area in passages without
considering the area near boundaries. This paper considers
both. The algorithm in  did not use a grid, it applied Lévy
distribution to generate step length and normal distribution
to generate rotation angle so robots can move freely to detect
every point. This paper not only provides a rigorous proof of
convergence of the algorithm but also considers relations
between ranges, the requirement about passages and the
curvature of boundaries to ensure a complete search.
Collision avoidance is an essential problem in search.
Solutions for a single robot can be found in [15-18] and a
survey for the solution in multiple robots can be seen in .
However, some previous papers using grid pattern [7, 9, 13,
20] allowed collisions between robots to happen by reducing
robots to particles. This simplified the algorithm and
decreased the search time as robots can make choices
simultaneously, however, it is unrealizable. For collisions
with boundaries, [7, 9, 13, 20] used sensed and shared local
information to avoid going to the blocked vertices. In ,
robots had to use the repulsive force of the artificial potential
field algorithm to avoid collisions as they cannot
communicate to each other. The artificial potential field
generates a gradient field between robots, targets, and
obstacles to direct the movement of robots based on .
The repulsive force in  was caused by neighbor robots,
boundaries and obstacles which drove robots to go downhill,
namely, moving away from them. The algorithm in this paper
adds the repulsive force on the algorithm of . The force is
generated by nearby robots to disperse robots so they have
less repeated area of search. The algorithm considers the
volume of the robot and all kinds of collisions are avoided.
This paper presents a grid based decentralized random
algorithm for searching targets in an unknown 2D area by
multiple robots with no collision. The algorithm is improved
from  and considers the realistic constraints. Robots have
limited sensing and communication ranges and move
Proceedings of the 36th Chinese Control Conference
26-28, 2017, Dalian, China
between vertices. When 100% search is required, an
equilateral triangular grid is used and the algorithm is
compared with others in simulations.
The remainder of the paper is organized as follows.
Section 2 states the problem. Section 3 discusses the
selection of the grid followed by the proposed algorithm in
section 4. The proposed algorithm is compared with others
for a complete search in section 5 and section 6 draws a
2 Problem Formulation
Assumption 2.1: The search area AؿԹ2 is a bounded,
connected and Lebesgue measurable set. There are a limited
number of arbitrary obstacles O1, O2, . . ., Ol and obstacles Oi
are non-overlapping, closed bounded and linearly connected
sets for any i>0. They are both static and unknown to the
Definition 2.1: Let O:=Oi for all i>0, then introduce ܣ݀:=
ܣ\ܱ as the area that needs to be detected.
There are m robots labeled as rob1 to robm to search static
targets T1 to Tn. Let T be the set of target coordinates and Tki
represents the targets set known by robi. Then |T| represents
the number of targets and |Tki| represents the number of
targets known by robi. There are two modes for searching
targets. If |T| is known, it is called situation 1, otherwise, it is
called situation 2.
Assumption 2.2: The initial condition is that all robots use
the same grid and the same coordinate system and they are
allocated at different vertices along the border of the area.
This assumption is achieved in [7, 9, 13] with impractical
infinite time and collisions. If it is only roughly reached in a
short time, the range for sensing and communication should
be designed large enough to ignore errors between
coordinate systems. In simulation, robots are manually set at
vertices of a grid to achieve this assumption without
Assumption 2.3: All the sensors and communication
equipment in this algorithm have circular ranges.
The proposed algorithm uses a grid pattern. In each step, a
robot moves straightly from one vertex vi of the grid to one of
the nearest neighbor vertices vj thus the moved distance is the
side length a of the basic grid shape. Let the swing radius of
robots be rrob. Then the safety radius rsafe including all errors
should be larger than rrob. Therefore, to avoid collisions with
obstacles and borders in moving, the sensing range for
obstacles, rso, should satisfy the following assumption.
Assumption 2.4: rso≥a+rsafe.
Robots within rso of robi are called sensing neighbors of
robi. Then the set of sensing neighbors of robi at discrete
time kis described by ܰݏ,݅(݇). A neighbor in the set is
denoted as ns,i,j(k). |ܰݏ,݅(݇)| denotes the number of elements in
ܰݏ,݅(݇). Let the set which includes all the accessible vertices
be Va. In ܰݏ,݅(݇), let the set of visited vertices of robi be
ܸݒ,݅(݇) and the set of unvisited vertices of robi be ܸݑ,݅(݇).
|ܸݒ,݅(݇)| and |ܸݑ,݅(݇)| denote the number of elements in the two
sets respectively. Then let the choice from ܸݒ,݅(݇) be cv and
the choice from ܸݑ,݅(݇) be cu.
To avoid collisions caused by having the same choice by
different robots, robots need to make choice in sequence and
inform their choices to robots which are one vertex away and
two vertices away. Considering errors, communication range
Assumption 2.5: rc≥2*a+rsafe-rrob.
Based on assumptions above, a≤min(rso-rsafe, (rc-
rsafe+rrob)/2). Robots within rc of robi are called
communication neighbors of robi and ܰܿ,݅(݇) is used to
denotes those neighbors at time k. Then |ܰܿ,݅(݇)| denotes the
number of elements in ܰܿ,݅(݇). Robots build a wireless
ad-hoc network to communicate with communication
neighbors equally. The networks are temporary so it will be
rebuilt after robots arrive at their chosen vertices. In the test
with robots, ad-hoc mode of Wi-Fi communication will be
used in the local area of the robot and TCP socket are
employed to exchange data.
Definition 2.2: The chosen position of robi at time k+1 is
pi(k+1). At time k, the average position of choices made by
robots which chose earlier and positions of communication
neighbors which have not chosen yet is pi,ave(k). Then
refers to the set of distances from pi,ave(k) to
unvisited vertices and
is the set of distances from
pi,ave(k) to visited vertices. The maximum values in this two
sets are represented as
separately. The corresponding numbers of vertices which
result to the maximum distance are |ܸumax,i(݇)| and |ܸvmax,i(݇)|.
The first aim of the paper is to design a collision-free
decentralized algorithm for robots to search an unknown
area with obstacles. Secondly, the grid for a complete search
needs to be found with certain assumptions. The potential
applications are the search tasks in large unknown 2D areas
without global information, such as the seabed, caves,
tunnels and planets.
3 Grid for the Complete Search
There are mainly two kinds of requirements for selecting
the grid. One is to completely search the area and the other is
to detect all vertices of the area, e.g. [7, 13, 22]. This paper
discussed the complete search only which requires the robots
to dynamically cover the whole area.
To simplify the algorithm further, all vertices need to be
similar or equal. Therefore, three regular tessellation
patterns, namely, the equilateral triangle (T), the square (S)
and the regular hexagon (H) are considered as seen in Fig. 1.
However, for the complete search, only T grid is available
with assumptions below:
Fig. 1: Three regular tessellation patterns
Assumption 3.1.1: rst≥a+rsafe.
This assumption guarantees that robots can detect
inaccessible vertices. For example, in Fig. 2, black circles
have a radius of a+rsafe and the red line is the boundary so v4
is within rsafe of the boundary and cannot be visited. But area
D near v4 can be detected by robots at v1, v2 and v3.
Assumption 3.1.2: The curvature of the concave part of
the search area should be smaller than or equal to 1/ݎݏt.
Without assumption 3.1.2, some parts of the area are not
able to be detected. For example, in Fig. 2, sections A, B, and
C have curvatures greater than 1/ݎݏ. But the slashed section
A cannot be detected or reached although section B and C
can be detected luckily. The reason that the S grid and the H
grid are not used is that there are no such limitations to
guarantee a complete coverage. The setting of the curvature
is useless in those two grid patterns.
Fig. 2: Curvature example for triangle pattern
Assumption 3.1.3: All passages between obstacles or
between the obstacles and boundaries have a width
This assumption guarantees that there is always at least
one accessible route in the passage. If the passage is not large
enough as in Fig. 3, robots at va will not arrive at vb as robot
can only move a in a step but vertices vc, vd, ve and vf are
inaccessible, leaving a section in between undetectable.
Fig. 3: Narrow passages
4 Procedure and Algorithm
The procedure of the algorithm is in Fig. 4 which is the
same as  but the core of the algorithm, namely, how to
choose the next step is improved and discussed in detail. The
description of each step starts with situation 1. Situation 2
will only be mentioned when the operation is different or
when there are extra tasks to do.
Fig. 4: Flow chart of the progress
4.1 Steps before Making Choices
Initially, robots sense their local sections. In situation 1, if
robi finds any target, it will broadcast the position of the
target and go to step 7. Otherwise, it will go to step 2. For
situation 2, robots only need to go to step 7 regardless of the
In step 2, if an object is judged as an obstacle for robi
blocking the way to the neighbor ns,i,j(k), ns,i,j(k) will be
removed from ܰݏ,݅(݇). For situation 2, the vertex will also be
recorded as visited. When no objects are sensed, robi will
wait for the same amount of processing time for
In step 3, robots exchange explored maps and failure
information to communication neighbors to build up ܰs,i(݇),
ܰܿ,݅(݇) and ܸݒ,݅(݇). If |ܰܿ,݅(݇)|=0, it needs to wait for others to
synchronize all robots. For situation 2, the visitation states
will also be communicated.
In the 4th step, the order of choice is set. For robi at pi(k)
and its neighbor robj at pj(k), if pjx>pix|(pjy>piy&pjx≥pix), robj
will have the higher priority in choosing the next vertex.
4.2 Random Choice with the Repulsive Force
In this step, robi firstly waits for others with higher priority
to choose. In its turn, if |ܰܿ,݅(݇)|=0. The random
decentralized algorithm in  is used:
with prob. 1/ ( ) , if ( ) 0
with prob. 1/ ( ) , if ( ( ) 0) &( ( ) 0)
() if () 0
pk N k
It means that when there are unvisited sensing neighbors,
robi will choose one from them randomly. If there are only
visited sensing neighbors left, robi will randomly choose a
visited one. If there are no unblocked vacant sensing
neighbors, robi will stay at its current position pi(k).
When |ܰܿ,݅(݇)|≠0, the repulsive force caused by other
robots is used which is the novel part of the algorithm as
shown in algorithm (2):
with prob. 1/ ( ) , if ( ) 0
with prob. 1/ ( ) , if ( ( ) 0) &( ( ) 0)
() if () 0
pk N k
In this control law, unvisited vertices still have higher
priorities than visited vertices as in (1). robi calculates pi,ave(k)
first to determine
. Then it randomly
chooses one vertex which results to the corresponding
. Thus, robots can move
away from others. If there are many unvisited vertices around
robi and its communication neighbors at time k, robots may
have more choices at time k+1 when they use (2) instead of
(1). If robots are in a visited part of an area, they will try to
leave current section in various directions to find unvisited
area earlier. These two algorithms ensure that all the
accessible vertices in Ad are visited. The algorithm with
deterministic choices should have the same average time as
random choices. It needs to use the first available choice as
there may not be the second one. But robots will search the
area in a certain direction at the beginning based on the
definition of the first choice instead of searching each
After making the choice, robi adds it to its map and sends
it to robots in ܰܿ,݅(݇) and the receivers will update their maps.
Those choose later will adjust ܰs,j(݇) and the information
about obstacles if needed. For situation 2, the visitation
states in robots in ܰܿ,݅(݇) should also be updated.
In this step, waiting for others leads to the result that
failure of robi will affect its neighbors. The scheme to detect
failure can be seen in  which makes the system robust.
4.3 Steps after Making Choices
All robots move in the same pattern simultaneously. robi
rotates to face to the chosen vertex and then moves straightly
along the edge of the grid. Robots apply the trapezoidal
velocity profiles based on a and speed and acceleration
In step 7, for situation 1, robi goes to step 8 after it has
found all targets. So,
݅(݇+1)=݅(݇) if |Tki|=|ܶ| (3)
For situation 2, robi will move to the stop procedure when
there is no undetected vertex in its map. Namely,
݅(݇+1)=݅(݇) if ݒ݅אVa, |ܸݑ,݅(݇)|=0 (4)
In step 8, robi broadcasts the position of targets and a stop
signal to inform all other robots and the human controller to
stop the search.
Theorem 4.1: Suppose all assumptions hold and the
proposed algorithm, namely, the rules (1) and (2) with
related judgment strategy (3) or (4), are used. Then for any
number of robots, there exists a time ݇0>0 such that all
targets or all vertices are detected with probability 1.
Proof: Algorithms (1) and (2) with judgment strategy (3)
or (4) form an absorbing Markov chain including transient
states and absorbing states. The transient states include all
the accessible vertices of the grid where robots visit but do
not stop forever. Absorbing states are the vertices where the
robots stop at step 8. Per the algorithm, robots start at
transient states. In each loop, robots go to the unvisited
sensing neighbor vertices if there are any. If all sensing
neighbors are visited, robots will randomly choose
accessible sensing neighbors. For (3), the number of
transient states will decrease to zero when every robot has
found all targets. For (4), absorbing states are reached until
all vertices are detected. Based on the assumption for Wpass,
absorbing states can be achieved by robots from any initial
positions, namely with probability 1. This completes the
proof of Theorem 4.1.
5 Simulation for a Complete Search Using
The complete search task is simulated in Matlab for
situation 1 and compared with others. In simulations, there
are nine targets evenly separated in area A searched by one to
thirteen robots starting near the boundary of the area (see Fig.
5). The compared algorithms are Lévy flight with potential
field algorithm (LFP) in , random choices with unvisited
vertices first (RU) in , algorithms (1) & (3) in  and
algorithms (1), (2) & (3) in this paper. RU did not consider
collisions between robots. So, an additional move time is
added for each collision which may be insufficient when
there are consecutive collisions.
Parameters in simulations are designed based on the
datasheet of Pioneer 3-DX robots (Table 1) and assumptions
in this paper. Row P, R and S are the parameters’ names,
parameters in robots and parameters in simulations
respectively. The underlined items are known values and
others are calculated according to the assumptions. Robots
use sonars to detect obstacles and boundaries, use a laser to
detect targets and have Wi-Fi communication. Specifically,
move time is roughly estimated as 4.5s for a translation and
1.25s for a rotation. In the simulation, a is set to be 1. The
values of rrob, rsafe and tmove from the robot are used. Then
other values are calculated based on assumptions. Note that
equality conditions of the inequalities are used in all
Table 1: Parameters of robots and simulation
Fig. 5 demonstrates the routes for three robots using the
proposed algorithm with arrows to point to the moving
directions. Fig. 6 shows the detail of the blue route. From the
recorded route of each robot, no collisions are found and
each target is within rst of at least one visited vertex.
Fig. 5: The routes for three robots
Fig. 6: The routes for the robot label by a blue square
Fig. 7 shows the average search time of 500 simulations
for the four algorithms. In the search time, generally,
LFP>RU>(1)&(3)>(1), (2)&(3). So, the proposed algorithm
(1), (2) & (3) is the best. However, for 9-13 robots, RU>LFP
because, for RU, the decrease of the number of algorithm
loops is slower than the increase in the number of collisions.
For all methods, when the number of robot increases, the
search time decreases sharply at the beginning and slowly
later. It can be predicted that, for the proposed algorithm, if a
large number of robots are used, the total time may start to be
stable and may even be followed by a gentle rise as the
increased algorithm time in step 5 occupies a larger
proportion in total time but the decrease of loops are quite
Fig. 7: Time for four algorithms with 9 targets.
In this algorithm, the number of robots is flexible and the
algorithm is scalable and robust. The suitable range of robots
could be estimated by simulations in a general area if a rough
size of the area is given. The optimal number of robots
should be decided based on the balance of the decreased time
and the increased cost of robots.
This paper proposed a random decentralized collision-free
search algorithm for multiple robots in a static unknown 2D
area with obstacles. Under certain assumptions for the area
and parameters based on realistic constraints, robots move
via a equilateral triangular grid from one vertex to a nearby
vertex in each step simultaneously using the proved
algorithm. Robots choose future steps in sequence in each
step with no collisions even if some robots are broken. The
proposed algorithm is the best comparing to three other
algorithms. Conclusively, the algorithm is scalable, robust,
reliable and effective. In the future work, a fast way to escape
a visited area will be discussed and tests on Pioneer 3-DX
robots will be done.
 A. Marjovi, J. G. Nunes, L. Marques, and A. De Almeida,
"Multi-robot exploration and fire searching," in IEEE/RSJ
International Conference on Intelligent Robots and Systems.,
2009, pp. 1929-1934.
 A. Matos, A. Martins, A. Dias, B. Ferreira, J. M. Almeida, H.
Ferreira, et al., "Multiple robot operations for maritime
search and rescue in euRathlon 2015 competition," in
OCEANS 2016 - Shanghai, 2016, pp. 1-7.
 Q. Zhu, A. Liang, and H. Guan, "A PSO-inspired multi-robot
search algorithm independent of global information," in IEEE
Symposium on Swarm Intelligence, 2011, pp. 1-7.
 E. Shaw, "The development of schooling in fishes. II,"
Physiological Zoology, pp. 263-272, 1961.
 A. V. Savkin, "Analysis and synthesis of networked control
systems: Topological entropy, observability, robustness and
optimal control," Automatica, vol. 42, pp. 51-62, 2006.
 V. Malyavej and A. V. Savkin, "The problem of optimal
robust Kalman state estimation via limited capacity digital
communication channels," Systems & Control Letters, vol. 54,
pp. 283-292, 2005.
 A. Baranzadeh, "A Decentralized Control Algorithm for
Target Search by a Multi-Robot Team," in Australasian
Conference on Robotics and Automation, University of New
South Wales, Sydney Australia, 2013.
 X. Yang, "A decentralized algorithm for collision free
navigation of multiple robots in search tasks," in 2016 35th
Chinese Control Conference (CCC), 2016, pp. 8096-8101.
 A. V. Savkin, F. Javed, and A. S. Matveev, "Optimal
distributed blanket coverage self-deployment of mobile
wireless sensor networks," IEEE Communications Letters,
vol. 16, pp. 949-951, 2012.
 D. Marinakis and G. Dudek, "Pure Topological Mapping in
Mobile Robotics," IEEE Transactions on Robotics, vol. 26,
pp. 1051-1064, 2010.
 T.-D. Vu, J. Burlet, and O. Aycard, "Grid-based localization
and local mapping with moving object detection and
tracking," Information Fusion, vol. 12, pp. 58-69, 2011.
 D. K. Sutantyo, S. Kernbach, P. Levi, and V. A.
Nepomnyashchikh, "Multi-robot searching algorithm using
lévy flight and artificial potential field," in Safety Security
and Rescue Robotics (SSRR), 2010 IEEE International
Workshop on, 2010, pp. 1-6.
 V. Nazarzehi and A. Baranzadeh, "A decentralized
grid-based random search algorithm for locating targets in
three dimensional environments by a mobile robotic
network," in Australasian Conference on Robotics and
Automation. ACRA2015, 2015.
 T. M. Cheng and A. V. Savkin, "Decentralized control of
mobile sensor networks for asymptotically optimal blanket
coverage between two boundaries," IEEE Transactions on
Industrial Informatics, vol. 9, pp. 365-376, 2013.
 A. S. Matveev, H. Teimoori, and A. V. Savkin, "A method for
guidance and control of an autonomous vehicle in problems
of border patrolling and obstacle avoidance," Automatica, vol.
47, pp. 515-524, 2011.
 A. S. Matveev, C. Wang, and A. V. Savkin, "Real-time
navigation of mobile robots in problems of border patrolling
and avoiding collisions with moving and deforming
obstacles," Robotics and Autonomous Systems, vol. 60, pp.
 A. V. Savkin and C. Wang, "A simple biologically inspired
algorithm for collision-free navigation of a unicycle-like
robot in dynamic environments with moving obstacles,"
Robotica, vol. 31, pp. 993-1001, 2013.
 A. V. Savkin and C. Wang, "Seeking a path through the
crowd: Robot navigation in unknown dynamic environments
with moving obstacles based on an integrated environment
representation," Robotics and Autonomous Systems, vol. 62,
pp. 1568-1580, 2014.
 M. Hoy, A. S. Matveev, and A. V. Savkin, "Algorithms for
collision-free navigation of mobile robots in complex
cluttered environments: a survey," Robotica, vol. 33, pp.
 A. Baranzadeh, "Decentralized Autonomous Navigation
Strategies for Multi-Robot Search and Rescue," arXiv
preprint arXiv:1605.04368, 2016.
 R. Siegwart, I. R. Nourbakhsh, and D. Scaramuzza,
Introduction to autonomous mobile robots: MIT press, 2011.
 S. Alam and Z. J. Haas, "Coverage and connectivity in
three-dimensional underwater sensor networks," Wireless
Communications and Mobile Computing, vol. 8, pp.