Skip to main content

How-to guides

Recipes for specific problems. Each page assumes you have a working install, have done the Lite 101 lesson, and now have a concrete task in mind. How-tos skip the pedagogy that tutorials include — they go straight to the steps.

Bring-up & operations

GuideUse it when
First real-hardware bringupYou have the physical Lite robot on the bench and a workspace built. You want /lite/joint_states to flow and zero_torque_controller active.
Calibrate the zero poseThe URDF "joint zero" doesn't match where the robot's encoders read zero. You want to regenerate bar_bringup_lite/config/calibration.yaml.
Probe actuators on a CAN busYou suspect a wiring issue, a missing motor, or just want to scan all IDs on a bus before bringup.
Switch controllers without the FSMThe gamepad isn't in the loop. You want to call switch_controller directly to put the robot in DAMPING / STANDBY / REMOTE.

Manual control & debug

GuideUse it when
Drive a single joint with mit_slider_guiYou want to inject a position/velocity/effort/K/D combination by hand and see the actuator follow. Good for sanity-checking a freshly calibrated joint.
Live-visualize the robot (rerun / viser)You want the live kinematic chain on screen while the robot runs — for tuning, demos, or watching a policy from another machine.
Record experiments with rosbag (MCAP)You want a replayable trace — joints, FSM transitions, safety status, policy I/O — for offline analysis, regression baselines, or Foxglove Studio.

Diagnosis & recovery

GuideUse it when
Diagnose ENOBUFS / TX dropsThe plugin spams Network is down or you see tx_failed counters climb. Usually motor power is off or txqueuelen is too small.
Recover from a fault/safety_status reported BUS_OFF, RX_TIMEOUT, or TEMPERATURE_LIMIT and mode_manager auto-dropped to DAMPING.

Extension

GuideUse it when
Promote a Python policy to in-process C++You've validated a policy via bar_policy/remote_policy_runner and want the lower-latency C++ tier (RLPolicyController) to run the same ONNX.
Add a new joint to the URDFA new actuator goes on the robot. You need to wire it into the URDF, controllers YAML, and calibration.yaml.