← Evidence Ledger

F3 · Robotics & Embodied

Build a ROS 2 + Zenoh Simulation on an Arm Server (Part 1)

L20 · 15 min · Arm server running ROS 2 Jazzy simulation

Overview

On an Arm server, this guide uses Docker to set up a ROS 2 Jazzy and `rmw_zenoh` environment running Neobotix ROX, Gazebo, Navigation2 and RViz simulation. The workflow validates the ROS graph, navigation, sensor data, Zenoh router discovery and shared-memory transport, comparing loopback and shared-memory latency with a specified point-cloud workload. This Arm64 robotics-middleware baseline gives developers an observable single-machine simulation environment and a starting point for later distributed deployment across server, container and Raspberry Pi.

Scope of verification

  • It is a containerized ROS 2/Zenoh simulation reference workflow on a single Arm server, validating the navigation stack, ROS graph, sensor topics, router discovery and shared-memory transport.
  • Dependencies include an Arm64 Linux server, Docker, ROS 2 Jazzy, `rmw_zenoh`, the Neobotix ROX simulation, Gazebo, Navigation2, RViz and a consistent container/network configuration.
  • Scope excludes physical robots, cross-device networking and wireless impairment; the ~30% shared-memory latency improvement applies only to the specified reference system and point-cloud workload and does not generalize to all ROS 2/Zenoh workloads.
Canonical source: https://learn.arm.com/learning-paths/cross-platform/ros2-zenoh-arm/
This page is a guided summary with boundary notes, not an official reproduction.