cu-zenoh-ros

Crates.iocu-zenoh-ros
lib.rscu-zenoh-ros
version0.9.1
created_at2025-05-27 00:21:33.753561+00
updated_at2025-09-12 20:54:08.943277+00
descriptionCopper example to use zenoh as a ROS 2 bridge.
homepagehttps://github.com/copper-project
repositoryhttps://github.com/copper-project/copper-rs
max_upload_size
id1690453
size130,750
Guillaume Binet (gbin)

documentation

README

Copper ROS bridge using Zenoh

ONLY SUPPORTS HUMBLE at the moment.

Install the zenoh daemon

cargo install zenohd --all-features

To run the bridge

Launch a zenoh router.

$ RUST_LOG=debug zenohd

The log as debug will help you understand the INSANE mapping between ROS and zenoh.

Then run this example.

$ cd cuexamples/cu_zenoh_ros
$ cargo run --release 

Run ROS from Docker (optional)

If you don't have access to a perfect Ubuntu version to run ROS, you can do it from the Docker container given

docker build -t ros-jazzy-zenoh . docker run --rm -it --net=host -v "$PWD":/ros2_ws -w /ros2_ws ros-jazzy-zenoh bash

Display the result.

export RMW_IMPLEMENTATION=rmw_zenoh_cpp
ros2 topic echo /output

Troubleshooting Zenoh

To inspect zenoh, this is suddedly some python stuff, so let's go and make a virtualenv.

python3 -m venv zcli
source zcli/bin/activate
pip install zenoh-cli

Dumping ALL the traffic:

zenoh subscribe -k '0/output/**'

0 is the ROS2 domain output is the name of the topic

It is followed with some mangled things like the RIHS01 an and QOS.

Commit count: 741

cargo fmt