October 15, 2019

Announcing the MoveIt Task Constructor

by Henning Kayser
Announcing the MoveIt Task Constructor


Since its introduction at ROSCon 2018 by Robert Haschke and Michael Görner, the MoveIt Task Constructor (MTC) has gained a lot of interest inside the MoveIt community and in industry. We’re happy to announce that MTC is ready to be used in real-world applications and we present the new official tutorial including a demo application.

The MoveIt Task Constructor (MTC) is a multi-stage planning framework for solving complex motion planning tasks like pick-and-place operations or other object manipulations. With MTC a task is an instance of a high-level planning problem composed of smaller subproblems which are solved by individually stages. These stages are arrangeable components that compute simple steps like moving the robot from a start to a goal state or attaching an object to the gripper. Stages can be freely arranged in sequence or in hierarchical order and even allow arbitrary control flows including alternative and fall-back solutions. The MTC package provides a set of primitive default stages which can already be used to integrate a generic pick-and-place pipeline. Check out the new tutorial for more information and an example implementation.

Using MTC for motion planning offers several advantages over conventional approaches. The modular architecture allows for easy replacement and rearrangement of tasks and stages while maintaining a readable and functional implementation. Also, the source code always follows a well-defined structure, which makes components more portable, testable, and reusable. This goes hand-in-hand with better debugging and introspection capabilities. For instance, individual stage solutions can be run and visualized with RViz in using the MTC panel. Lastly, MTC supports automated optimization of end-to-end task solutions by minimizing the total cost over all stages.

Features / Points:

  • Full end-to-end manipulation planning
  • Flexible levels of abstraction
  • High code reusability
  • Support for alternative solutions
  • Powerful visual debugging

With MTC there is a lot to look out for in the future. Not only will there be more default stages added but also a full Python API for even simpler access. Also, we’re currently working on replacing MoveIt’s dated pick&place pipeline with an MTC implementation, certainly only the first of further new default capabilities. We encourage everyone interested to test the framework and contribute improvements. We hope that we will see many interesting applications running on MTC.


Accelerate Your Robotics Development | About PickNik: Robots are complex systems that require a wide breadth of expert knowledge spanning multiple disciplines, making robotics development extremely difficult and costly. Since 2015, PickNik’s mission has been to address this technical challenge while dramatically reducing development time for advanced robotic applications. To achieve this, PickNik supports and collaborates with the worldwide open source robotics movement, providing companies with cutting edge research and barrier-free open source software.

PickNik is rooted with a strong background in robotics theory combined with applied software experience to provide unique solutions. Robotics companies including Google, Amazon, Kindred, and many others are partnering with PickNik to develop robotic applications to address the toughest issues through software consulting, custom development, and other initiatives. By working together, we can accomplish far more than by working alone.

If you would like more information please contact Rob Coleman at projects@picknik.ai