- 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>
81 lines
2.8 KiB
Markdown
81 lines
2.8 KiB
Markdown
# 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)
|