motion planning, control and obstacle avoidance d. calisi
TRANSCRIPT
Motion planning, control and Motion planning, control and obstacle avoidanceobstacle avoidance
D. Calisi
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 2
IntroductionIntroduction
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 3
Problem formalization: configuration spaceProblem formalization: configuration space
1
2
4
3
2
1
c1
c2
Cfree
Cobst
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 4
Problem decompositionsProblem 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 5
Component-based subdivision and OpenRDK modulesComponent-based subdivision and OpenRDK modules
Robot motionalgorithm
Environment representationRobot modelRobot current configurationSensor readingsTarget poses
Motion commands
Global planner
Local planner orreactive method
Global mapper
Local obstacledetector
Robot sensors Actuators
Global pathLocal trajectoryLocal target
Motion commands
Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 6
Connecting the global planner and the obstacle avoidanceConnecting 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 7
Path-planner as a “service”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 2009 8
World models for path-planningWorld 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 9
A*-based path-plannersA*-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 2009 10
Topological “path” plannersTopological “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 basedReactive 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 methodsLimits of vector-based methods
Nonholonomy and dynamic constraints are difficult to be taken into account
Oscillations (discontinuity in control functions)
Reactive methods: curve-basedReactive methods: curve-based
Curvature-Velocity [Simmons, 1996]
Dynamic Window Approach [Fox, Burgard, Thrun,
1997]
A local reactive algorithm (1)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 2009 15
A local reactive algorithm (2)A local reactive algorithm (2)
Limits of curve-based methodsLimits 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 2009 19
MoVeME frameworkMoVeME 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 2009 20
Comparisons of different world modelsComparisons 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 2009 22
Thank you for your attentionThank you for your attention
Questions?