The global dynamic window approach is a powerful
motion primitive for mobile robots. It does
not address the problem of mapping and localization,
but it provides an extremely powerful method to move a
mobile robot to a goal location in a dynamic and
cluttered environment. We performed experiments on on
a holonomic mobile base (Nomadic XR4000) and achieved
very robust and fast motion generation.
By combining a very fast global path planning method
with local execution schemes, reactive behavior is
achieved without sacrificing goal-directed motion. The
local execution scheme is based on the dynamic window
approach by Fox, Burgard, Thrun. It determining a
motion command the method takes the dynamic properties
of the robot into account. Only those motion commands
are executed that will allow the robot to come to a
stop before hitting an obstacle. Most global path
planning methods only provide a direction of motion
and not a velocity. Using the dynamic window
approach, we can choose an adequate velocity in the
direction of motion given by the path planner.
The global path planner is based on the navigation
function NF1 by Barraquand and Latombe. It builds a
local minima-free potential function in an occupancy
grid (see figure: navigation function in red, robot in
blue, goal in green) using a wave-propagation
approach. The integration of global path planning and
execution methods computes the navigation function
during every servo tick. The navigation function is
not computed for the entire world, but only for those
regions required (see red gradient in the
figure). This helps to achieve real-time performance,
even in large and complex environments. Each time the
local execution method chooses a motion command, those
commands moving along the gradient of the navigation
function are preferred. This achieves a very simple,
yet powerful integration of global and local methods.
(30MB)
This video was published in the video proceedings of
ICRA 2000. It shows various experiments with the
global dynamic window approach. Every motion of the
robot is generated based on solely on the x,y
coordinates of a goal location relative to the initial
position of the base. The robot - a Nomadic
XR4000 - initially has no map of the
environment; it incrementally builds an occupancy grid
of its environment based on laser data and
odometry. The robot moves up to 40 meters autonomously
at velocties of 1 m/s - the video is not sped
up. The map in the bottom left of the video shows the
occupancy grid with obstacles in black and the
navigation function as a gray gradient. A trace of
the robot's position is shown in magenta.