Motion Planning - Πανεπιστήμιο Πατρών

Download Report

Transcript Motion Planning - Πανεπιστήμιο Πατρών

World space =

physical space, contains robots and obstacles

Configuration

= set of

independent

parameters that characterizes the position of every point in the object

In 3D space, 6 numbers required to describe configuration of rigid body (3 for position, 3 for orientation). For a manipulator, the parameters are the “state” of each one of its joints (e.g. a 2-link PUMA [only rotational joints] manipulator’s configuration needs 2 parameters to be described)

Degrees of freedom (dof)

of an object

=

number of parameters specifying a configuration

>6-dof manipulators in 3D space belong to the class of redundant manipulators, more flexible, free to use extra dof as wish to solve MP (Motion Planning) problem

Configuration space (Cspace)

= set of all configurations

Free space (Cfree)

= set of allowed (feasible) configurations

Obstacle space (Cobstacle)

= set of disallowed configurations

Cspace = Cfree + Cobstacle

Path

of an object

=

curve in the configuration space

represented either by:

Mathematical expression, or

Sequence of points

Trajectory

= Path + assignment of

time

to points along the path

Motion Planning (MP),

a general term, either: •

Path

planning, or •

Trajectory

planning

Path planning

design of only geometric (

kinematic

)

specifications

of the

positions

and

orientations

of robots

Trajectory planning path planning

+ design of

linear

and

angular velocities Path planning < Trajectory planning

• at path planning, dynamics of robots unimportant or neglected • path planning also used as first step in design of trajectories

Static

motion planning = obstacle info known a priori motion of robot designed from given information

Dynamic

motion planning = partial obstacle info available (e.g. visible parts) 1. Initial planning based on the available information 2. Follows planned path, discovering more obstacle info 3. Updates internal representation of environment 4. Replans path 5. Continued till goal accomplished

Most papers in MP, up to 1992, deal with static case

Generalized mover’s problem

• •

given:

Robot with “d” degrees of freedom (dof) In an environment with “n” obstacles • • Find path: collision-free connecting current (

start

) configuration to desired (

goal

) one

Completeness (classification of MP algorithms)

Exact

• usually computationally expensive • may determine bounds of a problem’s complexity •

Heuristic

• ained at genertating a solution in a short time • may fail to find solution or find poor one at difficult problems • important in engineering applications •

Resolution complete

(discretization) •

Probabilistically complete

(probabilistic completeness  1)

Scope (classification of MP algorithms)

Global

• take into account all environment information • plan a motion from start to goal configuration •

Local

• avoid obstacles in the vincinity of the robot • use information about nearby obstacles only • used when start and goal are close together • used as component in global planner, or • used as safety feature to avoid unexpected obstacles not present in environment model, but sensed during motion

MP formulation

1. Configuration space (Cspace – space of all possible motions) 2. Object representation (robot and objects [config. obstacles]) 3. Select motion planning approach (suitable to problem)

Skeleton, Cell decomposition, Potential field, Mathematical programming / optimization

4. Use search method(s), to find a solution path 5. Local optimization of motion (get shorter and smoother path)

smoother = no sharp corners = not have to use very low speed

Search methods:

•Depth-first (not the shortest) •Breadth-first / brushfire (shortest path, examines large part) •Hill climbing / Best-first / Hypothesize and test (blind-alley trap, long time) •A* (minimum cost / shortest path, pruning) •Bi-directional (combine with any algorithm, narrow channels) •Dijkstra’s shortest-path for graphs (most efficient) •Random search / simulated annealing… (random, long time)

MP

-> find

connected sequence

of

feasible

configurations between

start

and

goal

ones

Best explained using a grid S: Start configuration G: Goal configuration Dark: Infeasible configurations Parent configuration -> child configuration Each child has at max one parent (avoid cycles/loops)

Selection of search method

1. If criterion for selecting good moving direction, use best-first rather than depth-first or breadth-first 2. If easy problem (free space wide, many motion solutions, any solution adequate, not optimal one), use depth-first or best-first 3. If shortest path desired, use A* or Dijkstra’s algorithm 4. Massively parallel computation  breadth-first effective 5. Bidirectional search whenever possible. Move from cluttered to open space, harder to achieve a configuration in cluttered space 6. If many MP with different start/goal, compute spatial representation ahead 7. If one MP problem, do partial representation, refine iteratively (ICORS) 8. Environment slow change, updating scheme, no recomputation