PX4 multicopter architecture
graph TB ae116490ba03c5f4["**PX4 flight tasks** *src/modules/flight_mode_manager/tasks*"] 434ff88222946ffb["**PX4 navigator** *src/modules/navigator*"] cc28589a8370674b["**PX4 commander** *src/modules/commander*"] f4035bbf1402afc2["[[PX4 attitude control|PX4 attitude control]] *src/modules/mc_att_control*"] 46c8ab24d8476bf8["[[PX4 position control|PX4 position control]] *src/modules/mc_pos_control*"] 1135d777c21b2163["[[PX4 rate control|PX4 rate control]] *src/modules/mc_rate_control*"] 70d0d365670d72bf["**[[PX4 mixer code|PX4 mixer]]** *src/lib/mixer/MultirotorMixer*"] 9b095293a1300801["**Motor output drivers** *src/drivers*"] a1d3c0735e5e8d7d["[[PX4 EKF2|PX4 state estimator]] *src/modules/ekf2*"] 17daaa3521cd3f55["[[PX4 sensor hub]] *src/modules/sensors*"] ae726977fa3c72b0["[[PX4 sensor drivers]] *src/drivers*"] ed2e8f3ff32f61be["[Source](https://px4.io/wp-content/uploads/2020/10/PX4-Developer-Summit-2020-Overview-of-multicopter-control-from-sensors-to-motors.pdf)"] ae726977fa3c72b0 --> |sensor_gyro sensor_accel sensor_mag sensor_baro vehicle_gps_position| 17daaa3521cd3f55 17daaa3521cd3f55 --> |vehicle_angular_velocity vehicle_acceleration sensor_combined vehicle_imu vehicle_magnetometer| a1d3c0735e5e8d7d a1d3c0735e5e8d7d --> |vehicle_attitude vehicle_local_position vehicle_global_position| 46c8ab24d8476bf8 cc28589a8370674b --> |vehicle_status| 434ff88222946ffb 434ff88222946ffb --> |position_setpoint_triplet| ae116490ba03c5f4 ae116490ba03c5f4 --> |trajectory_setpoint| 46c8ab24d8476bf8 46c8ab24d8476bf8 --> |vehicle_attitude_setpoint| f4035bbf1402afc2 f4035bbf1402afc2 --> |vehicle_rates_setpoint| 1135d777c21b2163 1135d777c21b2163 --> |actuator_controls| 70d0d365670d72bf 70d0d365670d72bf --> |actuator_outputs| 9b095293a1300801