Gepetto team logo

Humanoid Path Planner

Software for Motion and Manipulation Planning

See videos Get started now »

Acknowledgement

This work has been partially supported by:

  • FP7 Factory in a Day
  • Euroc project
  • ERC Actanthrope
  • PSPC Romeo 2
  • ANR Entracte


  • The robot grasp each of 8 parts, move them to the caroussel where they are processed, put them back to the initially empty tray, and finally stacks the empty tray on top of the full tray.

  • A sequence of tasks is automatically discovered during the planning in order to swap the position of the boxes.

  • Romeo rotates a placard. Each hand can grasp the placard with one degree of freedom in rotation, thus the space of valid grasps for each hand is continuous. This case illustrates the crossing foliation issue.

  • A sequence of contact configurations for a multiped robot is computed. Position constraint and static equilibrium constraint are used to create and maintain contacts along the sequence.

  • Path optimization algorithm based on collision constraints, automatically built between bodies close to collision.

  • Integration of external software: QSERL and XDE are used to implement a dedicated steering method for elastic rod planning.
    Engine model courtesy of Siemens-KineoCAM.

  • Manipulation planning with tool use inference

  • The locomotion planning problem is expressed as a Manipulation planning problem.

  • Differents features that can be achieved using the manipulation stack of the Humanoid Path Planner


Motion and Manipulation planning in C++

HPP is a C++ Software Developement Kit implementing path planning for kinematic chains in environments cluttered with obstacles. Collision checking is performed by a modified version of the Flexible Collision Library developed at University of North Carolina. Robots can be loaded from URDF model. It is a collection of software packages handled by cmake and pkg-config.

 

Python logo

Python interface for quick prototyping of problems

Python scripting is implemented via CORBA servers and idl interfaces in a seamless way. A few lines of Python code allows users to solve motion planning problems or design an planning algorithm.


Shipped with a graphical user interface

A visualization tool is provided to visualize obstacles, robot configurations and paths. It is extendible and allows to program manipulation motion, such as the Factory in a Day use case.

hpp-gui screenshot