Robonix deployment for the SysWonder Ranger Mini v3: Jetson Orin, Livox
MID-360, Orbbec Gemini 336L, RTAB-Map, Scene, Nav2, and Explore.
The deployment uses native ROS 2 packages on Jetson. Zenoh RMW is the default;
start.sh starts a local rmw_zenohd for the lifetime of the boot.
Scene, Mapping, and Nav2 are explicitly selected for their Jetson-native paths.
Each package entry selects its own package_manifest*.yaml, so architecture and
native/container choices are package properties rather than global environment
variables. The same robot repository may therefore keep separate full/no-arm
deployment manifests while selecting the appropriate package target for each
component.
Hardware
Component
Model
Deployment configuration
Mobile base
AgileX Ranger Mini v3
Four-wheel steer/drive chassis; can_ranger at 500 kbit/s; base_link footprint 0.74 m x 0.50 m
Compute
NVIDIA Jetson AGX Orin
aarch64 Jetson-native packages, ROS 2 Humble, and rmw_zenoh_cpp
Manipulator
AgileX Piper
Six-axis arm with parallel gripper; can_piper at 1 Mbit/s
3D lidar and IMU
Livox MID-360
Ethernet lidar at 192.168.1.161; host interface 192.168.1.50; lidar and integrated IMU are separate Robonix providers
Front RGB-D camera
Orbbec Gemini 336L
640 x 480 at 30 FPS for RGB and aligned depth; selected by serial number; camera IMU disabled
Wrist camera
Orbbec Dabai DC1
1280 x 720 YUYV color at 10 FPS; depth is disabled in the current pick pipeline
Audio
USB audio device
16 kHz mono microphone and speaker through plughw:CARD=Plus,DEV=0
The exact provider IDs, device addresses, sensor profiles, and runtime options
are defined in robonix_manifest.yaml. The robot body,
component hierarchy, footprint, and provider-to-component mapping are defined
in soma.yaml. Vitals consumes Soma’s body-health stream and
aggregates Robonix module health on port 50093 for trusted operator clients.
Robot-specific algorithm configuration is also deployment-owned:
config/calibration/2d_homography.npy
is the hand-eye calibration for this Ranger’s Piper wrist-camera mount. It is
a deployment asset, not a generated rbnx-boot cache file. Recalibrate and
replace it after changing the camera mount or arm/workspace geometry.
urdf/piper.urdf is the six-joint Piper kinematic model
consumed by roboarm_ik. The manifest references this versioned deployment
asset through ${ROBONIX_DEPLOY_DIR} so a fresh clone does not depend on a
cache path or another checkout.
The manifest references these files with paths relative to this repository.
The Mapping and Navigation provider repositories contain templates only; do
not move Ranger dimensions, sensor limits, or controller policy upstream.
Package target selection and algorithm configuration are separate. A package’s
manifest: chooses a build/start implementation such as Jetson native or a
container. If a provider exposes a named params_profile, that name must be one
the provider implements upstream; a robot manifest cannot invent a new profile.
Robot-specific runtime values remain in this repository’s parameter files (or
documented config overrides) and do not create a new upstream profile.
Scene is pinned to the front Gemini provider orbbec_camera. That provider
supplies both aligned RGB and depth (plus camera calibration); the wrist DC1 is
exposed separately as orbbec_wrist_camera and cannot be selected by Atlas
ordering. Scene obtains the robot’s globally corrected pose from the Mapping
robonix/service/map/pose contract and combines it with the complete URDF
camera transform published by robot_description.
Prepare
Robonix dev is the recommended branch for ordinary deployments. This
repository currently reproduces the Ranger integration stack on dev-next
(including provider-pinned Scene RGB-D ingest); use dev-next until those
changes are merged into dev. Then install the ROS dependencies once:
cd ~/wheatfox/robonix
git switch dev-next
git pull --ff-only origin dev-next
make install
sudo apt install ros-humble-rmw-zenoh-cpp \
ros-humble-rtabmap-ros ros-humble-navigation2 ros-humble-nav2-bringup
Create a private environment file; never commit credentials:
cp .env.example .env
$EDITOR .env
start.sh loads this ignored file automatically and exports it to every
Robonix child process. Keep VLM and Tencent SecretId/SecretKey here; keep
non-secret backend, AppID, engine, voice, and region settings in
robonix_manifest.yaml.
Build and boot
bash build.sh
bash start.sh
The wrappers set ROBONIX_DEPLOY_DIR, source ROS Humble, and keep the Zenoh
router lifecycle tied to rbnx boot. Each package’s selected manifest chooses
its Jetson-native build and start commands.
The deploy keeps the complete v0.1 RViz configuration and an updated mapping
variant. The updated file preserves the original map, costmap, scan, path,
goal, TF, particle-cloud, and footprint displays, and adds the Soma-backed
RobotModel plus the live MID-360 /scanner/cloud display.
The unchanged historical configuration is rviz/ranger_v0.1.rviz.
Safety and bring-up order
The checked-in full manifest includes the chassis, Piper arm, Nav2, and skills;
starting it exposes physical motion capabilities. Keep the hardware emergency
stop available and clear the workspace before full bring-up.
After the chassis is powered on:
Verify can_ranger is UP and odometry is publishing.
Send zero Twist and confirm the watchdog holds the base stopped.
Use a low-speed, short-duration command in a clear area.
Verify Mapping pose and Nav2 costmaps before sending a nearby goal.
Only then test Explore.
Robot description
soma.yaml and urdf/ranger_mini.urdf are served by Soma. The description
contains the body footprint and sensor tree used by Pilot and other consumers.
urdf/piper.urdf is currently a separate arm-only model used by the IK solver;
it is not a substitute for the Soma body tree. Mount transforms remain
calibration-sensitive; update the body URDF after physical measurement rather
than compensating in Scene or Mapping.
AgileX Ranger Mini v3
Robonix deployment for the SysWonder Ranger Mini v3: Jetson Orin, Livox MID-360, Orbbec Gemini 336L, RTAB-Map, Scene, Nav2, and Explore.
The deployment uses native ROS 2 packages on Jetson. Zenoh RMW is the default;
start.shstarts a localrmw_zenohdfor the lifetime of the boot. Scene, Mapping, and Nav2 are explicitly selected for their Jetson-native paths. Each package entry selects its ownpackage_manifest*.yaml, so architecture and native/container choices are package properties rather than global environment variables. The same robot repository may therefore keep separate full/no-arm deployment manifests while selecting the appropriate package target for each component.Hardware
can_rangerat 500 kbit/s;base_linkfootprint 0.74 m x 0.50 mrmw_zenoh_cppcan_piperat 1 Mbit/s192.168.1.161; host interface192.168.1.50; lidar and integrated IMU are separate Robonix providersplughw:CARD=Plus,DEV=0The exact provider IDs, device addresses, sensor profiles, and runtime options are defined in
robonix_manifest.yaml. The robot body, component hierarchy, footprint, and provider-to-component mapping are defined insoma.yaml. Vitals consumes Soma’s body-health stream and aggregates Robonix module health on port50093for trusted operator clients.Robot-specific algorithm configuration is also deployment-owned:
config/rtabmap_params.yamlcontains the full Ranger RTAB-Map parameter set.config/nav2_params.yamlcontains the complete Ranger Nav2 configuration.config/navigate.xmlcontains the Ranger navigation BehaviorTree.config/calibration/2d_homography.npyis the hand-eye calibration for this Ranger’s Piper wrist-camera mount. It is a deployment asset, not a generatedrbnx-bootcache file. Recalibrate and replace it after changing the camera mount or arm/workspace geometry.urdf/piper.urdfis the six-joint Piper kinematic model consumed byroboarm_ik. The manifest references this versioned deployment asset through${ROBONIX_DEPLOY_DIR}so a fresh clone does not depend on a cache path or another checkout.The manifest references these files with paths relative to this repository. The Mapping and Navigation provider repositories contain templates only; do not move Ranger dimensions, sensor limits, or controller policy upstream.
Package target selection and algorithm configuration are separate. A package’s
manifest:chooses a build/start implementation such as Jetson native or a container. If a provider exposes a namedparams_profile, that name must be one the provider implements upstream; a robot manifest cannot invent a new profile. Robot-specific runtime values remain in this repository’s parameter files (or documented config overrides) and do not create a new upstream profile.Scene is pinned to the front Gemini provider
orbbec_camera. That provider supplies both aligned RGB and depth (plus camera calibration); the wrist DC1 is exposed separately asorbbec_wrist_cameraand cannot be selected by Atlas ordering. Scene obtains the robot’s globally corrected pose from the Mappingrobonix/service/map/posecontract and combines it with the complete URDF camera transform published byrobot_description.Prepare
Robonix
devis the recommended branch for ordinary deployments. This repository currently reproduces the Ranger integration stack ondev-next(including provider-pinned Scene RGB-D ingest); usedev-nextuntil those changes are merged intodev. Then install the ROS dependencies once:Create a private environment file; never commit credentials:
start.shloads this ignored file automatically and exports it to every Robonix child process. Keep VLM and Tencent SecretId/SecretKey here; keep non-secret backend, AppID, engine, voice, and region settings inrobonix_manifest.yaml.Build and boot
The wrappers set
ROBONIX_DEPLOY_DIR, source ROS Humble, and keep the Zenoh router lifecycle tied torbnx boot. Each package’s selected manifest chooses its Jetson-native build and start commands.Operator pages:
http://<robot-host>:50107/http://<robot-host>:8091/<robot-host>:50051<robot-host>:50081Static deployment checks do not start hardware:
RViz
The deploy keeps the complete v0.1 RViz configuration and an updated mapping variant. The updated file preserves the original map, costmap, scan, path, goal, TF, particle-cloud, and footprint displays, and adds the Soma-backed RobotModel plus the live MID-360
/scanner/clouddisplay.The unchanged historical configuration is
rviz/ranger_v0.1.rviz.Safety and bring-up order
The checked-in full manifest includes the chassis, Piper arm, Nav2, and skills; starting it exposes physical motion capabilities. Keep the hardware emergency stop available and clear the workspace before full bring-up.
After the chassis is powered on:
can_rangeris UP and odometry is publishing.Robot description
soma.yamlandurdf/ranger_mini.urdfare served by Soma. The description contains the body footprint and sensor tree used by Pilot and other consumers.urdf/piper.urdfis currently a separate arm-only model used by the IK solver; it is not a substitute for the Soma body tree. Mount transforms remain calibration-sensitive; update the body URDF after physical measurement rather than compensating in Scene or Mapping.