Actuator bench (phase 2)
Phase 2 of the plan: measure one RS04 and one RS03 before buying the rest. The scripts here are untested until the actuators arrive; they stay marked so until they have run.
Read docs/safety.md first. On the bench: the motor bolted to a fixture, the e-stop in reach, low torque limits for the first run.
- Bench supply at 48 V with a regen clamp (brake resistor or TVS at ~56–58 V), through the e-stop contactor.
- One isolated USB-CAN adapter (or the Orin’s on-board CAN with a 3.3 V transceiver), 120 Ω termination at both ends of the bus.
- Bring the bus up:
sudo ip link set can0 up type can bitrate 1000000 pip install -e ".[bench]"(python-can)
The driver is robot/drivers/robstride.py (Robstride’s private protocol from the official manuals; frame encoding covered by tests/test_robstride.py).
| Test | Command | What it decides |
|---|---|---|
| Scan | bench_robstride.py scan |
Motor IDs and wiring |
| Latency | bench_robstride.py latency --channel can0 --id 1 --model RS04 --rate 500 |
Command-to-feedback round trip on the Orin; whether USB-CAN adapters are good enough or a microcontroller bridge is needed (decisions: six motor buses) |
| Step | bench_robstride.py step --channel can0 --id 1 --model RS04 --kp 150 --kd 5 |
Fits armature, friction and effective gains for sim/isaaclab/marvin_bot/robot_cfg.py and the MuJoCo checks |
| Thermal | bench_robstride.py thermal --id 1 --model RS04 --torque 47 --minutes 10 |
Whether the RS04 holds the ~47 N·m slow-stair knee load (118% of rated) without overheating, and how much heat sinking the knee needs (roadmap open item 11) |
Also to measure by hand: output backlash (dial indicator on a lever arm), the actual mass, and the output flange and mounting dimensions against the STEP model.
Raw logs go to bench/data/ (git-ignored); write a short summary of each run to bench/results/ and update description/actuators.yaml with measured values (verified: bench).
This page is generated from bench/README.md in the repository.