Skip to content

moveit/moveit_drake

Repository files navigation

Experimental MoveIt 2 - Drake Integration

Note

Experimental and will continue to have breaking changes until first release.

moveit_drake brings together the vertical ROS integration of the MoveIt 2 motion planning framework, with the Mathematical Programming interface within Drake. This allows the user to setup motion planning as an optimization problem within ROS, with the rich specification of constraints and costs provided by drake.

Features

Docker Workflow (Preferred and tested)

Requirements

Docker and Docker Compose - Follow the instructions here. Also, run the Linux post-installation steps.

Steps

The following steps clone and build the base image that you will require to test/build/run/develop with the repo.

git clone https://github.com/moveit/moveit_drake.git
cd moveit_drake
docker compose build

This should give you an image with drake and moveit2. Next, create a container with the following and create shell access.

docker compose up
docker compose exec -it moveit_drake bash

Follow instructions below to build moveit_drake

Local Installation

Install Drake

Follow these instructions

Build moveit_drake

Follow the MoveIt Source Build instructions to set up a ROS 2 workspace with MoveIt from source.

Open a command line and navigate to your workspace:

cd ${WORKSPACE}/src

Clone this repo to your workspace, including upstream dependencies:

git clone https://github.com/moveit/moveit_drake.git
vcs import < moveit_drake/moveit_drake.repos
rosdep install -r --from-paths . --ignore-src --rosdistro ${ROS_DISTRO} -y

Configure and build the workspace (this will take some time, as it builds MoveIt):

cd ${WORKSPACE}
colcon build --event-handlers desktop_notification- status- --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 1

Examples

The planning pipeline testbench compares moveit_drake planners with existing MoveIt planners such as OMPL and Pilz.

ros2 launch moveit_drake pipeline_testbench.launch.py

This interactive example shows constrained planning using the Drake KTOpt planner.

ros2 launch moveit_drake constrained_planning_demo.launch.py

Development

Formatting

We use pre-commit to format the code in this repo.

Within the container, you can run the following command to format the code:

cd src/moveit_drake
pre-commit run -a

Some helper commands

To rebuild only the moveit_drake package:

rm -rf build/moveit_drake install/moveit_drake
colcon build --packages-select moveit_drake

About

Experimental repository for Moveit2 - Drake integration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published