28
1. Milestone (7.5.2015) PES SS15 - GROUP 1 1

1. Milestone (7.5.2015) PES SS15 - GROUP 1 1. Group 1 (Monday) Roles and Responsibilities 2 project supervisor Timm Johannes requirement manager Ugo Lars

Embed Size (px)

Citation preview

1. Milestone (7.5.2015)

PES SS15 - GROUP 1

1

Group 1 (Monday) Roles and Responsibilities

2

project supervisorTimm

Johannes

requirement manager

Ugo

Lars

time manager

Daniel

Christian

technical manager

Andrés

Simon

quality manager

Marcel

Project Tasks

• Distributed search solution: particle swarm optimization (Pugh and Martinoli: Inspiring and Modeling Multi- Robot Search with

Particle Swarm Optimization. Swarm Intelligence Symposium, 2007.)

• Emergency mode (return to base) solution: Motion Planning in Multi-Robot Systems with Uppaal (Andersen, Jensen, Bak and

Quottrup: Motion Planning in Multi-Robot Systems Using Timed Automata. Symposium on Intelligent Autonomous Vehicles, 2004.)

3

Outline• Motivation

• PSO algorithm

• Multi-Robot Search Using PSO

• Adapting PSO to Model Multi-Robot Search

• PSO-Inspired Search without Global Positioning

4particle swarm optimization

Motivation

• A swarm-intelligent robotic approach in search tasks can offer: Parallelism Robustness Scalability More informed choices

• Sensor- and actuator-based simulation requires a lot of computational time

• PSO can be used for accurate abstracted models

5particle swarm optimization

PSO algorithm

6

• Position x(i)n of particle i at step n

• Velocity v(i)n

• Best personal position p(i)best

• Best global position gbest

• v(i) = w*v(i)

+ pw*rand() * (p(i)best -

x(i)) + nw*rand() * (gbest - x(i))• x(i) = x(i) + v(i)

i

i

v(i)n

x(i)n

i v(i)n+1

p(i)best

gbest

Original velocity

Velocity toward gbest

Velocity toward pbest

Resultant velocity

See http://opticalengineering.spiedigitallibrary.org/article.aspx?articleid=1096261 (05.05. 2015)

particle swarm optimization

Multi-Robot Search Using PSO

• One-to-One matching between particles and robots

•Robots can communicate amongst themselves and initially have perfect knowledge of their location

• Modifications to the algorithm:1) Discrete versus Continuous Time2) Movement Limitations3) Function Evaluation4) Robot Collisions5) Particle Neighborhoods

7particle swarm optimization

Adapting PSO to Model Multi-Robot Search

• Discrete versus Continuous Movement

• Robot Collisions with: Environment Boundary Search Target Another Particle

• Low Dimensionality

• Real-World Noise

8particle swarm optimization

i

i

t

i j

PSO-Inspired Search without Global Positioning

• Global Positioning often unavailable

• Modifications to the simplified PSO model: Short Particle Memory Sharing Information Among Robots Lack of Global Bearing

9particle swarm optimization

Project Tasks

• Distributed search solution: particle swarm optimization (Pugh and Martinoli: Inspiring and Modeling Multi- Robot Search with

Particle Swarm Optimization. Swarm Intelligence Symposium, 2007.)

• Emergency mode (return to base) solution: Motion Planning in Multi-Robot Systems with Uppaal (Andersen, Jensen, Bak and

Quottrup: Motion Planning in Multi-Robot Systems Using Timed Automata. Symposium on Intelligent Autonomous Vehicles, 2004.)

10

Motion Planning in Multi-Robot Systems with Uppaal

11Motion Planning in Multi-Robot Systems with Uppaal

Robot

Base

Block

Unexplored

Soundsource

Legend:

Motion Planning in Multi-Robot Systems with Uppaal

12Motion Planning in Multi-Robot Systems with Uppaal

Robot

Base

Block

Unexplored

Soundsource

Legend:

Uppaal

13

q_1

i := i + 1i := i - 1

Int i 0;

Example:

Motion Planning in Multi-Robot Systems with Uppaal

Uppaal

13

q_1

i := i + 1i := i - 1

Int i 0;

Example:E <> Example.i == 3

Motion Planning in Multi-Robot Systems with Uppaal

Uppaal

13

q_1

i := i + 1i := i - 1

Int i 0;

Example:E <> Example.i == 3

i := i + 1

i := i + 1i := i + 1i := i - 1 i := i - 1

i := i - 1

-1

i=0

1

-2

-3 -1-1-1 1 1 1 3

200

Step 1:

Step 0:

Step 2:

Step 3:

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal

14Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal

14

const W 7;const L 6;int[0,1] CELL[W][L];

[0 1 0 0 0 0 1] [0 0 1 0 1 1 1] [1 1 1 0 0 0 0] [1 0 0 0 1 1 0] [1 0 0 1 1 0 1] [1 1 1 1 1 1 1]

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

x_inity_initTheta_initrotateTimeforwardTime

Parameters:Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

ReadyToMove

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

ReadyToMove

RotateLeft RobotTime := 0

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

ReadyToMove

RotateLeft RobotTime := 0

RobotTime >= rotateTime,Theta := (Theta + 90) mod 360

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

ReadyToMove

MoveForward1

RotateLeft RobotTime := 0

RobotTime >= rotateTime,Theta := (Theta + 90) mod 360

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

ReadyToMove

MoveForward1

RotateLeft RobotTime := 0

RobotTime >= rotateTime,Theta := (Theta + 90) mod 360

Theta == 0,CELL[x+1][y] == 0x < W-1

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

ReadyToMove

MoveForward1

RotateLeft RobotTime := 0

RobotTime >= rotateTime,Theta := (Theta + 90) mod 360

Theta == 0,CELL[x+1][y] == 0x < W-1

x := x+1CELL[x+1][y] := 1RobotTime := 0

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

ReadyToMove

MoveForward1

RotateLeft RobotTime := 0

RobotTime >= rotateTime,Theta := (Theta + 90) mod 360

Theta == 0,CELL[x+1][y] == 0x < W-1

x := x+1CELL[x+1][y] := 1RobotTime := 0

RobotTime >= forwardTime,CELL [x-1][y] == 0

Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal R1:

15

Initialization

Init < 1,CellInit ==1

Init := 1,x := x_init,y := y_init,Theta := Theta_init,i := i+1 x_init

y_initTheta_initrotateTimeforwardTime

Parameters:i == NumberOfRobots

Start xStart yStart orientationTime to turn 90 degreesTime to move one cell forward

Variables:xyThetaRobotTime

Current xCurrent yCurrent orientationInternal Robot clock

ReadyToMove

MoveForward1

RotateLeft RobotTime := 0

RobotTime >= rotateTime,Theta := (Theta + 90) mod 360

Theta == 0,CELL[x+1][y] == 0x < W-1

x := x+1CELL[x+1][y] := 1RobotTime := 0

RobotTime >= forwardTime,CELL [x-1][y] == 0

…Motion Planning in Multi-Robot Systems with Uppaal

Modeling in Uppaal

16

E<> R1.x == 5 and R1.y == 0 and R2.x == 0 and R2.y == 1and R3.x == 1 and R3.y == 3

Motion Planning in Multi-Robot Systems with Uppaal