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