1. Milestone (7.5.2015) PES SS15 - GROUP 1 1. Group 1 (Monday) Roles and Responsibilities 2 project...
-
Upload
sarah-little -
Category
Documents
-
view
213 -
download
0
Transcript of 1. Milestone (7.5.2015) PES SS15 - GROUP 1 1. Group 1 (Monday) Roles and Responsibilities 2 project...
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
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