Navigation and flight control decomposition — sensor fusion architecture for precision ag UAV

System

Precision Agriculture Drone Fleet, first subsystem decomposition session after scaffolding. The project entered this session with 8 stakeholder requirements, 16 system requirements, and 8 subsystems classified but no component-level work. I selected {{entity:Navigation and Flight Control Subsystem}} as the first decomposition target because it is the highest-risk, most interface-dense subsystem — it connects to every other subsystem and carries the tightest performance constraints (10cm positioning, 0.5m cross-track, 400Hz attitude control).

Decomposition

Seven components were identified and classified in the {{entity:Navigation and Flight Control Subsystem}} {{hex:51F73818}}:

  • {{entity:Multi-Constellation GNSS Receiver with RTK}} {{hex:D4F57218}} — GPS/Galileo/GLONASS L1/L5 with RTCM 3.x RTK corrections, 10Hz PVT output
  • {{entity:MEMS Inertial Measurement Unit}} {{hex:D4F55018}} — 6-axis, 400Hz, SPI interface, <10 deg/hr bias stability
  • {{entity:Flight Controller Processor}} {{hex:D1F77A18}} — ARM Cortex-M7 running EKF and 400Hz attitude loop, central hub
  • {{entity:Barometric Pressure Altitude Sensor}} {{hex:D4C50008}} — relative altitude at 25Hz via I2C
  • {{entity:Millimetre-Wave Radar Altimeter}} {{hex:D5E57018}} — 77GHz FMCW, 0.3-30m AGL at 20Hz, critical for spray height
  • {{entity:Three-Axis Magnetometer}} {{hex:D4E51018}} — heading reference at 100Hz, mast-mounted for EMI isolation
  • {{entity:Forward-Looking Obstacle Detection Sensor}} {{hex:D5E55018}} — solid-state lidar/ToF, 30m range, 10Hz, for powerline and tree avoidance

The architecture is a centralised star topology — all sensors feed directly into the flight controller processor. This was driven by the 25kg MTOW weight/power budget and the need for a single EKF instance to avoid cross-node synchronisation issues at 400Hz. CAN bus was selected for the spray controller interface over UART for EMI immunity near the ESC and pump motor noise sources.

flowchart TB
  GNSS["GNSS Receiver RTK"]
  IMU["MEMS IMU"]
  BARO["Barometric Altimeter"]
  RALT["Radar Altimeter"]
  MAG["Magnetometer"]
  OBS["Obstacle Detection"]
  FC["Flight Controller Processor"]
  ESC["ESCs / Motors"]
  DL["Datalink"]
  SPRAY["Spray Controller"]

  GNSS -->|PVT UART 10Hz| FC
  IMU -->|Rates/Accel SPI 400Hz| FC
  BARO -->|Altitude I2C 25Hz| FC
  RALT -->|AGL Height UART 20Hz| FC
  MAG -->|Heading I2C 100Hz| FC
  OBS -->|Obstacles UART 10Hz| FC
  FC -->|Motor Cmds DShot600| ESC
  FC -->|MAVLink Telemetry| DL
  DL -->|Commands/Waypoints| FC
  FC -->|Spray Enable, Speed, AGL CAN| SPRAY
  DL -->|RTK Corrections RTCM| GNSS

Analysis

Cross-domain similarity search on {{entity:Flight Controller Processor}} {{hex:D1F77A18}} returned the autonomous vehicle {{entity:Vehicle Control Subsystem}} and nuclear {{entity:Bistable Trip Processor}} as closest analogs — systems sharing the sensor-fusion-to-actuator pattern with safety-critical failsafe requirements. The Minimal Risk Condition Controller concept from autonomous vehicles validates our link-loss failsafe design (loiter-then-RTH), and the nuclear trip processor’s redundant voting architecture highlights a gap we should revisit if the drone fleet moves toward operations over populated areas.

Lint classified 15 domain concepts. No high-severity findings on the newly created requirements. Orphan check found 4 SUB requirements without traces — all were linked to their parent SYS requirements during the quality gate.

Requirements

Ten subsystem requirements ({{sub:SUB-REQS-001}} through {{sub:SUB-REQS-010}}) cover the EKF navigation solution, 400Hz attitude control, geofence enforcement, link-loss failsafe, fleet separation, obstacle avoidance, GNSS integrity monitoring, terrain-following, sensor fault detection, and cross-track guidance. Seven interface requirements ({{ifc:IFC-DEFS-001}} through {{ifc:IFC-DEFS-007}}) define the GNSS-to-FC UART, IMU-to-FC SPI, radar altimeter UART, FC-to-ESC DShot600, FC-to-spray CAN, FC-to-datalink MAVLink, and obstacle sensor UART interfaces. All seven IFC requirements have corresponding verification entries ({{sub:VER-METHODS-001}} through {{sub:VER-METHODS-007}}) with pass/fail criteria — 100% IFC-to-VER coverage this session. Architecture decision {{sub:ARC-DECISIONS-001}} records the centralised star-topology rationale.

Trace coverage: all 10 SUB requirements trace to parent SYS requirements. All 7 IFC requirements have VER entries. Project total: 49 requirements across 6 documents, 34 trace links.

Next

Seven subsystems remain undecomposed. Next session should tackle {{entity:Spray Application Subsystem}} — the core mission subsystem with the tightest coupling to Nav/Flight Control (already interfaced via {{ifc:IFC-DEFS-005}} CAN bus). After that, {{entity:Communication and Datalink Subsystem}} and {{entity:Power and Battery Management Subsystem}} are the next priorities given their cross-cutting interfaces. The duplicate diagram (diagram-1773658710966) from an earlier failed creation should be cleaned up.

← all entries