diff --git a/Project-Status.md b/Project-Status.md new file mode 100644 index 0000000..d138b03 --- /dev/null +++ b/Project-Status.md @@ -0,0 +1,66 @@ +# Project Status + +**Last updated:** 2026-02-28 + +## Quick Summary + +| Phase | Status | Progress | +|-------|--------|----------| +| Phase 1: Self-Balancing Firmware | **COMPLETE** | 10/10 features merged | +| Phase 1.5: Mechanical + Platform | **90% done** | 2 PRs awaiting Salty's review | +| Phase 2: Autonomous Navigation | **Not started** | Waiting on Phase 1 hardware test | +| Phase 3: Multi-Variant | **Not started** | Branch structure ready | + +## What's Working (in firmware) +- IMU sensor fusion (MPU6000 complementary filter, CW270-corrected) +- PID balance control with USB terminal tuning (P/I/D/T/M commands) +- Safety: hardware watchdog (50ms IWDG), arm interlock (3s hold), tilt cutoff +- Motor driver: FOC ESC differential drive with steer ramping +- USB CDC telemetry: pitch, roll, yaw, error, integral, motor output as JSON @10Hz +- Gyro boot calibration (1000-sample bias removal — kills yaw drift) +- Status LEDs: solid = OK, blink = error +- Auto-detect magnetometer (QMC5883L/HMC5883L/IST8310) + barometer (BMP280/BME280) +- 3D web UI: real-time orientation visualization with yaw reset + +## What's Ready (not yet tested on hardware) +- OpenSCAD base plate (270x240mm) with D-cut dropout clamps +- Vertical stem + battery carousel (2-4 packs of 420x88x56mm) +- Jetson Nano Docker environment (JetPack 4.6 + ROS2 Humble) +- STM32-to-Jetson serial bridge (USB CDC → ROS2 /saltybot/imu topic) +- RealSense D435i + RPLIDAR A1M8 ROS2 launch files + configs +- SLAM technical plan (RTAB-Map primary, ORB-SLAM3 fallback) + +## What's Next +1. **Flash firmware and first balance test** (Tee + Salty, on the real robot) +2. **CRSF RC integration** (sl-firmware) — manual control via BetaFPV ELRS +3. **Jetson ↔ STM32 command protocol** (sl-jetson) — speed/steer from Nav2 +4. **RTAB-Map SLAM** (sl-perception) — indoor mapping with RealSense + RPLIDAR + +## Open Issues +See [Issues](https://gitea.vayrette.com/seb/saltylab-firmware/issues) for current list. + +## Open PRs +See [Pull Requests](https://gitea.vayrette.com/seb/saltylab-firmware/pulls) for pending reviews. + +## All PRs (merged) + +| PR | Title | Agent | Status | +|----|-------|-------|--------| +| #1 | SLAM setup technical plan | sl-perception | Merged | +| #2 | MPU6000 sensor fusion | sl-controls | Merged | +| #3 | Runtime PID tuning via USB | sl-controls | Merged | +| #4 | Safety systems (watchdog, interlock, tilt) | sl-controls | Merged | +| #6 | USB CDC TX fix (first pass) | sl-firmware | Merged | +| #7 | Parametric chassis frame | sl-mechanical | Merged | +| #8 | Jetson Nano platform setup | sl-jetson | Merged | +| #10 | USB CDC DCache fix (MPU non-cacheable) | sl-firmware | Merged | +| #11 | Prototype base plate + stem + battery carousel | sl-mechanical | Under review | +| #14 | Roll axis + yaw telemetry | sl-firmware | Merged | +| #16 | STM32 serial bridge | sl-jetson | Merged | +| #17 | RealSense + RPLIDAR drivers | sl-perception | Merged | +| #19 | Motor driver (differential drive) | sl-controls | Merged | +| #20 | CW270 axis mapping | sl-firmware | Merged | +| #25 | Gyro boot calibration | sl-controls | Merged | +| #26 | Status LEDs | sl-firmware | Merged | +| #27 | Magnetometer + barometer auto-detect | sl-firmware | Merged | +| #29 | Multi-variant branch strategy | sl-firmware | Under review |