Physical-robot observation

Record the running reBot Arm hardware-controller path—without touching CAN or motion.

This observer subscribes to the B601-RS joint-state and arm-status topics only when both come from the public hardware controller node. It never opens SocketCAN, publishes a command, calls a service, starts bringup or enables the arm.

Updated · RLSOK

Download the reBot Arm observer
01

Reject the public fake driver

The official Wiki-linked stack uses /reBotArmController for the physical B601-RS controller and /fake_rebotarm_rs_driver for its simulator. The observer requires exactly one publisher named /reBotArmController on both /rebotarm/joint_states and /rebotarm/arm_status.

That check prevents the repository's normal fake driver from being reported as a hardware-controller result. A different process can still imitate a ROS node name, so the owner's physical-session confirmation remains necessary.

02

Download and capture once

Pass the root of the checkout actually running; v3 records its commit, dirty state and origin. A physical B601-RS owner reported that ROS 2 Jazzy briefly returned an unknown publisher node name; v3 waits up to 20 seconds for identity to resolve, then still rejects missing or ambiguous publishers. The owner's original observation file has not yet been independently reviewed by RLSOK.

The v3 ZIP is 26,097 bytes with SHA-256 f08d545d163a668c8d2993da69294dffff2c7fa3ecde6dbff21c0d0f1be5b5b0. Run only while the owner already has the physical arm up for normal work.

curl -fLO https://github.com/realitywarden/rlsok/releases/download/rebot-status-observer-v3/rlsok-rebot-status-observer-v3.zip
curl -fLO https://github.com/realitywarden/rlsok/releases/download/rebot-status-observer-v3/rlsok-rebot-status-observer-v3.zip.sha256
sha256sum -c rlsok-rebot-status-observer-v3.zip.sha256
unzip rlsok-rebot-status-observer-v3.zip
cd rlsok-rebot-status-observer-v3/experimental/composable-shadow
source /opt/ros/jazzy/setup.bash
source /path/to/ReBot_Arm_DigitalTwin_RS/rebotarm_ros2_RS/install/setup.bash
python3 rebot_status.py   --source-root /path/to/ReBot_Arm_DigitalTwin_RS   --output rebot-status.json
03

What the file records

  • The six arm joints, positions, velocities, efforts and per-joint status codes.
  • Controller mode, enabled flag, control-loop flag, state machine and reported errors.
  • The two unique ROS publisher endpoints, message stamps, ROS environment and selected source commit.
  • A SHA-256 digest of the complete observation.
04

What it cannot prove

The file does not authenticate the physical chassis, RobStride motors, USB2CAN bridge or CAN peers. It does not test an emergency stop, prove safe motion, grant permission to move or establish customer acceptance.

Return rebot-status.json with confirmation that the physical B601-RS, normal can0 path and selected checkout were present. If the command fails, return the exact error instead of changing the robot setup for RLSOK.

Sources and verification scope

Source code and guides describe implementation and setup. Release notes identify reported checks and their limits. Publication alone does not establish customer use or physical-robot validation.

Frequently asked questions

Can this observer open can0 or enable the arm?

No. Its runtime creates subscriptions only and has no SocketCAN, publisher or service-client surface.

Will a normal fake-driver run pass?

No. The public fake driver's node name is rejected; both state topics must have the unique public hardware-controller node as publisher.

Does a passing JSON authenticate the physical arm?

No. Pair it with the owner's confirmation of the physical session, exact checkout and normal CAN path. ROS endpoint metadata is context, not hardware identity.

Continue with the relevant guide

Try the local example without an application. For setup or integration help, you can also contact us.