[Documentation] [TitleIndex] [WordIndex


EXPERIMENTAL: This status indicates that this software is experimental code at best. There are known issues and missing functionality. The APIs are completely unstable and likely to change. Use in production systems is not recommended. All code starts at this level. For more information see the ROS-Industrial software status page.


Descartes is a ROS-Industrial project for performing path-planning on under-defined Cartesian trajectories. More details regarding motivation can be found in rep-I0003.rst.

From a software architecture perspective, Descartes uses trajectory points, robot models, and planners to generate an joint-trajectory that complies with the constraints of a given process.

Each of these major components has a separate package which provides reference implementations. More information can be found in the ROSCon 2015 talk by Shaun Edwards entitled, "The Descartes Planning Library for Semi-Constrained Cartesian Trajectories"

Key Features

Descartes, as a path planning library, is often compared to MoveIt. However, it differs from MoveIt in several key ways:


Descartes has already been used in several ROS-Industrial applications. The first application involved using Descartes as an offline path planner for a robotic routing.

The second application of Descartes was a automatic planner for a robotic grinding application.

/!\ Note that the GUIs in the videos are NOT part of descartes. They are proprietary software that may not be available opensource. For Cartesian offline planning, see moveit_cartesian_plan_plugin / fermi.


The Descartes stack is broken into the following packages:


The descartes_core package defines the interfaces for trajectory points, robot_models, and planners. See the docs for more information about the APIs associated with these concepts.


The descartes_moveit package offers a reference implementation of a Descartes robot_model that makes use of MoveIt! to provide its functionality. More details at descartes_moveit.


The descartes_planner package contains reference planner implementations that can provide solutions to trajectories using different algorithms. More details at descartes_planner.


The descartes_trajectory package contains reference implementations for common types of trajectory points such as points defining a certain Cartesian pose or a certain joint configuration. More details at descartes_trajectory.


See the Tutorials page for an overview of the available tutorials.

Contact us/Technical support

For questions about this package or ROS-Industrial in general, please contact the developers by posting a message in the ROS-Industrial category on ROS Discourse.

Report a Bug

Use GitHub to report bugs or submit feature requests. [View active issues]

2024-06-15 12:54