Universität Bonn: Autonomous Intelligent Systems Group   Autonomous Intelligent Systems: NimbRo @Home

Research

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.

Intuitive Multimodal Communication

Emotional expressions                 Head pose estimation and gesture recognition

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.

Object Manipulation

Robot arm simulator

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.

Robust Navigation

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

Global A* 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.