soarm_sdk stable
Python SDK for the Feetech STS/SCS serial bus servo protocol — port handling, packet framing, batch
calibration planning (ID reassignment, limits, torque, baud rate), and the tick↔radian conversion layer
everything else builds on. Ships a 7-tab Viser browser dashboard with live 3-D FK for homing, PID tuning,
and monitoring.
imu_sdk stable
Transport + firmware for M5StickC/ESP32 IMU boards (MPU6050/6500/6886/9250, 6- or 9-axis). Firmware
streams JSON over serial at ~100 Hz with on-device gyro bias calibration; orientation itself is computed
host-side by m5teleop's error-state Kalman filter.
m5teleop active
The integration point: a 50 Hz real-time loop wiring IMU → ESKF → cascade orientation controller → IK
(pink/pinocchio) → the arm over lerobot's SO100Follower, with a parallel Viser sim and full
Rerun logging. --record optionally streams frames into soarm_lerobot.
soarm_lerobot active
Dataset recording and imitation-learning training. TeleopRecorder detects episode
boundaries and writes LeRobotDataset episodes; dataset.py loads them into normalized,
chunked torch datasets for ACT and Diffusion Policy. Operates purely on recorded data — decoupled from
how it was captured.
camera_calibration stable
Standalone camera intrinsics and ArUco tooling: chessboard calibration, live detection monitor, marker
generation, webcam parameter estimation — a unified CLI, Rerun for all visualization (no
cv2.imshow, works headless). Not wired into the teleop pipeline; built for future eye-in-hand
and workspace-calibration work.
soarm_mjlab in progress
RL training of SO-ARM100 in MuJoCo via mjlab, targeting
deployment through soarm_sdk.RobotInterface — the same interface real hardware uses, so a
trained policy won't care whether it's driving sim or the physical arm. Phase 0 (repo scaffolding, uv-based
install tooling, CI) is done; Phase 1 (a sample "Reach" task carried end-to-end) is underway — see the
roadmap.
SO-ARM100 vendored, read-only
The hardware vendor's repo (TheRobotStudio),
tracked as-is: URDF/MJCF robot descriptions consumed by soarm_sdk's dashboard and
m5teleop's IK solver, plus CAD, 3D-print notes, and BOM/assembly docs for the physical arm.