Distributed Coordination in Swarms of Autonomous Mobile Robots
Based on materials by:
- Franck Petit
- Giuseppe Prencipe, University of Pisa - Nicola Santoro. Carlton University - Paola Focchini,
- P. Widmayer, - D. Peleg,
- X. Défago, JAIST
Mikaël Rabie
Mikael.rabie@lip6.fr
Setting and Motivations
Robot Swarms
Swarm: Collection of independent,
autonomously operating mobile robots
Robot Swarms
Swarm: Collection of independent,
autonomously operating mobile robots
Typically, the robots in a swarm are
➢ Very small
➢ Very simple
➢ Very limited in capabilities:
• Weak energy resources
• Limited means of communication Limited processing power
Why Multiple Robot Systems?
▪ Low cost: use several cheap & simple robots rather than single expensive one
▪ Can solve tasks impossible for a single robot (e.g., sweep large regions)
▪ Can perform risky / hard tasks in hazardous / harsh environments
▪ Can tolerate destruction of some robots
▪ Applications:
➢ Military operations
➢ Space explorations
➢ Search&rescue missions
➢ Toxic spill cleanups
➢ Fire fighting
➢ Risky area surrounding or surveillance
➢ Exploration of awkward environments
➢ Large-scale construction
➢ Environmental monitoring
Specific Tasks for Swarms
▪ Movement management
▪ Movement limitation
▪ Collision avoidance
▪ 2D/3D settings
▪ Complex coordination operations
▪ Global control
Most previous work:Centralized control, suitable for small robot team, inadequate for large swarms
➙ Distributed control:
▪ No central coordination
▪ Scalability
Setting
Distributed System whose
Entities
aresimple
units(
robots
) equipped with:Motorial
CapabilitiesFreely move on a 2 (or 3) dimensional environment
Sensorial
CapabilitiesSense the positions of the others in the environment
Why study oblivious (& relatively dumb)
robots?
❑ Algorithms that work correctly for weaker
❑ Algorithms will work in a dynamic environment (where robots
join/leave the system)
❑ The system can start in (almost) any
configuration
However….
• Many simple units
– Not expensive – Modular
– Fault tolerant
• Few complex specialized units
– Expensive
– Not fault tolerant
Problem:
Coordinate them
The Problem
General aim of the study
• Which are the elementary tasks that can be achieved deterministically?
• What are the
minimal conditionsfor this?
• Given a task, what kind of
local coordinationis necessary so that the robots can accomplish it (
deterministically)?
Analyze from an algorithmic point of view the distributed control of a set of autonomous mobile robots
Problem
Analysis of minimum level of capabilities (sensorial, computational, and motorial) robots must possess to COLLECTIVELY solve a given task.
For globally accomplishing a given task: how "weak" can each single robot be?
How much local power is necessary to perform global computations?
Cooperative Primitive Tasks
Gathering Alignment
Other Patterns Circle Formation
Election
Approaches
Previous and Related Work
• Fukuda et al, 1989 (CEBOT)
• Brooks, 1985
• Mataric, 1994
• Cao at al, 1995 (survey)
• Durfee, 1995
• Balch and Arkin, 1998
Previous Work
(Algorithmic approaches)
Provably correct solutions
Termination in finite time
Very few works ...
(Robotics, AI)
Heuristic solutions
Convergence to solution
Tipically...
The Algorithmic Approach
Study under what conditions on the robots’ capabilities a given global task is solvable in finite time.
Find Algorithmic solutions
The Model
Environment
Infinite Plane
Environment
Finite Graph (Discrete Env.) Infinite Plane
The Model
(Yamashita et al., SIROCCO 1996)
• Homogeneous
• Anonymous
• Autonomous
• Mobile
• Deaf and Dumb x
y
Unit
Algorithm:
1.
2.
3.
….
Sensors
No explicit
communication
-Assumptions on Robots’ power- Agreement on Coordinate System
x y
x
y x
y x y
Total agreement
x
x
x x
Agreement on one axis
direction and orientation Agreement on directions
x y
x y
x y
x x y
y
- Assumptions on Robots' power -
No Agreement
Models of Orientation
Full-compass: Axes and polarities of both axes.
Half-compass: Both axes known, but positive polarity of only one axis (in other axis, robots may have
different views of positive direction).
Direction-only: Both axes, but not polarities.
Axes-only: Both axes, but not polarities. In addition, robots disagree on which axis is x and which is y.
No-compass: No common orientation information.
Note: In general, robots do not share common unit distance or
- Assumptions on Robots' Power - Radius of Visibility: Limited /Unlimited
V
- Assumptions on Robots' Power - Oblivious/Non Oblivious
Non-Oblivious:
remember the positions of all the robots since the beginning of thecomputation
Oblivious:
otherwiseModeling Movements
Assumption 1
The maximum distance
r
i can move in one step is bounded by i>0Assumption 2
There is a lower bound dr>0 on the distance a robot
r
can travel,unless its destination is closer than dr>0.
Modeling The Time
• A critical aspect in every distributed system is the time
– Synchronous?
– Asynchronous?
• At the beginning the proposed model for robots was basically synchronous (SYNC, SSYNC, SYm)
– Semi-synchronous – Fully-synchronous
Instantaneous Actions of SYm
Suzuki et al., 1996
Discrete Time 0,1,...
At each time instant
t
, every robotr
i is eitherActive
orInactive
At least one Active robot at each time instant, and every robot is Active infinitely often
Instantaneous Actions of SYm
Suzuki et al., 1996
LOOK
COMPUTE MOVE
Phases of an Active robot t
t+1
Instantaneous Actions of SYm
Suzuki et al., 1996
LOOK
Visibility:
Unlimited Limited
Uses its sensors
to observe the world.
result = SNAPSHOT of the world
COMPUTE MOVE
t
t+1
Instantaneous Actions of SYm
Suzuki et al., 1996
MOVE
LOOK
COMPUTE
input = positions of the robots result = destination point p
Oblivious:
positions of the robots retrieved in the last Look
Non Oblivious:
positions of the robots since the beginning
Execute algorithm,
t
t+1
Instantaneous Actions of SYm
Suzuki et al., 1996
LOOK
COMPUTE MOVE
The robot moves towards the computed destination
t
t+1
Instantaneous Actions of SYm
Suzuki et al., 1996
LOOK
COMPUTE MOVE
p
i(t)
: Position ofr
i att
For all
t0
,r
i Inactive p
i(t+1)=p
i(t) r
i Active p
i(t+1)=p
p: point returned by
r
i executes L-C-Matomically!
t
t+1
Asynchronicity
• In 1999 asynchronicity was introduced in the model
– CORDA or ASYNC
The Life Cycle (Corda)
LOOK
COMPUTE
MOVE WAIT
The Life Cycle (Corda)
LOOK
COMPUTE
MOVE WAIT
Visibility:
Unlimited Limited
Uses its sensors
to observe the world.
result = SNAPSHOT of the world
The Life Cycle (Corda)
LOOK
COMPUTE
MOVE WAIT
input = position of the other robots result = destination
point Obliviousness:
The local computation is based solely on what the robot has just observed
The Life Cycle (Corda)
LOOK
COMPUTE
MOVE WAIT
The robot moves towards the
computed
destination (it might not reach it)
The movement is non-instantaneous.
The Life Cycle (Corda)
LOOK
COMPUTE
MOVE WAIT
No Global Clock
No Synchronization…
But cannot wait forever To take into account
asynchronous behavior.
Sym vs CORDA
SYm
• Instantaneous actions.
CORDA
• Full asynchronicity.
Instantaneous Actions in SYm
t+1
COMPUTE
LOOK MOVE
Asynchronicity in Corda
t
Asynchronicity in Corda
A robot could see other robots while they move !
A robot cannot distinguish between moving robots and waiting robots !
t’
Timing Models
ASYNC (CORDA) -Fully asynchronous
[Flocchini et. Al, 1999]
Arbitrary & varying operation rates and delays
SSYNC (Sym) - Semi-synchronous
[Suzuki+Yamashita, 1996]
Fixed time cycles, but robots may be active / inactive
FSYNC - Fully synchronous
[Suzuki+Yamashita, 1999]Fixed time cycles, all robots active in every cycle