Download presentation
Presentation is loading. Please wait.
Published byBerenice McDaniel Modified over 9 years ago
1
Motion Planning Motion Planning
2
1.What is the motion planning problem? 2.What is the fundamental question in motion planning problem? 3.What is the basic problem formulation? 4.Configuration Space. 5.Formalism for Configuration Space. 6.What is a Path? 7.Extensions to the Basic Motion Planning Probem 8.Examples of Applications of Motion Planning 9.Examples of Practical Algorithms: Bug 2. 10.Examples : Probabilistic Roadmaps. 154 slides
3
What is the motion planning problem?
6
Motion Planning for a robotic arm
7
Motion Planning for a mobile robot
8
Motion planning in a real world
9
Motion Planning for a Humanoid Robot with Many Degrees of Freedom in real world environment
10
Motion Planning for unusual robots, reconfigurable robots
11
Motion Planning in Medical and Chemical Applications
12
Is It Easy?
13
What is the fundamental question in motion planning?
14
Goal of Motion Planning Compute motion strategies, e.g.: –geometric paths –time-parameterized trajectories –sequence of sensor-based motion commands To achieve high-level goals, e.g.: –go to A without colliding with obstacles –assemble product P –build map of environment E –find object O
15
Fundamental Question Are two given points connected by a path? Valid region Forbidden region
16
Fundamental Question Are two given points connected by a path? Valid region Forbidden region E.g.: ▪Collision with obstacle ▪Lack of visibility of an object ▪Lack of stability
17
What is the formulation of the basic problem of path finding ?
18
Basic Problem of Path planning Statement: Compute a collision-free path for a rigid or articulated object (the robot) among static obstacles Inputs: –Geometry of robot and obstacles –Kinematics of robot (degrees of freedom) –Initial and goal robot configurations (placements) Output: –Continuous sequence of collision-free robot configurations connecting the initial and goal configurations
19
Examples with Rigid Object Ladder problem Piano-mover problem
20
Example with Articulated Object
21
Configuration Space
22
Tool: Configuration Space
23
Compare! Valid region Forbidden region
24
Tool: Configuration Space Problems: Geometric complexity Space dimensionality
25
Formalism for Configuration Space
26
Notation for Configuration Space
27
Point Robot in Configuration space
28
Point robot in Three-Dimensional Configuration space
29
Translation and rotation of a robot
30
Example of simple configuration space for a robot with 2DOF in planar space
31
Representation of points in configuration space
32
In presence of obstacles, where the robot can actually move?
37
Free Space
38
Think of R as a robot and P as an obstacle
39
Robot that can translate and rotate in 2D space gives another dimension to the problem
40
C-obstacle in Three-Dimensional Space This is twisted
41
Can we stay in 2D? x
42
x
43
But is it good?
44
Too conservative
45
What is a Path?
46
Path is a very general concept considered from the point of view of computational geometry, time and search
47
Tool: Configuration Space (C-Space C)
48
q=(q 1,…,q n ) Configuration Space q1q1q1q1 q2q2q2q2 q3q3q3q3 qnqnqnqn In real problems configuration space is highly dimensional
49
Definition of Robot Configuration configuration fixed A robot configuration is a specification of the positions of all robot points relative to a fixed coordinate system “vector” Usually a configuration is expressed as a “vector” of position/orientation parameters
50
reference point Rigid Robot Example 3-parameter representation: q = (x,y, ) In a 3-D workspace q would be of the form (x,y,z, ) x y robot reference direction workspace Like you need six-dimensional space to describe the airplane in the air
51
Articulated Robot Example q1q1q1q1 q2q2q2q2 q = (q 1,q 2,…,q 10 )
52
Protein example
53
What is the Configuration Space of a Robot? Space of all its possible configurations topology Cartesian But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1
54
Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1
55
Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1 But here looks like a cartesian space Like a torus
56
What is a Topology of the Configuration Space? q1q1q1q1 q2q2q2q2 (S1) 7 xR 3 R R R S1 S1 is rotation R is linear motion
57
Structure of Configuration Space Structure of Configuration Space is a manifold For each point q, there is a 1-to-1 map between a neighborhood of q and a Cartesian space R n, where n is the dimension of C This map is a local coordinate system called a chart. C can always be covered by a finite number of charts. Such a set is called an atlas
58
Example Every point of a sphere but one can be mapped to a plane
59
reference point Case of a Planar Rigid Robot 3-parameter representation: q = (x,y, ) with [0,2 ). Two charts are needed Other representation: q = (x,y,cos ,sin ) c-space is a 3-D cylinder R 2 x S 1 embedded in a 4-D space x y robot reference direction workspace
60
Rigid Robot in 3-D Workspace q = (x,y,z, ) Other representation: q = (x,y,z,r 11,r 12,…,r 33 ) where r 11, r 12, …, r 33 are the elements of rotation matrix R: r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 with: –r i1 2 +r i2 2 +r i3 2 = 1 –r i1 r j1 + r i2 r 2j + r i3 r j3 = 0 –det(R) = +1 The c-space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R 3 xSO(3)
61
Parameterization of SO(3) EulerEuler angles: ( quaternionUnit quaternion: (cos /2, n 1 sin /2, n 2 sin /2, n 3 sin /2) x yz x yz x y z x yz 1 2 3 4
62
Metric in Configuration Space map A metric or distance function d in C is a map d: (q 1,q 2 ) C 2 d(q 1,q 2 ) > 0 such that: –d(q 1,q 2 ) = 0 if and only if q 1 = q 2 –d(q 1,q 2 ) = d (q 2,q 1 ) –d(q 1,q 2 ) < d(q 1,q 3 ) + d(q 3,q 2 ) The general concept of metric or “distance” in some kind of space
63
Metric in Configuration Space Example: Robot A and point x of A –x(q): location of x in the workspace when A is at configuration q –A distance d in C is defined by: d(q,q’) = max x A ||x(q)-x(q’)|| where ||a - b|| denotes the Euclidean distance between points a and b in the workspace
64
Specific Examples in R 2 x S 1 q = (x,y, ), q ’ = (x ’,y ’, ’ ) with ’ [0,2 ) = min{ | ’ |, 2 | ’ | } d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 + 2 ] d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 + ( ) 2 ] where is the maximal distance between the reference point and a robot point ’’’’
65
What is a Path? A path in C is a piece of continuous curve connecting two configurations q and q’: : s [0,1] (s) C s’ s d( (s), (s’)) 0 q 1 q 3 q 0 q n q 4 q 2 (s)
66
Other Possible Constraints on Path Finite length, smoothness, curvature, etc… A trajectory is a path parameterized by time: : t [0,T] (t) C q 1 q 3 q 0 q n q 4 q 2 (s)
67
Obstacles in C-Space
68
q qnull intersection A configuration q is collision-free, or free, if the robot placed at q has null intersection with the obstacles in the workspace The free space F is the set of free configurations robot collides A C-obstacle is the set of configurations where the robot collides with a given workspace obstacle without overlap A configuration is semi-free if the robot at this configuration touches obstacles without overlap
69
Disc Robot in 2-D Workspace Touches obstacle without overlap B CB
70
Rigid Robot Translating in 2-D CB = B A = {b-a | a A, b B} a1 b1 b1-a1
71
Rigid Robot Translating in 2-D CB = B A = {b-a | a A, b B} a1 b1 b1-a1
72
Linear-Time Computation of C-Obstacle in 2-D (convex polygons) O(n+m)
73
Rigid Robot Translating and Rotating in 2-D = /2 =0 Now configuration space has 3 dimensions
74
C-Obstacle for Articulated Robot Two degrees of freedom
75
DEFINITIONS OF : Free and Semi-Free Paths A free path lies entirely in the free space F A semi-free path lies entirely in the semi-free space
76
Remark on Free-Space Topology 1.The robot and the obstacles are modeled as closed subsets, meaning that they contain their boundaries 2.One can show that the C-obstacles are closed subsets of the configuration space C as well 3.Consequently, the free space F is an open subset of C. 1.Hence, each free configuration is the center of a ball of non- zero radius entirely contained in F 4.The semi-free space is a closed subset of C. 1.Its boundary is a superset of the boundary of F
77
The semi-free space is a closed subset of C. Its boundary is a superset of the boundary of F obstacle Free space semi-free space
79
Notion of Homotopic Paths Two paths with the same endpoints are homotopic if one can be continuously deformed into the other R x S 1 example: 1 and 2 are homotopic 1 and 3 are not homotopic In this example, infinity of homotopy classes q q’
80
Connectedness of C-Space 1.C is connected if every two configurations can be connected by a path 2.C is simply-connected if any two paths connecting the same endpoints are homotopic Examples: R 2 or R 3 3.Otherwise C is multiply-connected Examples: S 1 and SO(3) are multiply- connected: - In S 1, infinity of homotopy classes - In SO(3), only two homotopy classes
81
Extensions to Basic Motion Planning Problem
82
Some Extensions of Basic Problem 1.Moving obstacles 2.Multiple robots 3.Movable objects 4.Assembly planning 5.Goal is to acquire information by sensing 1.Model building 2.Object finding/tracking 3.Inspection 6.Nonholonomic constraints 7.Dynamic constraints 8.Stability constraints 1.Optimal planning 2.Uncertainty in model, control and sensing 3.Exploiting task mechanics (sensorless motions, under- actualted systems) 4.Physical models and deformable objects 5.Integration of planning and control 6.Integration with higher-level planning
83
Aerospace Robotics Lab Robot air bearing gas tank air thrusters obstacles robot
84
Total duration : 40 sec Two concurrent planning goals: Reach the goal Reach a safe region
85
Autonomous Helicopter [Feron] (MIT)
86
Assembly Planning
87
Map Building Where to move next?
88
Target Finding The guard guards the building attacked by terrorists. What he sees is colored yellow
89
Target Tracking
90
Planning for Nonholonomic Robots
91
Under-Actuated Systems video [Lynch] (Northwestern)
92
Planning with Uncertainty in Sensing and Control I G W1W1W1W1 W2W2W2W2
93
I G W1W1W1W1 W2W2W2W2
94
I G W1W1W1W1 W2W2W2W2
95
Motion Planning for Deformable Objects [Kavraki] (Rice)
96
Examples of Applications of Motion Planning
97
Examples of Applications 1.Manufacturing: 1.Robot programming 2.Robot placement 3.Design of part feeders 2.Design for manufacturing and servicing 3.Design of pipe layouts and cable harnesses 4.Autonomous mobile robots planetary exploration, surveillance, military scouting 1.Graphic animation of “digital actors” for video games, movies, and webpages 2.Virtual walkthru 3.Medical surgery planning 4.Generation of plausible molecule motions, e.g., docking and folding motions 5.Building code verification
98
Robot Programming
99
Robot Placement
100
Design for Manufacturing/Servicing General Electric General Motors
101
Assembly Planning and Design of Manufacturing Systems
102
Part Feeding
104
Cable Harness/ Pipe design
105
Humanoid Robot [Kuffner and Inoue, 2000] (U. Tokyo)
106
Modular Reconfigurable Robots Xerox, Parc Casal and Yim, 1999
108
Military Scouting and Planet Exploration [CMU, NASA]
109
Digital Actors A Bug’s Life (Pixar/Disney) Toy Story (Pixar/Disney) Tomb Raider 3 (Eidos Interactive)Final Fantasy VIII (SquareOne)The Legend of Zelda (Nintendo) Antz (Dreamworks)
110
Motion Planning for Digital Actors Manipulation Sensory-based locomotion
111
Navigation Through Virtual Environments [Cheng-Chin U., UNC, Utrecht U.] video
112
Building Code Verification
113
Radiosurgical Planning Cross-firing at a tumor while sparing healthy critical tissue
114
Study of the Motion of Bio-Molecules Protein folding Ligand binding
115
Practical Applications in Projects Present a coherent framework for motion planning problems Emphasis of “practical” algorithms with some guarantees of performance over “theoretical” or purely “heuristic” algorithms
116
Framework Continuous representation (configuration space and related spaces + constraints) Discretization (random sampling, criticality-based decomposition) Graph searching (blind, best-first, A*)
117
Practical Algorithms (1/2) A complete motion planner always returns a solution plan when one exists and indicates that no such plan exists otherwise. Most motion planning problems are hard, meaning that complete planners take exponential time in # of degrees of freedom, objects, etc.
118
Practical Algorithms (2/2) Theoretical algorithms strive for completeness and minimal worst-case complexity. Difficult to implement and not robust. Heuristic algorithms strive for efficiency in commonly encountered situations. Usually no performance guarantee. Weaker completeness Simplifying assumptions Exponential algorithms that work in practice
119
Programming Project Navigate in virtual environment Simulate legged robot Inspection of structures Search and escape
120
Sources Davi Geiger Jean-Claude Latombe
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.