Installation

First, clone this repo.

git clone https://github.com/open-planning/roboplan.git
cd roboplan

Minimally, this will give you access to the examples so you can run them regardless of how you installed RoboPlan.

The rest of this page shows various ways of getting started with RoboPlan.

Pre-built

RoboPlan is available via PyPi and conda-forge for easy installation.

PyPi (Experimental)

Supported platforms: Linux, macOS

You can also pip install roboplan to get all the Python bindings as one package.

We recommend creating a Python virtual environment for isolation.

python3 -m venv roboplan
source roboplan/bin/activate
pip3 install roboplan

These PyPi wheels are packaged from an automated CI job that occurs on a new tagged version of RoboPlan. The code that performs this building can be found in the packaging subfolder of this repository.

From Source

There are currently 3 supported ways to build RoboPlan from source.

ROS 2 (colcon)

Supported platforms: Supported platforms for your ROS distro.

If you are using ROS 2, you can build RoboPlan with the colcon build system.

For this workflow, you should clone the repo to a valid ROS 2 workspace.

mkdir -p ~/roboplan_ws/src
cd ~/roboplan_ws/src
git clone --recursive https://github.com/open-planning/roboplan.git

Source your favorite ROS distro and build the workspace.

source /opt/ros/rolling/setup.bash
cd ~/roboplan_ws
rosdep install --from-paths src -y --ignore-src
colcon build

Now you should be able to run a basic example.

source install/setup.bash
ros2 run roboplan_examples example_scene
ros2 run roboplan_examples example_ik.py

At this point, you should also be able to use RoboPlan as a Python package!

python3
>>> import roboplan

To run the unit tests, you can simply use colcon:

colcon test
colcon test --packages-select roboplan --event-handlers console_direct+

Vanilla CMake

Supported platforms: Linux (macOS and Windows possible but requires effort)

One of the design points of this library is that it should be portable, and therefore compiles with “vanilla” CMake.

We do not recommend using this workflow; it’s more of an exercise in making sure the software can compile without any dependencies that lock it into a particular ecosystem.

If you do want to use regular CMake, you should take a look at the Dockerfile under .docker/ubuntu. Alternatively, you can try it for yourself.

export UBUNTU_VERSION=24.04
docker compose build ubuntu

Once the Docker image is built, you can try running the code in the image.

docker compose run ubuntu bash

Inside the shell, you can try different commands, such as.

./build/roboplan_examples/cpp/example_scene
python3 roboplan_examples/python/example_ik.py

To run the unit tests, you can do:

scripts/run_tests.bash