230 likes | 637 Views
Motion planning, control and obstacle avoidance. D. Calisi. Introduction. Robot mobility is a key feature for any mobile robot Robot motion is “eminently necessary since, by definition, a robot accomplishes tasks by moving in the real world” (J.C. Latombe).
E N D
Introduction • Robot mobility is a key feature for any mobile robot • Robot motion is “eminently necessary since, by definition, a robot accomplishes tasks by moving in the real world” (J.C. Latombe) Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Problem formalization: configuration space 2 Cfree 2 c2 1 3 c1 Cobst 4 1 • Challenges • Configuration space is difficult to compute • Complexity, uncertainty, dynamic environments • Kinematic and dynamic constraints • Time constraints Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Problem decompositions • The problem is hard to solve, mainly because of the time constraint • The problem is decomposed in two or more “levels”, relaxing some constraints or reducing the search space • Examples • First compute the geometric curve, then add a time-law on it • Relax some constraints or perform a dimensionality reduction of the search space, then use a complete planner with local information • Relax some constraints or perform a dimensionality reduction of the search space, then use a reactive method with local information • Latombe’s decomposition • Global path-planner • Local obstacle avoidance algorithm (or a local planner) Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Component-based subdivision and OpenRDK modules Global mapper Global planner Environment representation Robot model Robot current configuration Sensor readings Target poses Global path Local trajectory Local target Robot motion algorithm Local obstacle detector Local planner or reactive method Motion commands Motion commands Robot sensors Actuators Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Connecting the global planner and the obstacle avoidance The global plannercan provide differentkind of informationto the obstacle avoidancealgorithm A “local target” is themost general and can beused straightforwardlyby most of the well-knownobstacle avoidancealgorithms Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Path-planner as a “service” Explorer Path-planner Path requests Path answers Target pose Local target Obstacle avoidance Motion commands Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
World models for path-planning • The same environment can be represented in very different ways • Grid-maps • High memory requirements • Easy to build and maintain • Line-maps • Line extraction and tracking • Topological maps • Robus to noise • Difficult to build Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
A*-based path-planners • Grid-based environmentrepresentation • High resolution required • Geometric representation • “Roadmap” based • A* path search on a graph Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Topological “path” planners • Topological representations are compact models • They use features of the environment, rather than dense metric information • From one hand they are more robust to sensor noise and localization errors • On the other hand, it can be difficult to build and maintain a topological representation Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Reactive methods: vector based • Potential field methods [Borenstein, 1989] • Vector field histogram [Borenstein, 1991, 1998, 2000] • Nearness diagram [Minguez & Montano, 2000] • In OpenRDK a vector based method has been implemented (YARN)
Limits of vector-based methods • Nonholonomy and dynamic constraints are difficult to be taken into account • Oscillations (discontinuity in control functions)
Reactive methods: curve-based • Curvature-Velocity [Simmons, 1996] • Dynamic Window Approach [Fox, Burgard, Thrun, 1997]
A local reactive algorithm (1) • Local obstacle map • Current laser points are integrated with previous ones • Laser points are translated to segments (recursive line fitting) • A set of trajectories is computed • Curves (e.g., clothoids) • Dynamic constraints • Obstacles • An objective function is used to choose the best trajectory to follow • Straightness • Target nearness/heading • Duration/length • Obstacle distance Clothoid curve: • In car-like vehicles, control is on steering wheel (highways are designed using clothoids) • In differential driven mobile robots, each wheel acceleration is bounded
A local reactive algorithm (2) Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Limits of curve-based methods • Parameters in objective function are critical • Limited or no planning [Stachniss, 2002]
MoVeME framework • Simulated experiments • From papers about motion algorithms • From papers about comparisons • Enriched with other environments/situations [Stachniss '02] [Borenstein '91] [Minguez '00] [Fernandez '04] Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Comparisons of different world models Grid-based map, A* path-planner, Dynamic Window Approach Topological map, Vector Field Histogram Topological map, DWA Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009
Thank you for your attention Questions? Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009