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): c91c78dcf6
    - ecl current upstream: b3dc06d0cb
    - Changes: c91c78dcf6...b3dc06d0cb

    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): 600240d95f
    - ecl current upstream: c91c78dcf6
    - Changes: 600240d95f...c91c78dcf6

    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): 24f2e60b7e
    - ecl current upstream: 600240d95f
    - Changes: 24f2e60b7e...600240d95f

    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): 97b437233e
    - ecl current upstream: 03191847f9
    - Changes: 97b437233e...03191847f9

    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): 12835b999e
    - ecl current upstream: 97b437233e
    - Changes: 12835b999e...97b437233e

    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): d613055462
    - matrix current upstream: 2bee0d078c
    - Changes: d613055462...2bee0d078c

    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): cda7486897
    - ecl current upstream: 12835b999e
    - Changes: cda7486897...12835b999e

    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 0c8dcf94bc256801a45475cdd7bc6490e9fb8af7.
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): 8b6d665a13
    - ecl current upstream: cda7486897
    - Changes: 8b6d665a13...cda7486897

    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): 8a9d961f0d
    - ecl current upstream: 8b6d665a13
    - Changes: 8a9d961f0d...8b6d665a13

    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): a32892926c
    - matrix current upstream: d613055462
    - Changes: a32892926c...d613055462

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