How cunuduh/hurricane-template works
Hurricanes is VEX V5 robot-control software. Its user-facing workflow selects an autonomous routine in the on-robot UI, loads and runs the routine’s actions, and drives the robot through chassis control; operators can also control the robot directly. The repository separates route/routine handling, action execution, motion control, and localization. Source excerpts support the main calls and data flow, but omit some wiring in the robot entry point and UI, so uncertain connections are left out.
Main entry points: chassis.rs Chassis control · main.rs Robot entry point · plan.rs Action executor · autonomous.rs Autonomous motion
Components 17
Selection and routines
- Robot entry point
src/main.rs - Route selector UI
src/ui/ui.slint - Routine loader
src/routines/mod.rs - Autonomous routines
src/routines
Autonomous execution
- Action executor
src/plan.rs - Action triggers
src/triggers.rs
Motion and control
- Chassis control
src/chassis.rs - Driver controls
src/driver_control.rs - Autonomous motion
src/autonomous.rs - Motion profiles
src/motion_profile.rs - Path interpolation
src/utils/path.rs - PID controller
src/pid.rs
Localization
- Odometry
src/odometry.rs - Particle localization
src/mcl.rs - Pose and motion state
src/odometry.rs
Other components
- Robot operator
- VEX V5 hardware
Connections 22
- Robot operator → Route selector UI: selects route
- Robot entry point → Route selector UI: creates UI
- Route selector UI → Robot entry point: reports selection
- Robot entry point → Routine loader: lists routines
- Autonomous routines → Routine loader: provides routine data
- Routine loader → Action executor: returns actions
- Robot entry point → Action executor: runs actions
- Action executor → Chassis control: issues motion commands
- Action executor → Action triggers: arms triggers
- Action triggers → Chassis control: applies trigger actions
- Robot entry point → Driver controls: runs driver control
- Driver controls → Chassis control: sets drive and intake
- Chassis control → Autonomous motion: delegates motion
- Autonomous motion → Motion profiles: uses profiles
- Motion profiles → Path interpolation: interpolates paths
- Autonomous motion → PID controller: computes feedback
- Chassis control → Odometry: updates pose
- Chassis control → Particle localization: updates localization
- Particle localization → Pose and motion state: estimates pose
- Odometry → Pose and motion state: tracks pose
- VEX V5 hardware → Chassis control: provides sensor readings
- Chassis control → VEX V5 hardware: commands actuators