Autonomous Mobile Robots Autonomous Systems Lab Zürich Planning and Navigation II: Obstacle Avoidance Where am I? Where am I going? How do I get there? "Position" Global Map Perception Motion Control Cognition Real World Environment Localization Path Environment Model Local Map ?
35
Embed
6 - Planning and Navigation II - Obstacle Avoidance Printable
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
The goal of the obstacle avoidance algorithms is to avoid collisions with obstaclesIt is usually based on local mapOften implemented as a more or less independent taskHowever, efficient obstacle avoidanceshould be optimal with respect to
the overall goalthe actual speed and kinematics of the robotthe on boards sensorsthe actual and future risk of collision
65 Obstacle Avoidance: Vector Field Histogram (VFH)
Borenstein et al.Environment represented in a grid (2 DOF)cell values equivalent to the probability that there is an obstacle
Reduction in different steps to a 1 DOF histogramThe steering direction is computed in two steps:
• all openings for the robot to pass are found• the one with lowest cost function G is selected
target_direction = alignment of the robot path with the goalwheel_orientation = difference between the new direction and the currrent wheel orientationprevious_direction = difference between the previously selected direction and the new direction
66 Obstacle Avoidance: Vector Field Histogram + (VFH+)
Borenstein et al.Accounts also in a very simplified way for the moving trajectories (dynamics)
robot moving on arcs or straight linesobstacles blocking a given direction also blocks all the trajectories (arcs) going through this directionobstacles are enlarged so that all kinematically blocked trajectories are properly taken into account
Notes:Limitation if narrow areas (e.g. doors) have to be passedLocal minimum might not be avoidedReaching of the goal can not be guaranteedDynamics of the robot not really considered
Bubble = Maximum free space which can be reached without any risk of collision
generated using the distance to the object and a simplified model of the robotbubbles are used to form a band of bubbles which connects the start point with the goal point
Adding physical constraints from the robot and the environment on the velocity space (v, w) of the robot
Assumption that robot is traveling on arcs (c= w / v)Acceleration constraints: -Vmin < v < Vmax, Wmin < w < WmaxObstacle constraints: Obstacles are transformed in velocity spaceObjective function to select the optimal speed
610 Obstacle Avoidance: Lane Curvature Velocity Methods (CVM)
Simmons et al.
Improvement of basic CVMNot only arcs are consideredlanes are calculated trading off lane length and width to the closest obstacles Lane with best properties is chosen using an objective function
Note:Better performance to pass narrow areas (e.g. doors)Problem with local minima persists
The kinematics of the robot is considered by searching a well chosen velocity space:
Circular trajectories : The dynamic window approach considers only circular trajectories uniquely determined by pairs (v,�) of translational and rotational velocities.Admissible velocities : A pair (v,�) is considered admissible, if the robot is able to stop before it reaches the closest obstacle on the corresponding curvature. (b:breakage)
Dynamic window : The dynamic window restricts the admissible velocities to those that can be reached within a short time interval given the limited accelerations of the robot
( ) [ ] [ ]{ }, , ,d a a a aV v v v v t v v t t tω ω ω ω ω ω= ∈ − ⋅ + ⋅ ∧ ∈ − ⋅ + ⋅& & & &
Maximizing the objective functionIn order to incorporate the criteria target heading, and velocity, the maximum of the objective function, G(v,ω), is computed over Vr.
( ) ( ), ( , ) ( , ) ( , )G v heading v dist v velocity vω σ α ω β ω γ ω= ⋅ + ⋅ + ⋅heading = measure of progress toward the goaldist = Distance to the closest obstacle in trajectoryvelocity = Forward velocity of the robot, incoraging fast movements
615 Obstacle Avoidance: Global Dynamic Window Approach
Global approach:This is done by adding a minima-free function named NF1 (wave-propagation) to the objective function O presented above.Occupancy grid is updated from range measurements
Some sort of a variation of the dynamic window approachCartesian grid and motion of circular arcstakes into account the shape of the robotcalculate the distance li to collision between a single obstacle point and the robotNF1 plannerreal time performance achievedby use of pre-calculated table
617 Path Planning and Obstacle Avoidance – ETH-ASL Approach
Dynamic window approach with global path planingGlobal path generated in advancePath adapted if obstacles are encountereddynamic window considering also the shape of the robotreal-time because only max speed is calculated
Selection (Objective) Function:
speed = v / vmaxdist = L / Lmaxgoal_heading = 1- (a - wT) / p