33 Commits

Author SHA1 Message Date
Daniel Agar
78bbb66568 delete SYS_MC_EST_GROUP
- introduce per module parameters (EKF2_EN, LPE_EN, ATT_EN)
 - add basic checks to prevent EKF2 + LPE running simultaneously
2024-04-15 16:06:08 -04:00
Thomas Stastny
82fd2987c9
fw pos control: revert name until we delineate this module a bit more (#21442) 2023-04-13 17:00:04 +02:00
Konrad
6bdeb43e0d fw_path_navigation: Remove explicit L1 mentioning. 2023-02-09 17:51:55 +01:00
JaeyoungLim
21e88f64b4
Add new fixed wing rate control module (fw_rate_control)
* Fixedwing rate control into a separate module
* Start fw_rate_control for vtol
* Move over airspeed related parameters to fw_rate_control

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2023-01-04 11:14:00 -05:00
Daniel Agar
cac9c51ac8 ROMFS: purge old mixing system
- SYS_USE_IO is now off by default (enabled by default per board)
2022-09-09 09:14:09 -04:00
Beat Küng
230aae580f ROMFS: add control_allocator to all types 2021-12-24 20:06:13 -05:00
Daniel Agar
9c15be22d6 mc_autotune_attitude_control: add new MC_AT_EN parameter to enable
- only enabled by default on boards that aren't memory constrained
2021-11-05 09:52:07 -04:00
bresch
55f0860c31 fw atune: add fixed-wing auto-tuning module 2021-10-25 13:41:31 +02:00
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