Motion planning, control and obstacle avoidance D. Calisi
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 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 Problem formalization: configuration space 11 22 44 33 22 11 c1c1 c2c2 C free C obst 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 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 Component-based subdivision and OpenRDK modules Robot motion algorithm Environment representation Robot model Robot current configuration Sensor readings Target poses Motion commands Global planner Local planner or reactive method Global mapper Local obstacle detector Robot sensorsActuators Global path Local trajectory Local target Motion commands
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March Connecting the global planner and the obstacle avoidance The global planner can provide different kind of information to the obstacle avoidance algorithm A “local target” is the most general and can be used straightforwardly by most of the well-known obstacle avoidance algorithms
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March Path-planner as a “service” Path-plannerExplorer Obstacle avoidance Path requests Path answers Target pose Motion commands Local target
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 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 A*-based path-planners Grid-based environment representation High resolution required Geometric representation “Roadmap” based A* path search on a graph
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 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
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
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March A local reactive algorithm (2)
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March Segway experiment The user defines a path The curve-based navigator follows the path
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March Segway experiment The user defines a path The curve-based navigator follows the path
Limits of curve-based methods Parameters in objective function are critical Limited or no planning [Stachniss, 2002]
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March MoVeME framework Simulated experiments From papers about motion algorithms From papers about comparisons Enriched with other environments/situations [Borenstein '91] [Minguez '00][Fernandez '04] [Stachniss '02]
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March Comparisons of different world models Grid-based map, A* path-planner, Dynamic Window ApproachTopological map, DWATopological map, Vector Field Histogram
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March Thank you for your attention Questions?
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March Thank you for your attention Questions?