mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-17 19:33:34 +08:00
Multi-EKF support (ekf2)
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
- in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
- new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
- sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
- existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
- ekf2 single instance mode is still fully supported and the default
Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
This commit is contained in:
co-authored by
Paul Riseborough
parent
d5245a22d3
commit
0f411d6820
@@ -141,6 +141,12 @@ then
|
||||
# Speedup SITL startup
|
||||
param set EKF2_REQ_GPS_H 0.5
|
||||
|
||||
# Multi-EKF
|
||||
#param set EKF2_MULTI_IMU 3
|
||||
#param set SENS_IMU_MODE 0
|
||||
#param set EKF2_MULTI_MAG 2
|
||||
#param set SENS_MAG_MODE 0
|
||||
|
||||
# By default log from boot until first disarm.
|
||||
param set SDLOG_MODE 1
|
||||
# enable default, estimator replay and vision/avoidance logging profiles
|
||||
|
||||
@@ -40,7 +40,7 @@ else
|
||||
# EKF2
|
||||
#
|
||||
param set SYS_MC_EST_GROUP 2
|
||||
ekf2 start
|
||||
ekf2 start &
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#
|
||||
# Start the attitude and position estimator.
|
||||
#
|
||||
ekf2 start
|
||||
ekf2 start &
|
||||
|
||||
#
|
||||
# Start attitude controller.
|
||||
|
||||
@@ -40,7 +40,7 @@ else
|
||||
# EKF2
|
||||
#
|
||||
param set SYS_MC_EST_GROUP 2
|
||||
ekf2 start
|
||||
ekf2 start &
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#
|
||||
# Start the attitude and position estimator.
|
||||
#
|
||||
ekf2 start
|
||||
ekf2 start &
|
||||
#attitude_estimator_q start
|
||||
#local_position_estimator start
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# Begin Estimator Group Selection #
|
||||
###############################################################################
|
||||
|
||||
ekf2 start
|
||||
ekf2 start &
|
||||
|
||||
###############################################################################
|
||||
# End Estimator Group Selection #
|
||||
|
||||
@@ -199,5 +199,5 @@ fi
|
||||
if [ $VEHICLE_TYPE = none ]
|
||||
then
|
||||
echo "No autostart ID found"
|
||||
ekf2 start
|
||||
ekf2 start &
|
||||
fi
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# Begin Estimator group selection #
|
||||
###############################################################################
|
||||
|
||||
ekf2 start
|
||||
ekf2 start &
|
||||
|
||||
###############################################################################
|
||||
# End Estimator group selection #
|
||||
|
||||
Reference in New Issue
Block a user