Commit Graph

38 Commits

Author SHA1 Message Date
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 84fe64b1c2
create new multicopter rate controller module (mc_rate_control) split out of mc_att_control 2019-11-19 17:03:11 -05:00
Beat Küng 73102dc3c4 SYS_MC_EST_GROUP: add q estimator only option and activate on omnibus 2019-06-06 11:11:44 -04: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
mcsauder 1fe526b8eb Updated and added full stops to comments and did some comment/whitespace formatting in the startup scripts. 2018-07-31 09:06:03 +02: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
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
FantasyJXF 3f94818dcf spelling error;
as it is
2017-01-16 03:11:03 -08: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
Lorenz Meier 96f053273c Always start default mc apps 2016-07-06 13:30:58 +02:00
James Goppert f73af95b38 Added SYS_MC_EST_GROUP to allow fine grained algorithm selection. 2016-04-14 15:22:25 -04:00
Lorenz Meier 02652af758 Enable EKF2 if LPE and INAV are both off 2015-12-23 06:23:16 +01:00
jgoppert 0106be3e89 Added local position estimator. 2015-10-24 20:34:33 +02:00
Lorenz Meier eef07b7fd2 Remove outdated filter version check 2015-10-03 12:48:51 +02:00
Mark Whitehorn 2142fcddd3 add comment that EKF_att_estimator does not run on FMUv1 2015-05-21 12:41:50 -06:00
Andreas Antener 95803a774a update param docs, change default back to old ekf for inav based estimation 2015-05-06 11:37:02 +02:00
Lorenz Meier 9892f12d2e Attitude filter for multirotors: Let users choose between filters 2015-05-06 09:16:34 +02:00
Anton Babushkin dc2bb2a85e attitude_estimator_q added 2015-04-12 01:47:48 +02:00
Lorenz Meier f3b0b41a0d Make INAV configurable 2015-03-01 18:32:08 +01:00
Lorenz Meier 29aabbd762 MC: Use combined att / pos filter 2015-03-01 18:32:07 +01:00
Thomas Gubler 1915537281 initial port of multiplatform version of mc_pos_control 2015-01-28 16:32:20 +01:00
Thomas Gubler dcdde8ea88 Merge remote-tracking branch 'upstream/master' into ros_messagelayer_merge
Conflicts:
	src/modules/attitude_estimator_ekf/attitude_estimator_ekf_main.cpp
	src/modules/uORB/topics/vehicle_attitude.h
2015-01-21 14:41:03 +01:00
Johan Jansen 73c7b44f6a ROMFS: Corrected land detector startup scripts 2015-01-15 14:37:51 +01:00
Johan Jansen b5c7c6a15b ROMFS: Added the respective land detector to the startup scripts 2015-01-15 14:37:50 +01:00
Thomas Gubler 2b43e0fc30 autstart for mc_att_control_m 2015-01-09 09:15:48 +01:00
Lorenz Meier d4785d4b65 Use INAV as default to not break existing setups 2014-04-26 15:13:50 +02:00
Lorenz Meier 7b61c927f0 Renamed FW filter to EKF to express its generic properties, switched multicopters over to this filter for first tests. 2014-04-19 16:13:13 +02:00
Lorenz Meier 0982b081b8 ROMFS cleanup to eleminate excessive comments and resulting flash usage 2014-02-01 15:46:04 +01:00
Anton Babushkin 42f4f45979 mc_att_control_vector renamed to mc_att_control 2014-01-19 10:44:57 +01:00
Anton Babushkin 43d751737b rc: use vector control apps for multirotors 2014-01-18 00:05:04 +01:00
Anton Babushkin b5d56523bc Init scripts cleanup, WIP 2014-01-10 13:18:34 +01:00
Anton Babushkin 4cffd99db9 Major autostart rewrite 2014-01-08 20:55:12 +01:00