Commit Graph

28679 Commits

Author SHA1 Message Date
Lorenz Meier 03e9e10847 Add CLI tests for basic soak testing
This is in no way a complete test suite but is intended as a starting point to get minimal
test coverage for CLI handling tests in. This is necessary to QA the CLI handling
(e.g. removal of commands) and to ensure that we are exercising these code paths in
stack check and alike tests.
2021-01-15 10:57:20 -05:00
Julian Oes 5ae5c03c66 mavlink: handle param4/5 from mission_item_int
It turns out that we did not properly handle param4 and param5 if they
are transferred using mission_item_int if the frame is
MAV_FRAME_MISSION.
2021-01-15 10:57:20 -05:00
Beat Küng 12ebbd995d bmp388: wait a bit longer to schedule first cycle after reset 2021-01-15 10:57:20 -05:00
Beat Küng 529c3112ac bmp388: quiet if startup fails (no sensor on bus) 2021-01-15 10:57:20 -05:00
Thomas df41c99b61 make failsafe handling consistent over all VTOL types 2021-01-15 09:19:07 +03:00
Thomas 38e46ff341 Rename VtolAttitudeControl::abort_front_transition(const char *reason) to VtolAttitudeControl::quadchute(const char *reason) 2021-01-15 09:19:07 +03:00
Thomas Stauber 40fbfdc054 Undo make format change
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2021-01-15 09:19:07 +03:00
Thomas 83ddb77a5f delete excess empty lines 2021-01-15 09:19:07 +03:00
Thomas b90fafd5cd Fix quadchute logic so that it also works during back transition 2021-01-15 09:19:07 +03:00
Daniel Agar e96571b45d uavcannode: GPS working on cuav_can-gps-v1
- use sensor_gps directly from sensor rather than vehicle_gps_position (aggregated value)
2021-01-13 22:06:46 -05:00
Daniel Agar a0d8d5ac74 sensors/vehicle_gps_position: untangle and remove unnecessary state 2021-01-13 20:17:49 -05:00
Daniel Agar bc8ec5d1f5 uavcannode: support optical_flow 2021-01-13 19:35:28 -05:00
RomanBapst f05599caff tecs: use speed derivative provided by local position
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst e546584555 tecs: moved trivial getter methods to header file
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
Roman Bapst 701c105ab6 Update src/lib/tecs/TECS.cpp
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst fa559aef43 TECS: stop learing integrator if airspeed is not available, but don't zero it
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst d4d1c0fe01 TECS: some cosmetics
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 97cc1e25dd TECS: hande pitch and throttle integrator saturation consistently
- don't decay integrator during saturation but prevent it from being learned
into the direction which causes more actuator saturation

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 77627a08ca TECS: don't allow speed height weights to be larger than one
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer dca89763b3 TECS: apply FW_LND_THRTC_SC to altitude error time constant
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer 3d3ff75495 TECS: update some params to latest results from flight testing
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer 3102b9f071 TECS: remove throttle integral limits
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
RomanBapst 987c320825 TECS: removed unused parameter
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 5c4c2c240c tecs: dot not clip throttle integrator during saturation but only allow
it to propagate into a direction which does not saturate

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer 2ca4269464 TECS: separate integral gains for throttle and pitch loops
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
Silvan Fuhrer 72dfb2078a TECS: adapt params to new control structure
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-13 21:21:07 +03:00
RomanBapst 01f891618b TECS: move to new control loop architecture
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 447e14906c TECS: log more TECS states to enable better analysis
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst 8823f5e1ec TECS: added method to get SKE weighting
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
RomanBapst d0e8b882a2 TECS: added alpha filter classes to energy rate and tas derivative
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 21:21:07 +03:00
Julian Kent be0f5a7fe4 Fix implicit float->double conversions in tests 2021-01-13 10:26:10 +01:00
Julian Kent 2d6758a39d Cleanup of dataman mocks and check interval definition 2021-01-13 10:26:10 +01:00
Julian Kent a97a4d8bb8 Fix enum and param update 2021-01-13 10:26:10 +01:00
Julian Kent c745c8bb45 Small navigator refactor/cleanup 2021-01-13 10:26:10 +01:00
Julian Kent 04d859e36e Fix test failure from parameter autosave starting WQ 2021-01-13 10:26:10 +01:00
RomanBapst f97dcde4e2 GeofenceBreachAvoidanceTest: added tests for max dist to home
Signed-off-by: Julian Kent <julian@auterion.com>
2021-01-13 10:26:10 +01:00
RomanBapst 3fa15cec91 GeofenceBreachAvoidance: improve behavior when using max dist to home option
- ensure that the vehicle is loitering with sufficient clearance to the boundary

Signed-off-by: Julian Kent <julian@auterion.com>
2021-01-13 10:26:10 +01:00
Julian Kent a5dfa0c803 Add helper function for decel distances
Co-authored-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 10:26:10 +01:00
RomanBapst 0ac597fba8 Use new GeofenceBreachAvoidance from Navigator
Signed-off-by: Julian Kent <julian@auterion.com>
2021-01-13 10:26:10 +01:00
RomanBapst e536868104 Add GeofenceBreachAvoidance class
Signed-off-by: Julian Kent <julian@auterion.com>
2021-01-13 10:26:10 +01:00
Julian Kent 8622c21496 Move VelocitySmoothing to new motion_planning library
Co-authored-by: RomanBapst <bapstroman@gmail.com>
2021-01-13 10:26:10 +01:00
Jannik Beyerstedt 3834690c4b Add parameter to select the set of used GNSS systems 2021-01-13 08:33:07 +01:00
JacobCrabill 917fef546a uavcan: Remove single-GNSS limitation from UavcanGnssBridge 2021-01-12 22:04:52 -05:00
Daniel Agar a57b9f9381 delete drv_baro.h, drv_mag.h, drv_range_finder.h, drv_device.h and purge UAVCAN CDev usage 2021-01-12 22:04:52 -05:00
Beat Küng daaf8b61dc drivers: remove ism330dlc
not used anymore
2021-01-12 09:55:59 -05:00
Daniel Agar 48f125f150 estimated IMU bias preflight checks
- commander preflightcheck use estimator_sensor_bias message instead of EKF state index magic number
 - ekf2 publish estimated bias limits in estimator_sensor_bias
 - preflightcheck only error if bias estimate exceeds half of configured limit (delete COM_ARM_EKF_AB and COM_ARM_EKF_GB parameters)
2021-01-12 09:09:42 +01:00
Daniel Agar cb74cb8692 boards: enable CONFIG_ARMV7M_LAZYFPU everywhere 2021-01-12 09:04:38 +01:00
Daniel Agar abec2bd8df msg: estimator_status_flags shorten fields
- previously this message exceeded the logger total field length (1500 bytes)
2021-01-11 11:49:51 -05:00
Daniel Agar 04f9ada500 ekf2: selector improve fallback selection when the primary becomes unhealthy
- if an ekf instance becomes unhealthy prefer switching to the next best healthy instance on a different IMU
2021-01-11 09:38:26 -05:00
Daniel Agar 967d35a6b6 rate limit most parameter_update subscriptions
- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
 - limit modules from updating faster than once per second
2021-01-10 21:09:15 -05:00