Most of this research was carried out at Willow Garage. Publications corresponding to this work are on my Publications page.
Motion planning for mobile manipulation has progressed significantly in the last few years. My focus in this area at Willow Garage was on generation of fast, efficient and safe motion plans in unstructured environments. To this end, we had worked on three types of motion planners, each of which has its advantages in different situations. We had also worked on infrastructure for benchmarking all these types of motion planners to determine the best type of planner to use in different situations.
Learning for manipulation
Manipulation skills and tasks are often difficult to model. Learning-based approaches can work well in such situations. In work at Willow Garage, we have worked on learning from demonstration to initialize a policy for a manipulation skill while using reinforcement learning to optimize a given cost function and improve the performance and execution of the skill. We have also used learning to learn the complete state machine for a more complicated task (a sequence of skills). This state machine can then be adaptively modified online to account for interactive corrections given by a user.
Mobile manipulation requires integrating perception, control, motion planning, grasping, navigation and learning in a cohesive manner to act effectively in large unstructured environments. In work at Willow Garage, our approach was to construct a consistent environment representation using visual sensing. Fast motion planners allow the generation of smooth trajectories for the robot. The environment representation is dynamically updated and complemented with information from other types of sensors (tactile, force, etc.). This allows the robot to react quickly to changes in its surroundings. Stiff trajectory controllers allow for tracking the paths effectively while compliant controllers are useful for tasks requiring contact with the environment. Coupled with grasping techniques for different types of objects, this allows the robot to effectively manipulate and move around in different types of environments.