{"id":18510325,"url":"https://github.com/rerun-io/cpp-example-ros2-bridge","last_synced_at":"2025-07-01T04:02:23.595Z","repository":{"id":232840599,"uuid":"785108268","full_name":"rerun-io/cpp-example-ros2-bridge","owner":"rerun-io","description":"An example implementation of a ROS 2 to Rerun bridge","archived":false,"fork":false,"pushed_at":"2024-10-17T10:06:29.000Z","size":461,"stargazers_count":81,"open_issues_count":9,"forks_count":8,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-31T08:08:12.097Z","etag":null,"topics":["cpp","ros2","visualization"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rerun-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-11T08:02:02.000Z","updated_at":"2025-03-23T03:04:48.000Z","dependencies_parsed_at":"2024-05-09T18:05:30.005Z","dependency_job_id":"4fc5f300-9bb8-45f3-9fe7-c5795cb5d64e","html_url":"https://github.com/rerun-io/cpp-example-ros2-bridge","commit_stats":null,"previous_names":["rerun-io/cpp-example-ros2-bridge"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Fcpp-example-ros2-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Fcpp-example-ros2-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Fcpp-example-ros2-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Fcpp-example-ros2-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rerun-io","download_url":"https://codeload.github.com/rerun-io/cpp-example-ros2-bridge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247622986,"owners_count":20968575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","ros2","visualization"],"created_at":"2024-11-06T15:22:49.878Z","updated_at":"2025-04-07T09:17:33.789Z","avatar_url":"https://github.com/rerun-io.png","language":"C++","readme":"# C++ Example: ROS 2 Bridge\n\nThis is an example that shows how to use Rerun's C++ API to log and visualize [ROS 2](https://docs.ros.org/en/humble/index.html) messages (for the ROS 1 version, see [here](https://github.com/rerun-io/cpp-example-ros-bridge)). \n\nIt works by subscribing to all topics with supported types, converting the messages, and logging the data to Rerun. It further allows to remap topic names to specific entity paths, specify additional timeless transforms, and pinhole parameters via an external config file. See the [launch](https://github.com/rerun-io/cpp-example-ros2-bridge/tree/main/rerun_bridge/launch) directory for usage examples.\n\n| CARLA | Go2 |\n| --- | --- |\n| ![carla](https://github.com/rerun-io/cpp-example-ros2-bridge/assets/9785832/f4e91f4b-18b4-4890-b2cc-ff00880ca65c) | ![go2](https://github.com/rerun-io/cpp-example-ros2-bridge/assets/9785832/2856b5af-d02b-426b-8e23-2cf6f7c2bfd8) |\n\nThis example is built for ROS 2. For more ROS examples, also check out the [ROS 2 example](https://www.rerun.io/docs/howto/ros2-nav-turtlebot), the [URDF data-loader](https://github.com/rerun-io/rerun-loader-python-example-urdf), and the [ROS 1 bridge](https://github.com/rerun-io/cpp-example-ros-bridge).\n\n\u003e NOTE: Currently only some of the most common messages are supported (see https://github.com/rerun-io/cpp-example-ros2-bridge/issues/4 for an overview). However, extending to other messages should be straightforward.\n\n## Compile and run using pixi\nThe easiest way to get started is to install [pixi](https://prefix.dev/docs/pixi/overview).\n\nThe pixi environment described in `pixi.toml` contains all required dependencies, including the example data, and the Rerun viewer. To run the [CARLA](https://carla.org/) example use\n```shell\npixi run carla_example\n```\nand to run the [Go2](https://www.unitree.com/go2/) example use\n```shell\npixi run go2_example\n```\n\n## Compile and run using existing ROS environment\nIf you have an existing ROS workspace and would like to add the Rerun node to it, clone this repository into the workspace's `src` directory and build the workspace.\n\nTo manually run the CARLA example, first download the [CARLA bag](https://storage.googleapis.com/rerun-example-datasets/carla_ros2.zip) or [Go2 bag](https://storage.googleapis.com/rerun-example-datasets/go2_ros2.zip) and extract it to the `share` directory of the `rerun_bridge` package (typically located in `{workspace_dir}/install/rerun_bridge/share/rerun_bridge`). Then, run the corresponding launch file:\n```shell\nros2 launch rerun_bridge {carla,go2}_example.launch\n```\n\n## Development\nPrior to opening a pull request, run `pixi run lint-typos \u0026\u0026 pixi run cpp-fmt` to check for typos and format the C++ code.\n\nYou can update this repository with the latest changes from the [template](https://github.com/rerun-io/rerun_template/) by running:\n* `scripts/template_update.py update --languages cpp`\n\n## Acknowledgements\nThis code uses the [turbo colormap lookup table](https://gist.github.com/mikhailov-work/6a308c20e494d9e0ccc29036b28faa7a) by [Anton Mikhailov](https://github.com/mikhailov-work).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frerun-io%2Fcpp-example-ros2-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frerun-io%2Fcpp-example-ros2-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frerun-io%2Fcpp-example-ros2-bridge/lists"}