• Aucun résultat trouvé

Mobile Robots and distributed computing*

N/A
N/A
Protected

Academic year: 2022

Partager "Mobile Robots and distributed computing*"

Copied!
140
0
0

Texte intégral

(1)

Mobile Robots and

distributed computing*

Maria Potop-Butucaru maria.gradinariu@lip6.fr

LIP6, UPMC Sorbonne Universités (Paris 6)

(2)

Real Robots

● UAVs(Unamed Aerial Vehiculs) & AUV (Autonomous underwater vehicles)

● Autonomous Ground Robots

● Metamorphic Robots

(3)

UAVs

Applications

− Military operations (Reconnaissance / Attack)

− Civilian applications (Firefighting/

Exploration)

Caracteristics

− Remote controlled

− Pre-programmed flight schedule

(4)

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

(5)

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)

(6)

Autonomous Ground Robots practical challenges

Performant Sensors and cameras

Distributed Cooperation and coordination

Fault-tolerance

(7)

Metamorphic Robots

● Cooperative modules

− They can connect to each other and form complex structures

● Application

− only a lab toy for the

moment ...

(8)

Metamorphic Robots practical challenges

● Fully decentralization

● Fault tolerance

● Minimal

communication

(9)

Theoretical Models

(10)

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.

(11)

Execution Model

Fully Synchronous

SYm (semi-synchronous)

Suzuki &Yamashita 96

CORDA (asynchronous)

Look

Compute

Move

(12)

SYm Model

Using its sensor/

camera, each

robot takes a snapshot of the world .

The visibility can be

 Limited

 Unlimited Look

t

(13)

SYm Model

Each robot executes an algorithm having as

input the position of the robots taken in the last Look phase

Look

t

Compute

(14)

SYm Model

t Look

Compute

Move

t+1

(15)

SYm Model

The robots move towards the

computed destination

t Look

Compute

Move

t+1

(16)

SYm Model

The robots move towards the

computed destination

t Look

Compute

Move

t+1

(17)

SYm Model

The robots move towards the

computed destination

t Look

Compute

Move

t+1

(18)

SYm Model

The robots move towards the

computed destination

Each robot executes this cycle

atomically

t Look

Compute

Move

t+1

(19)

CORDA Model

The first three steps are similar but

each step takes a

finite time different for each robot

Look

Compute

Move

(20)

CORDA Model

Look

Compute Move

Wait

(21)

CORDA Model

A wait step is added to take in account an

asynchronous behavior

Look

Compute Move

Wait

(22)

CORDA Model

A wait step is added to take in account an

asynchronous behavior

Look

Compute Move

Wait

(23)

CORDA Model

A wait step is added to take in account an

asynchronous behavior

Look

Compute Move

Wait

(24)

CORDA Model

A wait step is added to take in account an

asynchronous behavior

No global clock

Look

Compute Move

Wait

(25)

CORDA Model

A wait step is added to take in account an

asynchronous behavior

No global clock

No synchronization

Look

Compute Move

Wait

(26)
(27)
(28)
(29)
(30)
(31)
(32)

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

(33)

Schedulers/Adversary

• centralized

• k-bounded

• regular

• synchonous

• asynchronous

• fair

(34)

Assumptions

 Full compass: Axes and polarities

of both axes. x

y

x

y x

y

x

y

(35)

 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

(36)

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

(37)

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

(38)

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

(39)

Cooperative Tasks

• Gathering

• Patern formation

• Election

• Flocking

(40)

The limits of Distributed

Computing

(41)

ANONYMOUS ROBOTS

Undistinguishable configuration - source of impossibility results

(42)

ANONYMOUS ROBOTS

Undistinguishable configuration - source of impossibility results

(43)

ANONYMOUS ROBOTS

Undistinguishable configuration - source of impossibility results

(44)

ANONYMOUS ROBOTS

Undistinguishable configuration - source of impossibility results

(45)

NO COMMON COORDINATE

Functions with different semantic:

Maximum (among a set of positions)

Incrementation

(x=x+1 / current_position=current_position

+1)

(46)

NO COMMON COORDINATE

Functions with different semantic:

Maximum (among a set of positions)

Incrementation

(x=x+1 / current_position=current_position

+1)

(47)

NO COMMON COORDINATE

Functions with different semantic:

Maximum (among a set of positions)

Incrementation

(x=x+1 / current_position=current_position

+1)

(48)

NO COMMON COORDINATE

Functions with different semantic:

Maximum (among a set of positions)

Incrementation

(x=x+1 / current_position=current_position

+1)

(49)

NO COMMON COORDINATE

Functions with different semantic:

Maximum (among a set of positions)

Incrementation

(x=x+1 / current_position=current_position

+1)

(50)

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.

(51)

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.

(52)

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.

(53)

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.

(54)

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.

(55)

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

(56)

ROBOTS AGREEMENT

(57)

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

(58)

Agreement QoS

• Agreement time

• Faults resilience

• Scheduler freedom

(59)

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

(60)

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

(61)

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

(62)

Fault-free Gathering

● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler

ROBOT 1 ROBOT 2

(63)

Fault-free Gathering

● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler

ROBOT 1 ROBOT 2

(64)

Fault-free Gathering

● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler

ROBOT 1 ROBOT 2

(65)

Fault-free Gathering

● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler

ROBOT 1 ROBOT 2

(66)

Fault-free Gathering

● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler

ROBOT 1 ROBOT 2

(67)

Fault-free Gathering

● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler

ROBOT 1 ROBOT 2

(68)

Fault-free Gathering

● 2-gathering deterministically and probabilistically impossible in CORDA model under an arbitrary scheduler

ROBOT 2 ROBOT 1

(69)

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

(70)

Crash-tolerant gathering

● (n,1) gathering is deterministically impossible

under fair centralized and bounded schedulers

(71)

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)

(72)

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

(73)

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

(74)

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

(75)

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.

(76)

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.

(77)

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.

(78)

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

(79)

Byzantine-tolerant convergence

(80)

Byzantine-tolerant convergence

(81)

Byzantine-tolerant convergence

(82)

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.

(83)

Impossibility of Deterministic Scaterring

● Intuition : two robots on the same point may

choose exactly the same destination point

(84)

Impossibility of Deterministic Scaterring

● Intuition : two robots on the same point may

choose exactly the same destination point

(85)

Impossibility of Deterministic Scaterring

● Intuition : two robots on the same point may

choose exactly the same destination point

(86)

Probabilistic Scaterring*

● Intuition : two robots chose probabilisticaly a

destination point

(87)

Probabilistic Scaterring*

● Intuition : two robots chose probabilisticaly a

destination point

(88)

Probabilistic Scaterring*

● Intuition : two robots chose probabilisticaly a

destination point

(89)

Probabilistic Scaterring*

● Intuition : two robots chose probabilisticaly a

destination point

(90)

Probabilistic scattering*

(91)

Probabilistic scattering*

r1

(92)

Probabilistic scattering*

r 2

r1

(93)

Probabilistic scattering*

r 2

r1

(94)

Probabilistic scattering*

r 2

r1

(95)

Probabilistic scattering*

r 2

r1

(96)

Probabilistic scattering*

r 2

r1

(97)

Probabilistic scattering*

r 2

r1

(98)

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)

(99)

Visibility Graph

9

● Graph representing visibility relationship

(100)

Connectivity-Preserving Property

10

● No cooperation is possible under the disconnection of visibility graph

− The system behave as two independent groups of

robots

(101)

Connectivity-Preserving Property

10

● No cooperation is possible under the disconnection of visibility graph

− The system behave as two independent groups of

robots

(102)

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

(103)

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

(104)

Risk of Disconnection(2/2)

13

● Any movement yields direct disconnection to Q or R

P

Q R P

Q R

(105)

Risk of Disconnection(2/2)

13

● Any movement yields direct disconnection to Q or R

P

Q R P

Q R

(106)

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

(107)

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

(108)

Lower Bound

15

● The following configuration gives Ω (n)-lower bound

・・・ ・・・

2 robots

(n/2) - 1 robots (n/2) - 1 robots

(109)

P

Blocked Location

16

● Not all robot-on-boundary situations take the risk

P Q

R S

Q

R

S

(110)

P

Blocked Location

16

● Not all robot-on-boundary situations take the risk

P Q

R S

Q

R

S

(111)

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

(112)

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

(113)

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

(114)

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

(115)

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

(116)

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

(117)

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

(118)

Time Complexity

● Always at least one robot is non-blocked

− The corners of convex hull

20

Blocked Non-blocked

(119)

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 +

(120)

Diameter-Sensitive Bounds

21

● Counting the number of “shells” at initial configuration

(121)

Cercle Formation problem problem*

• Robots eventually form a cercle

(122)

Cercle Formation problem problem*

• Robots eventually form a cercle

(123)

Cercle Formation problem problem*

• Robots eventually form a cercle

(124)

Cercle Formation problem problem*

• Robots eventually form a cercle

(125)

Cercle Formation problem problem*

• Robots eventually form a cercle

(126)

Cercle Formation problem problem*

• Robots eventually form a cercle

(127)

The Leader Election problem*

• Given a set of robots they

eventually agree on an unique

leader

(128)

Impossibility of deterministic leader

election

(129)

Trivial 3 robots election

If my angle is different (the smallest or the greatest) then I am leader.

α

α

ß ß

(130)

• If perfect symmetry then with some

probability p change the curent position

ß

ß

α

Trivial 3 robots election

(131)

Leader Election for n robots

(132)

The Flocking Problem*

Leader election

Agreement on the Flocking formation

Motion

(133)

Move to the SEC

(134)

Circular Formation

p1 p2

p3 p4

p5

p6

r

1

r

2

r

3

r

4

r

5

r

6

r

7

p7

p1 p3

p4

p5

p6

r

2

r

3

r

4

r

5

r

6

r

7

p7

r

1

r

6

r

7

r

3

r

5

r

4

r

2

(135)

Circular Formation

p1 p2

p3 p4

p5

p6

r

1

r

2

r

3

r

4

r

5

r

6

r

7

p7

p1 p3

p4

p5

p6

r

2

r

3

r

4

r

5

r

6

r

7

p7

r

1

r

6

r

7

r

3

r

5

r

4

r

2

Formation de flocking

(136)

Motion Formation

y

x

∀ i, ∃ j x i = -x j ∀ i j

(137)

Motion Formation

Reference

y

x

∀ i, ∃ j x i = -x j ∀ i j

(138)

Motion Formation

Reference

Head

y

x

∀ i, ∃ j x i = -x j ∀ i j

(139)

Global Algorithm

p3 p4

p5

p6

r

3

r

4

r

5

r

6

p7

r

1

r

6

r

7

r

3

r

5

r

4

r

(140)

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

Références

Documents relatifs

The Circle Formation Problem (CFP) consists in the design of a protocol insuring that starting from an initial arbitrary configuration (where no two robots is at the same position),

The lazy memory is built using a random action selection policy for the robots, and recording at each time step the total number of targets under observation by the team.. It

The cooperative localization of both robots means that each robot estimates its position with respect to beacons and also estimates the partner position in the working frame.. The

It is also easy to see that the algorithm satisfies the validity property of the graph con- vergence problem: If all the initial vertices already span a vertex, then each

We then use this model to define a taxonomy that highlights the main aspects of these collaboration schemes, such as: the physical domain of the robots, the degree of autonomy,

(a) Using SINAR simulation model (performance of 95.4 % on this test data) (b) Event detection using e-puck simulation model (performance of 93.1 % on this test data)..

This work uses the recently introduced paradigm for training recurrent neural networks (RNNs), called reservoir computing (RC), to model multiple navigation attractors in

The work presented in this paper goes beyond in three ways: we build upon the idea of dynamic sub-space attractors in the reservoir state space for embedding multi- ple