See drake_ros_examples
for an example of
getting started with both Drake and ROS 2 using colcon
.
If you are using Bazel to build , please see
ros2_example_bazel_installed
.
The intended function of this repository is to provide the following ROS 2 capability:
- API for integration between Drake and ROS 2 components. See the
drake_ros
package. - Examples using this API in the
drake_ros_examples
package. - Bazel Starlark macros and tooling to enable ingesting (already built) ROS 2
workspaces from either installed locations or tarballs in
bazel_ros2_rules
.- Be sure to read about alternative approaches.
- Examples for using these APIs and Bazel macros in
ros2_example_bazel_installed
.
- Ubuntu 22.04 + ROS 2 Humble (Recommended)
- Ubuntu 20.04 + ROS 2 Rolling
- Mac (only via Docker)
- Architecture: x86_64 (amd64), arm64 (only via Docker)
- Bazel >= 5.0
For users preferring Docker, we offer support for Ubuntu and Macs via Docker. You can build and interact with visualization (rviz2
) directly on the Docker platform, which is particularly useful for Mac users, including those with Apple Silicon architecture. Please refer to our detailed Docker instructions in the Docker README.
This code is prioritized for use within the TRI Dexterous Manipulation Group. We do not presently adhere to any stability commitment (e.g., deprecations, backports, etc.), so please use this code at your own discretion. (It's still great code, of course!)
Please note that this should be considered second-party to Drake; more specifically:
- Only a small subset of Drake developers are directly involved in this project at present.
- This does not go through the same level of review as Drake's code review.
- This project does not yet align with Drake's release cycles or Drake's supported configurations.
See CONTRIBUTING documentation.