WHACO separates directional planning from energy management. The planner sets heading. Our system modulates force — adapting to wind, fuel state, and mission geometry in real time.
WHACO operates downstream of any existing route planner. It receives a unit direction vector and replaces only the magnitude decision. No modification to the planner is required.
WHACO selects thrust magnitude from eight discrete modes based on real-time environmental sensing. Mode selection is stateless — no history buffer, no learned weights, no hidden state.
| Mode | Thrust | Trigger Condition | Purpose |
|---|---|---|---|
| RIDE | 20% | Strong tailwind (alignment > 3.0) | Harvest favorable conditions |
| CONSERVE | 30% | High fuel pressure (fuel_ratio < 0.5) | Extend range under depletion |
| BRAKE | 40% | Look-ahead: headwind increasing | Reduce burn before adverse zone |
| CRUISE | 55% | Default — neutral conditions | Baseline efficient transit |
| RECOVER | 55% | Post-anomaly stabilization | Smooth re-entry after override |
| BOOST | 75% | Look-ahead: tailwind increasing | Accelerate into favorable zone |
| SPRINT | 85% | Strong headwind + surplus fuel | Push through adverse conditions |
| PUNCH | 100% | Terminal approach or stall override | Prevent terminal spiraling / stall recovery |
Fuel consumption follows a quadratic cost model. This creates the asymmetry that WHACO exploits: small reductions in thrust yield disproportionate fuel savings.
WHACO continuously estimates whether remaining fuel is sufficient for mission completion at moderate thrust:
| Mode | Relative Fuel Burn | Relative Speed | Scenario |
|---|---|---|---|
| RIDE (20%) | 0.04× | Low | Strong tailwind does the work |
| CONSERVE (30%) | 0.09× | Low | Fuel critical — extend range |
| CRUISE (55%) | 0.30× | Medium | Efficient steady-state |
| SPRINT (85%) | 0.72× | High | Time-optimal in favorable conditions |
| PUNCH (100%) | 1.00× | Maximum | Terminal approach — mission-critical |
WHACO's mode selection logic is computationally trivial — a series of scalar comparisons with no matrix operations, no optimization loops, and no memory allocation.
| Property | Value |
|---|---|
| Compute per call | 15.1 microseconds |
| Memory allocation | Zero heap — stack only |
| State dependencies | None — stateless evaluation |
| Floating-point operations | ~20 comparisons + 3 divisions |
| Suitable for | Bare-metal MCU, RTOS, Linux companion, FPGA |
| Control loop compatibility | 50Hz (20ms budget) → 0.075% utilization |
WHACO exposes a single function call with minimal input requirements. All inputs are already available in standard autopilot telemetry streams.
| Component | Specification | Status |
|---|---|---|
| Autopilot | PX4 v1.14.3 (SITL + jMAVSim) | 7/7 pass |
| Insertion point | OFFBOARD velocity commands, thrust scaled by WHACO mode | Validated |
| Wind sensing | Groundspeed-based proxy (EKF2 fallback) + stall detection | Validated |
| Energy state | PX4 SYS_STATUS battery → fuel model mapping | Validated |
| Control rate | 50Hz companion loop, 10Hz telemetry capture | Validated |
| Telemetry | MAVLink: mode transitions, fuel_pressure, wind_alignment, battery, pos | Validated |