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_*
packages. - 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
.
In addition to ROS 2, this repository also provides some tools for interacting with the Gazebo and broader ROS ecosystem:
- An example of fetching Gazebo or ROS models, rendering them, and ensuring mesh and geometry offsets are consistently interpreted between Drake and Gazebo. This may adjust the constituent URDF and/or SDFormat models.
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.