Mobile Robots and
distributed computing*
Maria Potop-Butucaru maria.gradinariu@lip6.fr
LIP6, UPMC Sorbonne Universités (Paris 6)
Real Robots
● UAVs(Unamed Aerial Vehiculs) & AUV (Autonomous underwater vehicles)
● Autonomous Ground Robots
● Metamorphic Robots
UAVs
●
Applications
− Military operations (Reconnaissance / Attack)
− Civilian applications (Firefighting/
Exploration)
●
Caracteristics
− Remote controlled
− Pre-programmed flight schedule
UAVs & AUVs
practical challenges
●
Distributed Cooperation
− UAVs Adaptive Flight schedule (in the air and for take off/landing)
− Pattern formation
− Connectivity (visual and/or communication)
●
Fault-tolerance
− Byzantine faults
− Crash faults
− Transient faults
Autonomous Ground Robots
●
Applications
− exclusive military operations
●
Caracteristics
− Sensing capabilities (LASAR – laser detection and ranging is currently used)
− Artificial inteligence embedded
●
Adaptive route planning
●
Adaptive motion (walk, trot,
run)
Autonomous Ground Robots practical challenges
●
Performant Sensors and cameras
●
Distributed Cooperation and coordination
●
Fault-tolerance
Metamorphic Robots
● Cooperative modules
− They can connect to each other and form complex structures
● Application
− only a lab toy for the
moment ...
Metamorphic Robots practical challenges
● Fully decentralization
● Fault tolerance
● Minimal
communication
Theoretical Models
Oblivious Planary Robots Suzuki and Yamashita '96
• Anonymous.
•
No direct communication.
•
No common coordinate system.
•
No common sens of direction (no common compas)
•
Memoryless.
No volume.
Execution Model
●
Fully Synchronous
●
SYm (semi-synchronous)
− Suzuki &Yamashita 96
●
CORDA (asynchronous)
−
Look
Compute
Move
SYm Model
Using its sensor/
camera, each
robot takes a snapshot of the world .
The visibility can be
Limited
Unlimited Look
t
SYm Model
Each robot executes an algorithm having as
input the position of the robots taken in the last Look phase
Look
t
Compute
SYm Model
t Look
Compute
Move
t+1
SYm Model
The robots move towards the
computed destination
t Look
Compute
Move
t+1
SYm Model
The robots move towards the
computed destination
t Look
Compute
Move
t+1
SYm Model
The robots move towards the
computed destination
t Look
Compute
Move
t+1
SYm Model
The robots move towards the
computed destination
Each robot executes this cycle
atomically
t Look
Compute
Move
t+1
CORDA Model
The first three steps are similar but
each step takes a
finite time different for each robot
Look
Compute
Move
CORDA Model
Look
Compute Move
Wait
CORDA Model
A wait step is added to take in account an
asynchronous behavior
Look
Compute Move
Wait
CORDA Model
A wait step is added to take in account an
asynchronous behavior
Look
Compute Move
Wait
CORDA Model
A wait step is added to take in account an
asynchronous behavior
Look
Compute Move
Wait
CORDA Model
A wait step is added to take in account an
asynchronous behavior
No global clock
Look
Compute Move
Wait
CORDA Model
A wait step is added to take in account an
asynchronous behavior
No global clock
No synchronization
Look
Compute Move
Wait
Model of the execution
●
Any problem solvable in CORDA model is also
solvable in the ATOM model
●
Any impossibility result for ATOM model holds for
CORDA model
Look
Compute
Move
Schedulers/Adversary
• centralized
• k-bounded
• regular
• synchonous
• asynchronous
• fair
Assumptions
Full compass: Axes and polarities
of both axes. x
y
x
y x
y
x
y
Full compass: Axes and polarities of both axes.
Half compass: Both axes known, but positive polarity on only one axis
x
x
x x
Assumptions
Assumptions
Full compass: Axes and polarities of both axes.
Half compass: Both axes known, but positive polarity on only one axis
Direction only : Both axis but not
polarities
Assumptions
Full compass: Axes and polarities of both axes.
Half compass: Both axes known, but positive polarity on only one axis
Direction only : Both axis but not polarities
Polarity only: No common axis but common sense of left and right
x y
x
y x
y
x
y
Assumptions
Full compass: Axes and polarities of both axes.
Half compass: Both axes known, but positive polarity on only one axis
Direction only : Both axis but not polarities
Polarity only: No common axis but common sense of left and right
No compass: No common
orientation
Cooperative Tasks
• Gathering
• Patern formation
• Election
• Flocking
The limits of Distributed
Computing
ANONYMOUS ROBOTS
●
Undistinguishable configuration - source of impossibility results
ANONYMOUS ROBOTS
●
Undistinguishable configuration - source of impossibility results
ANONYMOUS ROBOTS
●
Undistinguishable configuration - source of impossibility results
ANONYMOUS ROBOTS
●
Undistinguishable configuration - source of impossibility results
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation
(x=x+1 / current_position=current_position
+1)
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation
(x=x+1 / current_position=current_position
+1)
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation
(x=x+1 / current_position=current_position
+1)
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation
(x=x+1 / current_position=current_position
+1)
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation
(x=x+1 / current_position=current_position
+1)
NON ATOMIC ACTIONS
x i =a (atomic) ≠ Position i =point_a (non atomic)
A robot can be stopped by the scheduler before it reaches its calculated destination.
Instruct the robots to move to the
internal concentric circle.
NON ATOMIC ACTIONS
x i =a (atomic) ≠ Position i =point_a (non atomic)
A robot can be stopped by the scheduler before it reaches its calculated destination.
Instruct the robots to move to the
internal concentric circle.
NON ATOMIC ACTIONS
x i =a (atomic) ≠ Position i =point_a (non atomic)
A robot can be stopped by the scheduler before it reaches its calculated destination.
Instruct the robots to move to the
internal concentric circle.
NON ATOMIC ACTIONS
x i =a (atomic) ≠ Position i =point_a (non atomic)
A robot can be stopped by the scheduler before it reaches its calculated destination.
Instruct the robots to move to the
internal concentric circle.
NON ATOMIC ACTIONS
x i =a (atomic) ≠ Position i =point_a (non atomic)
A robot can be stopped by the scheduler before it reaches its calculated destination.
Instruct the robots to move to the
internal concentric circle.
OBLIVIOUS ROBOTS (no past memory)
• Positive side:
• large scale
• inherently self-stabilizing
• Negative side:
• Robots cannot use the previous states information.
• Difficult to compose algorithms
ROBOTS AGREEMENT
The agreement invariant
• to share the same (an approximate) location
• gathering (convergence)
• to not share the same location
• scattering
• to acknowledge the same cheef
• leader election
• to form and maintain the same pattern
• flocking, pattern formation, connectivity
Agreement QoS
• Agreement time
• Faults resilience
• Scheduler freedom
The Gathering Problem
● Given a set of robots with arbitrary initial position and no initial agreement on a
global coordinate system they reach the exact same position in a finite number of
steps
The Gathering Problem
● Given a set of robots with arbitrary initial position and no initial agreement on a
global coordinate system they reach the exact same position in a finite number of
steps
Fault-free Gathering
● Suzuki&Yamashita proved that 2 gathering is deterministically impossible with oblivious robots
● 2-gathering probabilistically possible in ATOM model
− with probability p move to the location of another robot;
with probability (1-p) keep the current location
− Arbitrary scheduler, expected convergence time 2 rounds
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 2 ROBOT 1
Fault-free Gathering
● n-gathering is probabilistically possible under a bounded scheduler
− Choose with probability p=1/n a robot in the network and move toward this robot (with
probability 1-1/n the current position is not changed)
− Convergence time is n 2 in expectation
Crash-tolerant gathering
● (n,1) gathering is deterministically impossible
under fair centralized and bounded schedulers
Crash-tolerant gathering
● (n,1) gathering is probabilistically impossible under a centralized scheduler
− Idea of the proof: a correct node can always travel between a faulty and another correct node
● (n,1) gathering is probabilistically possible under bounded schedulers
− Idea of the proof: with high probability all robots will join the faulty robot
● When f nodes are faulty, gathering is impossible so a weaker
version of the problem is considered (only correct nodes are
required to gather)
Byzantine-tolerant gathering
● (n,1)-gathering is possible under a centralized scheduler when:
− n>3, n odd and nodes have multiplicity knowledge
− n>1, n even and the scheduler is k<(n-1) bounded
Byzantine-tolerant gathering
● there is no deterministic algorithm that solves (n,f)-gathering (f>1) under a centralized k-
bounded scheduler with k≥[(n-f)/f] when n is
even and with k≥[(n-f)/(f-1)] when n is odd, even
when nodes are aware of the system multiplicity
Byzantine-tolerant gathering
● probabilistic (n,f)-gathering is possible under a bounded scheduler and multiplicity detection
− If member of a group with maximal multiplicity then probabilistically move to a group with the same multiplicity
− If not member of a group with maximal multiplicity
go to a group with maximal multiplicity
The convergence problem
For every ε > 0, there is a time t ε after which all correct
robots are within distance of at most ε of each other.
The convergence problem
For every ε > 0, there is a time t ε after which all correct
robots are within distance of at most ε of each other.
The convergence problem
For every ε > 0, there is a time t ε after which all correct
robots are within distance of at most ε of each other.
Necessary and sufficient conditions
• Shrinking property (necessary)
• the diameter of correct positions decreases by a constant factor
0<α<1.
• Cautious property (sufficient)
• all calculated destinations are inside the range of correct positions -
similar to the approximate agreement
Byzantine-tolerant convergence
Byzantine-tolerant convergence
Byzantine-tolerant convergence
The scattering problem
– Closure - starting from a configuration where no two robots are located at the same position, no two robots are located at the same position thereafter.
– Convergence - regardless of the initial position of
the robots no two robots are eventually located at the
same position.
Impossibility of Deterministic Scaterring
● Intuition : two robots on the same point may
choose exactly the same destination point
Impossibility of Deterministic Scaterring
● Intuition : two robots on the same point may
choose exactly the same destination point
Impossibility of Deterministic Scaterring
● Intuition : two robots on the same point may
choose exactly the same destination point
Probabilistic Scaterring*
● Intuition : two robots chose probabilisticaly a
destination point
Probabilistic Scaterring*
● Intuition : two robots chose probabilisticaly a
destination point
Probabilistic Scaterring*
● Intuition : two robots chose probabilisticaly a
destination point
Probabilistic Scaterring*
● Intuition : two robots chose probabilisticaly a
destination point
Probabilistic scattering*
Probabilistic scattering*
r1
Probabilistic scattering*
r 2
r1
Probabilistic scattering*
r 2
r1
Probabilistic scattering*
r 2
r1
Probabilistic scattering*
r 2
r1
Probabilistic scattering*
r 2
r1
Probabilistic scattering*
r 2
r1
Scattering with Limited Visibility*
8
● Each robot can see the locations of robots within (fixed) visible range
− Range is unit distance (common among all robots)
Visibility Graph
9
● Graph representing visibility relationship
Connectivity-Preserving Property
10
● No cooperation is possible under the disconnection of visibility graph
− The system behave as two independent groups of
robots
Connectivity-Preserving Property
10
● No cooperation is possible under the disconnection of visibility graph
− The system behave as two independent groups of
robots
Connectivity-Preserving Property
10
● No cooperation is possible under the disconnection of visibility graph
− The system behave as two independent groups of robots
Task must be accomplished with preserving
the connectivity of visibility graphs
Risk of Disconnection(1/2)
12
● Robots on the border of visibility range
● To scatter P, robot on that point must move via randomization
multiple robots
P
Q R
Risk of Disconnection(2/2)
13
● Any movement yields direct disconnection to Q or R
P
Q R P
Q R
Risk of Disconnection(2/2)
13
● Any movement yields direct disconnection to Q or R
P
Q R P
Q R
Risk of Disconnection(2/2)
14
● Any movement yields direct disconnection to Q or R
− With non-zero probability, all robots on P will move
P
Q R P
Q R
Risk of Disconnection(2/2)
14
● Any movement yields direct disconnection to Q or R
− With non-zero probability, all robots on P will move
P
Q R P
Q R
Lower Bound
15
● The following configuration gives Ω (n)-lower bound
・・・ ・・・
2 robots
(n/2) - 1 robots (n/2) - 1 robots
P
Blocked Location
16
● Not all robot-on-boundary situations take the risk
P Q
R S
Q
R
S
P
Blocked Location
16
● Not all robot-on-boundary situations take the risk
P Q
R S
Q
R
S
Blocked Location (Definition)
17
● A location P is blocked
No arc of center angle less than π can contain all robots on the visibility boundary
P
P R
S
R
Blocked Non-blocked
Blocked Location (Definition)
17
● A location P is blocked
No arc of center angle less than π can contain all robots on the visibility boundary
P
P R
S
R
Blocked Non-blocked
O(n) Scattering algorithm
18
● Any non-blocked robot with boundary robots moves
− the direction bisecting covering arc
− half of the distance to the chord of covering arc
(Note: Even the robot on single point must move to make other robot non-blocked)
P
R
If P is multiple we further divide the travel to create two possible
destinations (probabilistically chosen)
P
Proving Connectivity
19
● The case that looks like problem
− Concurrent movement of two robots that sees each other on their boundaries
● The destinations are necessarily contained in a disc of unit diameter
P
R
Proving Connectivity
19
● The case that looks like problem
− Concurrent movement of two robots that sees each other on their boundaries
● The destinations are necessarily contained in a disc of unit diameter
P
R
Proving Connectivity
19
● The case that looks like problem
− Concurrent movement of two robots that sees each other on their boundaries
● The destinations are necessarily contained in a disc of unit diameter
P
R
Proving Connectivity
19
● The case that looks like problem
− Concurrent movement of two robots that sees each other on their boundaries
● The destinations are necessarily contained in a disc of unit diameter
P
R
Time Complexity
● Always at least one robot is non-blocked
− The corners of convex hull
20
Blocked Non-blocked
Time Complexity
● Always at least one robot is non-blocked
− The corners of convex hull
20
Blocked Non-blocked
By the movement of all non-blocked robots,
at least one blocked robot becomes non-blocked
All robots becomes non-blocked within O(n) rounds
Scattering completes within O(log n) expected rounds +
Diameter-Sensitive Bounds
21
● Counting the number of “shells” at initial configuration
Cercle Formation problem problem*
• Robots eventually form a cercle
Cercle Formation problem problem*
• Robots eventually form a cercle
Cercle Formation problem problem*
• Robots eventually form a cercle
Cercle Formation problem problem*
• Robots eventually form a cercle
Cercle Formation problem problem*
• Robots eventually form a cercle
Cercle Formation problem problem*
• Robots eventually form a cercle
The Leader Election problem*
• Given a set of robots they
eventually agree on an unique
leader
Impossibility of deterministic leader
election
Trivial 3 robots election
If my angle is different (the smallest or the greatest) then I am leader.
α
α
ß ß
• If perfect symmetry then with some
probability p change the curent position
ß
ß
α
Trivial 3 robots election
Leader Election for n robots
The Flocking Problem*
• Leader election
• Agreement on the Flocking formation
• Motion
Move to the SEC
Circular Formation
p1 p2
p3 p4
p5
p6
r
1r
2r
3r
4r
5r
6r
7p7
p1 p3
p4
p5
p6
r
2r
3r
4r
5r
6r
7p7
r
1r
6r
7r
3r
5r
4r
2Circular Formation
p1 p2
p3 p4
p5
p6
r
1r
2r
3r
4r
5r
6r
7p7
p1 p3
p4
p5
p6
r
2r
3r
4r
5r
6r
7p7
r
1r
6r
7r
3r
5r
4r
2Formation de flocking
Motion Formation
y
x
∀ i, ∃ j x i = -x j ∀ i ≠ j
Motion Formation
Reference
y
x
∀ i, ∃ j x i = -x j ∀ i ≠ j
Motion Formation
Reference
Head
y
x
∀ i, ∃ j x i = -x j ∀ i ≠ j
Global Algorithm
p3 p4
p5
p6
r
3r
4r
5r
6p7