Install
From a DimOS source checkout, install the manipulation dependencies:skip
Prepare the CAN interfaces
Bring up both interfaces and verify their status:skip
can1 and right arm on can0. Linux names
USB CAN adapters in enumeration order, so confirm the mapping whenever adapters
are reconnected. A swapped mapping can command the wrong arm.
Run with fake hardware
Run keyboard teleoperation in simulation mode:skip
skip
https://<host-ip>:8443/teleop in the Quest browser. Accept the local
certificate warning if prompted.
Run physical hardware
The keyboard blueprint selects physical hardware when--simulation is absent
and uses the default CAN mapping:
skip
skip
--can-port option does not configure OpenArm. Other OpenArm blueprints do not
currently expose per-arm remapping options, so use the Quest blueprint when the
machine’s interface names differ from the defaults.
Controls and runtime behavior
Quest uses one bimanual IK task for both arms. Hold both controllers’ primary buttons to engage it. Releasing either button stops arm and gripper output and clears both controller references. Each controller trigger operates the gripper on the same side. Stale controller input, task preemption, E-STOP, or coordinator shutdown also clears the teleoperation session. Planned trajectories have priority 20 and preempt the Quest task at priority 10. Planning commands the fourteen arm joints; the grippers remain under Quest control. Keyboard teleoperation currently jogs the left arm while the right arm holds its anchor pose. The keyboard blueprint does not bind gripper controls.Available blueprints
Troubleshooting
The wrong arm moves
Stop the blueprint immediately. Confirm which USB adapter Linux assigned to each interface, then pass the corrected left and right ports to the Quest blueprint. Do not assumecan0 always identifies the same physical adapter.
One arm does not connect
Check both interfaces withdimos hardware can status. The Quest blueprint
requires both explicit ports for physical operation and rejects a partial
mapping.
Quest does not connect
Confirm that the headset can reachhttps://<host-ip>:8443/teleop, accept the
certificate warning, and check that the host firewall permits the connection.
Quest runs but the arms do not move
Confirm that both primary buttons remain held. If the model moves in Viser but hardware does not, inspect command-tracking and joint-limit warnings before raising any safety threshold.Motion is slow, unstable, or stops near a limit
Do not change the canonical startup pose to hide the symptom. Follow Pink IK Configuration and Tuning to verify the model, tune objective weights, and bound streaming commands. The shared Damiao hardware gate derives each angular joint limit from the robot URDF and clamps encoder feedback that is no more than0.05 rad outside
it. A larger excursion indicates a calibration, model, or encoder fault. The
adapter disables the motors, rejects further activation, and logs the affected
joint and bounds. Inspect the arm, then restart the blueprint or reconnect the
hardware before resuming motion.
