motion planning i
TRANSCRIPT
![Page 1: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/1.jpg)
6.141: Robotics systems and science Lecture 8: Control Architectures Motion Planning
Lecture Notes Prepared by Daniela Rus EECS/MIT
Spring 2011 Thanks to Rod Brooks, Vijay Kumar
Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!Challenge: Build a Shelter on Mars!
![Page 2: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/2.jpg)
Camera as a sensor Software engineering and Carmen
Last lecture block we saw
![Page 3: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/3.jpg)
Today
Robot control architectures Deliberative control: motion planning Applications: industrial assembly,
exploration, drug design Reading: chapter 6
![Page 4: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/4.jpg)
We have seen feedback control How do we put together multiple
feedback controllers? in what order? with what priority?
How do we generate reliable and correct robot behavior?
Controlling in the large
![Page 5: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/5.jpg)
A control architecture provides a set of principles for organizing a robot (software) control system.
Like in computer architecture, it specifies building blocks
It provides: structure constraints
Control Architecture
![Page 6: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/6.jpg)
Deliberative control Reactive control Hybrid control Behavior-based control
Control Architecture Types
![Page 7: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/7.jpg)
Deliberative Architecture
Maps, lots of state Look-ahead
Sense Act Map, Think
![Page 8: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/8.jpg)
Reactive Architecture
No maps, no state No look ahead
Sense (Re)Act
![Page 9: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/9.jpg)
Behavior-based Architecture
Some state Look ahead only while acting Reactive + state
![Page 10: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/10.jpg)
Hybrid architectures
State Look ahead but react Combines long and short time scales
![Page 11: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/11.jpg)
Criteria For Selection deliberative reactive behavior
Task and
environment
Run-time constraints
Correctness/ Completeness
Hardware
![Page 12: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/12.jpg)
Motion Planning
How do we command the robot to move from A to B despite complications?
Complications: error in maps, sensing, control, unexpected obstacles, etc.
![Page 13: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/13.jpg)
Spatial Planning: Shakey and Stanford Cart (1969)
TV camera Triangulating range finger Bump sensors DEC PDP-10, PDP-15 via radio (192K 36-bit)
15 mins processing for video planning per meter of travel
![Page 14: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/14.jpg)
Sense
Plan
Signals to joint controllers/drivers • joint velocities, joint torques
Local data about the world
Global picture pf the world
Act
Deliberative Architecture
Map
Today and later
Next Week
Last Week
![Page 15: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/15.jpg)
Motion Planner
Trajectory Generator
Controller
Signals to joint controllers/drivers
subgoals
smooth trajectory
Robot motors, sensors + External world
Localization
Calibration
Motion Planning
![Page 16: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/16.jpg)
Trajectory generation from waypoints
Different interpolations Depending on robot constraints
![Page 17: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/17.jpg)
Unknown Environments (No Model)
Motion Planning Known
Environments (Model)
ONLINE ALGORITHMS
OFFLINE ALGORITHMS
Example: how do we find a bridge in the fog?
![Page 18: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/18.jpg)
Online Motion Planning
Always finds a path (if it exists)
![Page 19: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/19.jpg)
Off-line Motion Planning
Start
Goal
![Page 20: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/20.jpg)
Off-line Motion Planning
Start
Goal
![Page 21: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/21.jpg)
Visibility Graphs
Vertices: Start, Goal, obstacle vertices Edges: all combinations (vi, vj) that do not intersect any obstacle
![Page 22: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/22.jpg)
Shortest path Start
Finish
A
B
C D
E
35 95
60
55 155 15 45
25
![Page 23: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/23.jpg)
Shortest path Start
Finish
A
B
C D
E
35 95
60
55 155 15 45
25
1 0
35 95
![Page 24: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/24.jpg)
Shortest path Start
Finish
A
B
C D
E
35 95
60
55 155 15 45
25
1 0
35 95
Find node with smallest temporary value; label neighbors
2 35
50 90
![Page 25: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/25.jpg)
Shortest path Start
Finish
A
B
C D
E
35 95
60
55 155 15 45
25
1 0
35 95
Find node with smallest temporary value; label neighbors
2 35
50 90 3 50
![Page 26: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/26.jpg)
Shortest path Start
Finish
A
B
C D
E
35 95
60
55 155 15 45
25
1 0
35 95
Destination found, path is AEDC
2 35
50 90 75 3 50 4 75
![Page 27: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/27.jpg)
Search Path: Dijkstra’s Algorithm 1 function Dijkstra(G, w, s) 2 for each vertex v in V[G] // Initializations 3 d[v] := infinity 4 previous[v] := undefined 5 d[s] := 0 6 S := empty set 7 Q := set of all vertices 8 while Q is not an empty set // The algorithm itself 9 u := Extract_Min(Q) // O(n) for linked lists; Fib. Heaps? 10 S := S union {u} 11 for each edge (u,v) outgoing from u 12 if d[v] > d[u] + w(u,v) // Relax (u,v) 13 d[v] := d[u] + w(u,v) 14 previous[v] := u
![Page 28: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/28.jpg)
Visibility Graphs Summary
For what robot shapes does this work?
![Page 29: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/29.jpg)
What if the robot is not a point?
Obstacle 1.0
1.0 Robot
![Page 30: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/30.jpg)
Configuration space
Obstacle
Robot
obstacle free
obstacle free
(x, y, θ) DOF C-space :
![Page 31: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/31.jpg)
Configuration space
Obstacle
Robot
Robot
invalid
invalid obstacle free
obstacle free
Configuration space = the set of all feasible configurations
3-D space for planar, mobile robots
(x, y, θ) DOF C-space :
![Page 32: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/32.jpg)
Transforming to C-Space
Higher dimension
Simpler problem
![Page 33: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/33.jpg)
Robot Configuration Space
![Page 34: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/34.jpg)
Transforming to C-Space
![Page 35: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/35.jpg)
Allowable Robot positions (no rotations)
Robot
![Page 36: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/36.jpg)
Allowable Robot positions (no rotations)
Robot
![Page 37: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/37.jpg)
Allowable Robot positions (for some robot rotation)
![Page 38: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/38.jpg)
C-space Algorithm
Step 1: Reflect Robot
![Page 39: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/39.jpg)
C-space Algorithm
Step 2: Vert ( - Robot) + Vert (Obstacle)
![Page 40: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/40.jpg)
C-space Algorithm
Step 3: ConvexHull (Vert ( - Robot) + Vert (Obstacle))
![Page 41: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/41.jpg)
Convex Hull Algorithm
![Page 42: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/42.jpg)
Convex Hull Algorithm
A
B
C D E
![Page 43: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/43.jpg)
Convex Hull Algorithm
A
B
C D E
![Page 44: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/44.jpg)
Algorithm Summary Compute c-space for each obstacle Compute v-graph Find path from start to goal
S
G
V-graph complete; gives optimal shortest path in 2d What about 3d? What else can we optimize?
![Page 45: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/45.jpg)
Configuration Space with Rotations
![Page 46: Motion Planning I](https://reader033.vdocuments.mx/reader033/viewer/2022051405/58848a741a28ab08798b7cd9/html5/thumbnails/46.jpg)
Piano Movers’ Problem
Donald et al 93