Top Banner
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
46

Motion Planning I

Jan 22, 2017

Download

Documents

hanguyet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Motion Planning I

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

  Camera as a sensor   Software engineering and Carmen

Last lecture block we saw

Page 3: Motion Planning I

Today

  Robot control architectures   Deliberative control: motion planning   Applications: industrial assembly,

exploration, drug design   Reading: chapter 6

Page 4: Motion Planning I

  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

  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

  Deliberative control   Reactive control   Hybrid control   Behavior-based control

Control Architecture Types

Page 7: Motion Planning I

Deliberative Architecture

  Maps, lots of state   Look-ahead

Sense Act Map, Think

Page 8: Motion Planning I

Reactive Architecture

  No maps, no state   No look ahead

Sense (Re)Act

Page 9: Motion Planning I

Behavior-based Architecture

  Some state   Look ahead only while acting   Reactive + state

Page 10: Motion Planning I

Hybrid architectures

  State   Look ahead but react   Combines long and short time scales

Page 11: Motion Planning I

Criteria For Selection deliberative reactive behavior

Task and

environment

Run-time constraints

Correctness/ Completeness

Hardware

Page 12: Motion Planning I

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

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

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

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

Trajectory generation from waypoints

Different interpolations Depending on robot constraints

Page 17: Motion Planning I

 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

Online Motion Planning

Always finds a path (if it exists)

Page 19: Motion Planning I

Off-line Motion Planning

Start

Goal

Page 20: Motion Planning I

Off-line Motion Planning

Start

Goal

Page 21: Motion Planning I

Visibility Graphs

Vertices: Start, Goal, obstacle vertices Edges: all combinations (vi, vj) that do not intersect any obstacle

Page 22: Motion Planning I

Shortest path Start

Finish

A

B

C D

E

35 95

60

55 155 15 45

25

Page 23: Motion Planning I

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

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

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

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

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

Visibility Graphs Summary

For what robot shapes does this work?

Page 29: Motion Planning I

What if the robot is not a point?

Obstacle 1.0

1.0 Robot

Page 30: Motion Planning I

Configuration space

Obstacle

Robot

obstacle free

obstacle free

(x, y, θ) DOF C-space :

Page 31: Motion Planning I

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

Transforming to C-Space

Higher dimension

Simpler problem

Page 33: Motion Planning I

Robot Configuration Space

Page 34: Motion Planning I

Transforming to C-Space

Page 35: Motion Planning I

Allowable Robot positions (no rotations)

Robot

Page 36: Motion Planning I

Allowable Robot positions (no rotations)

Robot

Page 37: Motion Planning I

Allowable Robot positions (for some robot rotation)

Page 38: Motion Planning I

C-space Algorithm

Step 1: Reflect Robot

Page 39: Motion Planning I

C-space Algorithm

Step 2: Vert ( - Robot) + Vert (Obstacle)

Page 40: Motion Planning I

C-space Algorithm

Step 3: ConvexHull (Vert ( - Robot) + Vert (Obstacle))

Page 41: Motion Planning I

Convex Hull Algorithm

Page 42: Motion Planning I

Convex Hull Algorithm

A

B

C D E

Page 43: Motion Planning I

Convex Hull Algorithm

A

B

C D E

Page 44: Motion Planning I

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

Configuration Space with Rotations

Page 46: Motion Planning I

Piano Movers’ Problem

Donald et al 93