This repository was archived by the owner on Oct 6, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Modules
Rui Pires edited this page Aug 13, 2025
·
6 revisions
Vehicle System (src/vehicle.cpp)
- Maintains vehicle state (VSS-aligned), actuates chassis/body.
- Publishes/subscribes via Zenoh.
Middleware (src/middleware.cpp)
- CAN → Zenoh: telemetry (e.g., speed, battery, lights).
- Zenoh → CAN: control (steering, throttle, lights).
- Configured by config/Zenoh/MiddleWareConfig.json.
Combined Controller (src/combinedControl.cpp)
- Threads:
- ManualControl (XboxController): reads inputs, exposes manual speed/steering.
- PIDController or MPCController: steering control (same behavior in current code; MPC is a drop-in alternative to PID).
- SpeedPidController: throttle control using desiredSpeed and currentSpeed.
- In SAE_0 / SAE_1_*: uses manual inputs. In higher levels: uses Detection outputs.
Detection (src/detection.cpp)
- Lane Detection: midpoint error (PID input) and trajectory line (MPC input).
- Object Detection: obstacle/road checks; supports ACC; emergency brake triggers.
- Signs/Lights: crops ROIs and classifies; feeds behavior (speed/brake).
- TrajectoryDefinition behavior by mode:
- SAE_4: can alter trajectory to avoid obstacles (re-routing).
- SAE_3: no obstacle-based re-routing (keeps nominal trajectory).
- SAE_2: planned; would require at least two lanes to allow safe lateral maneuvers.
Project Developed by Team02 @ SEA:ME Portugal - 2024 Cohort
A master-level curriculum empowering developers with practical, peer-driven expertise in embedded systems, autonomous driving, and mobility ecosystems.