What it does
The on-robot control core runs a bounded number of navigation sessions. Each session follows the same spine: path → kinematics → 33-step movement pattern, repeated gate after gate until the session budget is spent.
- Grid navigation with Dijkstra pathing between gates.
- 12-joint kinematics — forward and inverse for the full leg chain (shoulder → knee → foot).
- Gate controller sequences the session through the course.
- C++20 core — bounded session count, CSV/JSON/log output next to the binary or in
data/.
Drivetrain
Limit moves on 12 × GIM6010-8 mini planetary gear motors.
| Parameter | Value |
|---|---|
| Product | Mini Planetary Gear Motor — model GIM6010-8 |
| Rated voltage | DC 24 V (operating range 16–28 V) |
| Power | 65 W |
| Rated torque | 5 N·m |
| Pole pairs | 14 |
| Reduction | 8:1 planetary |
| Count | 12 (two per leg × 4 legs) |
Power
- Battery power of 20 V during usage; cord power for testing.
- Two separate bus bars: one for power distribution, one for the CAN bus protocol.
- Internal systems draw 5 V and 12 V rails.
- Docking/charging station is on the future list.
Kinematics
The canonical joint ordering, joint_id → leg/joint map, and full model description live on the Robot Model page — use it as the single source of truth for all downstream consumers.
Each leg is a two-link chain (hip/shoulder → knee) solved with standard rotation matrices
(H₁, H₂ per joint), applied to every leg. Foot rest positions in the body frame (mm):
| Foot | x | y | z |
|---|---|---|---|
| Left front | 130 | −105 | −185 |
| Right front | 130 | +105 | −185 |
| Left rear | 240 | −105 | −185 |
| Right rear | 240 | +105 | −185 |