mobile robots and distributed computing*tixeuil/m2r/uploads/main/robots-cours1.pdf ·...

Post on 24-Aug-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Mobile Robots and distributed computing*

Maria Potop-Butucarumaria.gradinariu@lip6.fr

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

top related