You are on page 1of 22

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)

Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009

Problem formalization: configuration space


U2
Cfree

U2
c2

U3

U1

c1

Cobst

U4 U1

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 3

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

Latombes decomposition
Global path-planner Local obstacle avoidance algorithm (or a local planner)

Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009

ComponentComponent-based subdivision and OpenRDK modules

Environment representation Robot model Robot current configuration Sensor readings Target poses Robot motion algorithm Motion commands

Global mapper

Global planner Global path Local trajectory Local target

Local obstacle detector

Local planner or reactive method 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 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 2009

PathPath-planner as a service
Path requests Explorer Path answers Target pose Local target Obstacle avoidance Motion commands Path-planner

Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009

World models for path-planning path

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 8

A*A*-based path-planners path 

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 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

10

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 vector

Nonholonomy and dynamic constraints are difficult to be taken into account Oscillations (discontinuity in control functions)

Reactive methods: curve-based curve 

Curvature-Velocity [Simmons, 1996] Dynamic Window Approach [Fox, Burgard, Thrun,


1997]

A local reactive algorithm (1)




Local obstacle map


Current laser points are integrated Clothoid curve: 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 In car-like vehicles, control is on steering wheel (highways are Duration/length clothoids) designed using Obstacle distance 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

15

Segway experiment
 

The user defines a path The curve-based navigator follows the path

Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009

16

Segway experiment
 

The user defines a path The curve-based navigator follows the path

Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009

17

Limits of curve-based methods curve 

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] '91] [Borenstein

[Minguez '00] [Fernandez '04]


Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 19

Comparisons of different world models

Grid-based Topological map, Vector Field HistogramApproach map, A*Topological map, DWA Window path-planner, Dynamic
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 20

Thank you for your attention

Questions?

Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009

21

Thank you for your attention

Questions?

Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009

22

You might also like