130 likes | 292 Views
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).
E N D
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 angularvelocities • 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) • Initial planning based on the available information • Follows planned path, discovering more obstacle info • Updates internal representation of environment • Replans path • 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 • Configuration space (Cspace – space of all possible motions) • Object representation (robot and objects [config. obstacles]) • Select motion planning approach (suitable to problem) • Skeleton, Cell decomposition, Potential field, Mathematical programming / optimization • Use search method(s), to find a solution path • 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 • If criterion for selecting good moving direction, use best-first rather than depth-first or breadth-first • If easy problem (free space wide, many motion solutions, any solution adequate, not optimal one), use depth-first or best-first • If shortest path desired, use A* or Dijkstra’s algorithm • Massively parallel computation breadth-first effective • Bidirectional search whenever possible. Move from cluttered to open space, harder to achieve a configuration in cluttered space • If many MP with different start/goal, compute spatial representation ahead • If one MP problem, do partial representation, refine iteratively (ICORS) • Environment slow change, updating scheme, no recomputation