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