Browse Source

wind estimator: added airspeed and sideslip gate sizes for innovation tests

Signed-off-by: Roman <bapstroman@gmail.com>
sbg
Roman 7 years ago committed by Roman Bapst
parent
commit
372a519ac4
  1. 6
      src/modules/wind_estimator/wind_estimator_main.cpp
  2. 24
      src/modules/wind_estimator/wind_estimator_params.c

6
src/modules/wind_estimator/wind_estimator_main.cpp

@ -93,7 +93,9 @@ private: @@ -93,7 +93,9 @@ private:
(ParamFloat<px4::params::WEST_W_P_NOISE>) wind_p_noise,
(ParamFloat<px4::params::WEST_SC_P_NOISE>) tas_scale_p_noise,
(ParamFloat<px4::params::WEST_TAS_NOISE>) tas_noise,
(ParamFloat<px4::params::WEST_BETA_NOISE>) beta_noise
(ParamFloat<px4::params::WEST_BETA_NOISE>) beta_noise,
(ParamInt<px4::params::WEST_TAS_GATE>) airspeed_gate,
(ParamInt<px4::params::WEST_BETA_GATE>) sideslip_gate
)
static void cycle_trampoline(void *arg);
@ -274,6 +276,8 @@ void WindEstimatorModule::update_params() @@ -274,6 +276,8 @@ void WindEstimatorModule::update_params()
_wind_estimator.set_tas_scale_p_noise(tas_scale_p_noise.get());
_wind_estimator.set_tas_noise(tas_noise.get());
_wind_estimator.set_beta_noise(beta_noise.get());
_wind_estimator.set_tas_gate(airspeed_gate.get());
_wind_estimator.set_beta_gate(sideslip_gate.get());
}
int WindEstimatorModule::custom_command(int argc, char *argv[])

24
src/modules/wind_estimator/wind_estimator_params.c

@ -36,3 +36,27 @@ PARAM_DEFINE_FLOAT(WEST_TAS_NOISE, 1.4); @@ -36,3 +36,27 @@ PARAM_DEFINE_FLOAT(WEST_TAS_NOISE, 1.4);
* @group Wind Estimator
*/
PARAM_DEFINE_FLOAT(WEST_BETA_NOISE, 0.3);
/**
* Gate size for true airspeed fusion.
*
* Sets the number of standard deviations used by the innovation consistency test.
*
* @min 1
* @max 5
* @unit SD
* @group Wind Estimator
*/
PARAM_DEFINE_INT32(WEST_TAS_GATE, 3);
/**
* Gate size for true sideslip fusion.
*
* Sets the number of standard deviations used by the innovation consistency test.
*
* @min 1
* @max 5
* @unit SD
* @group Wind Estimator
*/
PARAM_DEFINE_INT32(WEST_BETA_GATE, 1);

Loading…
Cancel
Save