You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.6 KiB
70 lines
1.6 KiB
#!/bin/sh |
|
# |
|
# Standard apps for multirotors. Attitude/Position estimator, Attitude/Position control. |
|
# |
|
# NOTE: Script variables are declared/initialized/unset in the rcS script. |
|
# |
|
|
|
############################################################################### |
|
# Begin Estimator Group Selection # |
|
############################################################################### |
|
|
|
# |
|
# LPE |
|
# |
|
if param compare SYS_MC_EST_GROUP 1 |
|
then |
|
# |
|
# Try to start LPE. If it fails, start EKF2 as a default. |
|
# Unfortunately we do not build it on px4_fmu-v2 due to a limited flash. |
|
# |
|
if attitude_estimator_q start |
|
then |
|
echo "WARN [init] Estimator LPE unsupported, EKF2 recommended." |
|
local_position_estimator start |
|
else |
|
echo "ERROR [init] Estimator LPE not available. Using EKF2" |
|
param set SYS_MC_EST_GROUP 2 |
|
param save |
|
reboot |
|
fi |
|
else |
|
# |
|
# Q estimator (attitude estimation only) |
|
# |
|
if param compare SYS_MC_EST_GROUP 3 |
|
then |
|
attitude_estimator_q start |
|
else |
|
# |
|
# EKF2 |
|
# |
|
param set SYS_MC_EST_GROUP 2 |
|
ekf2 start |
|
fi |
|
fi |
|
|
|
############################################################################### |
|
# End Estimator Group Selection # |
|
############################################################################### |
|
|
|
# |
|
# Start Multicopter Rate Controller. |
|
# |
|
mc_rate_control start |
|
|
|
# |
|
# Start Multicopter Attitude Controller. |
|
# |
|
mc_att_control start |
|
|
|
# |
|
# Start Multicopter Position Controller. |
|
# |
|
mc_hover_thrust_estimator start |
|
mc_pos_control start |
|
|
|
# |
|
# Start Multicopter Land Detector. |
|
# |
|
land_detector start multicopter
|
|
|