Skip to content

Getting started with the ROS2 side

On the ROS2 side, we want to:

  1. We want to run a low-level C++ CRISP controller in your manipulator. The computer running the CRISP controller might need a real-time patch for the controller to run smoothly and safely. You can check out the Franka Robotics guide on how to set up a RT-patch. On newer Ubuntu versions, you can use Ubuntu Pro for an easy setup.
  2. Start nodes for the cameras, the grippers and other sensors.

For both we provide (1) pixi ready-to-use repositories that launch the nodes or (2) docker container demos of robots test that are ready to use as well as for cameras, grippers and other sensors. If your robot, camera, gripper or sensor is not listed below, checkout how to setup a new robot and get inspired by other examples to create your own setup.

To start ROS2 nodes for your robot, camera or sensor we recommend using pixi as a ready-to-use solution to start ROS2 nodes. Here are some examples of repositories with pixi support for different hardware.

Manipulators

Robots that we tested are:

Grippers

Grippers that we tested are:

Cameras

Cameras that we tested are:

Sensors

Sensors that we tested are:

Start ROS2 nodes with docker containers

We provide ready-to-use docker container demos for different manipulators and cameras (as an alternative to pixi). New demos are welcome, in particular if tested with real hardware. Some other manipulators that could be added to this list is Duatic, Universal Robots or other dual setups.

Available Demos

Robots Franka Robotics FR3 FR Dual FR3 IIWA 14 Kinova Gen3 UR5
MuJoCo simulated Hardware 2
Real Hardware 1 1 2

We also have some examples with cameras.

Robots Real Sense Any Camera / Webcam Orbecc
Camera demo 2

How to

Clone the repo

git clone git@github.com:utiasDSL/crisp_controllers_demos.git crisp_controllers_demos
cd crisp_controllers_demos

Warning

Do NOT use Docker Desktop. Just go for the normal Docker CLI.

Start your robot or camera with:

docker compose up launch_xxx

Check the docker-compose.yaml for the available launch_xxx options.

Warning

If you work in different machines, you might want to consider using a different RMW. To use a different middleware just pass an extra environment variable:

RMW=<zenoh|cyclone> docker compose up ...


  1. Untested, but effort interface available. 

  2. Available container at: https://github.com/danielsanjosepro/orbecc_container_ros2