Commit Graph

2338 Commits

Author SHA1 Message Date
PX4 BuildBot b5a5e8e45b Update submodule ecl to latest Fri Jun 5 00:39:52 UTC 2020
- ecl in PX4/Firmware (d4fcf77c546c31c4c0b813e5034c66581b3b2877): https://github.com/PX4/ecl/commit/c91c78dcf67dee85225ada6621b6fd19ec008fd5
    - ecl current upstream: https://github.com/PX4/ecl/commit/b3dc06d0cb572931000705ac04807eeae5e2401a
    - Changes: https://github.com/PX4/ecl/compare/c91c78dcf67dee85225ada6621b6fd19ec008fd5...b3dc06d0cb572931000705ac04807eeae5e2401a

    b3dc06d 2020-05-25 Roman Bapst - Added height above ground source bitmask indicating which sensor is used
62e15cb 2020-06-03 bresch - sensor_simulator: set IMU rate to 200Hz as this is the new value used in the Firmware
6126c19 2020-06-03 bresch - sensor_simulator: update EKF at IMU rate
59183f7 2020-06-02 Paul Riseborough - EKF: Reduce EKF-GSF vulnerability to large yaw gyro bias errors (#831)
d0ddda8 2020-05-29 Matthias Grob - tecs: fix typo init(i)alized
86fc94b 2020-05-24 Kamil Ritz - Remove tilt align from position innovation check
b024cdd 2020-05-25 Mathieu Bresciani - unit test: check that the accel bias is only learned when observable (#827)
2020-06-04 21:15:59 -04:00
Daniel Agar 31fe7af454 selectively increase optimization -Os -> -O2
- targetted at modules/libraries that benefit without drastically
increasing flash usage
 - ignored on boards with CONSTRAINED_FLASH set
2020-06-04 20:59:52 -04:00
Beat Küng 5ce006dd8b SYS_HITL: reserve value -1 for external HITL 2020-06-04 20:58:40 -04:00
Daniel Agar e34bdb4be9 move IMU integration out of drivers to sensors hub to handle accel/gyro sync
- IMU integration move from drivers (PX4Accelerometer/PX4Gyroscope) to sensors/vehicle_imu 
 - sensors: voted_sensors_update now consumes vehicle_imu
 - delete sensor_accel_integrated, sensor_gyro_integrated
 - merge sensor_accel_status/sensor_gyro_status into vehicle_imu_status
 - sensors status output minor improvements (ordering, whitespace, show selected sensor device id and instance)
2020-05-30 11:07:54 -04:00
Hamish Willee 14853539e3 CBRK_FLIGHTTERM: Does not affect takeoff failure safety detection (#14972)
* CBRK_FLIGHTTERM: Clarify does not affect takeoff failure safety detection

* FD_FAIL_P FD_FAIL_R - clarify apply on takeoff

* Improve param text

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-05-28 08:30:48 +02:00
Matthias Grob d92e66863a mc_pos_control: migrate MPC_*_VEL_* parameter to acceleration scaling
Before #14212 the velocity control gains used in the multicopter
position controller were defined as a scale between velocity error in
one axis (or it's integral and derivative respectively) and the unit
thrust vector. The problem with this is that the normalization of the
unit thrust vector changes per vehicle or even vehicle configuration
as 0 and 100% thrust get a different physical response. That's why
the gains are now defined as scale between velocity error
(integral/derivative) and the output acceleration in m/s².
2020-05-26 14:44:41 +02:00
Matthias Grob 88c21337fa Make all battery sensor drivers report their sample interval
To make use of the time abstraction in the leaky integrator.
2020-05-25 11:04:24 +02:00
Matthias Grob 4dc9ca69ab battery: use AlphaFilter class
Replace the filtered value calculations with calls to the class.
This will allow time abstraction.
2020-05-25 11:04:24 +02:00
PX4 BuildBot 10d67efd13 Update submodule ecl to latest Sat May 23 12:39:43 UTC 2020
- ecl in PX4/Firmware (1d49243ee21930dc1c0ba1f08a4c03284c4713c1): https://github.com/PX4/ecl/commit/600240d95f6dc08f82e5310b13e9406c4df0f00f
    - ecl current upstream: https://github.com/PX4/ecl/commit/c91c78dcf67dee85225ada6621b6fd19ec008fd5
    - Changes: https://github.com/PX4/ecl/compare/600240d95f6dc08f82e5310b13e9406c4df0f00f...c91c78dcf67dee85225ada6621b6fd19ec008fd5

    c91c78d 2020-05-21 Paul Riseborough - EKF: Allow reset of yaw to EKF-GSF later in flight
2020-05-23 13:18:36 -04:00
PX4 BuildBot a4c77056f6 Update submodule ecl to latest Wed May 20 16:46:07 UTC 2020
- ecl in PX4/Firmware (73de85e258590461b6fe14668df8de1fc9c54cb7): https://github.com/PX4/ecl/commit/24f2e60b7eff664d0035d5f75f410073be28d894
    - ecl current upstream: https://github.com/PX4/ecl/commit/600240d95f6dc08f82e5310b13e9406c4df0f00f
    - Changes: https://github.com/PX4/ecl/compare/24f2e60b7eff664d0035d5f75f410073be28d894...600240d95f6dc08f82e5310b13e9406c4df0f00f

    600240d 2020-05-20 Daniel Agar - EKF: resetGpsAntYaw() fix double promotion
39c09b8 2020-05-19 kamilritz - add basic gps yaw fusion test
21f49c2 2020-05-16 Kamil Ritz - Use resetQuatStateYaw during gps yaw reset
7f21364 2020-05-20 Carl Olsson - EKF: use initial wind uncertainty with no airspeed sensor (#823)
bf78044 2020-05-20 kritz - EKF: fix initialization of local position validity 2 (#820)
716caa5 2020-05-19 kritz - Refactor position resets (#822)
37d9cef 2020-05-19 Mathieu Bresciani - ekf: disable xy accel bias learning before takeoff (#818)
9788c3b 2020-05-15 Mathieu Bresciani - ekf: split accel bias learning in independant xyz components (#817)
19bbea7 2020-05-14 Paul Riseborough - Fix GPS altitude not fused if GPS checks fail and GPS is primary height source (#813)
2020-05-20 15:48:27 -04:00
Matthias Grob 17d4fd064f FlightTaskManualAltitude: add an optional stick tilt input filter 2020-05-20 19:30:19 +02:00
Julian Oes 44be9d5568 controllib: fix implicit cast warn with clang 10 2020-05-19 09:58:43 -04:00
kritz 3897030c6f Support odometry velocity in body and local frame (#14703)
* Update submodule ECL

* increase lower bound on EVV param
2020-05-13 12:43:02 +02:00
Daniel Agar 05886e053f mavlink_log_info: always print to console and merge with mavlink_and_console_log_info 2020-05-12 08:53:51 +02:00
PX4 BuildBot b933557f56 Update submodule ecl to latest Tue May 12 00:39:54 UTC 2020
- ecl in PX4/Firmware (286bf4f0b911fcc040788117ea79c432f6a95a83): https://github.com/PX4/ecl/commit/97b437233e6aad5ddb8a4511697a38ced7bc9b87
    - ecl current upstream: https://github.com/PX4/ecl/commit/03191847f9c162dedc2cb45ff775b75cbc9c8b36
    - Changes: https://github.com/PX4/ecl/compare/97b437233e6aad5ddb8a4511697a38ced7bc9b87...03191847f9c162dedc2cb45ff775b75cbc9c8b36

    0319184 2020-05-11 kritz - Fix ev_pos_obs_var(1) entry (#809)
440383f 2020-05-09 Kamil Ritz - Increase matrix library usage and remove white line
2020-05-11 22:11:19 -04:00
PX4 BuildBot 49981627dd Update submodule ecl to latest Sun May 10 12:39:42 UTC 2020
- ecl in PX4/Firmware (43bf631832ab836534f2197c286c1fd380872625): https://github.com/PX4/ecl/commit/12835b999e756ef631111c4fdd0ac1c72d68694d
    - ecl current upstream: https://github.com/PX4/ecl/commit/97b437233e6aad5ddb8a4511697a38ced7bc9b87
    - Changes: https://github.com/PX4/ecl/compare/12835b999e756ef631111c4fdd0ac1c72d68694d...97b437233e6aad5ddb8a4511697a38ced7bc9b87

    97b4372 2020-05-08 bresch - ekf: remove unused function
26d4fbc 2020-05-08 bresch - EKF: reduce scope of variable and remove redeclaration of member
edc8a88 2020-05-08 bresch - yaw_fusion: remove useless initialization
75c49b2 2020-05-08 bresch - ekf_helper: fuse double if
0e3bf28 2020-05-08 bresch - EKFGSF_yaw: cleanup initialization of member variables
2020-05-10 11:51:31 -04:00
Samuel Garcin b12a655c5b Notch filter Direct Form I implementation that support dynamic change of frequencies
* New NotchFilter methods ahead of RPMFilter implementation.
 * Added Direct Form I implementation that support dynamic change of frequencies.
 * Added update method to update frequency on an existing filter.
 * Added setCoefficients method to easily and efficiently create clones of a filter.
 * LowSide, HighSide, Onnotch and array tests testing the applyDF1 method.
2020-05-08 12:00:27 -04:00
PX4 BuildBot fa64c3862d Update submodule matrix to latest Thu May 7 00:38:16 UTC 2020
- matrix in PX4/Firmware (b14143229d5aa79e060c2bf65a2eb35f36b7a38c): https://github.com/PX4/Matrix/commit/d613055462bcbeacfd188cbd53de56c1dbc7b94d
    - matrix current upstream: https://github.com/PX4/Matrix/commit/2bee0d078cb6b0e6205d17145899ccbb15dbe380
    - Changes: https://github.com/PX4/Matrix/compare/d613055462bcbeacfd188cbd53de56c1dbc7b94d...2bee0d078cb6b0e6205d17145899ccbb15dbe380

    2bee0d0 2020-05-06 Matthias Grob - Quaternion: refactor multiplication to matrix multiplication style
2020-05-06 22:27:07 -04:00
Daniel Agar 9963bb6c40 parameters: lock shutdown earlier in param_save_default()
- this ensures the parameter file is closed properly before shutdown
2020-05-06 13:53:54 -04:00
PX4 BuildBot ce0e531d45 Update submodule ecl to latest Wed May 6 00:44:34 UTC 2020
- ecl in PX4/Firmware (476a51f32c96fe886edb70f7c7e0bf15f7ec67ad): https://github.com/PX4/ecl/commit/cda74868976d0f806d821960e71f58d0b2c40051
    - ecl current upstream: https://github.com/PX4/ecl/commit/12835b999e756ef631111c4fdd0ac1c72d68694d
    - Changes: https://github.com/PX4/ecl/compare/cda74868976d0f806d821960e71f58d0b2c40051...12835b999e756ef631111c4fdd0ac1c72d68694d

    12835b9 2020-05-01 Daniel Agar - cmake update CXX standard 11 -> 14
2020-05-05 23:31:23 -04:00
Daniel Agar ca998c1822 IMU: parameterize IMU integration time (IMU_INTEG_RATE)
- default integration rate now 200 Hz (5000 us interval)
 - set update rate for all drivers and simulators using PX4Accelerometer/PX4Gyroscope
2020-05-05 20:34:09 -04:00
Daniel Agar 466b5db36f uORB::Publication improvements and cleanup (#14784)
- create common uORB::PublicationBase
 - uORB::PublicationQueued types are now type aliases
 - ORB_PRIO use enum type everywhere to avoid accidental misuse
 - PX4Accelerometer/PX4Gyroscope/etc driver libs explicitly advertise on construction, unadvertise on destruction. This is a workaround for any potential issues that might appear when accel/gyro cdev and uORB indexing doesn't align.
2020-05-04 11:09:30 -04:00
rfu 8787780de4 some printf format and conversion fixes 2020-05-04 09:49:23 +02:00
rfu 90c3819df5 fxos8701cq + fxas21002c: add support for I2C 2020-05-04 09:49:23 +02:00
Daniel Agar 6dfe12d122 Revert "drivers/pwm_out: cleanup for multi-platform use" (#14812)
This reverts commit 0c8dcf94bc.
2020-05-02 23:42:51 -04:00
baumanta 200d905b63 delete ROTATION_YAW_293_PITCH_68_ROLL_90 as usage implies it is the same as ROTATION_ROLL_90_PITCH_68_YAW_293 2020-05-01 21:00:55 -04:00
baumanta 38a6304d53 cleanup unneccessary complicated formulations 2020-05-01 21:00:55 -04:00
baumanta c758da2391 add test for rotations, add new rotations, fix old rotations 2020-05-01 21:00:55 -04:00
baumanta c37424aff2 sort enum by mavlink MAV_SENSOR_ORIENTATION 2020-05-01 21:00:55 -04:00
Daniel Agar 0c8dcf94bc drivers/pwm_out: cleanup for multi-platform use 2020-05-01 20:53:35 -04:00
PX4 BuildBot c5341da813 Update submodule ecl to latest Fri May 1 00:39:52 UTC 2020
- ecl in PX4/Firmware (838a470e922076d18ad67a580b9cbab65e8e1f14): https://github.com/PX4/ecl/commit/8b6d665a1331f94091caf2f262e09d508eb8975c
    - ecl current upstream: https://github.com/PX4/ecl/commit/cda74868976d0f806d821960e71f58d0b2c40051
    - Changes: https://github.com/PX4/ecl/compare/8b6d665a1331f94091caf2f262e09d508eb8975c...cda74868976d0f806d821960e71f58d0b2c40051

    cda7486 2020-04-30 Paul Riseborough - EKF: Prevent yaw reset to GPS caused by loss of GPS data (#805)
2020-04-30 21:24:33 -04:00
Matthias Grob 81e576b63a rotation conversion: deconfuse roll 90 yaw 90 2020-04-29 10:12:50 +02:00
baumanta 48cf38d623 support mag power compensation with battery_status instance 1 2020-04-28 08:36:44 +02:00
baumanta 503bd15b82 change python script to calculate right params 2020-04-28 08:36:44 +02:00
PX4 BuildBot 97bdfd9cec Update submodule ecl to latest Mon Apr 27 12:39:40 UTC 2020
- ecl in PX4/Firmware (27232514fcaf04924ecb405e144615c23ac6e2e0): https://github.com/PX4/ecl/commit/8a9d961f0d7b0cf6371ab1fcd6d0d2ccb581d3d1
    - ecl current upstream: https://github.com/PX4/ecl/commit/8b6d665a1331f94091caf2f262e09d508eb8975c
    - Changes: https://github.com/PX4/ecl/compare/8a9d961f0d7b0cf6371ab1fcd6d0d2ccb581d3d1...8b6d665a1331f94091caf2f262e09d508eb8975c

    8b6d665 2020-04-26 kamilritz - Avoid subtraction of two uint
70d65ea 2020-04-16 kamilritz - Test:Increase GPS jump need for rejection
c19f40e 2020-04-15 Kamil Ritz - Add reset position test for GPS and VISION
78a6b9f 2020-04-15 Kamil Ritz - SensorSimulator: Fix GPS horizontal position step
050298f 2020-04-08 Kamil Ritz - Improve matrix library usage
5749273 2020-04-08 Kamil Ritz - refactor resetPosition
2020-04-27 10:19:22 -04:00
Daniel Agar cc62a52553 PX4Rangerfinder: delete unused CDev 2020-04-26 22:36:46 -04:00
Daniel Agar 3832214145 PX4Accelerometer/PX4Gyroscope: fix calibration offset for integrated FIFO case
This is a quick follow up fix to to a bug introduced by #14752. In the case of FIFO data (new IMU drivers) the calibration offset wasn't being applied correctly to the result of integrating the FIFO samples.

This slipped through basic sanity testing (simple bench testing, the test rack, and SITL CI) due to the calibration offsets being zeroed.
2020-04-26 13:24:51 -04:00
Daniel Agar 37d5d1b4d2 PX4Accelerometer/PX4Gyroscope: integrated data avoid loss of numerical precision 2020-04-26 14:28:50 +02:00
Daniel Agar 31f3a21849 update ecl/EKF with improved covariance prediction stability and change default IMU integration period 4000 us -> 2500 us
- bring in PX4/ecl#795 "EKF: Improve covariance prediction stability"
    - the ecl/EKF filter update period has changed from 8 ms to 10 ms
 - change default integration period 4000 us -> 2500 us (aligns with new EKF filter update period)
2020-04-23 13:55:34 -04:00
Mathieu Bresciani be2bb4a479 FlightTask: Fix ekf2 reset race condition during task switch (#14692)
* FlightTask: Fix ekf2 reset race condition during task switch

During a loss of GPS data when using GPS as primary height source,
the height is reset to baro and the local position gets invalid at the
same time. This triggers a switch to altitude flight task and a setpoint
reset.
This combination of events had the effect to ignore the height reset,
the large sudden height error could create an abrupt change of altitude
or even a crash.
The ekf2 reset is now done at the beginning of each update call.
2020-04-22 13:18:35 +02:00
Jin Chengde e82880d6d7 add new rotation (#14512)
* add new rotation  ROLL_270_YAW_180

fix compile error

fix rotation

modify roatation

* modify enum to 41
2020-04-22 09:03:55 +02:00
Matthias Grob 809b45eac8 FlightTasks: do not adjust tilt limit of the position control
Adjusting the tilt limit can lead to diverging position control
and should only be used by setting a sanity limit for the controller
and not to adjust during the descent phase of a Land or RTL.
Otherwise it leads to flyaways in important failsafe modes when
there's stronger disturbance e.g. wind.
2020-04-21 09:35:52 +02:00
Matthias Grob 630af7fb58 FlightTaskOffboard: fix header comment 2020-04-16 14:38:32 -04:00
mcsauder 6548fde024 Whitespace cleanup to quiet new blank line at EOF git hook. 2020-04-15 23:00:39 -04:00
Beat Küng 0c5fbf5954 fix param_translation: set address to 0 only on NuttX
On Linux it can be non-zero.
2020-04-14 10:16:01 -04:00
Daniel Agar 746b3124ab Update submodule matrix to latest Wed Apr 8 12:39:43 UTC 2020
- matrix in PX4/Firmware (222e0636c4b53ea18013f2bf0d35a798fab6ae76): https://github.com/PX4/Matrix/commit/a32892926c69ea0bad031fd9d7bfc915cc5e9b68
    - matrix current upstream: https://github.com/PX4/Matrix/commit/d613055462bcbeacfd188cbd53de56c1dbc7b94d
    - Changes: https://github.com/PX4/Matrix/compare/a32892926c69ea0bad031fd9d7bfc915cc5e9b68...d613055462bcbeacfd188cbd53de56c1dbc7b94d

d613055 2020-04-06 kamilritz - Add more assignment operators for slices
976ada4 2020-03-21 Matthias Grob - Matrix: min max comments and test style
fa7153e 2020-03-21 Matthias Grob - Matrix: omit min max nan case with same result
2020-04-08 16:25:00 -04:00
Daniel Agar cf37be8c44 ekf2 handle accelerometer clipping
- track clipping per IMU axis and pass through to ecl/EKF
 - update ecl/EKF to include delta velocity clipping changes (PX4/ecl#663)
2020-04-07 20:11:08 -04:00
Julian Oes 5927bb3635 battery: add requirements to ESCs as battery 2020-04-06 15:56:54 +02:00
Julian Oes f650b91718 battery: check source param inside battery lib
This moves the handling of the BAT%d_SOURCE param inside of the battery
library. Users of the library now pass the source instead of the flag
whether to publish. The battery library then checks if the source is
selected using the param and publishes accordingly.

Since we removed the strange system_source flag, we now need to look at
all batteries in commander.
For current estimation - I think - it makes sense to sum them up.
2020-04-06 15:56:54 +02:00
Julian Oes dcd34ed08d battery: add ESCs source, remove wrong unit 2020-04-06 15:56:54 +02:00