Professional Documents
Culture Documents
Motion planning
ecam.fr
Advanced Robotics – Motion planning
Motion planning
Motion planning 𝒒𝟐
• Computing a path that gets the robot from point A 𝒒𝟑
(start) to point B (destination)
• Also called path planning 𝒒𝟏
A
• Cartesian control is an example of motion planning
ecam.fr
Advanced Robotics – Motion planning
Motion planning
Motion planning 𝒒𝟐
• Computing a path that gets the robot from point A 𝒒𝟑
(start) to point B (destination)
• Also called path planning 𝒒𝟏
A
• Cartesian control is an example of motion planning
Obstacle(s)
• Straight line may not be possible B
• Robot needs to go around the obstacle
• Plan a path to avoid collision
• Same issue with singularities
ecam.fr
Advanced Robotics – Motion planning
Task space
• Also called Cartesian space
• End-effector position 𝒒𝟐 𝒒𝟐
• 𝑋 = 𝑥, 𝑦 𝑇
Configuration space 𝒚
• Also called Joint space
• Vector of joint values
𝑇 𝒒𝟏
• 𝑞 = 𝑞1 , 𝑞2
𝒙
𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Infinitesimally small
Question 𝒒𝟐 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision?
𝒒𝟏
𝒙
𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Infinitesimally small
Question 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision? 𝒒𝟐
𝒒𝟏
𝒙
𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Infinitesimally small
Question 𝒒𝟐
• Given an obstacle in Cartesian 𝒒𝟐
space 𝒚
• What are the robot configurations
that generate a collision?
𝒒𝟏
𝒙
𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Infinitesimally small
Question 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision?
𝒒𝟏 𝒙
𝒒𝟐 𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Infinitesimally small
Question 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision?
Curve of illegal configurations
𝒒𝟏 𝒙
𝒒𝟐 𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Circle with a non-null radius
Question 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision?
𝒙
𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Circle with a non-null radius
Question 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision?
𝒒𝟏
𝒙
𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Circle with a non-null radius
Question 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision? 𝒒𝟐
𝒒𝟏
𝒙
𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Circle with a non-null radius
Question 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision? 𝒒𝟐
𝒒𝟏
𝒙
𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Obstacle
Hypothesis
• Circle with a non-null radius
Question 𝒒𝟐
• Given an obstacle in Cartesian
space 𝒚
• What are the robot configurations
that generate a collision? 𝒒𝟐
Any configuration 𝑞1 , 𝑞2 that 𝒒𝟏
falls in between the two green 𝒙
curves is illegal 𝒒𝟏
ecam.fr
Advanced Robotics – Motion planning
Simulator
ecam.fr 15
Thanks for your attention
guillaume.gibert@ecam.fr
ecam.fr 16
Advanced Robotics
Motion planning
ecam.fr
Advanced Robotics – Motion planning
Map representation
Polygonal Grid
y
S
S
x
Obstacle 1: Obstacle 2:
𝑎1 , 𝑏1 𝑎1 , 𝑏1 11111111 …
𝑎2 , 𝑏2 𝑎2 , 𝑏2 10000001 10001001
… … 10000001 10001001
𝑎𝑛 , 𝑏𝑛 𝑎𝑚 , 𝑏𝑚 10011001 10000001
… 11111111
ecam.fr 2
Advanced Robotics – Motion planning
Polygonal representation
• Low in memory
• High computation online
• Need to estimate the extent of the obstacle from vertices
Grid representation
• High in memory
• 10x10m with 1cm accuracy means 1e6 cells
• Low online computation
• Is cell free or not?
ecam.fr 3
Advanced Robotics – Motion planning
Robot arms
Joint3 Link3
End of Arm
High dimensional C-space
(configuration space)
Discretizing map into grid is not tractable Link2
Polygons may be very hard to compute in Link1
C-space
Localization on the map is an easy Joint2
task
Joint1
Link0
Base
ecam.fr 4
Advanced Robotics – Motion planning
Motion planning
Joint3 Link3
End of Arm
How can we plan a path with
these constraints?
Link2
Link1
Joint2
Joint1
Link0
Base
ecam.fr 5
Advanced Robotics – Motion planning
Motion planning
Joint3 Link3
End of Arm
How can we plan a path with these
constraints?
Point queries! Link2
For a specific point in C-space (i.e. joint values), Link1
determine if the robot is in collision or not
Algorithms called “sampling-based motion Joint2
planning”
Joint1
Link0
Base
ecam.fr 6
Advanced Robotics – Motion planning
Motion planning
Joint3 Link3
End of Arm
How can we sample the C-space
efficiently?
Random exploration Link2
Counterintuitive Link1
Powerful tool for high dimension problems
Unstuck in dead ends Joint2
Algorithms referred as stochastic motion planning
Joint1
Link0
Base
ecam.fr 7
Advanced Robotics – Motion planning
References
https://robotacademy.net.au/
https://courses.edx.org/courses/course-
v1:ColumbiaX+CSMM.103x+3T2020/
ecam.fr 8
Thanks for your attention
guillaume.gibert@ecam.fr
ecam.fr 9
Advanced Robotics
Motion planning
ecam.fr
Advanced Robotics – Motion planning
S
𝑞1
ecam.fr 2
Advanced Robotics – Motion planning
S
𝑞1
ecam.fr 3
Advanced Robotics – Motion planning
Sample random
point r in C-space
r
S
𝑞1
ecam.fr 4
Advanced Robotics – Motion planning
Sample random
point r in C-space
r
p
Find point p in tree
S
closest to r
𝑞1
ecam.fr 5
Advanced Robotics – Motion planning
Sample random
point r in C-space
ecam.fr 6
Advanced Robotics – Motion planning
Sample random
point r in C-space
ecam.fr 7
Advanced Robotics – Motion planning
Sample random
point r in C-space
ecam.fr 8
Advanced Robotics – Motion planning
Sample random
point r in C-space
ecam.fr 9
Advanced Robotics – Motion planning
Sample random
point r in C-space
ecam.fr 10
Advanced Robotics – Motion planning
Sample random
point r in C-space
ecam.fr 11
Advanced Robotics – Motion planning
Sample random
point r in C-space
ecam.fr 12
Advanced Robotics – Motion planning
Sample random
point r in C-space
ecam.fr 13
Advanced Robotics – Motion planning
Sample random
point r in C-space
Sample random
point r in C-space
Sample random
point r in C-space
RRT Features
ecam.fr 17
Advanced Robotics – Motion planning
References
https://robotacademy.net.au/
https://courses.edx.org/courses/course-
v1:ColumbiaX+CSMM.103x+3T2020/
ecam.fr 18
Thanks for your attention
guillaume.gibert@ecam.fr
ecam.fr 19
Advanced Robotics
Motion planning
ecam.fr
Advanced Robotics – Motion planning
𝑞1
ecam.fr 2
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 3
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 4
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 5
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 6
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 7
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 8
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 9
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 10
Advanced Robotics – Motion planning
Map construction
𝑞2
Sample random
While # points < Threshold
point in C-space
ecam.fr 11
Advanced Robotics – Motion planning
Path planning
𝑞2
Place Goal point
Place Start point S
G
Find a path 𝑞1
between S and G
on the roadmap
ecam.fr 12
Advanced Robotics – Motion planning
Path planning
𝑞2
Place Goal point
Place Start point S
G
Find a path 𝑞1
between S and G
on the roadmap
ecam.fr 13
Advanced Robotics – Motion planning
Path planning
𝑞2
Place Goal point
Place Start point S
G
Find a path 𝑞1
between S and G
on the roadmap
ecam.fr 14
Advanced Robotics – Motion planning
Path planning
𝑞2
Place Goal point G
Place Start point S
G
Find a path 𝑞1
between S and G
on the roadmap
ecam.fr 15
Advanced Robotics – Motion planning
Path planning
𝑞2
Place Goal point G
Place Start point S
G
Find a path 𝑞1
between S and G
on the roadmap
ecam.fr 16
Advanced Robotics – Motion planning
Path planning
𝑞2
Place Goal point G
Place Start point S
G
Find a path 𝑞1
between S and G
on the roadmap
ecam.fr 17
Advanced Robotics – Motion planning
PRM Features
Random exploration
• Space well covered with a minimal number of points
Potential issues
• Roadmap has 2 separated components
• Start point cannot hop onto the roadmap
Add random points (and branches) to your map
External functions
• Random number generator
• Intersect function
• Only have access to point queries
Sampling, i.e. discretizing the branch, resolution ?
• Find a path on the roadmap
ecam.fr 18
Advanced Robotics – Motion planning
Summary
Most problems in 6-7 DoF robot arms can be solved with PRM or
RRT in a few seconds
• Requires the ability to check if a point in C-space is legal or not
• Many algorithms are probabilistically complete
• If a path exists, it will be found in a finite amount of time
• But there is no guarantee that it may not be longer than exhaustive search
• There is no guarantee about the quality of the solution
• Shortest path possible
• Post processing are necessary to eliminate zig zag
ecam.fr 19
Advanced Robotics – Motion planning
References
https://robotacademy.net.au/
https://courses.edx.org/courses/course-
v1:ColumbiaX+CSMM.103x+3T2020/
ecam.fr 20
Thanks for your attention
guillaume.gibert@ecam.fr
ecam.fr 21