Build a ROS 2 and Zenoh simulation environment on an Arm server
Introduction
Start the ROS 2 development containers
Configure Zenoh for ROS 2
Observe Zenoh router discovery behavior
Start the robot simulation and Navigation2
Visualize and navigate the robot with RViz
Control the Neobotix ROX robot with ROS 2
Observe ROS 2 simulation resource usage on an Arm server
Enable Zenoh shared-memory transport
Next Steps
Build a ROS 2 and Zenoh simulation environment on an Arm server
Introduction
Start the ROS 2 development containers
Configure Zenoh for ROS 2
Observe Zenoh router discovery behavior
Start the robot simulation and Navigation2
Visualize and navigate the robot with RViz
Control the Neobotix ROX robot with ROS 2
Observe ROS 2 simulation resource usage on an Arm server
Enable Zenoh shared-memory transport
Next Steps
Who is this for?
This Learning Path is for developers who want to build and examine a containerized ROS 2 robotics simulation on an Arm server.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Set up a Docker-based ROS 2 Jazzy development and simulation environment on an Arm server
- Configure rmw_zenoh as the ROS 2 middleware and explore communication between ROS 2 nodes
- Launch and interact with a Neobotix ROX robot simulation using Gazebo, Navigation2, and RViz
- Evaluate Zenoh router behavior and the effect of shared-memory transport
Prerequisites
Before starting, you will need the following:
- An Arm server running Linux with at least 8 CPU cores, 16 GB of RAM, and 30 GB of free disk space
- Docker and Docker Compose installed
- Network access to ports 6080 and 6081 on the Arm server
- Familiarity with launching bash shells within a running Docker container
- Basic familiarity with Linux terminal commands within bash shells
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
rmw_zenoh on an Arm server and use it to run a Neobotix ROX simulation. First, you’ll start the robot and control containers, configure Zenoh, and observe discovery with talker and listener nodes. Then, you’ll launch Gazebo and Navigation2 and inspect the robot in RViz. Finally, you’ll measure resource use, control the robot, and compare shared-memory transport with TCP loopback.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
6080 and 6081 is available from your client.docker ps, copy the CONTAINER ID for ros_zenoh-robot-1, then run docker exec -it <container_id> /bin/bash in each shell. In every shell, run source ~/workshop_env.bash.