Obstacle Avoidance: Local Map Independent Task
Obstacle Avoidance: Local Map Independent Task
know
¾ overall goal
n obs
¾ actual speed and kinematics of the robot
v(t),
tacle
¾ on-board sensors rved
ω(t)
bs e
s (ma
o
¾ actual and future risk of collision obst
acle
Plan
p)
ed p
• Example: Alice
ath
Obstacle Avoidance: Bug1
• Following along the obstacle to avoid it
• Each encountered obstacle is once fully circled before it is left at the
point closest to the goal
Obstacle Avoidance: Bug2
¾ Following the obstacle always on the left or right side
¾ Leaving the obstacle if the direct connection between
start and goal is crossed
¾ Robot’s behavior really depends on its most recent
sensor readings, what if noise of sensor readings?
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 histogram
¾ calculation of steering direction
¾ all openings for the robot to pass are found
¾ the one with lowest cost function G is selected
Obstacle Avoidance: Vector Field Histogram + (VFH+)
Borenstein et al.
• Note:
¾ Better performance to pass narrow areas (e.g. doors)
¾ Problem with local minima persists
Obstacle Avoidance: Dynamic Window Approach
Fox and Burgard, Brock and Khatib
• The kinematics of the robot is considered by searching a well chosen velocity space
¾ velocity space -> some sort of configuration space
¾ robot is assumed to move on arcs
¾ ensures that the robot comes to stop before hitting an obstacle
¾ objective function is chosen to select the optimal velocity
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
¾ The width of the region is enlarged and recalculated if the goal cannot
be reached within the constraints of this chosen region
Obstacle Avoidance: The Schlegel Approach
• Some sort of a variation of the dynamic window approach
¾ takes into account the shape of the robot
¾ Cartesian grid and motion of circular arcs
¾ NF1 planner
¾ real time performance achieved
by use of precalculated table
Obstacle Avoidance: The EPFL-ASL approach
• Dynamic window approach with global path planing
¾ Global path generated in advance
¾ Path adapted if obstacles are encountered
¾ dynamic window considering also the shape of the robot
¾ real-time because only max speed is calculated
• Selection (Objective) Function:
Max (a ⋅ speed + b ⋅ dist + c ⋅ goal _ heading )
¾ speed = v / vmax
¾ dist = L / Lmax
¾ goal_heading = 1- (α - ωT) / π
α
Intermediate goal
Obstacle Avoidance: Other approaches
• Behavior based
¾ difficult to introduce a precise task
¾ reachability of goal not provable
• Fuzzy, Neuro-Fuzzy
¾ learning required
¾ difficult to generalize