Combining the Control Basis Framework and sampling-based planning

English

This project aims to augment the Control Basis Framework (CBF) with path planning capabilities.

The Control Basis Framework allows for flexible composition of basic controllers (e.g. position, orientation, distance, view direction, etc.) in a hierarchical fashion. A central idea of CBF is to restrict control to the required control dimensions only, freeing some DoFs for other tasks.

While classical robotics often still attempts to specify all 6 Cartesian DoF for an end-effector motion, many tasks, e.g. grasping of a ball or another symmetrical object, are agnostic regarding a particular approach direction.

CBF allows for online, reactive motion generation. Online collision avoidance can be achieved by potential-field methods; however, deliberative path planning is explicitly out of its scope. Hence, in this MORe we aim for an extension of CBF with sampling-based planning methods. To this end, we intend to exploit the capabilities of the state-of-the-art planning library OMPL (Open Motion Planning Library) as well as ROS' MoveIt! 

The combination of both open-source projects will create benefits for both communities: planning will become more flexible – employing CBF's control tasks – and CBF will be augmented with deliberative planning capabilities.

 

There is no particular hardware access required. Development can be done in simulation only. The applicant should have solid C++ knowledge and be interested in robot motion planning. Experience with OMPL/MoveIt! would be beneficial. Several robot URDF / SRDF models are available for experimenting and testing.

Required Skills

  • solid C++ programming + debugging 
  • knowledge on robot motion planning and libraries, particularly OMPL and MoveIt!
  • ROS: URDF

 

Roadmap and open access

The project can draw on theoretical results from the dissertation by Matthias Behnisch who showed the general feasibility of the proposed planning approach. To realize the project, the following milestones need to be achieved:

  • mapping of CBF controllers onto OMPL sampling spaces 
  • implementation of CBF-specific state interpolation
  • integration of collision-checking libraries, e.g. drawing on MoveIt!
  • definition of a controller set specification and generation of a corresponding state space
  • integration with MoveIt!

The development/code exchange will be done via github, since CBF is already hosted there. Releases will also be published at opensource.cit-ec.de under GPL.