Our goal is to design a balanced system for the RoboCup 2009
@Home
competitions, capable of robust navigation in a home environment,
object manipulation
using two anthropomorphic arms, and intuitive multimodal human-robot
interaction.
The general idea is that by mimicking the way humans interact
with each other, it will be possible to transfer the efficient and
robust communication strategies that humans use in their face-to-face
interactions to the man-machine interface. This includes the
use of multiple modalities like speech, facial expressions, gestures,
body language, etc. If successful, this approach yields a
user interface that
leverages the evolution of human communication and that is intuitive to
naive users, as they have practiced it since early childhood.
Our 7-DOF antropomorphic arm is controlled with
redundant inverse kinematics to follow trajectories of the 6-DOF
end-effector pose.
To resolve the redundancy, we perform nullspace optimization of cost
criteria like obstacle avoidance, human-like posture convenience, and
joint limit avoidance. We use a physics-based simulator to develop the algorithms.
To successfully perform tasks that are not situated at one
specific location, the robot must be able to navigate throug its
environment. For this purpose, it must be able to estimate its pose in
a given map and plan obstacle free paths in the map. Finally, it needs
to be able to acquire a map in a previously unknown environment with
its sensors.
Localization
We apply Monte Carlo Localization to estimate
the
robot's pose in a given occupancy grid map. The robot's main sensor for
localization is the SICK S300 laser range
finder. In Monte Carlo Localization, the estimate of the robot's pose
is
represented as a set of weighted samples denoted as particles. It
performs probabilistic updates according to the Recursive Bayesian
Filter to integrate motion commands and sensor readings into the pose
estimate. In a prediction step, the particles are sampled from a
probabilistic
motion model which captures the noise in the execution of motion
commands. When new laser sensor readings are available, the particles
are
weighted with the observation likelihood of the laser scan given the
robot's pose. We use the end-point model for laser range scans, as it
can be
implemented efficiently through look-up tables and it is more robust
than the ray-cast model. Finally, the particle set is resampled to
concentrate the particles on
the relevant parts of the pose space.
Global Path Planning
To navigate in its environment, the robot needs the ability to plan
paths from its estimated pose in the map to target locations. We apply
A* search to find shortest paths in the grid map. As heuristics we use
the Euclidean distance to the target location. The grid cells can be
traversed to their direct neighbors. The cost of a traversation to a
cell is composed of the travelled
Euclidean distance and an obstacle-density cost which is proportional
to the distance to the closest obstacle in the map. To be able to treat
the robot as a point, we increase the obstacles in
the map with the robot radius. By this, obstacle-free paths are found
that trade off shortness and
distance to obstacles. After a shortest path to the target location has
been determined, the
path is compressed to a list of waypoints. We generate waypoints when a
specific travel distance to the previous
waypoint has been reached or at locations on the path with high
curvature.
Local Obstacle Avoidance
The global path planning module only regards obstacles which are
registered in the map. To navigate in dynamic and changing
environments, we implemented local
path planning and obstacle avoidance. Its target location is the next
waypoint in the planned path of the
global path planning module. From the sensor readings, we estimate a
local occupancy grid map. Again, the obstacles are enlarged by the
robot's shape. A shortest path through the visible obstacle-free area
is planned to
the target location by A* which also uses obstacle-density as a path
cost component. The omnidirectional driving capability of our mobile
base simplifies
the execution of the planned path significantly.
Semantic Map Acquisition
So far, we detailed how our robot localizes and navigates in a given
occupancy grid map. To acquire these maps in unknown environments, we apply a
FastSLAM2 approach to the Simultaneous
Localization and Mapping (SLAM) problem. In this approach, the posterior over trajectory and map given motion
commands and sensor readings is estimated with a set of weighted
particles. By factorisation of the SLAM posterior, Rao-Blackwellization can be
applied to the SLAM problem: The particles contain discrete trajectory estimates and individual
closed-form map estimates in the form of occupancy grid maps. Finally, the estimated grid map can be augmented with semantic
information like table height or object locations which is used for
navigation and manipulation purposes.