Improving manipulation in changing and difficult environments
During his internship at Willow Garage, Mihai Pomarlan from the Politehnica University of Timisoara spent his time improving the process in which robots move in complex situations, also known as motion planning.
Finding the best motion plan from a variety of options is typically a time-consuming search. Opportunity lies in the optimization of motion planning to speed up the task and some planners attempt to do just that, by keeping a roadmap for the robot. However, if the environment changes, some parts of the roadmap will become unusable.
Checking the entire roadmap against the current environment is an inefficient process. Instead, Mihai employed a heuristic approach which discovers and checks candidates for feasibility. If one aspect of the plan is found invalid, its neighbors have their cost increased and another candidate is selected from the roadmap. If a component of the plan is found to be valid, its neighbors have their cost decreased.
The newly developed planner, called sparse lazy PRM, has been tested against RRTConnect on problems for manipulation. The planner is efficient as well as able to provide good quality paths and the package is freely available online.
Another instance where a precomputed set of possible behaviors is useful is when the planning problem involves narrow passages and complex spaces. Such is the case when planning for a manipulation task, in which the robot needs to use both arms and change grasps on an object. A simple demo in MoveIt has been coded to showcase this. The robot is tasked to move a ring around a fixed plane. A roadmap planner, similar to SLPRM, is used to plan the movements of the ring. The robot then follows those movements with its arms by inverse kinematics, choosing from a finite set of grasps, as appropriate.
Although this project is in an early state, it may reveal useful extensions for the OMPL and MoveIt libraries that allow easy definition and reliable solving of complex manipulation tasks.