Commit Graph

13526 Commits

Author SHA1 Message Date
Mathieu Bresciani 5adf23a6a8 Add gyroscope notch filter - IMU_GYRO_NF_(FREQ|BW)
* NotchFilter: add NotchFilter template and test for float type
* NotchFilterTest: add test for Vector3f notch filter
* PX4Gyroscope: add notch filter with IMU_GYRO_NF_(FREQ|BW) parameters to
set the notch center frequency and bandwidth
2020-01-06 16:53:36 -05:00
Nicolas MARTIN 031680a520 commander: remove ekf2 preflight ratio param units
Innovation ratios have no unit: it is a ratio of to squared base unit.
For example:
[COM_ARM_EKF_VEL] = [vel_innov]**2 / ([GATE_SIZE]**2 * [VEL_VAR])
= [m/s]**2 / ([1]**2 * [m/s]**2)
= [1]
2020-01-06 11:30:43 -05:00
Julian Oes 25ff013418 vmount: fix float casting, simplify loop 2020-01-06 16:24:36 +01:00
Julian Oes 30cadf5903 vmount: properly initialize last_active
If last_active is initialized at 0 it means that input via mavlink is
already enabled but that's generally not the case.
2020-01-06 16:24:36 +01:00
Julian Oes 7a69b85850 vmount: fix input for test command
It is most convenient to use a yaw angle relative to body for testing.
Also, we set stabilize_axis to true for testing.
2020-01-06 16:24:36 +01:00
Julian Oes 4753e02364 vmount: fix implicit double promotion 2020-01-06 16:24:36 +01:00
Julian Oes 14133380e2 vmount: set all DO_MOUNT_CONFIGURE params
We previously did not set param2 to param7 of DO_MOUNT_CONFIGURE.
2020-01-06 16:24:36 +01:00
Julian Oes 5836edc586 vmount: first step to support absolute angles
The mavlink spec now supports absolute angles as well, see:
https://github.com/mavlink/mavlink/pull/944
2020-01-06 16:24:36 +01:00
Matthias Grob 1484dfed6a FlightTasks: remove deprecated AutoLine mission task 2020-01-06 15:39:07 +01:00
Julian Kent 75d7a049c1 Use the new trajectory constraints to synchronize and limit velocities 2020-01-06 15:39:07 +01:00
Daniel Agar 89693258a9 landing_target_estimator: initialize all fields
- fixes Coverity CID 253911
2020-01-05 22:59:49 -05:00
Daniel Agar 0f3bb94ff7 uORB_test: initialize timings storage
- fixes Coverity CID 341740
2020-01-05 22:59:49 -05:00
Daniel Agar aaf5670e7d deprecate df_bmp280_wrapper and replace with in tree bmp280
- deprecate DriverFramework bmp280 driver (df_bmp280_wrapper)
 - update beaglebone blue and snapdragon flight eagle boards to use in tree bmp280
 - update posix (really just linux) and qurt I2C wrappers
 - tested on beaglebone blue
2020-01-05 13:33:12 -05:00
Jin Chengde 91e4da8885 fix compile error 2020-01-04 10:55:25 -05:00
Jin Chengde 57f3be3a69 fix bug if speed reach minium during ramp 2020-01-04 10:55:25 -05:00
Daniel Agar 156cf16265 logger: log all raw sensor data at a minimal rate 2020-01-02 13:15:02 -05:00
Daniel Agar f7cf1ffc41 drivers/uavcan: remove MAVLINK header dependency 2019-12-31 21:01:21 -05:00
Mathieu Bresciani 226169192a ekf2check: add COM_ARM_MAG_STR to en/disable mag field strength preflight check 2019-12-28 14:06:14 -05:00
Silvan Fuhrer 7bb952baed update airspeed usage to airspeed_validated (#13710)
* Mavlink: subscribe to airspeed_validated instead of airspeed topic

	This e.g. changes the way QGC displays the airspeed in case of an
	airspeed failure (0 instead of the last valid airspeed). It will
	always display the airspeed that's used currently in the control
	modules.

* FW land detector: move to subscribe to airspeed_validated instead of airspeed topic
	- the land detector checks further if the airspeed is NAN, in which case
	it sets the airspeed to 0 (min groundspeed, vz  and accel checks still
	have to pass.

* Fixed-wing land detector use airspeed_vaidated: addressed review comments
	- replaced ternary by conditional
	- set airspeed to 0 if airspeed_validated stops publishing

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:32:41 -05:00
Silvan Fuhrer 574b482fdb Navigator: make weather vane work in all auto modes, not just mission (#13761)
- rename of flag in position sp: from allow_weather_vane to disable_weather_vane
 - flag now doesn't have to be set for all auto modes, meaning that weather vane is also active outside of mission
 - flag is set before front transition to align with wp, and unset after alignment is over

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:13:15 -05:00
Matthias Grob ffff35a597 Unit tests: use EXPECT_FLOAT_EQ for float comparisons
as precaution to prevent failing tests because of small potential
rounding errors on certain platforms or compilares.
2019-12-26 12:53:07 +01:00
Matthias Grob ee62d0296f ControlMathTest: consistent short float literal notation 2019-12-26 12:53:07 +01:00
Matthias Grob ad148fdfad ControlMathTest: switch back to direct EXPECT_EQ calls for Vectors
Since the google test calls matrix::operator==()
which calls matrix::isEqual().
2019-12-26 12:53:07 +01:00
Lorenz Meier 1834c156d2 Simulator: Remove EKF2 based wait
This is cleaner and needs testing.
2019-12-26 10:16:58 +01:00
Julian Oes 3a228622b9 mavsdk_tests: fix verbose output 2019-12-26 10:16:58 +01:00
Julian Oes 8817f172ea simulator: cleanup and wait for startup
Unfortunately this commit contains two things:
1. Some cleanup and renaiming.
2. An additional wait until lockstep has been initialized.
   By waiting until HIL_SENSOR messages arrive including timestamps we
   stop the startup script and prevent other modules from running until
   time is set up. This should resolve some busy waiting by various
   modules and prevent races on initialization (e.g. the landing state
   being subscribed by mavlink before being published by the land
   detector).
2019-12-26 10:16:58 +01:00
bresch dab17d628d PreFlightChecker: update unit tests 2019-12-24 13:18:47 -05:00
bresch 8080615191 PreFlightChecker: add spike limit argument for innovation check and
increase optical flow test limits.
2019-12-24 13:18:47 -05:00
RomanBapst 4c35b3aadc navigator: do not use fixed wing acceptance readius if in rotary wing mode
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-12-24 12:52:10 -05:00
Daniel Agar 0e70578052 commander: move most static variables and parameters to class 2019-12-23 23:38:10 -05:00
Daniel Agar 386673e6c3 fix flt_cutoff_min -> flt_cutoff_max 2019-12-23 23:47:34 +01:00
Daniel Agar 93d392ff80 Update src/modules/rc_update/rc_update.cpp
Co-Authored-By: Beat Küng <beat-kueng@gmx.net>
2019-12-23 23:47:34 +01:00
Daniel Agar 607cb97758 Update src/modules/rc_update/rc_update.cpp
Co-Authored-By: Beat Küng <beat-kueng@gmx.net>
2019-12-23 23:47:34 +01:00
Daniel Agar 57fc98812d rc_update: cleanup parameter usage 2019-12-23 23:47:34 +01:00
Lorenz Meier acd18adc18 Tests: Speed up boot
The previous boot configuration took at minimum one second to boot. This is in particular significant in tests when the system is often started and stopped
2019-12-23 23:08:05 +01:00
Lorenz Meier 9ac68abd5c Fix float accuracy in ControlMathTest
The test was testing the result of 3D float vector operations with binary equality of the floating point numbers, which is not a valid assumption to make for floating point math. This change switches to proper comparisons with float accuracy and compares vectors using the norm of their difference.
2019-12-23 22:29:09 +01:00
Silvan Fuhrer e6b18fe2da mission feasibility checker: move checks for VTOL landing into separate function
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-23 21:47:16 +01:00
Julian Oes 3a37d0b560 navigator: improve if structure for vtol/mc/fw 2019-12-23 21:47:16 +01:00
Julian Oes f9aa12eaa9 navigator: don't allow Land together with RTL item
This is a check to protect a user from upload a mission which includes a
land_start marker as well as a RTL mission item.

This works around the problem that we experienced where the navigator
would switch to mission mode on RTL and start with land_start, and then
continue to the RTL item. At this point, navigator would send the
vehicle_command for RTL to commander which would deny it because it is
already in RTL mode. Thus navigator won't (re)set any items to actually
do RTL and it means the vehicle will just head to whatever setpoint it
received last.
2019-12-23 21:47:16 +01:00
Julian Oes f8c10b706a navigator: check fixedwing mission for VTOL
A VTOL mission can also contain a fixedwing landing. Therefore, I think,
it makes sense to run the fixedwing checks as well, however, don't check
for a landing start necessarily.
2019-12-23 21:47:16 +01:00
Matthias Grob de95e3d274 commander: remove manual mode before geofence handling 2019-12-23 12:18:27 -05:00
Jin Chengde 34121e655b FW runway takeoff: add negative for min to support tricycle landing gear
- if we used tricycle landing gear, we need the wheel to  touch the ground to control the direction
2019-12-23 11:47:11 -05:00
Julian Kent e4a526e3b2 Don't sleep in middle of mavlink message reception 2019-12-19 11:43:03 -08:00
Daniel Agar 7fd4db1881 commander: skip all mag checks if SYS_HAS_MAG is 0 2019-12-18 11:54:40 -08:00
Matthias Grob a46add9a93 PositionControl: isolate skip controller, leave away unnecessary include 2019-12-18 15:57:48 +01:00
Matthias Grob 8441bdb9b5 PositionControl: remove complicated internal control flags 2019-12-18 15:57:48 +01:00
Matthias Grob 83e51ad192 PositionControl: remove speed_xy constraint since it's anyways unused 2019-12-18 15:57:48 +01:00
Matthias Grob a4a9d50a97 ControlMath: refactor thrustToAttitude calculation 2019-12-18 15:57:48 +01:00
Matthias Grob ab4473319a Takeoff: add proper unit test 2019-12-18 15:57:48 +01:00
Matthias Grob 42dbddb156 mc_pos_control: adopt to module internal include convention 2019-12-18 15:57:48 +01:00