Commit Graph

25 Commits

Author SHA1 Message Date
Daniel Agar 4d7b875ee2 flight_mode_manager: merge with flight_tasks 2021-01-17 15:46:30 +01:00
Matthias Grob fa7170bc4f Add FlightModeManager
to separate out setpoint generation from controllers
2020-12-30 10:25:08 -05:00
Daniel Agar 0f411d6820 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>
2020-10-27 10:56:11 -04:00
Daniel Agar f9794e99f8 move hover_thrust_estimator to new module (mc_hover_thrust_estimator)
* MC_HTE: unitialize with hover_thrust parameter
* MC_HTE: constrain hover thrust setter between 0.1 and 0.9
* MC_HTE: integrate with land detector and velocity controller
* MCHoverThrustEstimator: Always publish an estimate even when not fusing measurements. This is required as the land detector and the position controller need to receive a hover thrust value.

* MC_HTE: use altitude agl threshold to start the estimator
local_position.z is relative to the origin of the EKF while dist_bottom
is above ground

Co-authored-by: bresch <brescianimathieu@gmail.com>
2020-03-11 21:20:54 -04:00
Daniel Agar 0cc250194d VTOL: explicitly start all FW & MC controllers in VTOL mode 2019-11-30 12:58:36 -05:00
Daniel Agar 84fe64b1c2 create new multicopter rate controller module (mc_rate_control) split out of mc_att_control 2019-11-19 17:03:11 -05:00
Silvan Fuhrer cedf14e2ba Airspeed Selector: repurpose wind estimator into an airspeed (selection, validation) module.
This new airspeed module does:
  -runns an airspeed validator for every airspeed sensor present, which checks measurement validity and estimates an airspeed scale
  -selects another airspeed sensor if for the current one a failure is detected
  -estimates airspeed with groundspeed-windspeed if no valid airspeed sensor is present
  -outputs airspeed_validated topic

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
Daniel Agar f032d0d9fc SYS_MC_EST_GROUP mark LPE unsupported and update airframes (#11925) 2019-04-29 11:50:36 -04:00
Julian Oes 3ebf030a02 ROMFS: change shebang from #!zsh to #!/bin/sh
This was required for shellsheck.
2018-12-19 07:36:43 +00:00
Daniel Agar abb3817d31 boards new split VENDOR_MODEL naming convention 2018-11-26 14:40:14 -08:00
Beat Küng 273988c124 SITL: move all models to unified rcS startup and remove old scripts 2018-08-13 21:50:14 -04:00
mcsauder 2512f6e30e Format and comment fw, mc, vtol, and ugv vehicle apps and default startup scripts. 2018-07-13 11:02:26 +02:00
Roman e504dc86b7 fw & vtol startup scripts: don't start wind estimator for now
- need to make some flash space for fmuv2 to avoid user confusion about
why it wind estimator only runs on some platforms

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman df3a3daa0f start wind estimator for relevant platforms
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Lorenz Meier 6fbf09d8da Fix LPE exception handling in ROMFS 2017-06-04 16:59:25 +02:00
Lorenz Meier c9a28fc0eb ROMFS: Reset the estimator param to EKF2 if LPE fails to start 2017-06-04 12:43:28 +02:00
Michael Schaeuble b0ee5256d5 Disable LPE in px4fmu-v2_default
With GCC 4.9 the binary is to large for the flash memory.
This is why we disabled LPE on that platform.
2016-12-09 18:59:42 +01:00
Beat Küng 66ffc834d3 startup scripts: remove INAV, start LPE if INAV selected 2016-11-08 11:17:07 +01:00
James Goppert f73af95b38 Added SYS_MC_EST_GROUP to allow fine grained algorithm selection. 2016-04-14 15:22:25 -04:00
sander e3eea62887 Add estimator selection logic to VTOL apps 2016-04-11 11:26:33 +02:00
tumbili c9526af7af start correct land detector for vtol 2015-11-25 13:41:57 +01:00
tumbili 1a2ea94c09 use multicopter landing detector for vtol 2015-08-14 07:36:16 +02:00
Andreas Antener 7e782fe92a adding landed detector for fixed wing so alt/posctl works 2015-08-06 20:49:00 +02:00
Simon Wilks 0abc215605 Replace the EKF attitude estimator as is no longer included. 2015-07-29 22:04:16 +02:00
Roman Bapst 48ba912f08 adapted and added ROMFS-scripts to support VTOL 2014-12-02 10:30:26 +01:00