mote_hardware tools¶
Dev tools built alongside the hardware package. All use the SCServo SDK directly,
bypassing ros2_control. Run with ros2 run mote_hardware <tool>.
setup_ids¶
Guided first-time servo ID assignment. Sets the wheel IDs Mote expects: left = 7, right = 9 (matching LeKiwi). Fresh STS3215 servos all ship as ID 1, so they can't be told apart on a shared bus — this tool configures them one at a time, detecting whichever single ID is on the bus and reassigning it.
Connect only the left servo when prompted, then only the right. Safe to re-run
(it handles servos already at 7 or 9). Use swap_ids instead if both IDs are
already set but the wheels drive the wrong way round.
servo_debug¶
Interactive REPL for driving and inspecting individual servos. Useful for checking wiring, servo IDs, and direction conventions.
Commands: mv <id> <speed>, stop <id>, stopall, r <id>, m <id> [hz],
ping <lo> <hi>. Type help for the full list.
servo_ping¶
Non-interactive counterpart of servo_debug's ping — pings a fixed set of
servo IDs and exits 0 if every one responded, 1 otherwise. Used by the
startup self-check (mote_bringup self_check.py) to gate bringup on the drive
servos actually answering. Run the bus free (before bringup opens it).
Defaults: /dev/mote_servos 1000000, IDs 7 9 (the drive IDs in robot.yaml).
velocity_cal¶
Measures velocity_scale (the rad/s → raw servo units conversion factor) by
commanding a series of speeds and computing actual angular velocity from encoder
ticks. Lift the robot before running so the wheels spin freely.
Outputs a recommended velocity_scale value. Update it in:
- mote_description/urdf/mote.urdf.xacro
- mote_bringup/launch/mote_launch.py