delete SYS_MC_EST_GROUP
Delete SYS_MC_EST_GROUP and introduce per module control. This opens up the possibility of having an invalid config (eg both EKF2 + LPE enabled), so I added a few basic checks in LPE & ATTQ init if the relevant topics are already published.
In general having centralized config parameters like SYS_MC_EST_GROUP just doesn't work well if we can't guarantee the relevant pieces are actually in the build.
This level of control should also be helpful for simulation setups that bypass the sensors pipeline + estimator.
Needs corresponding user guide updates. https://github.com/PX4/PX4-user_guide
#. ground test
- Utilization of equipment such as Pixhawk 6X, VN300, Lift&Cruise type VTOL, etc.
- Parameter settings a. SENS_VN_CFG : telem2 b. VN_MODE: INS c. SYS_HAS_MAG: 0 d. EKF2_EN: Disabled
- Sharing ground test results a. Global position and local position are marked as invalid in QGC b. Position control mode is not authorized
c. EKF2 on PX4 is still listed as enabled
data :
https://review.px4.io/plot_app?log=3cf95c17-3faa-48ad-a0b0-d7c41823c12a
@dagar I can update if you can tell me how we now enable the different estimators: EKF2, LPE, Q.
The places to update are:
- https://docs.px4.io/main/en/advanced/switching_state_estimators.html#how-to-enable-different-estimators
- https://docs.px4.io/main/en/advanced_config/tuning_the_ecl_ekf.html#how-do-i-use-the-ecl-library-ekf
- https://docs.px4.io/main/en/config_mc/racer_setup.html#estimator
- https://docs.px4.io/main/en/config_vtol/vtol_without_airspeed_sensor.html#optional-recommended-parameters
- https://docs.px4.io/main/en/ros/external_position_estimation.html#lpe-tuning-configuration
This showed up here https://github.com/PX4/PX4-user_guide/pull/3188#issuecomment-2060231751
Hello!
I just to happened to catch a bug that I think was added by the above commit. When the EKF2 module is not included in the build, it seems that this line causes the message ERROR [parameters] get: param 65535 invalid to flood the terminal, and adding the EKF2 module to the build fixes the issue.
I made the following edits as a temporary patch for myself, feel free to use it (or not, I have no stake in the game here lol):
int32_t param_ekf2_en = 0, param_ekf2_en_id = param_find_no_notification("EKF2_EN");
if (param_ekf2_en_id != PARAM_INVALID) {
param_get(param_ekf2_en_id, ¶m_ekf2_en);
}
Hope this helps :)
@bmelanman Thanks for reporting, I made a fix here: https://github.com/PX4/PX4-Autopilot/pull/23056