- docs/: rewrite AGENTS.md, wiring-diagram.md (SAUL-TEE arch); update SALTYLAB.md, FACE_LCD_ANIMATION.md, board-viz.html, SALTYLAB-DETAILED refs - cad/: dimensions.scad FC params → ESP32-S3 BALANCE params - chassis/: ASSEMBLY.md, BOM.md, ip54_BOM.md, *.scad — FC_MOUNT_SPACING/ FC_PITCH → TBD ESP32-S3; Drone FC → MCU mount throughout - CLAUDE.md, TEAM.md: project desc → SAUL-TEE; hardware table → ESP32-S3/VESC - USB_CDC_BUG.md: marked ARCHIVED (legacy STM32 era) - AUTONOMOUS_ARMING.md: USB CDC → inter-board UART (ESP32-S3 BALANCE) - projects/saltybot/SLAM-SETUP-PLAN.md: FC/STM32F722 → BALANCE/CAN - jetson/docs/pinout.md, power-budget.md, README.md: STM32 bridge → CAN bridge - jetson/config/RECOVERY_BEHAVIORS.md: FC+Hoverboard → BALANCE+VESC - jetson/ros2_ws: stm32_protocol.py → esp32_protocol.py, stm32_cmd_node.py → esp32_cmd_node.py, mamba_protocol.py → balance_protocol.py; can_bridge_node imports updated - scripts/flash_firmware.py: DFU/STM32 → pio run -t upload - src/ include/: ARCHIVED headers added (legacy code preserved) - test/: ARCHIVED notices; STM32F722 comments marked LEGACY - ui/diagnostics_panel.html: Board/STM32 → ESP32-S3 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
SaltyLab — Ideal Team
Project
SAUL-TEE 4-wheel wagon robot using ESP32-S3 BALANCE (PID/CAN master) and ESP32-S3 IO (RC/sensors), with Jetson Orin Nano Super for AI/SLAM.
Current Status
- Hardware: Assembled — ESP32-S3 BALANCE + IO, VESCs, IMU, battery, RC all on hand
- Firmware: Balance PID + VESC CAN protocol written, ESP32-S3 inter-board UART protocol active
- Status: See current bead list for active issues
Roles Needed
1. Embedded Firmware Engineer (Lead)
Must-have:
- ESP32-S3 firmware (Arduino / ESP-IDF framework)
- PlatformIO toolchain
- CAN bus protocol and VESC CAN integration
- Inter-board UART protocol (460800 baud, binary framed)
- Safety system design (tilt cutoff, watchdog, arming sequences)
Nice-to-have:
- VESC firmware / VESC Tool experience
- PID control loop tuning for balance robots
- ELRS/CRSF RC protocol
Why: Core firmware runs on ESP32-S3 BALANCE (PID/CAN master) and ESP32-S3 IO (RC/sensors). Need expertise in ESP32-S3 firmware and CAN bus integration with VESC motor controllers.
2. Control Systems / Robotics Engineer
Must-have:
- PID tuning for inverted pendulum / self-balancing systems
- Complementary filter / Kalman filter for IMU sensor fusion
- Real-time control loop design (1kHz+)
- Safety system design (tilt cutoff, watchdog, arming sequences)
Nice-to-have:
- VESC motor controller experience
- ELRS/CRSF RC protocol
- ROS2 integration
Why: Once USB is fixed, the balance loop needs real-world tuning. PID gains, filter coefficients, motor response curves, safety margins — all need someone with hands-on balance bot experience.
3. Perception / SLAM Engineer (Phase 2)
Must-have:
- Jetson Orin Nano Super / NVIDIA Jetson platform (JetPack 6)
- Intel RealSense D435i depth camera
- RPLIDAR integration
- SLAM (ORB-SLAM3, RTAB-Map, or similar)
- ROS2
Nice-to-have:
- Person tracking / following
- Obstacle avoidance
- Nav2 stack
Why: Phase 2 goal is autonomous navigation. Jetson Orin Nano Super with RealSense + RPLIDAR for indoor mapping and person following.
Hardware Reference
| Component | Details |
|---|---|
| BALANCE MCU | ESP32-S3 BALANCE (Waveshare Touch LCD 1.28, QMI8658 IMU) |
| IO MCU | ESP32-S3 IO (RC/sensors/LEDs board) |
| Motors | 2x 8" pneumatic hub motors |
| ESC Left | VESC left (CAN ID 68) |
| ESC Right | VESC right (CAN ID 56) |
| CAN Bridge | CANable 2.0 (Jetson USB → can0, 500 kbps) |
| Battery | 36V pack |
| RC | BetaFPV ELRS 2.4GHz TX + RX |
| AI Brain | Jetson Orin Nano Super + Noctua fan |
| Depth | Intel RealSense D435i |
| LIDAR | RPLIDAR A1M8 |
| Spare IMUs | BNO055, MPU6050 |
Repo
- Gitea: https://gitea.vayrette.com/seb/saltylab-firmware
- Design doc:
projects/saltybot/SALTYLAB.md - Archived bug doc:
USB_CDC_BUG.md(legacy STM32 era)