The Better Robot Benching Framework™ . An overview of what this project is can be found in the design description. Examples of basic motion planning, benchmarking of planning requests, input/output, and more can be found in scripts.


A library that simplifies using MoveIt! in applications. This is the core library used by all other components in Robowflex. Take a look at the design description for more information on the core library.

Optional Components

There are also a few optional modules that are compiled if the requisite libraries are available. These will only compile if the necessary components are found.


An optionally compiled library component that adds more direct access to OMPL through a new robowflex::Planner. Requires moveit_planners_ompl, from MoveIt!.


An optionally compiled library component that adds support for tesseract-based planners. Currently, only OMPL-based planning is available. Requires both tesseract and trajopt.


A library component with helper classes and functions to interact with a move_group process being used for motion planning. Scenes can be pushed and pulled and trajectories can be executed with this component through move_group.


Beyond the core library, there are utility packages.


Python scripts for visualizing robots and motion plans in Blender. See the readme for more information on how to use.


Documentation for all library and module components in robowflex (sans tmpack). Documentation is automatically generated using Doxygen, and is placed in ${CATKIN_DEVEL_PREFIX}/share/robowflex_doc/doc/index.html. The documentation can be read online at GitHub pages.

To learn more about how to document code for Robowflex, take a look at the documentation how-to.



Task and motion planning using robowflex as the motion planning layer.