Mobile Robots and distributed computing*tixeuil/m2r/uploads/Main/robots-cours1.pdf ·...
Transcript of Mobile Robots and distributed computing*tixeuil/m2r/uploads/Main/robots-cours1.pdf ·...
Mobile Robots and distributed computing*
Maria [email protected]
LIP6, UPMC Sorbonne Universités (Paris 6)
lundi 11 février 2013
Real Robots
● UAVs(Unamed Aerial Vehiculs) & AUV (Autonomous underwater vehicles)● Autonomous Ground Robots
● Metamorphic Robots
lundi 11 février 2013
UAVs
● Applications
− Military operations (Reconnaissance /Attack)
− Civilian applications (Firefighting/
Exploration)
● Caracteristics
− Remote controlled
− Pre-programmed flight schedule
RQ-2 Pioneer used in the Golf war
lundi 11 février 2013
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
lundi 11 février 2013
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)
DARPA – BIG DOG
lundi 11 février 2013
Autonomous Ground Robotspractical challenges
● Performant Sensors and cameras
● Distributed Cooperation and coordination
● Fault-tolerance
DARPA – BIG DOG
lundi 11 février 2013
Metamorphic Robots
● Cooperative modules−They can connect to
each other and form complex structures
● Application− only a lab toy for the
moment ...
S-bot project
lundi 11 février 2013
Metamorphic Robots practical challenges
● Fully decentralization● Fault tolerance● Minimal
communication
S-bot project
lundi 11 février 2013
Theoretical Models
9
lundi 11 février 2013
Oblivious Planary RobotsSuzuki and Yamashita '96
• Anonymous.
• No direct communication.
• No common coordinate system.
• No common sens of direction (no
common compas)
• Memoryless.
• No volume.
lundi 11 février 2013
Execution Model
● Fully Synchronous
● SYm (semi-synchronous)− Suzuki &Yamashita 96
● CORDA (asynchronous)
−
Look
Compute
Move
lundi 11 février 2013
SYm ModelUsing its sensor/
camera, each robot takes a snapshotof the world .
The visibility can be Limited Unlimited
Lookt
lundi 11 février 2013
SYm Model
Each robot executes an algorithm having as input the position of the robots taken in the last Look phase
Lookt
Compute
lundi 11 février 2013
SYm Model
Lookt
Compute
Movet+1
lundi 11 février 2013
SYm ModelThe robots move
towards the computed destination
Lookt
Compute
Movet+1
lundi 11 février 2013
SYm ModelThe robots move
towards the computed destination
Lookt
Compute
Movet+1
lundi 11 février 2013
SYm ModelThe robots move
towards the computed destination
Lookt
Compute
Movet+1
lundi 11 février 2013
SYm ModelThe robots move
towards the computed destination
Each robot executes this cycle atomically
Lookt
Compute
Movet+1
lundi 11 février 2013
CORDA Model
The first three steps are similar but each step takes a finite time different for each robot
Look
Compute
Move
lundi 11 février 2013
CORDA Model
Look
Compute
Move
Wait
lundi 11 février 2013
CORDA ModelA wait step is added to
take in account an asynchronous behavior
Look
Compute
Move
Wait
lundi 11 février 2013
CORDA ModelA wait step is added to
take in account an asynchronous behavior
Look
Compute
Move
Wait
lundi 11 février 2013
CORDA ModelA wait step is added to
take in account an asynchronous behavior
Look
Compute
Move
Wait
lundi 11 février 2013
CORDA ModelA wait step is added to
take in account an asynchronous behavior
No global clock
Look
Compute
Move
Wait
lundi 11 février 2013
CORDA ModelA wait step is added to
take in account an asynchronous behavior
No global clockNo synchronization
Look
Compute
Move
Wait
lundi 11 février 2013
lundi 11 février 2013
lundi 11 février 2013
lundi 11 février 2013
lundi 11 février 2013
lundi 11 février 2013
lundi 11 février 2013
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
lundi 11 février 2013
Schedulers/Adversary
• centralized• k-bounded• regular• synchonous• asynchronous• fair
22
lundi 11 février 2013
AssumptionsFull compass: Axes and polarities
of both axes. x
y
x
y
x
y
x
y
lundi 11 février 2013
Full compass: Axes and polarities of both axes.
Half compass: Both axes known, but positive polarity on only one axis
x
x
xx
Assumptions
lundi 11 février 2013
AssumptionsFull compass: Axes and polarities
of both axes.Half compass: Both axes known,
but positive polarity on only one axisDirection only: Both axis but not
polarities
lundi 11 février 2013
AssumptionsFull compass: Axes and polarities
of both axes.Half compass: Both axes known,
but positive polarity on only one axisDirection 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
lundi 11 février 2013
AssumptionsFull compass: Axes and polarities
of both axes.Half compass: Both axes known,
but positive polarity on only one axisDirection only: Both axis but not
polarities Polarity only: No common axis but
common sense of left and rightNo compass: No common
orientation
lundi 11 février 2013
Cooperative Tasks• Gathering
• Patern formation
• Election
• Flocking
lundi 11 février 2013
The limits of Distributed Computing
29
lundi 11 février 2013
ANONYMOUS ROBOTS
● Undistinguishable configuration - source of impossibility results
lundi 11 février 2013
ANONYMOUS ROBOTS
● Undistinguishable configuration - source of impossibility results
lundi 11 février 2013
ANONYMOUS ROBOTS
● Undistinguishable configuration - source of impossibility results
lundi 11 février 2013
ANONYMOUS ROBOTS
● Undistinguishable configuration - source of impossibility results
lundi 11 février 2013
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation (x=x+1 / current_position=current_position
+1)
lundi 11 février 2013
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation (x=x+1 / current_position=current_position
+1)
lundi 11 février 2013
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation (x=x+1 / current_position=current_position
+1)
lundi 11 février 2013
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation (x=x+1 / current_position=current_position
+1)
lundi 11 février 2013
NO COMMON COORDINATE
Functions with different semantic:
Maximum (among a set of positions)
Incrementation (x=x+1 / current_position=current_position
+1)
lundi 11 février 2013
NON ATOMIC ACTIONS
xi=a (atomic) ≠ Positioni=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.
lundi 11 février 2013
NON ATOMIC ACTIONS
xi=a (atomic) ≠ Positioni=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.
lundi 11 février 2013
NON ATOMIC ACTIONS
xi=a (atomic) ≠ Positioni=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.
lundi 11 février 2013
NON ATOMIC ACTIONS
xi=a (atomic) ≠ Positioni=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.
lundi 11 février 2013
NON ATOMIC ACTIONS
xi=a (atomic) ≠ Positioni=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.
lundi 11 février 2013
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
lundi 11 février 2013
ROBOTS AGREEMENT
34
lundi 11 février 2013
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
lundi 11 février 2013
Agreement QoS
• Agreement time
• Faults resilience
• Scheduler freedom
lundi 11 février 2013
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
37
lundi 11 février 2013
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
37
lundi 11 février 2013
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
lundi 11 février 2013
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
lundi 11 février 2013
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
lundi 11 février 2013
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
lundi 11 février 2013
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
lundi 11 février 2013
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
lundi 11 février 2013
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 1 ROBOT 2
lundi 11 février 2013
Fault-free Gathering
● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler
ROBOT 2 ROBOT 1
lundi 11 février 2013
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 n2 in expectation
lundi 11 février 2013
Crash-tolerant gathering
● (n,1) gathering is deterministically impossible under fair centralized and bounded schedulers
lundi 11 février 2013
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)
lundi 11 février 2013
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
lundi 11 février 2013
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
lundi 11 février 2013
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
lundi 11 février 2013
The convergence problemFor every ε > 0, there is a time tε after which all correct
robots are within distance of at most ε of each other.
lundi 11 février 2013
The convergence problemFor every ε > 0, there is a time tε after which all correct
robots are within distance of at most ε of each other.
lundi 11 février 2013
The convergence problemFor every ε > 0, there is a time tε after which all correct
robots are within distance of at most ε of each other.
lundi 11 février 2013
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
lundi 11 février 2013
Byzantine-tolerant convergence
lundi 11 février 2013
Byzantine-tolerant convergence
lundi 11 février 2013
Byzantine-tolerant convergence
lundi 11 février 2013
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.
61lundi 11 février 2013
Impossibility of Deterministic Scaterring
● Intuition : two robots on the same point may choose exactly the same destination point
56
lundi 11 février 2013
Impossibility of Deterministic Scaterring
● Intuition : two robots on the same point may choose exactly the same destination point
56
lundi 11 février 2013
Impossibility of Deterministic Scaterring
● Intuition : two robots on the same point may choose exactly the same destination point
56
lundi 11 février 2013
Probabilistic Scaterring*● Intuition : two robots chose probabilisticaly a
destination point
57
Dieudonne et al. 2009
lundi 11 février 2013
Probabilistic Scaterring*● Intuition : two robots chose probabilisticaly a
destination point
57
Dieudonne et al. 2009
lundi 11 février 2013
Probabilistic Scaterring*● Intuition : two robots chose probabilisticaly a
destination point
57
Dieudonne et al. 2009
lundi 11 février 2013
Probabilistic Scaterring*● Intuition : two robots chose probabilisticaly a
destination point
57
Dieudonne et al. 2009
lundi 11 février 2013
Probabilistic scattering*
62
Malekova, Potop-Butucaru, Tixeuil 2009
lundi 11 février 2013
Probabilistic scattering*
62
r1
Malekova, Potop-Butucaru, Tixeuil 2009
lundi 11 février 2013
Probabilistic scattering*
r2
62
r1
Malekova, Potop-Butucaru, Tixeuil 2009
lundi 11 février 2013
Probabilistic scattering*
r2
62
r1
Malekova, Potop-Butucaru, Tixeuil 2009
lundi 11 février 2013
Probabilistic scattering*
r2
62
r1
Malekova, Potop-Butucaru, Tixeuil 2009
lundi 11 février 2013
Probabilistic scattering*
r2
62
r1
Malekova, Potop-Butucaru, Tixeuil 2009
lundi 11 février 2013
Probabilistic scattering*
r2
62
r1
Malekova, Potop-Butucaru, Tixeuil 2009
lundi 11 février 2013
Probabilistic scattering*
r2
62
r1
Malekova, Potop-Butucaru, Tixeuil 2009
lundi 11 février 2013
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)
Izumi, Potop-Butucaru, Tixeuil 2010
lundi 11 février 2013
Visibility Graph9
● Graph representing visibility relationship
lundi 11 février 2013
Connectivity-Preserving Property 10
● No cooperation is possible under the disconnection of visibility graph − The system behave as two independent groups of
robots
lundi 11 février 2013
Connectivity-Preserving Property 10
● No cooperation is possible under the disconnection of visibility graph − The system behave as two independent groups of
robots
lundi 11 février 2013
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
lundi 11 février 2013
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
PQ R
lundi 11 février 2013
Risk of Disconnection(2/2)13
● Any movement yields direct disconnection to Q or R
PQ R PQ R
lundi 11 février 2013
Risk of Disconnection(2/2)13
● Any movement yields direct disconnection to Q or R
PQ R PQ R
lundi 11 février 2013
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 the same position → disconnection
PQ R PQ R
lundi 11 février 2013
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 the same position → disconnection
PQ R PQ R
lundi 11 février 2013
Lower Bound15
● The following configuration gives Ω(n)-lower bound
・・・ ・・・
2 robots
(n/2) - 1 robots (n/2) - 1 robots
lundi 11 février 2013
P
Blocked Location16
● Not all robot-on-boundary situations take the risk
P
Q
R
S
Dangerous: Any movement by Pcauses a disconnection
Q
R
SSafe: P can move along the red arrow
lundi 11 février 2013
P
Blocked Location16
● Not all robot-on-boundary situations take the risk
P
Q
R
S
Dangerous: Any movement by Pcauses a disconnection
Q
R
SSafe: P can move along the red arrow
lundi 11 février 2013
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
Q
R
S
Q
R
S
Blocked Non-blocked
lundi 11 février 2013
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
Q
R
S
Q
R
S
Blocked Non-blocked
covering arc
lundi 11 février 2013
O(n) Scattering algorithm18
● 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
Q
R
If P is multiple we further divide the travel to create two possible
destinations (probabilistically chosen)
Pdestination 1
destination 2
lundi 11 février 2013
Proving Connectivity19
● 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
PR
lundi 11 février 2013
Proving Connectivity19
● 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
PR
lundi 11 février 2013
Proving Connectivity19
● 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
PR
lundi 11 février 2013
Proving Connectivity19
● 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
PR
lundi 11 février 2013
Time Complexity
● Always at least one robot is non-blocked− The corners of convex hull
20
Blocked Non-blocked
lundi 11 février 2013
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
lundi 11 février 2013
Diameter-Sensitive Bounds21
● Counting the number of “shells” at initial configuration
Upper bound : O(D2)(Probably, not tight)
lundi 11 février 2013
Cercle Formation problem problem*
• Robots eventually form a cercle
Xavier Défago et. al. 2002
lundi 11 février 2013
Cercle Formation problem problem*
• Robots eventually form a cercle
Xavier Défago et. al. 2002
lundi 11 février 2013
Cercle Formation problem problem*
• Robots eventually form a cercle
Xavier Défago et. al. 2002
lundi 11 février 2013
Cercle Formation problem problem*
• Robots eventually form a cercle
Xavier Défago et. al. 2002
lundi 11 février 2013
Cercle Formation problem problem*
• Robots eventually form a cercle
Xavier Défago et. al. 2002
lundi 11 février 2013
Cercle Formation problem problem*
• Robots eventually form a cercle
Xavier Défago et. al. 2002
lundi 11 février 2013
The Leader Election problem*
• Given a set of robots they eventually agree on an unique leader
Canepa & Potop-Butucaru 2007
lundi 11 février 2013
Impossibility of deterministic leader election
lundi 11 février 2013
Trivial 3 robots election If my angle is different (the smallest or the greatest) then I
am leader.
α
αß ß
lundi 11 février 2013
• If perfect symmetry then with some probability p change the curent position
ß
ß
α
Trivial 3 robots election
lundi 11 février 2013
Leader Election for n robots
lundi 11 février 2013
The Flocking Problem*
• Leader election
• Agreement on the Flocking formation
• Motion
Canepa & Potop-Butucaru 2007
lundi 11 février 2013
Move to the SEC
lundi 11 février 2013
Circular Formation
p1p2
p3
p4
p5
p6
r1
r2
r3
r4
r5r6
r7
p7
p1p2
p3
p4
p5
p6
r1
r2
r3
r4
r5r6
r7
p7
r1
r6r7
r3
r5
r4
r2
lundi 11 février 2013
Circular Formation
p1p2
p3
p4
p5
p6
r1
r2
r3
r4
r5r6
r7
p7
p1p2
p3
p4
p5
p6
r1
r2
r3
r4
r5r6
r7
p7
r1
r6r7
r3
r5
r4
r2
Formation de flocking
lundi 11 février 2013
Motion Formationy
x
∀i, ∃j xi = -xj ∀i≠j
if |xi | > |xj | than |yi | < |yj |
lundi 11 février 2013
Motion Formation
Reference
y
x
∀i, ∃j xi = -xj ∀i≠j
if |xi | > |xj | than |yi | < |yj |
lundi 11 février 2013
Motion Formation
Reference
Head
y
x
∀i, ∃j xi = -xj ∀i≠j
if |xi | > |xj | than |yi | < |yj |
lundi 11 février 2013
Global Algorithm
p1p2
p3
p4
p5
p6
r2
r3
r4
r5r6
p7
r1
r6r7
r3
r5
r4
r2
lundi 11 février 2013
Open problems
• Model Transformation–Lamport registers and ATOM&CORDA–ATOM, CORDA and synchronous/asynchronous
• New Models–What is between ATOM and CORDA ?–CORDA + k-bounded ??? ATOM –Additional assumption (e.g. volumic robots,
memory etc) –Computational power of the model
• Tasks–lower/upper bounds
83
lundi 11 février 2013