Daniel Agar
fdd8afc542
cmake: px4_add_git_submodule add git index and HEAD as dependencies
...
- this ensures any submodule changes are caught
- fixes #17651
2021-08-21 14:49:51 -04:00
Christian Llanes
c0efbe1f9c
change PublicationMulti-> Publication as a temporary fix
2021-08-20 19:56:56 +01:00
David Sidrane
376b1c9987
rgbled_ncp5623c:Add comand line mapping of PWM to color
2021-08-20 10:15:57 -04:00
David Sidrane
8e04985940
rgbled_ncp5623c:Needs 2 retries
2021-08-20 10:15:57 -04:00
David Sidrane
74903cf215
rgbled_ncp5623c:Can change address, return actual
2021-08-20 10:15:57 -04:00
David Sidrane
cba78081af
rgbled_ncp5623c:Document support for ncp5623[c|b] parts
2021-08-20 10:15:57 -04:00
David Sidrane
78b76cb636
i2c_spi_buses:Support devices that may change address
2021-08-20 10:15:57 -04:00
David Sidrane
075cb39c34
vcm1193l:Bug Fix set default address
2021-08-20 10:15:57 -04:00
David Sidrane
8f4811daa8
px4_fmu-v5x:Newer HW Start BARRO on bus 2
2021-08-20 10:15:57 -04:00
David Sidrane
566d1499bc
px4_fmu-v6x:Use HB 10pin GPS rotation
2021-08-20 10:15:57 -04:00
David Sidrane
dc5fd25e8c
px4_fmu-v5x:Use HB 10pin GPS rotation
2021-08-20 10:15:57 -04:00
David Sidrane
1618933014
rcS:Scope netman to all 5X and 6X
2021-08-20 10:15:57 -04:00
Daniel Agar
69d1a73f85
Update submodule GPSDrivers to latest Fri Aug 20 12:39:20 UTC 2021 ( #18111 )
...
- GPSDrivers in PX4/Firmware (1cbb007b95d375ababeae79f753cfafae9a9a4de): https://github.com/PX4/PX4-GPSDrivers/commit/8af5336d3f112278fd321e2c512453f23a350540
- GPSDrivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/6fcf06894973240d45dc49d3b31565917dc8f2f6
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/8af5336d3f112278fd321e2c512453f23a350540...6fcf06894973240d45dc49d3b31565917dc8f2f6
6fcf068 2021-08-18 Femtomes - Femto_gps_driver: change UNLOGALL command
c51adac 2021-08-18 Oleg Evseev - nmea: add rtcm parsing and add debug ouput
2021-08-20 10:14:47 -04:00
Daniel Agar
df3608d38a
Update submodule mavlink v2.0 to latest Fri Aug 20 12:39:17 UTC 2021
...
- mavlink v2.0 in PX4/Firmware (31545f85fb ): https://github.com/mavlink/c_library_v2/commit/5095bcd856537330e66e6fc833a1c7bf689bf5ed
- mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/51204fc82bc89b6862ebf03a1f49e80c52feeecc
- Changes: https://github.com/mavlink/c_library_v2/compare/5095bcd856537330e66e6fc833a1c7bf689bf5ed...51204fc82bc89b6862ebf03a1f49e80c52feeecc
2021-08-20 09:05:23 -04:00
Daniel Agar
31545f85fb
gitmodules update NuttX branches to latest v10.1.0
2021-08-19 13:02:31 -04:00
Beat Küng
c4b91c8558
calibration params: avoid using NaN as default
...
- NaN is not supported by JSON, and leads to parsing failure in QGC.
- fixes https://github.com/PX4/PX4-Autopilot/issues/18095
2021-08-19 11:29:26 -04:00
Daniel Agar
507cce78d5
boards: px4_fmu-v6{u,x} fix test variant flash overflow and sync defaults
2021-08-19 11:25:21 -04:00
Daniel Agar
c4499aa7bb
uavcan: save parameter after successful set
2021-08-19 02:06:02 -07:00
Daniel Agar
06c2d14903
ekf2: multi-mode allow first instance to save EKF2_MAG_DECL
2021-08-19 10:14:35 +02:00
Daniel Agar
1af2ecaff6
boards: px4_fmu-v5_test disable attitude_estimator_q and local_position_estimator to save flash
2021-08-18 19:31:24 -04:00
Christian Llanes
6423ea50e6
add sensor_combined to urtps_bridge_topics.yaml
2021-08-18 23:52:45 +01:00
Daniel Agar
3423c5e48a
boards: nxp_fmurt1062-v1_default disable attitude_estimator_q and local_position_estimator to save flash
2021-08-18 18:06:22 -04:00
Daniel Agar
3fc4ee6c90
boards: px4_fmu-v6x_default disable attitude_estimator_q to save flash
2021-08-18 18:01:14 -04:00
Daniel Agar
4c401b070e
boards: cuav_can-gps-v1 delete unused debug variant
2021-08-18 17:40:33 -04:00
Beat Küng
7b9d16d2f8
fix gps: remove Wno-cast-align & fix it
2021-08-18 12:24:17 -04:00
Beat Küng
4b49f9261e
gps: add generic nmea driver
2021-08-18 12:24:17 -04:00
Beat Küng
22e2fc9465
gps: add missing case & arguments for femtomes driver
2021-08-18 12:24:17 -04:00
Daniel Agar
49f81a9e0e
boards: px4_fmu-v2_default disable load_mon to save flash
2021-08-18 12:20:13 -04:00
Daniel Agar
7b8ef07235
github actions: add all CAN nodes
2021-08-18 12:17:46 -04:00
Claudio Micheli
2607527d63
Commander: improve user notification for yaw emergency
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-08-18 10:16:02 -04:00
Hyungsub
d089d4a6a4
fix memory bugs in replay and bl_update
2021-08-18 07:45:51 +02:00
alexklimaj
810dbbd25b
AFBR mode switching, rate switching, and test
2021-08-17 19:38:33 -04:00
Hamish Willee
c1f588806a
BAT_ADC_CHANNEL should point to BAT1_I_CHANNEL
2021-08-17 19:35:11 -04:00
Daniel Agar
cb610caf1e
drivers: minimize additional I2C retries
2021-08-17 09:54:50 -04:00
Daniel Agar
8a8171c7aa
platforms/nuttx: px4_init initialize and reset all I2C buses
2021-08-17 09:54:50 -04:00
Daniel Agar
2b581ef407
platforms/nuttx: s32k14x & s32k1xx add i2c_hw_description.h
2021-08-17 09:54:50 -04:00
Daniel Agar
29616ec387
Jenkins: remove modalai_fc-v1 temporarily
...
- board test harness needs to be repaired
2021-08-16 21:45:37 -04:00
Beat Küng
474b0188f7
mixer_module: set MAX_CUSTOM_OPT_LEVEL
2021-08-16 11:05:39 -04:00
Beat Küng
f00f3d1a27
dshot: improve performance by removing extra motor_buffer array
...
Reduces CPU load by almost 1.5% @ 2khz on F4 and F7.
This changes the motor ordering on boards where the timer ordering does
not match the order of the timer usage in the channels defintion.
Only omnibus f4sd is affected.
2021-08-16 11:05:39 -04:00
Beat Küng
afed10618b
dshot: inline up_dshot_motor_data_set and up_dshot_motor_command
...
Slight performance improvement (~0.1% @1khz on F4)
2021-08-16 11:05:39 -04:00
Hamish Willee
8aecc64a73
generate uorb - support multiline descriptions
2021-08-16 08:29:44 +02:00
Hamish Willee
9c081ed24b
ekf2_timestamps.msg - make first line a complete sentence
...
Fixes the docs.
2021-08-16 08:29:44 +02:00
Hamish Willee
51fa834ac6
generate_msg_docs: generate better page title
2021-08-16 08:29:44 +02:00
Daniel Agar
ff39e27e2d
sensor calibration: save temperature at calibration time for monitoring
2021-08-15 11:19:24 -04:00
Daniel Agar
a76bcd3e01
CI fix renamed uorb_to_ros_rtps_ids.py -> uorb_to_ros_urtps_topics.py
2021-08-14 15:53:14 -04:00
Daniel Agar
c6931814fa
Jenkins: fix msg docs stash and archive
2021-08-14 15:18:57 -04:00
Daniel Agar
b98656ccb4
Jenkins: fix msg files stash
2021-08-14 14:58:57 -04:00
Daniel Agar
f2bae02f87
msg: purge unused qshell
2021-08-14 12:54:01 -04:00
Daniel Agar
5fb386a1bb
magnetometer/bosch/bmm150: free all perf counters
2021-08-14 11:42:53 -04:00
Daniel Agar
a83675c622
gyro_fft: improve scheduling
...
- move to high priority work queue (from low priority)
- schedule slightly more often to avoid missing messages
- perf counter include all FFT processing work
- lazily allocate gyro gap perf counters on initial sensor selection
2021-08-13 15:00:08 -04:00
David Sidrane
8952fa2935
rc.sensors:Fix Shell Check warning
2021-08-13 14:22:00 -04:00
David Sidrane
3c227b6f76
hardfault_log:Remove verbose output when CONSTRAINED_FLASH_NO_HELP is lit
2021-08-13 14:22:00 -04:00
David Sidrane
53c81d986e
atl_mantis-edu:Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
c4b810eef9
tap_esc_uploader:Use inttypes
2021-08-13 14:22:00 -04:00
David Sidrane
a7123f115c
sih:Fix type mismatch
2021-08-13 14:22:00 -04:00
David Sidrane
e8c418caaf
EKF:Use inttypes
2021-08-13 14:22:00 -04:00
David Sidrane
79f8865e65
px4_fmu-v2:All configs Use NO_HELP option to save flash
2021-08-13 14:22:00 -04:00
David Sidrane
3e9c8e401e
freefly_can-rtk-gps_canbootloader: Stub out printf to remove write dependancy
2021-08-13 14:22:00 -04:00
David Sidrane
518700b39b
platforms/nuttx/CMakeLists:Resolve fs->libc(strcat) libc->fs
2021-08-13 14:22:00 -04:00
David Sidrane
bb913ae11a
system_load:Track Dynamic PID hash
2021-08-13 14:22:00 -04:00
David Sidrane
e6d9c2b734
px4_fmu-v5_optimized: Fit in flash
2021-08-13 14:22:00 -04:00
David Sidrane
cf292bef07
px4_fmu-v6x: Update nsh defconfig NuttX 10.1.0+ CONFIG_NET_SOCKOPTS Automatic
2021-08-13 14:22:00 -04:00
David Sidrane
f5d679fae4
px4_fmu-v5x: Update nsh defconfig NuttX 10.1.0+ CONFIG_NET_SOCKOPTS Automatic
2021-08-13 14:22:00 -04:00
David Sidrane
cab2ba209e
px4_fmu-v5x: Update base_phy_DP83848C defconfig NuttX 10.1.0+ CONFIG_NET_SOCKOPTS Automatic
2021-08-13 14:22:00 -04:00
David Sidrane
53477a1f82
av_x-v1: Update nsh defconfig NuttX 10.1.0+ CONFIG_NET_SOCKOPTS Automatic
2021-08-13 14:22:00 -04:00
David Sidrane
a1c90057cb
px4_fmu-v5:ARM Stack check (debug) needs headroom
2021-08-13 14:22:00 -04:00
David Sidrane
10d3909087
px4_fmu-v5:ARM Stack check needs headroom
2021-08-13 14:22:00 -04:00
David Sidrane
58fc5b21b8
NuttX at 10.1.0+
...
With PX4 contrib for building
2021-08-13 14:22:00 -04:00
David Sidrane
e2d05157dd
afbrs50: Use inttypes
2021-08-13 14:22:00 -04:00
David Sidrane
9455bfd857
px4_fmu-v5: Update uavcanv1 defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
e3104861df
cuav_can-gps-v1: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
8cdea33074
modalai_fc-v2: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
02ef9dc188
modalai_fc-v2: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
5beda51fa4
modalai_fc-v1: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
b600c7cc55
cuav_x7pro: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
a0c74a8563
cuav_x7pro: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
51b1cf774c
cuav_nora: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
b8aa6ccaa1
cuav_nora: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
a73b688566
holybro_kakutef7: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
b3555ada6b
holybro_can-gps-v1: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
7d572c515c
holybro_pix32v5: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
55bf2c7610
holybro_durandal-v1: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
b45e0dd872
holybro_durandal-v1: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
6b27c28787
uvify_core: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
9e3d275f0c
omnibus_f4sd: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
3c78d7285a
freefly_can-rtk-gps: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
24a263a6bc
av_x-v1: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
9676b3fd27
airmind_mindpx-v2: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
2731238ce3
ark_can-gps: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
7268c344e4
ark_can-flow: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
defbb0e17a
mro_ctrl-zero-f7-oem: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
47f1b934d3
mro_x21: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
0823bb5584
mro_x21-777: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
f527286200
mro_ctrl-zero-h7-oem: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
5446d4bde8
mro_ctrl-zero-h7-oem: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
e96c3e5093
mro_pixracerpro: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
1d789863b4
mro_pixracerpro: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
fe8c902f90
mro_ctrl-zero-f7: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
49c85e7713
mro_ctrl-zero-h7: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
0d47f1a3cb
mro_ctrl-zero-h7: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
181e82dd17
nxp_fmurt1062-v1: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
89c553b161
nxp_fmuk66-v3: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
ea1538a04f
nxp_fmuk66-v3: Update socketcan defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
6ad56c537f
nxp_fmuk66-e: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
71d5de5715
nxp_fmuk66-e: Update socketcan defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
44b29b6126
nxp_ucans32k146: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
cc6d15b4fd
bitcraze_crazyflie: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
655a10ffdd
bitcraze_crazyflie21: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
64bf02384f
cubepilot_cubeyellow: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
281a238bb0
cubepilot_cubeyellow: Update test defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
9c1752bf4d
cubepilot_io-v2: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
d9da05bd02
cubepilot_cubeorange: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
2a4b4824e5
cubepilot_cubeorange: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
f5b22d8832
cubepilot_cubeorange: Update test defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
9b15d2db10
px4_fmu-v6u: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
d4d149758d
px4_fmu-v6u: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
ffc9ed8a75
px4_fmu-v5: Update debug defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
3e020a33b9
px4_fmu-v5: Update optimized defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
33897727cd
px4_fmu-v5: Update stackcheck defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
63198fb6cb
px4_fmu-v5: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
0b084461b5
px4_fmu-v4pro: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
6e93251169
px4_fmu-v5x: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
7344c050a8
px4_fmu-v5x: Update base_phy_DP83848C defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
cb150b3ced
px4_fmu-v3: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
c3d9504933
px4_io-v2: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
be479654c2
px4_fmu-v2: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
0316010027
px4_fmu-v6x: Update bootloader defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
639486f4ba
px4_fmu-v6x: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
d709bafa11
px4_fmu-v4: Update nsh defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
2e4e4018b6
px4_fmu-v5:ARM Stack check needs headroom (237 bytes)
2021-08-13 14:22:00 -04:00
David Sidrane
bea495999f
spracing_h7extreme:Update defconfig NuttX 10.1.0+
2021-08-13 14:22:00 -04:00
David Sidrane
173e5c7554
NuttX:Track Stack naming changes
2021-08-13 14:22:00 -04:00
David Sidrane
069130403d
LoadMon:Support NuttX Dynamic FDs
2021-08-13 14:22:00 -04:00
David Sidrane
4353d0faf3
print_load:Support NuttX Dynamic FDs
2021-08-13 14:22:00 -04:00
David Sidrane
ec61512cdf
NuttX inits null console
2021-08-13 14:22:00 -04:00
David Sidrane
01ef9cf3e6
NuttX at 10.1.0+
...
With PX4 contrib for building
2021-08-13 14:22:00 -04:00
Silvan Fuhrer
40f9b53b90
Remove a couple of unnecessary reboot_required from parameter meta data
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-08-13 10:35:43 -04:00
Jaeyoung-Lim
d30760a2ea
Remove flap scaling to prevent flaps being deployed in manual mode
...
This commit restores the flap scaling since it was always getting deployed in manual flight modes
2021-08-13 15:46:23 +02:00
Beat Küng
72bc8647a9
commander: add sensors reset to factory calibration
2021-08-12 10:20:33 -04:00
Daniel Agar
3f172dbfa7
ROMFS: new parameters for starting differential pressure sensors
2021-08-12 10:11:13 -04:00
romain-chiap
c8346534f1
sih: using Quatf::expq(), fuselage added
2021-08-12 10:10:03 -04:00
Beat Küng
265c77b02a
logger: remove unused topics, move some to debug profile
2021-08-12 10:09:11 -04:00
Beat Küng
c0285611ec
fix logger: turn off lockstep when starting log streaming
...
Lockstep created deadlocks between logger and mavlink, due to logger
waiting for mavlink and mavlink waiting for lockstep.
2021-08-12 10:09:11 -04:00
Beat Küng
f88f224fe6
logger: avoid data bursts by distributing slow subscription updates over time
...
There's an increasing amount of slow logged topics at 1-2Hz, which were all
updated in the same logger iteration, leading to data bursts. For log
streaming this started to exceed uart buffer sizes. By distributing updates
more equal over time those bursts are removed, reducing buffer size
requirements.
Tests showed during steady state a reduction of maximum topic updates per
iteration from 40 down to 17.
Also the SD log buffer fill level is more constant.
2021-08-12 10:09:11 -04:00
Beat Küng
d3c45c00c7
mavlink_ulog_streaming: when stopping, wait after receiving the ack
...
So we log additional data send afterwards
2021-08-12 10:09:11 -04:00
Beat Küng
e1ac6fe297
logger: send post-flight perf data when stopping mavlink log streaming
...
- send out VEHICLE_CMD_RESULT_IN_PROGRESS
- delete the ulog object when receiving the ACK from logger, instead of
the stop command
2021-08-12 10:09:11 -04:00
Beat Küng
0f6bf6bc0e
refactor gps: use enum class for gps_driver_mode_t
2021-08-12 10:06:39 -04:00
Beat Küng
09a42e7af2
gps: extend GPS_DUMP_COMM param to enable RTCM output + logging
2021-08-12 10:06:39 -04:00
Martina Rivizzigno
159c87a6fb
ll40ls: add support for LidarLite V4
...
Co-authored-by: Claudio Micheli <claudio@auterion.com >
2021-08-12 10:05:19 -04:00
Daniel Agar
68dcc25709
flight_mode_manager: ManualAcceleration support weathervane yaw handler
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/17911
2021-08-12 09:58:29 -04:00
TSC21
21953daa3b
microRTPS: transport: fix UART configuration
2021-08-12 08:44:53 +02:00
TSC21
4b6646c5f3
microRTPS: transport: normalize configs with mavlink/mavlink-router
2021-08-12 08:44:53 +02:00
TSC21
af8a6117fa
microRTPS: agent: add missing 'g' option
2021-08-12 08:44:53 +02:00
TSC21
2a368b4db1
uorb_to_ros_urtps_topics: minor cleanup
2021-08-12 08:44:53 +02:00
TSC21
74557c9071
uorb_to_ros_msgs: minor cleanup
2021-08-12 08:44:53 +02:00
TSC21
00ad0d3b82
microRTPS: add make targets to update the PX4-ROS2/microRTPS bridge
...
This allows to easily update the px4_ros_com and/or px4_msgs through a make target and by passing the location of their directories
2021-08-12 08:44:53 +02:00
TSC21
8762dce762
microRTPS: transport: small format fix
2021-08-12 08:44:53 +02:00
TSC21
fae1627d92
microRTPS: client: cleanup and make arguments consistent
2021-08-12 08:44:53 +02:00
TSC21
109b031156
microRTPS: agent: cleanup and make arguments consistent
2021-08-12 08:44:53 +02:00
TSC21
e83a3a6cf7
microRTPS: update RTPS message list naming from 'ids' to 'msgs'
2021-08-12 08:44:53 +02:00
TSC21
0b23679f98
msg: templates: update empy contexts, required fields and license header years
2021-08-12 08:44:53 +02:00
TSC21
ffa70ac0fd
microRTPS: generate_microRTPS_bridge: run fastrtsgen only once for all files
...
Reducing the generation time to a 4th of the time (!!)
2021-08-12 08:44:53 +02:00
TSC21
a8a56a03a4
microRTPS: rename uorb_to_ros_rtps_ids to uorb_to_ros_urtps_topics and remove the 'id' references on it
2021-08-12 08:44:53 +02:00
TSC21
4609949bbb
microRTPS: generate_microRTPS_bridge: only run the generator for the topics that are actually marked to be used
2021-08-12 08:44:53 +02:00
TSC21
695e1fa574
uorb_to_ros_rtps_ids: add an header with a notice regarding the autogneration of the 'px4_ros_com' urtps_bridge_topics.yaml file
...
Although it can be modified manually, we are going to recommend the developer to generate it from the PX4-Autopilot side instead
2021-08-12 08:44:53 +02:00
TSC21
c478e2985a
microRTPS: simplify the attribution of the RTPS IDs by makiing it automatic
...
1. The RTPS IDs are now automatically assigned to the topics
2. Only the topics that get defined to be sent or received in the urtps_bridge_topics.yaml (renamed, since now it doesn't contain IDs) receive the IDs
3. Any addition or removal on the urtps_bridge_topics.yaml file might update the topic IDs - this will require that the agent and the client ID list has to be in sync. This will further require a robustification of the way we check the IDs and the message definitions when starting the bridge.
2021-08-12 08:44:53 +02:00
TSC21
f557fbc99f
protocol_splitter: add perf counters for the stats so they can be logged
2021-08-12 08:44:53 +02:00
TSC21
5a75277ff1
protocol_splitter: update header length and payload length position
...
To match the change on the microRTPS message header, which adds the sys ID as the 5th byte of the header
2021-08-12 08:44:53 +02:00
TSC21
ba3dbbd38d
microRTPS: send the system ID with the RTPS packet header and remove the need for extra id fields in uORB
...
This allows that all messages (not only timesync messages) that get received on the same system that sent them do not get parsed. As the microRTPS agent is built currently, this will only happen right now if someone sets the same UDP port to send and receive data, or by manually changing the agent topics (which were always autogenerated).
2021-08-12 08:44:53 +02:00
TSC21
a10dab516c
timesync: remove system ID field from the timesync message
2021-08-12 08:44:53 +02:00
TSC21
25dbffe1aa
microRTPS: agent: split FMU input from output topics in Pubs/Subs
2021-08-12 08:44:53 +02:00
TSC21
d31b7feb31
microRTPS: agent: publish timesync status
2021-08-12 08:44:53 +02:00
TSC21
a324e5465a
timesync: extend timesync_status message with protocol source field and enum
2021-08-12 08:44:53 +02:00
TSC21
a930edf34b
init.d-posix: rcS: allow to use a different startup config to the micrortps_client in UDP
2021-08-12 08:44:53 +02:00
TSC21
6d4f65a47a
microRTPS: allow timesync using ROS time
2021-08-12 08:44:53 +02:00
TSC21
e762d57222
sitl_run: allow to start required ROS2 plugins with Gazebo when ROS_VERSION is set to 2
2021-08-12 08:44:53 +02:00
Julian Oes
cb2b09b80f
protocol_splitter: implement with one read buffer
...
This is an attempt to implement the protocol_splitter with one
read buffer only. The idea is to prevent additional copy
operations from an incoming buffer to the respective protocol buffer.
Right now the benefit is not really there because we are not using a
ringbuffer and have to shift data around quite a bit.
We also try to parse and copy data to the reader immediately without
doing a read from the device which potentially takes 100ms.
We further use a timeout mechanism to prevent starvation if one reader
disconnects and the buffer would fill up from unread data.
2021-08-12 08:44:53 +02:00
Julian Oes
0c9fefce32
urtps: rectify comment
2021-08-12 08:44:53 +02:00
Julian Oes
31b1241de8
uorb_microcdr: collect all messages
...
Without this we are potentially too slow to collect them all which can
lead to the buffer in protocol_splitter to overflow and be reset.
2021-08-12 08:44:53 +02:00
Daniel Agar
326c4f95ce
ROMFS cmake remove directory VERBATIM
2021-08-11 13:29:14 -04:00
Beat Küng
61e3ec53b0
mixer_module: check for motor test after topic update
...
Otherwise if a module restricts the update rate via setMaxTopicUpdateRate()
and then motor_test is used, the module might run faster than expected.
2021-08-11 12:06:32 -04:00
Claudio Micheli
a6d88cad18
mavlink_main: add ESC_INFO & ESC_STATUS to onboard_lowbandwith configuration
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-08-11 17:20:08 +02:00
Oleg Evseev
a93f8dade4
mavlink: receiver fix geo include
2021-08-10 08:18:28 -04:00
PX4 BuildBot
e9a21ee911
Update submodule devices to latest Mon Aug 9 00:39:11 UTC 2021
...
- devices in PX4/Firmware (48b31124a4cdab9f7f91dba14649206f41c30c97): https://github.com/PX4/PX4-GPSDrivers/commit/f51267815db3331723b880ab20afc5a67a87c22b
- devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/6815e1d3b294cd6ea583294ebadf191321e4beba
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/f51267815db3331723b880ab20afc5a67a87c22b...6815e1d3b294cd6ea583294ebadf191321e4beba
6815e1d 2021-08-04 zhangft - femtomes: add UAVSTATUS and fall back to 10Hz rate if 20Hz not supported
2021-08-08 22:31:14 -04:00
Daniel Agar
c8366e736e
ROMFS: update ATL Mantis EDU optical flow defaults
2021-08-08 14:21:28 -04:00
Daniel Agar
66cfacaec2
boards: px4_fmu-v6x_test disable attitude_estimator_q to save flash
2021-08-08 14:20:58 -04:00
Daniel Agar
2ad448a4e8
boards: holybro_pix32v5 remove unused test build
2021-08-08 14:20:58 -04:00
alexklimaj
a904bb506f
Fix afbrs50 high cpu load from switching
2021-08-08 11:42:30 -04:00
bresch
741f9c6d1a
Commander: change attitude quaternion check to avoid numerical issues
2021-08-08 11:41:23 -04:00
Daniel Agar
fb4ac0f08c
ekf2: remove redundant IMU vibration metrics
...
- consume IMU vibration metrics from vehicle_imu_status
2021-08-08 06:26:03 -07:00
Daniel Agar
a397004bf8
adis16448: add additional delay after transfer in case of back to back transcations
...
- add verified register read method
2021-08-08 06:25:16 -07:00
Julian Oes
0033c0fc51
navigator: fix param description
2021-08-05 15:18:55 +02:00
bresch
01d0b8800e
commander: report GNSS yaw fault to user
2021-08-05 11:10:02 +02:00
bresch
44219e9f45
EKF: add GNSS yaw to emergency yaw fallback test
2021-08-05 11:10:02 +02:00
bresch
11cd51c132
EKF: allow emergency reset in GNSS yaw and EV yaw aiding modes
2021-08-05 11:10:02 +02:00
bresch
4ebfbc6eab
GNSS yaw: use NIS sequence to detect bias in state
...
A constant large value in the (signed) normalized innovation test ratio is a sign
of bias in the state estimate. This metric can be used to trigger a
covariance boost or reset
2021-08-05 11:10:02 +02:00
bresch
3fe04a91f6
GNSS yaw: add observation jump on ground
...
Some receivers are initializing to some heading and then resetting to
the correct one after a couple of seconds. EKF2 should detect that and
reset to the new value
2021-08-05 11:10:02 +02:00
bresch
30c7a596af
GNSS yaw: allow unlimited resets on ground
2021-08-05 11:10:02 +02:00
bresch
e90e1c7e2a
GNSS yaw: use dedicated observation noise
2021-08-05 11:10:02 +02:00
romain-chiap
718e5b5b5d
sih: add fixed-wing support
2021-08-05 09:16:14 +02:00
PX4 BuildBot
6060ec8c9a
Update submodule matrix to latest Thu Aug 5 00:39:10 UTC 2021
...
- matrix in PX4/Firmware (6be58a88905d2ef63bc3aaa1a01c82346c181742): https://github.com/PX4/PX4-Matrix/commit/b8568a89db8455d0ab2e2e391e2149ba2e5e10dd
- matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/3d1c9b988dff1d95f36cdd1df3e84d7a2365501c
- Changes: https://github.com/PX4/PX4-Matrix/compare/b8568a89db8455d0ab2e2e391e2149ba2e5e10dd...3d1c9b988dff1d95f36cdd1df3e84d7a2365501c
3d1c9b9 2021-08-05 romain-chiap - quaternion exponential (#164 )
2021-08-04 21:59:01 -04:00
Daniel Agar
be2f65be35
drives/tap_esc: refactor to use OutputModuleInterface
2021-08-04 17:15:24 -04:00
Daniel Agar
2e02ad7c4e
atl_mantis-edu front and rear status LEDS
2021-08-04 17:15:24 -04:00
Daniel Agar
89b920333b
boards: px4_fmu-v2_multicopter disable gyro_calibration module to save flash
2021-08-04 17:15:24 -04:00
Daniel Agar
fb3b7a4649
mavlink: receiver handle RC_CHANNELS if from MAV_COMP_ID_SYSTEM_CONTROL
2021-08-04 17:15:24 -04:00
Daniel Agar
2b96e330a5
boards: atl_mantis-edu add bootloader
2021-08-04 17:15:24 -04:00
Daniel Agar
5d06ef8256
drivers/barometer/mpc2520: MaierTek MPC2520 barometer support
...
- used in the Advanced Technolgy Labs (ATL) Mantis EDU
2021-08-04 17:15:24 -04:00
Daniel Agar
6ab8153f32
drivers/tap_esc: Advanced Technology Labs (ATL) Mantis EDU ESC support
...
Co-authored-by: Julian Oes <julian@oes.ch >
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-08-04 17:15:24 -04:00
Daniel Agar
e900f2ea54
boards: Advanced Technology Labs (ATL) Mantis EDU support and airfarme (SYS_AUTOSTART 4061)
...
Co-authored-by: Julian Oes <julian@oes.ch >
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-08-04 17:15:24 -04:00
David Sidrane
8f64f7ce90
uavcan_1:Fixed hardfault on stop
2021-08-04 10:40:34 -04:00
Hamish Willee
6aa4e12b5f
Typo in LTEST_MEAS_UNC docs
2021-08-04 08:01:39 +02:00
Hamish Willee
f5dd0edc9f
LTEST_VEL_UNC_IN typo in docs
2021-08-04 08:01:39 +02:00
Hamish Willee
b157bc407e
Typo in docs for LPE_VIS_DELAY
2021-08-04 08:01:39 +02:00
Hamish Willee
b82464f0ef
Parameter typo PLD_MAX_SRCH
2021-08-04 08:01:39 +02:00
Beat Küng
ca454c93d1
component_information: add debug instrumentation for FileNotFoundError exception
...
The following exception occurs in some rare cases (but only with make build: NO_NINJA_BUILD=1 px4_sitl_default):
Traceback (most recent call last):
File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 79, in <module>
save_compressed(filename)
File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 33, in save_compressed
with open(filename, 'r') as content_file:
FileNotFoundError: [Errno 2] No such file or directory: '/__w/PX4-Autopilot/PX4-Autopilot/build/px4_sitl_default/component_general.json'
make[3]: *** [src/lib/component_information/CMakeFiles/component_information_header.dir/build.make:68: component_general.json] Error 1
2021-08-03 10:36:25 +02:00
Beat Küng
b9e2d2c0f2
4100_tiltquadrotor: remove LED_RGB_MAXBRT
2021-08-03 10:36:25 +02:00
Beat Küng
95789252d0
airframes: minor param cleanups (remove commented 'param set')
2021-08-03 10:36:25 +02:00
Beat Küng
0e1f3a2d62
px4_add_board: infer VENDOR, MODEL & LABEL from cmake file name
2021-08-03 10:36:25 +02:00
Beat Küng
86dc35022a
generate_msg_docs.py: simplify logic a bit
2021-08-03 07:54:41 +02:00
Beat Küng
45ed1c5b5d
uorb_graph: improve module dependency search
2021-08-03 07:54:41 +02:00
Beat Küng
91cae70097
uorb_graph: fix module scope logic
2021-08-03 07:54:41 +02:00
Hamish Willee
bf59fd84ba
Add simple comment parser
2021-08-03 07:54:41 +02:00
Beat Küng
fccb56d76b
Jenkinsfile: deploy uorb graph
2021-08-03 07:54:41 +02:00
Beat Küng
2320477839
uorb graph: some minor fixes, add full graph w/o mavlink
2021-08-03 07:54:41 +02:00
Beat Küng
da6275e43a
msg: add script structure to generate docs from .msg files
2021-08-03 07:54:41 +02:00
InspiredBrandon
b2def13d6f
NCP5623c RGB LED driver I2C address auto detect
...
* Enables the LED on mRobotics GPS receivers
* Probes I2C addresses and sets colors accordingly
2021-08-02 20:36:09 -04:00
Daniel Agar
93aa6e3f78
ekf2: baro bias publish minor cleanup
...
- naming consistency (estimator prefix as "namespace")
- only publish if baro is available and bias is changing as a small logging optimization
- avoid unnecessary copying (get const reference to status directly)
- trivial code style fixes
2021-08-02 13:59:38 -04:00
Daniel Agar
d997a8d308
mavlink: receiver fix HIL_STATE_QUATERNION map projection init
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/17977
2021-08-02 09:59:09 -04:00
David Jablonski
9c36236565
ekf2: increase stack size to 3600
2021-08-02 09:47:38 -04:00
Hamish Willee
219c9cf4b7
More specific airframe css
2021-08-02 08:26:46 +02:00
Hyungsub
1e2877cedf
Tune down solo roll rate controller
2021-08-02 07:51:13 +02:00
murata
e33d2141ec
px4io: Changing the timeout time description (NFC)
2021-08-01 20:27:25 -04:00
PX4 BuildBot
e01ae95768
Update submodule jMAVSim to latest Sun Aug 1 16:12:33 UTC 2021
...
- jMAVSim in PX4/Firmware (8261aa1f0b ): https://github.com/PX4/jMAVSim/commit/0a816d8100e9860a031ccfccfb9941bcd6eedc81
- jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/0a5375a70689aac53143768de9033034f3636022
- Changes: https://github.com/PX4/jMAVSim/compare/0a816d8100e9860a031ccfccfb9941bcd6eedc81...0a5375a70689aac53143768de9033034f3636022
0a5375a 2021-07-24 Romain Chiappinelli - vehilce model selectio
5f51d98 2021-07-19 Romain Chiappinelli - added cessna visual model
2021-08-01 17:03:03 -04:00
Daniel Agar
1c48a81993
Jenkins fix compile job
...
- this was broken during the Snapdragon purge (#17921 ) that happened to correspond with the primary Jenkins master (ci.px4.io) being down.
2021-08-01 17:02:47 -04:00
PX4 BuildBot
4ca6e42c47
Update submodule sitl_gazebo to latest Sun Aug 1 16:12:39 UTC 2021
...
- sitl_gazebo in PX4/Firmware (d6eb3b0cb90d4988409b1aaf3e10662ecc361aac): https://github.com/PX4/PX4-SITL_gazebo/commit/b6be00542be4d77f436c66ee48c22ca911601a2a
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/7fda4d311a9daff4bec4f2fe83e63fde0b8f04b0
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/b6be00542be4d77f436c66ee48c22ca911601a2a...7fda4d311a9daff4bec4f2fe83e63fde0b8f04b0
7fda4d3 2021-07-27 Jaeyoung-Lim - Reduce yaw authority for tecpod
6b87853 2021-07-27 Jaeyoung-Lim - Reduce yaw authority on plane
7505aee 2021-07-18 Jaeyoung-Lim - Add glider model
32893bc 2021-07-14 Jaeyoung-Lim - Add control allocation module for the typhoon h480
55e479a 2021-06-12 TSC21 - gazebo_mavlink_interface: get latest occurrence of '::' to obtain the sensor name
f650396 2021-07-13 Jaeyoung-Lim - Add Believer fixedwing model
2021-08-01 13:55:15 -04:00
PX4 BuildBot
8963c403c6
Update submodule v2.0 to latest Sun Aug 1 16:12:42 UTC 2021
...
- v2.0 in PX4/Firmware (c82a4412bd255753bf802b90d2e9bd459ca626aa): https://github.com/mavlink/c_library_v2/commit/94963ac650f39709df20e4fc03c1a9ed8f740b35
- v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/5095bcd856537330e66e6fc833a1c7bf689bf5ed
- Changes: https://github.com/mavlink/c_library_v2/compare/94963ac650f39709df20e4fc03c1a9ed8f740b35...5095bcd856537330e66e6fc833a1c7bf689bf5ed
5095bcd8 2021-07-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/b030a760e8c350aa078542036bd9e8f39a494ac1
f57b9ff5 2021-07-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/2cc1a22e30e0f8ef4e119424e968a82877636c67
a3b97841 2021-07-29 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/d484de4eb18906a94104ca56026391304be31aa1
f66b31fc 2021-07-15 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/a764308f30903e269090c8cda87d92f46d318b3e
2021-08-01 13:54:18 -04:00
Daniel Agar
54918f650b
Update world_magnetic_model to latest Sun Aug 1 16:57:37 UTC 2021
2021-08-01 13:53:53 -04:00
Daniel Agar
8261aa1f0b
boards: cuav_nora_test disable local_position_estimator to save flash
2021-07-31 20:59:45 -04:00
Igor Mišić
af2247bd94
mavlink: use dynamic camera comp id instead of hardcoded value
2021-07-31 12:41:49 -04:00
David Sidrane
6379f2b032
px4_fmu-v2:Use NO_HELP option to save flash
2021-07-30 22:35:02 -04:00
David Sidrane
ced366b74e
Add Option NO_HELP for CONSTRAINED_FLASH system
2021-07-30 22:35:02 -04:00
Dima Ponomarev
d08d0443bc
Add internal combustion engine status uavcan bridge and mavlink EFI_STATUS stream
2021-07-30 22:31:43 -04:00
Sam Chamberlin
7764183f89
Broadcom AFBR-S50LV85D Distance Sensor Driver: Automatic Range Mode Switching
2021-07-30 22:27:27 -04:00
bresch
1016600ded
Revert "mc_pos_control: omit initial warning"
...
This reverts commit 446598d003 .
The first warning was due to a race condition that is fixed by the previous commit;
don't omit the first warning anymore
2021-07-30 21:39:18 -04:00
bresch
e7a2c1d88e
MCPosControl: fix invalid setpoint race condition
...
Only modify the _setpoint for takeoff when there is a new uORB message
to avoid a race condition where both vel_sp(2) and accel_sp(2) can be
NAN at the same time.
2021-07-30 21:39:18 -04:00
Silvan Fuhrer
44f12acafe
mavsdk tests: remove hover missions for VTOL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-07-30 21:27:53 -04:00
Daniel Agar
713a1d08a3
sensors: add accel/gyro current priority to sensors_status_imu
...
- later the sensor priorities (user configurable) can be factored into the estimator selection criteria
2021-07-30 21:20:01 -04:00
Daniel Agar
b33fdf704b
boards: px4 fmu-v2/v3 swap external SPI chip select order
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/17858
2021-07-30 09:28:04 -04:00
Ramon Roche
607be59fd5
Github: Issue Template update link to Slack invite
2021-07-28 07:39:20 +02:00
Ramon Roche
5918fe6a37
README: update slack invite and badge
2021-07-28 07:39:20 +02:00
leonardosimovic
e6166dfc76
AirspeedSelector: Improve wording of sensor failure message
2021-07-28 07:37:38 +02:00
bresch
521b9f5dcc
control: do not constantly ask for mag reset if yaw not aligned
...
This also prevents triggering the `_mag_yaw_reset_req` flag in magless
mode; preventing the GNSS fustion from starting.
2021-07-27 13:34:53 +02:00
bresch
639e0a39cf
EKF2: add yaw estimator alignment test
2021-07-27 13:34:53 +02:00
Mathieu Bresciani
17ebcd2456
mag_control: fuse fake heading during leveling fine alignment ( #17964 )
...
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-07-27 11:50:50 +02:00
Daniel Agar
f2ae8ae814
sensors/vehicle_imu: vibration metrics use acceleration and angular velocity
...
- this avoids any jitter in the integration timespan from impacting the vibration metrics
- vehicle_imu_status vibration metrics are not consumed by anything
(yet), so changing the scaling of the metric shouldn't matter
2021-07-26 13:55:47 -04:00
Daniel Agar
e01b631465
ekf2: change indication test limit float precision to minimize false positives
2021-07-26 13:54:36 -04:00
Daniel Agar
e84c6664bb
ROMFS: update airframes/4901_crazyflie21 legacy battery parameter
2021-07-23 19:58:38 -04:00
Daniel Agar
6f4111e073
ROMFS: update airframes/17003_TF-G2 legacy battery parameter
2021-07-23 19:58:38 -04:00
Daniel Agar
e9f84ba708
keep minimal legacy battery parameters for older QGC usability
...
- BAT_V_EMPTY, BAT_V_CHARGED, BAT_V_LOAD_DROP, BAT_N_CELLS
2021-07-23 15:07:53 -04:00
Daniel Agar
fe1eb8cd62
cmake cleanup jlink flashing helpers
2021-07-23 15:07:25 -04:00
Daniel Agar
7846771c68
sensors: populate sensors_status_imu healthy flags even in multi-EKF mode
2021-07-23 11:17:08 -04:00
Julian Oes
af50e25647
mavsdk_tests: update to MAVSDK v0.41.0
...
This required replacing some of the methods which had been deprecated
and now removed.
2021-07-23 09:05:31 +02:00
Julian Oes
11480cdbc7
mavlink: fix offboard velocity input
...
This reverts the behavior for offboard velocity setpoint.
Back in v1.11, the velocity input in NED_BODY was assumed to be in the
world frame but rotated by yaw to the vehicle frame. With the current
state the frame is completely fixed to the body. While this might be
technically correct, it doesn't seem much intuitive for multicopters
and breaks the MAVSDK offboard velocity API.
So as an example, with a velocity setpoint of 5 m/s forward, the drone
would in
- v1.11: fly forward with 5 m/s
- v1.12: start to fly forward by pitching down but then descend rapidly
as the forward velocity would translate to a setpoint in Z into the
ground as it is pitched down.
This commit restores the behavior to what we had previously.
2021-07-22 09:40:29 +02:00
alessandro
bd17653383
Fix template_module header
...
- SubscriptionInterval.hpp includes Subscription.hpp, but not vice versa
- The time literal 1_s is defined in the namespace time_literals
2021-07-21 09:44:09 -04:00
Oleg Evseev
440449b85f
mavlink: use explicit routing for message forwarding
...
Forward message to other mavlink channels only if it is broadcast or the target component was seen on this link before (at least one message was received)
2021-07-21 10:39:14 +02:00
Daniel Agar
b1eb762753
drivers/imu: set sample timestamp from interrupt (if available)
...
- minor scheduling improvements
- if expected number of samples larger than expected adjust timestamp sample and save sample for next iteration
- when scheduling via data ready interrupt (with no FIFO watermark) count continuously without clearing
2021-07-21 02:19:11 -04:00
honglang
6ac6917430
boards: CUAV-x7pro: reoder brick to fixed cuav hvpm cannot detect voltage
2021-07-20 22:02:03 -07:00
Daniel Agar
949fef1f3b
boards: px4_fmu-v5_optimized disable optical_flow drivers to save flash
2021-07-20 21:43:48 -04:00
David Sidrane
d6ee418cdf
nxp_fmuk66:Add Serial RX DMA on Console
2021-07-20 18:22:35 -04:00
David Sidrane
0709a9bb1c
NuttX With Kinetis LPUART DMA backport
2021-07-20 18:22:35 -04:00
DonLakeFlyer
0af1716864
Fix incorrect max for INT32
2021-07-20 16:29:39 -04:00
David Sidrane
78ecad6170
Revert "nxp_fmuk66-v3:DMA Poll not needed"
...
This reverts commit 962f02220a .
2021-07-20 07:52:10 -07:00
David Sidrane
89dff2d31c
Revert "nxp_fmuk66-e:DMA Poll not needed"
...
This reverts commit 39d684958d .
2021-07-20 07:52:10 -07:00
David Sidrane
b85a01f4c2
NuttX with Kinetis SerialPoll back in
2021-07-20 07:52:10 -07:00
Kirill Shilov
e13884410b
heater: added support of inverted IMU heat controller output
2021-07-20 10:37:53 -04:00
TSC21
205d4400eb
add baro_bias_estimate to RTPS list
2021-07-20 04:56:33 -07:00
Oleg
8fbbf56c4d
microRTPS: fix setting UART communication flags
...
bitwise not should be used instead of logical not
2021-07-20 12:34:58 +02:00
PX4 BuildBot
34160bb6c9
Update submodule sitl_gazebo to latest Fri Jul 16 12:39:10 UTC 2021
...
- sitl_gazebo in PX4/Firmware (4a0fa08953 ): https://github.com/PX4/PX4-SITL_gazebo/commit/1f3f1b1dec5a31c2c400f141fc344f11f68659c9
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/b6be00542be4d77f436c66ee48c22ca911601a2a
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/1f3f1b1dec5a31c2c400f141fc344f11f68659c9...b6be00542be4d77f436c66ee48c22ca911601a2a
b6be005 2021-07-13 Jaeyoung-Lim - Add iris model for control allocation development
2021-07-19 20:19:28 -04:00
JaeyoungLim
58060b23d9
Add ignition gazebo support for PX4 Software-In-The-Loop simulations
...
This commit adds SITL support for ignition gazebo. Ignition gazebo is a replacement for the "classic" gazebo for future applications.
The simulation can be run as the following
```
make px4_sitl ignition
```
2021-07-19 19:59:41 -04:00
dagar
a8e3c46cdb
[AUTO COMMIT] update change indication
2021-07-19 16:53:45 -04:00
Daniel Agar
14274ab071
boards: px4_fmu-v5_optimized disable pwm_input to save flash
2021-07-19 16:53:45 -04:00
bresch
54c7e74de3
EKF: add baro bias estimator using GNSS altitude
2021-07-19 16:53:45 -04:00
Daniel Agar
10f4fc7783
ekf2: don't print distance_sensor selection unless there are multiple options
2021-07-19 12:17:12 -04:00
Daniel Agar
1a222bf06e
Tools/HIL/run_nsh_cmd.py handle missing echo, but cmd succeeded
2021-07-19 11:53:54 -04:00
Daniel Agar
87610957a4
flight_mode_manager: pass deltas on estimator reset
2021-07-19 09:34:07 -04:00
Daniel Agar
d79eea0c41
Jenkins: HIL flash bootloaders
...
- add new jlink_upload_bootloader helper target
2021-07-18 23:33:00 -04:00
Daniel Agar
4c59997ff4
Jenkins: HIL attempt to set certain parameters initially
...
- attempt to minimize issues on heavily loaded debug and stackcheck builds
- disable systemcmds/bl_update on debug and stackcheck fmu-v5
2021-07-18 21:25:00 -04:00
Daniel Agar
774ad80ba0
systemcmds/tests: split out microbenchmarks and remove obsolete tests
...
- reorganize Jenkins HIL tests
2021-07-18 18:02:33 -04:00
Daniel Agar
0101934f47
ekf2: multi-EKF instance message INFO -> DEBUG
2021-07-18 18:02:33 -04:00
Daniel Agar
0ad65738db
gyro_calibration: reset on any parameter change
...
- perform fresh calibration once system has settled
2021-07-18 18:02:33 -04:00
Daniel Agar
9ac860ac33
ekf2: test fix double promotion warnings
2021-07-18 15:49:53 -04:00
Daniel Agar
9087ba2259
world_magnietc_model: update to latest and fix code style
...
- minimize test_geo_lookup.cpp optimization to improve compile times
2021-07-18 15:49:53 -04:00
mcsauder
f34862f143
Delete redundant Ekf class member variable constructor initilizations and add missing C++ style initializers to the header file.
2021-07-17 12:24:56 -04:00
Daniel Agar
eeb73fdbe6
ekf2: resetting IMU bias message INFO -> DEBUG
2021-07-17 10:57:09 -04:00
Daniel Agar
36dea8487c
Jenkins: HIL remove redundant board_adc test
2021-07-17 10:57:09 -04:00
Daniel Agar
bc79ea54dc
Jenkins: HIL lower quick cal sleep time before checking parameters
2021-07-17 10:57:09 -04:00
Daniel Agar
858a30df21
systemcmds/tests: replace warnx -> PX4_INFO
2021-07-17 10:57:09 -04:00
Daniel Agar
209fde9ff3
Tools/HIL: console print timestamps
2021-07-17 10:57:09 -04:00
Daniel Agar
847b3b5b64
Tools/HIL/nsh_param_set.py bump timeout slightly
2021-07-16 22:18:07 -04:00
Igor Mišić
54c91002cd
mavlink_ulog: update ulog_stream message lost errors to perf counter
2021-07-16 21:38:56 -04:00
Beat Küng
cfef0c5d5a
mavlink_ulog: check for lost ulog_stream ulog messages
2021-07-16 21:38:56 -04:00
Daniel Agar
5a046cae7e
Tools/HIL: fix terminal colors (ANSI escape codes)
2021-07-16 21:37:48 -04:00
Daniel Agar
f80f0e6c7e
Jenkins: HIL set CCACHE_NOHASHDIR and remove obsolete "make sizes"
2021-07-16 21:06:07 -04:00
Daniel Agar
cbf6c97682
Jenkins: HIL print dmesg output only on boards with enough memory
2021-07-16 19:33:27 -04:00
Daniel Agar
8c6ade0fc8
Tools/HIL: color output (ERROR, WARN, etc)
2021-07-16 19:33:27 -04:00
Daniel Agar
7f4ffcef93
Jenkins: HIL add separate status for flash constrained boards
2021-07-16 19:33:27 -04:00
Daniel Agar
e61d8d6e7e
Tools/HIL: add nsh_param_set.py and use on test rack
2021-07-16 19:33:27 -04:00
Daniel Agar
ae0438e8f5
Jenkins: HIL no longer tolerate SD failures
2021-07-16 19:33:27 -04:00
Daniel Agar
65745a3676
purge broken qurt support and atlflight boards
2021-07-16 08:53:36 -04:00
Daniel Agar
4a0fa08953
Tools/HIL/run_nsh_cmd.py fail if command failed
2021-07-15 23:29:46 -04:00
Daniel Agar
c8e6d93cc0
ekf2: backend apply code style (generated code still exempt)
2021-07-15 21:15:41 -04:00
Daniel Agar
12ad7b17ce
Makefile: add all_variants_@ helper target and consolidate github actions builds
2021-07-15 21:09:50 -04:00
Daniel Agar
fcf0d3536f
NuttX debug jlink scripts minor improvements
...
- script return non-zero exit if there's a failure
- upload script look for both gdb-multiarch and arm-none-eabi-gdb
2021-07-15 17:07:51 -04:00
Hamish Willee
f70b6fbf0b
Fix rendering if name has inch symbol
2021-07-15 17:16:12 +02:00
Hamish Willee
72d08fe915
improve airframe generated output
2021-07-15 17:16:12 +02:00
Daniel Agar
2cf66a5d8f
ekf2: move EKF out of ecl
2021-07-15 10:38:24 -04:00
Daniel Agar
883624d915
lib/geo: move from ecl
2021-07-15 10:38:24 -04:00
Daniel Agar
6f6d3f98a6
wind_estimator: move from ecl and consolidate airspeed selector
2021-07-15 10:38:24 -04:00
Daniel Agar
fedf8f0266
world_magnetic_model: move from ecl
2021-07-15 10:38:24 -04:00
Daniel Agar
b5430c22c4
AlphaFilter: move from ecl -> mathlib
2021-07-15 10:38:24 -04:00
Daniel Agar
645fb2ff8c
Update submodule mavlink v2.0 to latest Thu Jul 15 00:38:28 UTC 2021
2021-07-14 21:54:54 -04:00
Daniel Agar
7f2acb6d59
consume PX4 ecl submodule and preserve all history
2021-07-14 07:00:52 -04:00
Blake McHale
4a436f1ac9
Add missing receive port arg to micrortps_client start
2021-07-13 21:42:10 -04:00
Daniel Agar
18dcec43d3
github actions: add standalone ecl builds and testing
2021-07-13 19:01:19 -04:00
Daniel Agar
ad11927661
ROMFS: delete redundant wing mixers
...
- these are nearly identical with slightly different scaling and haven't been tested for years
2021-07-13 21:12:11 +02:00
Oleg
a8bf8d42db
sensors: add include for sensor_baro topic
2021-07-13 14:18:31 -04:00
Daniel Agar
06cd1c79dd
logger: limit distance_sensor to 2 instances
2021-07-13 14:11:42 -04:00
Daniel Agar
3924f0ef30
ROMFS: delete Hobbyking Micro PCB
2021-07-13 14:07:45 -04:00
Jaeyoung-Lim
db1dc1c9a1
Add airframe configuration and make target for believer
...
This commit adds an airframe configuration and make target for believer
2021-07-13 18:04:52 +02:00
Daniel Agar
dbaed99626
cmake remove git_ecl target
2021-07-13 10:03:06 -04:00
Daniel Agar
a5f7406211
Merge entire PX4/ECL submodule and history into PX4-Autopilot
2021-07-13 10:01:09 -04:00
Daniel Agar
cd1e04d034
delete ecl submodule
2021-07-13 09:54:02 -04:00
bresch
8a0510d52e
update change indicator
2021-07-13 10:49:32 +02:00
bresch
97485f131a
update covariance prediction
2021-07-13 10:49:32 +02:00
bresch
2d8e183aa3
update EKF derivation auto-generated code
2021-07-13 10:49:32 +02:00
bresch
dccd662dfe
EKF python derivation: use unit quaternion constraint
...
This produces a more numerically stable and simpler derivation as it
already contains the unit quaternion constraint
2021-07-13 10:49:32 +02:00
bresch
0bebe1a656
Add gyro bias initialization unit test
2021-07-13 10:49:32 +02:00
bresch
057a95a954
EKF_init: check for accel bias amplitude
2021-07-13 10:49:32 +02:00
bresch
9f2d1f9e27
CI: update container version
2021-07-13 10:29:05 +02:00
Oleg
76b34132a5
mavlink: fix incorrect rejection of forwarded alien commands
2021-07-12 10:34:43 +02:00
Daniel Agar
d8704cee67
platforms: px4 log build string then print (fputs)
2021-07-10 13:14:49 -04:00
Oleg
76dedfec5d
mavlink: optimize message forwarding
2021-07-10 12:04:17 -04:00
DanAbara
64448e17ca
Update README.md to fix broken crazyflie2.0 link
2021-07-10 12:03:30 -04:00
Daniel Agar
552ec4a37c
Jenkins: hardware test rack remove Holybro Durandal
...
- IMUs on this particular unit no longer function
2021-07-10 12:02:45 -04:00
Daniel Agar
62144c6b6b
optical_flow/paw3902: minor improvements
...
- configure a backup schedule when using motion interrupt otherwise the
sensor will stop publishing entirely in the dark
- as a precaution issue full reset if sensor is stuck in a bad state
(no vaid data for an extended period)
- update light mode change criteria to match datasheet exactly
2021-07-10 09:46:56 -04:00
David Sidrane
f5e5794930
platforms/common:SPI - fix hang on bords supporting BOARD_HAS_BUS_MANIFEST
2021-07-10 11:37:29 +02:00
Daniel Agar
d01cec192f
Makefile: remove check_px4_fmu-v2_lpe
2021-07-09 11:54:06 -04:00
Florian Achermann
d4ee5a52c9
Adjust lower bound for CAL_AIR_TUBED_MM to 1.5 mm
...
Below 1.5 mm the tube pressure drow compensation will result in unrealistic compensation factors causing the measured airspeed to be too high.
In addition sensirion recommends a diameter of 1.8 mm or larger for the tubes.
2021-07-09 16:10:21 +02:00
TSC21
e39e3b3418
events interface: chance uORB 'sequence' to 'event_sequence'
...
The reason is that sequence is an IDL reserved keyword, which results on failure when parsing with FastRTPSGen.
2021-07-09 13:24:13 +02:00
Beat Küng
5a370bf575
CI: update remaining container to 2021-05-04
2021-07-09 10:51:47 +02:00
Paul Riseborough
223ca11aed
ekf2: update drag fusion parameter descriptions
2021-07-08 22:19:52 -04:00
Paul Riseborough
2d6363e0ef
ekf2: Add parameter for propeller momentum drag
2021-07-08 22:19:52 -04:00
Paul Riseborough
909326e9d8
ecl: use latest version with momentum drag fusion
2021-07-08 22:19:52 -04:00
Daniel Agar
c5b1fe86ca
delete deprecated BAT_* parameters
2021-07-08 22:19:12 -04:00
PX4 BuildBot
19bc1f9d02
Update submodule sitl_gazebo to latest Fri Jul 9 00:39:54 UTC 2021
...
- sitl_gazebo in PX4/Firmware (7144566afe ): https://github.com/PX4/PX4-SITL_gazebo/commit/822050a7ab6fd87972e59f16312f451bce217a56
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/1f3f1b1dec5a31c2c400f141fc344f11f68659c9
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/822050a7ab6fd87972e59f16312f451bce217a56...1f3f1b1dec5a31c2c400f141fc344f11f68659c9
1f3f1b1 2021-06-18 Jonas Vautherin - Add plugin allowing to draw a force (e.g. liftdrag) (#771 )
2021-07-08 21:56:36 -04:00
Beat Küng
7144566afe
metadata.cmake: ensure events directory exists & add px4 enums
2021-07-08 16:29:37 -04:00
Beat Küng
6938b1710a
fix github deploy_all.yml: explicitly call events_json
...
Some targets don't build it (e.g. ark can bootloader)
2021-07-08 16:29:37 -04:00
Daniel Agar
23688d8234
monocypher submodule point to px4 branch
2021-07-08 13:54:34 -04:00
Daniel Agar
bcfed93c57
github actions: fix airframe_metadata
2021-07-08 13:11:53 -04:00
Beat Küng
e644036325
drivers: use updated I2C SPI driver interface
2021-07-08 12:59:35 -04:00
Beat Küng
c5aef9d512
i2c_spi_buses: add support for multiple instances of the same device on a bus
...
This also simplifies the API a bit, since we anyway have to change the
drivers to pass additional information (the bus device index).
The orientation flag is merged with the rotation.
2021-07-08 12:59:35 -04:00
Daniel Agar
e4983ab88c
px4_platform_common: atomic support larger types with critical sections (on NuttX)
2021-07-08 10:56:25 -04:00
Beat Küng
32fe63916d
mixers: exclude FX79.main.mix from px4_fmu-v2
2021-07-08 10:07:52 +02:00
Igor Mišić
376450ccf0
navigator: reduce traffic alert messages
2021-07-08 07:28:38 +02:00
Sam Chamberlin
496e3fe2e0
afbr-s50: added gate for processing distance measurements
...
updating variable naming convention
publish data when measurements are invalid, just set them to zero
add quality to distance measurements
2021-07-07 21:40:29 -04:00
Beat Küng
dfd6999643
px4/fmu-v5: disable dumpfile & motor_ramp commands in optimized.cmake
...
Reduce flash
2021-07-07 21:38:09 -04:00
Beat Küng
5670db033d
ark/can-gps: add EXTERNAL_METADATA
...
It has no mavlink, so no use in adding the metadata in the first place.
2021-07-07 21:38:09 -04:00
Beat Küng
d9aec564f3
px_process_events.py: canonicalize + remove duplicate source files
2021-07-07 21:38:09 -04:00
Beat Küng
7f2bab9b0f
px4/fmu-v6x: remove some modules to reduce flash
2021-07-07 21:38:09 -04:00
Beat Küng
d30720c960
airframes: exclude some mixers + airframes (HIL, vtol) from fmu-v2
...
To reduce flash
2021-07-07 21:38:09 -04:00
Beat Küng
e3972d563a
cmake: ensure generated source files exist before extracting events
...
Only needed for Makefile-based builds:
gmake[3]: *** No rule to make target 'src/modules/flight_mode_manager/FlightTasks_generated.hpp', needed by 'events/px4.json'. Stop.
2021-07-07 21:38:09 -04:00
Beat Küng
b12b884f4c
ci: update container version to 2021-05-04
2021-07-07 21:38:09 -04:00
Beat Küng
c6eccd4518
requirements.txt: add jsonschema (required for events json validation)
2021-07-07 21:38:09 -04:00
Beat Küng
594f47c9f8
mission: switch to events
2021-07-07 21:38:09 -04:00
Beat Küng
38ee923658
px4io: switch to events
2021-07-07 21:38:09 -04:00
Beat Küng
7bb123c65e
voted_sensors_update: switch to events
2021-07-07 21:38:09 -04:00
Beat Küng
6d26cabdbb
github ci: deploy airframes metadata to s3
2021-07-07 21:38:09 -04:00
Beat Küng
ab701ae502
rtl: switch to events
2021-07-07 21:38:09 -04:00
Beat Küng
59f359f7dc
events: add custom (px4-specific) enums json file
2021-07-07 21:38:09 -04:00
Beat Küng
14d3582d38
events parser: make '/* EVENT' optional, but prevent 'using namespace events'
...
Allows for more compact code for very simple events w/o description
2021-07-07 21:38:09 -04:00
Beat Küng
e1852a7a9a
github ci: deploy events metadata
2021-07-07 21:38:09 -04:00
Beat Küng
60850fa528
metadata: add extract_events target
...
This will collect the events from the whole source tree
2021-07-07 21:38:09 -04:00
Beat Küng
38f3b8d356
mavlink & system: add events interface
...
- sending protocol
- uorb event message & template methods for argument packing
- libevents submodule to send common events and handle json files
- cmake maintains a list of all (PX4) source files for the current build
(PX4 modules + libs), which is used to extract event metadata and
generate a json file
2021-07-07 21:38:09 -04:00
Beat Küng
7c5838116a
Tools: add parser to extract event definitions in source & generate json output
...
Example definition:
/* EVENT
* @description
* test description
* @arg1: test
*/
events::send<uint8_t>(events::ID("test_event"),
"test message", events::Log::Error, 0);
2021-07-07 21:38:09 -04:00
mcsauder
fef2c43395
Modify occurrences of control_mode to vehicle_control_mode in MulticopterPositionControl.cpp/hpp to reflect the existing naming convention in the files.
2021-07-06 22:02:15 -04:00
Daniel Agar
1ee3484827
drivers/gps: close port if configure fails
...
- open if necessary at beginning of each iteration
2021-07-06 22:01:24 -04:00
JacobCrabill
3143756d97
uavcan_v1: Cleanup _uavcan_subs in SubMgr
...
Remove hard-coding of PX4 param names - use subject name and instance
instead
Also cleanup duplicates of CANARD_PORT_ID_UNSET/MAX vars
2021-07-06 22:00:07 -04:00
JacobCrabill
8f55c960b6
uavcan_v1: Change '_PID' params to '_SUB' for clarity
2021-07-06 22:00:07 -04:00
JacobCrabill
10019bbccc
fmu-v5_uavcanv1: Increase CAN FIFOSIZE to 32
2021-07-06 22:00:07 -04:00
JacobCrabill
fce809841f
uavcan_v1: Revert HeapSize to 8192
2021-07-06 22:00:07 -04:00
JacobCrabill
a644cf19c5
uavcan_v1: Update SubscriptionManager
...
Make _uavcan_subs struct 'const' again
Refactor updateDynamicSubscriptions()
Add getSubjectName(), getInstance() to BaseSubscriber class
2021-07-06 22:00:07 -04:00
JacobCrabill
ab46b8026c
uavcan_v1: Don't re-subscribe to fixed port ID subscribers
2021-07-06 22:00:07 -04:00
JacobCrabill
a99b657f03
uavcan_v1: Fix SubscriptionManager dynamic update
2021-07-06 22:00:07 -04:00
JacobCrabill
db460daf46
uavcan_v1: Bugfix: pop timed-out transfers from tx queue
2021-07-06 22:00:07 -04:00
JacobCrabill
c9f743049b
uavcan_v1: Increase _uavcan_heap size
2021-07-06 22:00:07 -04:00
JacobCrabill
4ba1f966e5
uavcan_v1: Add update and print support to SubscriptionManager
2021-07-06 22:00:07 -04:00
JacobCrabill
74d0f46279
uavcan_v1: Publisher: Fix port_id update
2021-07-06 22:00:07 -04:00
Daniel Agar
1b5e65df04
gyro_fft: change default length 1024 -> 512 to decrease latency
...
- change default FFT length (1024 -> 512)
- this doubles the update rate because half the number of samples are required for each
- decrease number of peaks (4 -> 3)
- so far 3 seems to be sufficient on most vehicles
- increase median filter window (3 -> 5)
- decrease SNR requirement (likely needs to be configurable)
2021-07-06 21:54:18 -04:00
Daniel Agar
ca4932cfc0
EKF: initialize vertical position and velocity variables
...
- otherwise checkVerticalAccelerationHealth() can fail if GPS or EV
aren't available to correctly set vertical velocity fusion time and
innovation ratio
2021-07-06 17:11:16 -04:00
Oleg Evseev
f296a41737
cdev: fixes hardfaults when device get disconnected ( #17846 )
...
check if inode is not unlinked before use
2021-07-06 12:35:47 -04:00
Daniel Agar
a5ee28883a
gyro_fft: track FFT peaks and median filter frequency
2021-07-06 12:32:25 -04:00
alexklimaj
72389c2306
Increase hp work priority. Turn on SPI2 DMA for AFBR.
2021-07-06 11:35:01 -04:00
Paul Riseborough
0c15624a0c
EKF: Fix clang-tidy complaint
2021-07-06 15:20:39 +02:00
Daniel Agar
9524e8ec03
drivers/px4io: mirror PWM_MAIN_OUT support
2021-07-05 21:23:04 -04:00
Daniel Agar
6dd0a58302
[at24c] free perf counter if px4_at24c_initialize fails
...
- add driver prefix to perf counter naming
2021-07-05 21:22:08 -04:00
murata
c9b5e488f5
NCP5623C: Change the class name to the device name
2021-07-04 14:22:20 -04:00
David Sidrane
9dee09b81b
NuttX and Apps updated w/ALL backports
2021-07-02 09:08:10 -07:00
David Sidrane
962f02220a
nxp_fmuk66-v3:DMA Poll not needed
2021-07-02 09:08:10 -07:00
David Sidrane
39d684958d
nxp_fmuk66-e:DMA Poll not needed
2021-07-02 09:08:10 -07:00
David Sidrane
2a7c95d7ac
nxp_fmuk66-v3:Use eDMA
2021-07-02 09:08:10 -07:00
David Sidrane
cd8182ba3c
nxp_fmuk66-e:Use SPI DMA
2021-07-02 09:08:10 -07:00
David Sidrane
5ea4b7dc9e
NuttX with Kinetis eDMA (SPI, Serial) Backports
2021-07-02 09:08:10 -07:00
Matthias Grob
acf848ba99
PWM: Draft implementation to respect PWM_OUT when loading defaults
2021-07-02 12:48:04 +02:00
Beat Küng
50b0f0e392
iridiumsbd: disable module until everything is fixed
...
There seem to be more issues in combination with MAVLink.
2021-07-02 12:45:18 +02:00
Beat Küng
fcf3bb5af9
fix iridiumsbd: use ModuleBase
...
fixes hardfaults, e.g. when device not connected
2021-07-02 12:45:18 +02:00
Beat Küng
9b7170551c
ModuleBase: allow configurable timeout for wait_until_running()
2021-07-02 12:45:18 +02:00
Peter van der Perk
cf524cd2c9
[UAVCANv1] Added uORB actuator_outputs publisher
2021-07-02 00:58:38 -04:00
Beat Küng
6a44fc7cac
fix vtol_att_control: set _current_max_pwm_values to current values on init
2021-07-02 00:53:42 -04:00
Beat Küng
894ecac8da
px4io: ensure pwm params are loaded before any other module starts
...
The vtol module will read them later on.
2021-07-02 00:53:42 -04:00
alexklimaj
962c2cc960
Add fmuv6x to vscode cmake variants
2021-07-01 20:14:05 -04:00
David Sidrane
3e00450052
NuttX with SDMMC BACKPORT
2021-07-01 11:51:14 -07:00
Thies Lennart Alff
cacab75b42
define decimals for uuv_att_control gains
...
decimal for the uuv_att_control gain parameters was not defined. So
QGroundControl displays them as integers what is rather unhandy.
2021-07-01 11:08:16 -04:00
Daniel Agar
0aa14deb5d
drivers/distance_sensor/broadcom/afbrs50: minimize IRQ_LOCK()/IRQ_UNLOCK() calls
2021-07-01 10:47:53 -04:00
Matthias Grob
62546350f1
battery: use local instead of global member battery_status message
2021-07-01 14:24:38 +02:00
Matthias Grob
fa976f84b1
battery: clear interface for determineWarning()
2021-07-01 14:24:38 +02:00
Matthias Grob
f41c294028
BatterySimulator: No need to explicitly mention throttle being set to zero
2021-07-01 14:24:38 +02:00
Matthias Grob
b824f33ae9
battery: publish measured values also when battery not connected
2021-07-01 14:24:38 +02:00
Matthias Grob
a99ddd0845
battery: don't reset on every loop iteration
2021-07-01 14:24:38 +02:00
Matthias Grob
8d74e52bb7
battery: omit separate publish() function
2021-07-01 14:24:38 +02:00
Matthias Grob
9c0c85c9e2
battery_status: naming consistency current_filtered_a -> current_average_a
2021-07-01 14:24:38 +02:00
Matthias Grob
41cc73e555
battery: simplify battery_initialized condition
2021-07-01 14:24:38 +02:00
Matthias Grob
a51d47f8e8
battery: connected check outside of determineWarning()
2021-07-01 14:24:38 +02:00
Jaeyoung-Lim
e45b862f1d
Specify orientaiton of ADIS16448 IMU from rc.sensors
...
Specify orientaiton of ADIS16448 IMU for from the rc.sensors
WIP: Currently only handling one orientation
2021-06-30 09:34:12 -04:00
Daniel Agar
33bf4e0303
EKF: set uninitialized vel/pos/hgt test ratios to NAN
...
- ensure valid min is numerically larger than 0 (float32)
2021-06-30 09:30:44 -04:00
Daniel Agar
d87cd171f4
sensors/vehicle_imu: continue integrating gyro if there's a gap in data
...
- minor improvement that helps to determine the sensor publication rate
as soon as possible
2021-06-30 09:13:49 -04:00
Daniel Agar
7ddcb7fe3c
adis16470: disable debug
2021-06-30 01:01:07 -04:00
Daniel Agar
982692f5ed
ekf2: selector handle NAN test ratios as uninitilaized
...
- requires https://github.com/PX4/PX4-ECL/pull/1020
2021-06-29 21:36:24 -04:00
Daniel Agar
f08a22934e
boards: px4_fmu-v4_test remove deleted drivers/tap_esc
2021-06-29 21:27:29 -04:00
Daniel Agar
f0d8d53da6
sensors/vehicle_imu: minor IMU integration improvements
...
- IMU integrator set max dt based on final return size (uint16)
- improve integration consuming gyro as needed then integrate all available accel until caught up
- increase required number of samples for sensor rate measurement (online Welford mean)
2021-06-29 10:43:09 -04:00
Daniel Agar
3fcd323f6a
drivers/imu/invensense: store offset registers on configure, trigger reset on any change
...
- this can catch subtle failures that occur after self hours of continuous operation on some units
2021-06-29 10:33:03 -04:00
alexklimaj
9d3e18dbe1
ARK Flow rev 2 add icm42688p
2021-06-25 09:44:45 -04:00
TSC21
a67e66000e
protocol_splitter: including magic number on XOR for checksum
2021-06-25 13:05:24 +02:00
TSC21
4741ec25ce
microRTPS: increase base message ID space to 179
2021-06-25 13:05:24 +02:00
Matthias Grob
5ac5399d83
Remove horizontal slow down close to ground
...
Because based on the numerous complaints it was disabled by default
(only velocities above 10m/s were limited)
and since then no one intentionally used it anymore. But
there were some minor investigations of drones not reaching
their maximum speed which always showed 10m/s.
2021-06-25 11:15:41 +02:00
Matthias Grob
055c9db178
state_machine_helper: allow takeoff and hold without any link
2021-06-25 10:46:43 +02:00
Matthias Grob
15096ead5f
state_machine_helper: explicitly notify about rca and data link loss
2021-06-25 10:46:43 +02:00
Matthias Grob
bec9eef5b0
state_machine_helper: react on link losses during takeoff
...
The same way like in loiter. This should be further unified in the code
but at least we can increase safety in the case the takeoff altitude is
very high and the vehicle never reaches it but looses links.
2021-06-25 10:46:43 +02:00
Matthias Grob
11556d4e9a
Commander: allow disabling RC loss failsafe for mission, hold, offboard independently
2021-06-25 10:46:43 +02:00
Matthias Grob
933d31b476
commander_params: correct parameter group from Mission to Commander
2021-06-25 10:46:43 +02:00
Matthias Grob
6ee8f7be0f
Commander: switch to static_cast<> for set_nav_state parameters
2021-06-25 10:46:43 +02:00
Jukka Laitinen
d83033f449
Take the crypto_backend library into use in bootloader for signature verification
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-06-25 08:35:58 +02:00
Jukka Laitinen
0d4f481035
Add simple SW implementations for crypto_backend and keystore_backend
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-06-25 08:35:58 +02:00
Jukka Laitinen
d068ae48d6
Add header file for arhitecture/implementation specific px4 crypto and
...
configuration for cmake
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-06-25 08:35:58 +02:00
Jukka Laitinen
b3e9904df0
Add monocypher crypto library in src/lib/crypto/monocypher
...
This simple crypto library is used as an example default backend for the crypto
interfaces
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-06-25 08:35:58 +02:00
Jukka Laitinen
09e62f96b2
Put all the test key material into same directory
...
Move Tools/test_key.json and key0.pub into same directory.
key0.pub is just a hex-dump of the public key part from the test_key.json,
for easy inclusion into bootloader monocypher sw crypto
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-06-25 08:35:58 +02:00
Jukka Laitinen
caed8e4b05
Fix cryptotools.py signature alignment
...
If the signature start address is already aligned, the tool erroneously adds 4 filling bytes
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-06-25 08:35:58 +02:00
Roman Dvořák
ab0e3b6001
icm20948_i2c_passthrough: allow to configure i2c address
2021-06-25 07:50:31 +02:00
Beat Küng
d79229f958
mavlink_shell.py: allow scripted use
...
E.g. echo free|./Tools/mavlink_shell.py
Or creating a virtual nsh console:
socat pty,rawer,link=/tmp/fmu_nsh_pts exec:"mavlink_shell.py 0.0.0.0\\:14550,pty,rawer"
2021-06-24 15:18:06 +02:00
Sander Swart
aa60d76963
camera trigger: don't keep triggering while enabled but paused
2021-06-24 06:56:58 +02:00
achim
6b356068cb
boards: mro_x21-777 board.h fix SPI 2 SCK pin
...
- SPI 2 had the wrong SCK PIN -> PB10 instead of PB13 -> accidentally the kill pin
could be probably wrong on other mro boards
2021-06-23 15:00:20 -04:00
Mathieu Bresciani
9cedb169fc
HTE: relax validity condition when already valid ( #17783 )
...
The condition to get valid requires a low variance and test ratio. but
to stay valid, only the variance is required.
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-06-23 07:33:11 +02:00
Hamish Willee
74cc1d901d
Thoneflow - fix up links to docs
2021-06-22 13:43:53 -04:00
Paul Riseborough
3beb5bcbe0
EKF: Fix momentum drag density altitude scaling and update comments
2021-06-22 18:50:56 +10:00
Paul Riseborough
97b5ae1e96
EKF: Fix derivation comments for drag fusion
2021-06-22 18:50:56 +10:00
Paul Riseborough
58d376e2be
EKF: prevent /0 and use pre-computed inverses
2021-06-22 18:50:56 +10:00
Paul Riseborough
de8625d255
EKF: fix sign error in bluff body drag fusion
2021-06-22 18:50:56 +10:00
Paul Riseborough
73d1e514d0
EKF: Extend drag fusion to include propeller momnetum drag
2021-06-22 18:50:56 +10:00
Matthias Grob
0dee7af81f
ekf2_params: enable baro ground effect compensation by default
2021-06-22 10:32:54 +02:00
BazookaJoe1900
91808f7c9e
Update EKF/common.h
...
Set non-zero default value for airspeed threshold to enable it by default
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2021-06-22 18:30:47 +10:00
Bazooka Joe
9c0a52d52a
delay time: potentially reduce delay time if baro/aux velocity/airspeed is not used
2021-06-22 18:30:47 +10:00
bresch
611ace0ed6
EV_yaw: reset ev_to_ekf to identity when yaw is reset to EV
...
Otherwise, the old rotation matrix is used and not updated anymore
because the EKF is fusing EV yaw data.
2021-06-22 10:25:55 +02:00
bresch
804c3563fb
heading_fusion: fix yaw gyro bias oscillation on ground
...
When the mag is pulled away before takeoff, the EKF can end up learning
a bad yaw gyro bias. This bad gyro bias makes the estimated heading spin
and even if the bias continues to be learned, it can end up being stuck
in limit cycle due to the innovation changing its sign every time the
heading estimate overshoots the measurement.
To prevent this, the Z gyro bias variance is reset when the mag heading
fusion test ratio fails on ground.
2021-06-22 16:45:26 +10:00
Thomas
a264541861
explicitly set param2 to 0 in existing *DO_VTOL_TRANSITION commands. add a guard against NaNs.
2021-06-21 22:39:54 +02:00
TSC21
0c5f2d3b8c
microRTPS: add missing header for PRIu32 and PRIu16 macros
...
Co-authored-by: squizz617 <seulbae@gatech.edu >
2021-06-21 16:36:44 +02:00
TSC21
9fb53d4276
microRTPS: add option to build the microRTPS agent after its generation
2021-06-21 16:36:44 +02:00
TSC21
084a992572
microRTPS: agent: only allow to whitelist the localhost when using FastDDS as the rmw
2021-06-21 16:36:44 +02:00
TSC21
79f7986715
apply ROS2 default memory management and publish mode QoS policies; make sure that SharedMemory is only used with FastDDS as the rmw
2021-06-21 16:36:44 +02:00
Igor Mišić
39909128ec
micrortps_client: increased stack size by 250B
...
Co-authored-by: Nuno Marques <n.marques21@hotmail.com >
2021-06-21 16:36:44 +02:00
TSC21
d3a23cee40
microRTPS: agent: fix double free memory problem on SIGINT
...
It fixes also some minor issues when exiting the agent, including the printed stats
2021-06-21 16:36:44 +02:00
TSC21
6d5f12d2a2
microRTPS: client: add TX rate limiter
2021-06-21 16:36:44 +02:00
TSC21
ac2b38603c
microRTPS: client: add missing "-p" option for the UART poll timeout and use microsecs for the send/rcv thread sleeps
2021-06-21 16:36:44 +02:00
TSC21
0cc79f3e48
microRTPS: client: show diagnostic of current bandwidth usage on the 'status' option
2021-06-21 16:36:44 +02:00
TSC21
d6ee15596d
microRTPS: client: show diagnostic of average bandwidth usage on the 'status' option
2021-06-21 16:36:44 +02:00
TSC21
40462bfc1f
microRTPS: client: reduce name set by pthread_setname_np since Linux requires names (with NUL) to fit in 16 chars, otherwise returns ERANGE (34)
2021-06-21 16:36:44 +02:00
TSC21
145e7387fb
posix: start the microRTPS client in sim every time the module is available
2021-06-21 16:36:44 +02:00
TSC21
773d81f208
microRTPS: client: fix send per allocated topic
2021-06-21 16:36:44 +02:00
TSC21
f2fad6d966
microRTPS: by default, when FastDDS >= 2.0, enable Shared Memory transport for the agent participants when the localhost network is enabled
2021-06-21 16:36:44 +02:00
TSC21
320b414511
microRTPS: client: match the code style from the PX4 Firmware
2021-06-21 16:36:44 +02:00
TSC21
63571b3e3f
microRTPS: agent: match the code style from the PX4 Firmware
2021-06-21 16:36:44 +02:00
TSC21
323ce797f8
microRTPS: allow communications only in the localhost network when ROS_LOCALHOST_ONLY env variable is set
2021-06-21 16:36:44 +02:00
TSC21
578e426e9e
microRTPS: set trajectory_waypoint to be sent only, as this is outgoing data with vehicle_trajectory_waypoint_desired
2021-06-21 16:36:44 +02:00
Pieter-Jan Dewitte
155d3c7d36
FW pos control: fix airspeed input constaining
2021-06-21 10:55:21 +02:00
Claudio Micheli
b1829e5766
Predict and use braking distance when Pausing auto modes (for multicopters) ( #17269 )
2021-06-18 10:45:03 +02:00
Daniel Agar
76a8617529
sensors: fix IMU init race condition
...
- IMU init requires valid published data (device ids, etc)
- orb_group_count will include advertised instances before data is published, so this can't be used to throttle IMU init attempts
2021-06-17 10:38:33 -04:00
Peter van der Perk
b2742658b7
UAVCANv1 port unset fixes and deinitialization
2021-06-17 10:02:17 -04:00
Beat Küng
1c3f30be01
protocol_splitter: tcflush() uart before closing it
2021-06-17 09:40:57 -04:00
Beat Küng
14ec7a0d93
mavlink: tcflush() uart before closing it
...
On NuttX with flow control, if no one was reading from the uart, the
close() call would block indefinitely waiting for data to be sent.
2021-06-17 09:40:57 -04:00
honglang
074ed24d02
nora:fixed syntax error
2021-06-17 09:37:04 -04:00
Daniel Agar
500c45e798
uORB: Subscription check if uORB::Manager instance is valid
...
- this is necessary if uORB::Subscription is used with static storage
duration
2021-06-17 08:07:24 +02:00
David Sidrane
a728431e43
spracing_h7extreme:Track NuttX assert changes
2021-06-16 17:07:47 +02:00
David Sidrane
b399b8d5ea
protocol_splitter:Track NuttX assert changes
2021-06-16 17:07:47 +02:00
David Sidrane
61f80c087a
px4io:Fix Type
2021-06-16 17:07:47 +02:00
David Sidrane
18960f0b82
RoboClaw:Fix Types
2021-06-16 17:07:47 +02:00
David Sidrane
9377b02c58
Track NuttX Timer changes
2021-06-16 17:07:47 +02:00
David Sidrane
05bdef867d
Track NuttX syslog change
2021-06-16 17:07:47 +02:00
David Sidrane
028ae9561d
logger:watchdog Track NuttX file reorg
2021-06-16 17:07:47 +02:00
David Sidrane
eea1477e80
FakeImu:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
37d93320eb
uavcan_v1:Uavcan: Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
026d36dee8
microRTPS:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
fd68fd2933
tests:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
f3624c172c
kinetis pinirq:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
93c37e4e0c
syslink:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
8d078eb02e
vtol_att_control:Fix type
2021-06-16 17:07:47 +02:00
David Sidrane
bec5d6de9b
vmount:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
350e43f02c
dataman:fix types
2021-06-16 17:07:47 +02:00
David Sidrane
77082188d8
temperature_calibration:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
d73f842151
sensors:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
274c55a4ae
navigator:mission Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
65d026d45c
mavlink:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
5faa116681
logger:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
3b725e5525
gyro_fft:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
07fbf8681d
gyro_calibration:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
85f4f13e8a
flight_mode_manager:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
9a423e222b
ekf2:Use inttypes and fix types
2021-06-16 17:07:47 +02:00
David Sidrane
ed474794cc
commander:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
a3593d7d07
analog_battery:Use inttytpes
2021-06-16 17:07:47 +02:00
David Sidrane
9c87766021
sensor_calibration:Use inttytpes
2021-06-16 17:07:47 +02:00
David Sidrane
4bc7f1f3f3
lib/perf:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
f50b238c78
lib/parameters:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
b4ebc68a40
lib/drivers/nuttx/ I2C SPI:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
ff2748ba53
PX4Gyroscope:Fix types
2021-06-16 17:07:47 +02:00
David Sidrane
42e51b0215
PX4Accelerometer:Fix types
2021-06-16 17:07:47 +02:00
David Sidrane
17502da493
lib/battery:Fix types
2021-06-16 17:07:47 +02:00
David Sidrane
42e4ea86b1
uavcannode_gps_demo:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
616401190c
UavcanNode:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
71f3a02c65
uavcan:use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
a07390a2d7
iridiumsbd:use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
2af9934f1c
pcf8583:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
4ecda97fc1
roboclaw:Fix types
2021-06-16 17:07:47 +02:00
David Sidrane
4aa7bff8c6
rc_input:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
e7406bbd46
px4io:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
3747d0bc80
px4io:Fix types
2021-06-16 17:07:47 +02:00
David Sidrane
9443dd6345
pwm_out:use inttypes, match signature
2021-06-16 17:07:47 +02:00
David Sidrane
bd511e1074
dShot: Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
810e9e174f
distance_sensor: Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
c12a3330b8
camera_trigger: Use proper types
2021-06-16 17:07:47 +02:00
David Sidrane
7b2a1d4742
drivers:camera_trigger Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
b6435bb7f2
drivers:camera_capture Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
3a0770499a
drivers:batt_smbus Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
05007944f1
drivers:barometer Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
824dbce941
drivers:ADC Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
6e5a86b6fe
dshot:Matched signature to drv_pwm_output.h
2021-06-16 17:07:47 +02:00
David Sidrane
dc23c85085
px4/common:mtd Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
1b80018f30
systemcmds:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
62fd132047
boards:Use inttypes
...
nxp_ucans32k146:Fix constant
spracing_h7extreme:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane
84dd8839a2
i2c_spi_buses:Track NuttX change to getopts avoid name collision
...
NuttX #defined optarg and getopt to move to TLS. This fixes the
name collision.
2021-06-16 17:07:47 +02:00
David Sidrane
64db89ab20
px_generate_uorb_topic_helper: Use inttypes
2021-06-16 17:07:47 +02:00
bresch
0ef5d7d4c8
test_replay: remove setting read-only parameter
2021-06-16 15:38:17 +02:00
AlexKlimaj
dddd2c3297
drivers/distance_sensor: New Broadcom AFBR-S50LV85D distance sensor driver
...
* Basic Broadcom AFBR-S50 driver using vendor API and binary blob https://github.com/Broadcom/AFBR-S50-API
* fix ARK Flow paw3902 rotation
2021-06-15 12:12:24 -04:00
Julian Oes
e828ba4288
commander: send parachute command on termination ( #17564 )
...
* commander: send parachute command on termination
This sends the DO_PARACHUTE command to parachute component.
* commander: fix lying comments and printf
* commander: use one flag for termination triggered
This merges the duplicate flags _flight_termination_triggered and
_flight_flight_termination_printed.
* commander: correct variable name
* commander: always send tune with parachute
* commander: fix target_component for parachute cmd
The previous changes were wrong in that all commands were now sent to
the parachute component which doesn't make any sense. Of course only the
parachute command should be sent there.
2021-06-15 11:50:30 +02:00
Jukka Laitinen
b550ad22b9
EKF2: Always publish global position
...
For historical reasons, there is a check in EKF2 to only publish global
position if it has moved for 1mm.
This is no longer necessary, and also this if doesn't save any cpu cycles
in real conditions where GPS errors are always much bigger that this.
When using simulated or fake GPS, based on some other positioning
system, the GPS coordinate input can be very accurate due to quantization
or true accuracy. In this case this check bites and perfectly valid position
doesn't get published.
Just removed this if.
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-06-15 10:55:39 +02:00
Julian Oes
8415692f2a
commander: enable user override when GPS is lost
...
When user override using the RC sticks is allowed, I would expect this
feature to also work in the case where GPS is lost and the vehicle goes
into a blind land/descent.
Without this commit, the vehicle would switch to Land mode and a pilot
could not take over control unless they switch to Altitude control in
a ground station.
With this commit, user override works as I would expect it and it will
switch to Altitude control allowing a pilot to recover in this
situation.
2021-06-15 10:36:11 +02:00
TSC21
749f213ca5
make_list: check if file exists before the other operations
2021-06-14 11:54:05 +02:00
TSC21
c4d54d983b
mavsdk_tests: bump MAVSDK version to 0.40.0
2021-06-14 09:23:38 +02:00
Daniel Agar
0c303f03f4
Update submodule mavlink v2.0 to latest Mon Jun 14 00:39:13 UTC 2021
2021-06-13 21:30:10 -04:00
Hamish Willee
d6f69ef2a0
aion robotic frame - fix broken link to R1 UGV docs
2021-06-12 11:58:26 -04:00
TSC21
0f47ae8e7b
update submodule Tools/sitl_gazebo
2021-06-12 11:57:17 -04:00
David Sidrane
9c8e95db8d
NuttX w/NXP contrib for FlexCAN fixes
2021-06-12 06:22:01 -07:00
David Sidrane
5b9201e5b4
cuav:Nora X7 Pro:Camera trigger is on 13/14
2021-06-11 15:13:23 +02:00
David Sidrane
e0fab172a4
camera_trigger:Support more than 8 channles
2021-06-11 15:13:23 +02:00
Beat Küng
615e1f3e29
mavlink: fix module doc for broadcast
2021-06-11 09:01:41 +02:00
Beat Küng
468aea9409
cmake: enable --ethernet to generate common param metadata
...
This will add the MAV_x_BROADCAST params.
2021-06-11 09:01:41 +02:00
Peter van der Perk
8c4b900f9a
uavcan_v1: Correct transmission deadline check & fix SocketCAN tx deadline
2021-06-10 02:26:28 +00:00
Julian Oes
ca86416ce6
mavlink: don't read garbage target sysid/compid
...
This fixes a tricky bug that we discovered in MAVSDK:
https://github.com/mavlink/MAVSDK/pull/1464
It turns out the target_system and target_component fields can
potentially be:
1. at the end of a message payload,
2. and zero,
and therefore they get trimmed. When you then try to read it you
potentially read some garbage from the CRC fields.
2021-06-09 15:40:46 -04:00
echoG
6bc09138c1
Adding BatMon smart battery as a module and refactoring SMBUS based SBS 1.1 spec to a library
2021-06-09 12:17:45 -04:00
Julian Oes
8be1034346
workflows: fixes typo on python package name ( #17740 )
...
The previous PR was merged optimistically.
2021-06-09 09:11:28 -07:00
bresch
514845592b
en-/disable mc position controller using explicit control mode flag
2021-06-09 18:10:22 +02:00
Julian Oes
17ea92bb54
workflows: add missing dependency for mypy ( #17736 )
2021-06-09 08:52:21 -07:00
Daniel Agar
328c5cb1cf
mavlink: properly cleanup instance on exit
2021-06-09 10:58:34 -04:00
Hamish Willee
9f87702074
px4moduledoc/markdownout.py - source links to PX4-Autopilot
2021-06-09 11:11:08 +02:00
Hamish Willee
665d2ea74e
markdownout for parameters - makes link internal
2021-06-09 11:09:48 +02:00
Hamish Willee
f9201811b4
airframes markdownout.py - fix link to not open file for editing
2021-06-09 11:08:37 +02:00
JacobCrabill
0931ff10d5
uavcan_v1: Clean up handling of invalid port IDs
...
Always convert 'invalid' port ID values (e.g., the default PX4 port-ID
parameter value of -1) to CANARD_PORT_ID_UNSET in all comparisons.
2021-06-08 20:13:19 -04:00
JacobCrabill
73ef22ae77
uavcan_v1: Fix heartbeat pub timestamp
...
The hrt_abstime value used to control the 1s pub rate was the value of
the timestamp_usec of the CanardTransfer, which has a timeout of 100ms
added to it.
Since hrt_abstime is an unsigned datatype, if the hrt_elapsed_time()
check was called <100ms apart, the negative value would result in a
large hrt_elapsed_time, and the bus would be spammed with Heartbeat
messages (or error messages from canardTxPush).
2021-06-08 20:13:19 -04:00
Daniel Agar
251f1a069b
ekf2: update message lost error messages to perf counters
...
- only allocate these perf counters if data source is present
2021-06-08 20:12:17 -04:00
bresch
841914462d
MC pos control: use vz<->z_deriv blending in pure vel mode only
...
This logic was introduced to avoid large altitude drifts in velocity
mode (altitude not controlled) due to potential velocity estimate bias
in case of IMU problems (see PR #8445 ). After some refactorings,
the logic started to be used in altitude-controlled modes as well, which is not needed.
2021-06-08 14:58:14 +02:00
Daniel Agar
47b9016f5e
I2CSPIDriverBase: print rotation and i2c address if set
2021-06-08 09:27:21 +02:00
CUAV_gitfishup
c61c1a15ee
cuav/x7pro: fix syntax error in rc.board_sensors
2021-06-08 09:18:20 +02:00
honglang
8b1d2b8551
change fmu-v5's uavcan timer5 to timer6
2021-06-07 20:07:03 +02:00
achim
00229c4fd2
drv_pwm_output.h: increase highest max pwm limit from 2150 to 2500
...
- servo linkages in vtol often need further travel of the servos to cover the full tilt travel
2021-06-07 09:13:39 -04:00
Daniel Agar
578c003c13
ekf2: selector handle uninitalized test ratios
...
- choose the best instance regardless of tilt or yaw alignment
2021-06-07 08:56:37 -04:00
Matthias Grob
ed62ae0e4f
mavlink: add actuator_armed header to heartbeat
2021-06-07 08:55:49 -04:00
Julian Oes
446598d003
mc_pos_control: omit initial warning
2021-06-07 08:54:19 -04:00
Daniel Agar
4f850c7cd0
sensors: preserve all valid calibration parameters even if sensor currently missing
...
- mark calibration slots active for first N sensors found
- calibration procedure don't bother resetting unused slots
2021-06-07 08:50:32 -04:00
Daniel Agar
2ccd86102b
ekf2: add command line option to manually select instance
2021-06-07 08:47:17 -04:00
achim
66dbc1e25f
Update rc.board_arch_defaults
...
logger doesn't start at all up to 4k buffer
2021-06-05 11:46:30 -04:00
achim
fd2161b6bf
Update rc.board_arch_defaults
...
logger doesn't start at all up to 4k buffer
2021-06-05 11:46:10 -04:00
achim
1ab7943940
Update rc.board_arch_defaults
...
Logger doesn´t start at all with 4k buffer
2021-06-05 11:45:53 -04:00
Daniel Agar
4f8f1a5f7e
mavlink: streams HEARTBEAT fix code style
2021-06-04 20:43:25 -04:00
Daniel Agar
d31a45a62d
github actions SITL test run standard_vtol with address sanitizer
2021-06-04 13:27:42 -04:00
Matthias Grob
faabe2d431
mavlink: make sure heartbeat reports flight termination
2021-06-04 12:48:22 -04:00
achim
6fb1ba7583
Update rcS
...
remove sd index file spoofing
2021-06-04 11:43:17 -04:00
Matthias Grob
70050ae4f5
mc_pos_control_params: correct MPC_POS_MODE docs since 1 is depracated
2021-06-04 09:32:03 -04:00
Peter van der Perk
9756c70491
UAVCANv1 Iteration, dynamic subscribers and decoupling ( #17624 )
...
* Update to use libcanard callback
Reworked param system with lambda
* Use callback instead of lambda saves 500 bytes of flash
* [UAVCANv1] Added ServiceRequest class, subscribers decoupled
* PX4 UAVCANv1 portID param default CANARD_PORT_ID_UNSET (65535U)
* [UAVCANv1] uORB sensor_gps modify timestamp for now untill we've got timesync working
* UAVCANv1 update parameter definition to use -1 as unset
2021-06-04 09:30:17 -04:00
Daniel Agar
470c3cfa6e
mavlink: streams HEARTBEAT fix vehicle_control_mode copy
2021-06-04 15:19:34 +02:00
CUAVmengxiao
98fb373590
mavlink: 14S battery support
2021-06-04 09:15:40 -04:00
RomanBapst
ad9288536b
TECS: enable direct height-rate control
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-06-04 14:51:27 +02:00
RomanBapst
f6de99d42e
FixedWingPositionControl: control only height rate when using pitch stick
...
in manual altitude controlled modes
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-06-04 14:51:27 +02:00
Silvan Fuhrer
3d87bfcc0a
rename FW_T_CLIMB_R_SP to FW_T_CLMB_R_SP
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-06-04 14:51:27 +02:00
RomanBapst
19449a4e75
FixedWingPositionControl: use target climb/sink rate parameters as maximum
...
rates in manual altitude controlled modes
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-06-04 14:51:27 +02:00
RomanBapst
a5cc449e69
tecs: propagate altitude setpoint based on target climb/sink rate
...
- avoids tecs always climbing and sinking and max rates and allows to fine tune these rates
- avoid numerical calculation of feedforward velocity using derivative, this
was prone to jitter in dt
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-06-04 14:51:27 +02:00
RomanBapst
4b7416c05b
FixedWingPosControlL1: added target climb and sink rate parameters
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-06-04 14:51:27 +02:00
Travis Bottalico
861e15be4c
- update CDCAM_PRODUCTID to match bootloader
2021-06-03 21:38:53 -04:00
bresch
8ad0f36f48
pwm: specific fail/disarm parameters should default to global value
2021-06-03 21:26:13 -04:00
Daniel Agar
db1657fa84
sensors/vehicle_magnetometer: apply current compensation regardless of arming state
...
- simplify update on mag compensation type change
2021-06-03 10:08:19 -04:00
Julian Oes
60235f8474
mavlink: properly initialize vehicle_command queue
...
This makes sure that the vehicle_command topic is properly
initialized from the beginning.
orb_exists returns -1 or 0 and not a bool as one would expect.
2021-06-03 08:53:39 -04:00
Hamish Willee
00cc1323ea
gpio.cpp: Add backticks around gpio command docs
2021-06-03 12:37:48 +02:00
alexklimaj
3e9b295c22
Add watchdog_init to ark boards to ensure watchdog pauses during debugging
2021-06-03 00:54:57 -04:00
Daniel Agar
284375efc3
px4io: only update PWM MAX/MIN/DIS/FAIL/REV once
...
- Updating PWM params on param change was interfering with VTOL
parameter settings (e.g. PWM_MIN is set by VTOL at init, and
was then overwritten here after an arbitrary param change).
2021-06-03 00:52:05 -04:00
Silvan Fuhrer
697d713faf
pwm out: disable PWM parameter update on param change
...
Only update PWM params on initialisation.
Updating PWM params on param change was interfering with VTOL
parameter settings (e.g. PWM_MIN is set by VTOL at init, and
was then overwritten here after an arbitrary param change).
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-06-03 00:52:05 -04:00
Daniel Agar
c6d5bd868e
boards: px4_fmu-v6x_default disable LPE to save flash
2021-06-02 09:12:24 -04:00
honglang
5672af4299
CUAV X7pro and Nora: use icm42688p instead of bmi088
2021-06-02 09:11:37 -04:00
Julian Oes
1b67187770
navigator: protect against 0 acceptance radius
...
This seems to slip in e.g. as part of the VTOL_LAND command.
2021-06-02 07:28:19 +02:00
Julian Oes
ab23a44b99
navigator: fix acceptance radius for multicopter
...
This fixes a regression introduced in
https://github.com/PX4/PX4-Autopilot/pull/16646
which meant that the acceptance radius was no longer used at all for
multicopter, and instead only the NAV_ACC_RAD param was used.
With this change we use the acceptance radius of the mission item again
if it is actually set (and not NAN) which we did not do before, and we
only do that for multicopter.
2021-06-02 07:28:19 +02:00
Daniel Agar
5f775b508f
boards: enable CONFIG_OTG_ID_GPIO_DISABLE on all F7/H7
2021-06-01 15:19:15 -04:00
David Sidrane
32e92ba817
Revert:Pull downs - bad levels cause motor spins
2021-06-01 15:18:47 -04:00
Beat Küng
dfa5964719
Accelerometer: fix thermal calibration index
2021-06-01 10:01:36 -04:00
Daniel Agar
d430e13401
sensors: wait for real sample rate to initialize LowPassFilter2p
2021-06-01 08:58:10 -04:00
Daniel Agar
438b0abc7a
mathlib: Biquad filters use internal fields for parameter update
2021-06-01 08:58:10 -04:00
Daniel Agar
9661eddef8
mathlib: LowPassFilter2p initialize b0 to 1 for safety
2021-06-01 08:58:10 -04:00
Daniel Agar
e52c0ceca5
Update submodule mavlink v2.0 to latest Tue Jun 1 00:39:07 UTC 2021
2021-05-31 21:11:01 -04:00
RomanBapst
b06b46b224
log raw airspeed derivative, pitch setpoint and airspeed innovation for TECS
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-31 23:56:23 +02:00
Daniel Agar
806b462935
px4_work_queue: increase UART stack
2021-05-31 14:49:40 -04:00
Daniel Agar
5831494164
boards: px4_fmu-v2_default disable gyro_calibration module to save flash
...
- this doesn't impact regular gyro calibration
2021-05-31 12:11:53 -04:00
Daniel Agar
90e106ede3
boards: cuav_x7pro_test disable LPE to save flash
2021-05-31 10:26:45 -04:00
Daniel Agar
5493d96d17
mathlib: merge LowPassFilter2p, LowPassFilter2pArray, and LowPassFilter2pVector3f
...
- fix reset for direct form 2
- push NAN checks out to filter users
2021-05-31 10:26:45 -04:00
Daniel Agar
2a792ca201
gyro_fft: add simple SNR requirement and reduce number of peaks
2021-05-31 10:26:45 -04:00
Daniel Agar
3269ee8df1
sensors/vehicle_angular_velocity: accumualted notch filtering and reset improvements
...
- apply sensor scaling immediately to keep things simple (FIFO vs regular)
- inline filter helpers (minor performance improvement)
- dynamic notch filtering
- reorder by axis (applied per axis)
- don't remove notch filters immediately if ESC or FFT data times out
- constrain notch filter frequency and bandwidth to safe range (minimum bandwidth for flaot precision, Nyquist, etc)
- add safe constraint on dt
2021-05-31 10:26:45 -04:00
Daniel Agar
561cfca4f9
fake_imu: add fake ESC status for testing dynamic notch filters
2021-05-31 10:26:45 -04:00
Daniel Agar
f25a70a674
mathlib: Notchfilter updates
...
- merge NotchFilterArray into regular NotchFilter (apply vs applyArray)
- only use direct form 1 to prevent reset confusion
- safe default field initialization
- update VehicleAngularVelocity usage
2021-05-31 10:26:45 -04:00
Daniel Agar
055b5404c3
sensors/vehicle_imu: switch to WelfordMean library and other improvements
...
- use WelfordMean library to determine sensor sample rate average
- if gyro samples exceeds queue depth, instead round to nearest even integer to ease scheduling
- force update if publication latency is falling behind
- remove redundant sample interval perf counters
- status print accel & gyro interval standard deviation
2021-05-31 10:05:10 -04:00
Daniel Agar
3340fca332
sensors/vehicle_imu: move accel & gyro updates to separate methods
2021-05-31 10:05:10 -04:00
Daniel Agar
a5979e16be
sensors/vehicle_imu: move publish to separate method
2021-05-31 10:05:10 -04:00
Daniel Agar
0b9e4a5902
sensors/vehicle_imu: Integrator simplify and make header only
2021-05-31 10:05:10 -04:00
Silvan Fuhrer
cf5e6e4133
Sensors: subscribe to differential_pressure in vehicle_air_data to calculate air density
...
-constrain range to -20..35°C
-do not use temperature readings if exactly 0 (as likley not filled by driver at all in this case)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-31 09:53:47 +02:00
David Sidrane
973068ebfe
holybro_can-gps-v1:Rev to RC9 HW
...
holybro_can-gps-v1:Fix LEDs
holybro_can-gps-v1:Only CAN1
holybro_can-gps-v1:ncp5623c at 0x39
2021-05-29 10:53:27 -04:00
Daniel Agar
51f738e54c
boards: bootloader.cmake trivial whitespace cleanup
2021-05-28 23:56:20 -04:00
modaltb
e25cfaaa2f
boards: Add ModalAI Flight Core v2 initial support
2021-05-28 22:26:40 -04:00
Jukka Laitinen
34de392425
Add compiler cmake files for RISC-V (rv64gc) targets
...
This adds the basic support for riscv64-unknown-elf compiler amd rv64gc ISA
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-28 22:22:57 -04:00
Jukka Laitinen
935253357a
nuttx compilation: Don't assume "arm" to enable risc-v compilation
...
Replace "arm" by "${CONFIG_ARCH}"
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-28 22:22:57 -04:00
Jukka Laitinen
12f33524fa
fix legacy data types again
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-28 17:55:02 -04:00
Peter van der Perk
ed0b5a7c1a
FMUK66 update socketcan configs
2021-05-28 08:03:58 -07:00
Jukka Laitinen
0de0709be3
Fix github url for uavcan_v1/legacy_data_types
...
The URL is spelled wrong, it should be capital "PX4"
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-28 10:36:30 -04:00
Julian Oes
1da4e2f441
vmount: fix param limit
2021-05-28 14:46:40 +02:00
Silvan Fuhrer
4b42a1639b
TECS: in airspeed-less mode, set airspeed estimate to cruise airspeed
...
In airspeed-less mode, instead of the average of min/max airspeed, take the cruise
airspeed (from param) for current airspeed estimate. A diff of the airspeed setpoint
from this value results in increased enegery demand (incerase of throttle) even
in airspeed-less mode.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-28 14:25:53 +02:00
Nuno Marques
f9fe0e3746
ROS2/microRTPS: Add support for ROS2 Galactic and ROS2 Rolling ( #17664 )
...
microRTPS: generate_microRTPS_bridge: add support for ROS2 versions
* Galactic
* Rolling
2021-05-27 09:32:16 -07:00
Daniel Agar
ad534561d3
commander: only play safety change tunes if initialized
2021-05-27 10:13:49 +02:00
Daniel Agar
af71b2e3ab
commander: fix COM_DISARM_PRFLT parameter description typos
2021-05-26 21:48:41 -04:00
Jukka Laitinen
675a5a2b2c
bootloader: change flash_cache addresses to uintptr_t
...
To fix comilation errors on 64 bit platforms
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-26 12:57:37 -07:00
Jukka Laitinen
071eaef884
Adjust paths to bootloader include files for boards
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-26 12:57:37 -07:00
Jukka Laitinen
64d264b49a
bootloader: Move chip specific things under chip specific folders
...
- move systick.c under chip specific sources
- move do_jump into chip specific main.c as arch_do_jump
- wrap flash writes to "arch_flash_write" and implement in chip specific main.c
- add bootloader TOC check
- sync image_toc.h with the version currently in use with old bootloader
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-26 12:57:37 -07:00
David Sidrane
3e18fa12d6
px4_fmu-v5x:Remove vcm1193l
2021-05-26 13:41:10 -04:00
David Sidrane
2feb096fb9
vtrantech Rename to match V1.1 vcm5883->vcm1193l
2021-05-26 11:24:11 -04:00
Daniel Agar
b264577daa
sensors/vehicle_acceleration: require valid sample rate before running
...
- this fixes a minor edge case when you only have a single accelerometer and haven't made any parameter changes, the sensor sample rate (used for filtering) might not have been updated from default
2021-05-24 21:39:42 -04:00
Daniel Agar
22838f491a
ekf2: replace mag missed error message with perf count
...
- this error is primarily useful when significant gaps in magnetometer are present, otherwise the occasional gaps at startup, etc are distracting in regular usage
2021-05-24 20:52:07 -04:00
PX4 BuildBot
187297653a
Update submodule ecl to latest Mon May 24 12:39:12 UTC 2021
...
- ecl in PX4/Firmware (17da6293aa8e32a0e41c8fe10b8ffbf4e3e922b3): https://github.com/PX4/PX4-ECL/commit/e57af44d71dea2da62055076f186b3d15278ae7e
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/71fc1b81612fa9b5184d5abb93b69d109e9d0e4b
- Changes: https://github.com/PX4/PX4-ECL/compare/e57af44d71dea2da62055076f186b3d15278ae7e...71fc1b81612fa9b5184d5abb93b69d109e9d0e4b
71fc1b8 2021-05-20 bresch - airspeed fusion: use yaw from 312 sequence when pitch is close to 90deg
2021-05-24 18:59:56 -04:00
Daniel Agar
0fc98b2793
move IMU_GYRO_FFT_EN parameter to developer category
...
- these need more work and testing before we should encourage wider usage
2021-05-24 18:59:32 -04:00
Daniel Agar
e18b1c0355
mpu9250: tolerate missing/mismatching FIFO samples if I2C slave mag active
...
- when the mpu9250 mag is active it disrupts IMU sampling
- this change modifies the simple mpu9250 FIFO integrity checks (comparing duplicate accel samples) to tolerate these samples that don't match if the mag is active
- fixes #17615
2021-05-24 11:22:13 -04:00
Daniel Agar
6549017993
navigator: GeofenceBreachAvoidance remove duplicate type alias
2021-05-23 17:51:08 -04:00
bresch
71fc1b8161
airspeed fusion: use yaw from 312 sequence when pitch is close to 90deg
...
This caused bad initialization of the wind estimate on tailsitters
2021-05-23 15:58:50 +10:00
Daniel Agar
8327335fa4
Update submodule mavlink v2.0 to latest Sat May 22 00:38:27 UTC 2021
2021-05-22 13:35:50 -04:00
PX4 BuildBot
a6148d6320
Update submodule libcanard to latest Sat May 22 12:39:12 UTC 2021
...
- libcanard in PX4/Firmware (e2ba4858a3285fe7ff0f2888d8b1ce5dbda589a1): https://github.com/UAVCAN/libcanard/commit/38796831f9083c0f0674319543d8d10813429eb5
- libcanard current upstream: https://github.com/UAVCAN/libcanard/commit/2a116170285fb47fcaae150ad21c2ccde0756a5f
- Changes: https://github.com/UAVCAN/libcanard/compare/38796831f9083c0f0674319543d8d10813429eb5...2a116170285fb47fcaae150ad21c2ccde0756a5f
2a11617 2021-05-20 Pavel Kirienko - Update the changelog
a1efa3a 2021-05-20 Peter van der Perk - Expose CanardRxSubscription fields for read-only use (#167 )
2021-05-22 13:35:03 -04:00
PX4 BuildBot
142d6f3dbc
Update submodule ecl to latest Sat May 22 12:39:15 UTC 2021
...
- ecl in PX4/Firmware (2a18b8feeb24dcb07c2dd141e6097e211f83e6bd): https://github.com/PX4/PX4-ECL/commit/85f5a935fe6095f585bfb12b584e0813126cbc2a
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/e57af44d71dea2da62055076f186b3d15278ae7e
- Changes: https://github.com/PX4/PX4-ECL/compare/85f5a935fe6095f585bfb12b584e0813126cbc2a...e57af44d71dea2da62055076f186b3d15278ae7e
e57af44 2021-05-18 Bazooka Joe - set parameters that doesn't change with const attribute, for clearification
2021-05-22 13:34:31 -04:00
PX4 BuildBot
68e386cf2d
Update submodule sitl_gazebo to latest Sat May 22 00:38:23 UTC 2021
...
- sitl_gazebo in PX4/Firmware (61e972ba35 ): https://github.com/PX4/PX4-SITL_gazebo/commit/f10ccb7ec34e35842254fe969d49beea699a8ffb
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/5c248898524cb670df496149de5e4692e16e69dc
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/f10ccb7ec34e35842254fe969d49beea699a8ffb...5c248898524cb670df496149de5e4692e16e69dc
5c24889 2021-05-20 Andrew Voznytsa - Use cmake to find and link to gstreamer-app-1.0
2021-05-22 06:48:03 +02:00
Daniel Agar
61e972ba35
px_uploader.py remove special pyserial checks that fail on some platforms
2021-05-21 08:56:12 +02:00
Julian Oes
518222bae4
navigator: fix home altitude feasibility check
...
This includes the following:
- Remove warning/throw_error flag as it is always !home_alt_valid.
- Remove impossible code path when home_alt_valid = false and
throw_error = false.
- Add home_alt_valid check in second check before using home_alt.
- Only use warning for the second check to allow waypoints below home.
- Don't return early when only warning.
2021-05-20 10:50:54 -04:00
Julian Oes
90a33d59e4
commander: blink red on invalid mission
...
It doesn't make sense to blink green when something is not good.
2021-05-20 10:50:54 -04:00
Julian Oes
4ccc60e2b0
commander: neutral beep on mission with warning
...
When a mission is uploaded we should beep consistenly:
- valid -> positive
- warn -> neutral
- invalid -> negative
Before this, it was:
- valid -> positive
- warn -> negative
- invalid -> negative
2021-05-20 10:50:54 -04:00
Julian Oes
b7890529b2
navigator: reset mission feasibility warning flag
...
Without reseting the warning flag commander would complain about a
warning but still allow arming and flying the mission which was weird.
2021-05-20 10:50:54 -04:00
Daniel Agar
9969edfabc
mavlink: STATUSTEXT stream use perf count for missed messages
...
- don't send stale messages
- process all queued messages until tx buffer is full
2021-05-20 10:39:11 -04:00
Bazooka Joe
e57af44d71
set parameters that doesn't change with const attribute, for clearification
2021-05-20 18:19:33 +10:00
Julian Oes
1f40a65210
mavlink: improve command param5/6, x/y handling
...
This adds support to handle INT32_MAX for COMMAND_INT.x/y by converting
it to NAN internally.
It also adds paranoid checks to prevent:
- NAN being used sent by a COMMAND_INT by mistake.
- INT32_MAX being used sent by a COMMAND_LONG by mistake.
2021-05-20 09:26:30 +02:00
PX4 BuildBot
4bb53e2afc
Update submodule libcanard to latest Wed May 19 00:39:15 UTC 2021
...
- libcanard in PX4/Firmware (7c7657e6a0254b62959ea6b908b89815f0cfee5a): https://github.com/UAVCAN/libcanard/commit/55938c51cf7da3096679933302693c9dae7a2b33
- libcanard current upstream: https://github.com/UAVCAN/libcanard/commit/38796831f9083c0f0674319543d8d10813429eb5
- Changes: https://github.com/UAVCAN/libcanard/compare/55938c51cf7da3096679933302693c9dae7a2b33...38796831f9083c0f0674319543d8d10813429eb5
3879683 2021-05-18 Pavel Kirienko - Add canardRxAccept2(), fix #163 (#164 )
2021-05-19 00:24:00 -04:00
CUAVcaijie
ffe9f8a942
boards: CUAV Nora/X7Pro ICM20649 on SPI6 bus will be replaced by ICM20689
2021-05-18 18:49:25 -04:00
Daniel Agar
10f33cdd35
boards: px4_fmu-v6x_default re-enable top and free up flash
2021-05-18 16:22:02 -04:00
Daniel Agar
e498023d0f
ist8308: improve configuration
...
- disable noise suppression filter
- select more appropriate dynamic range
- carefully set and clear all ODR, DR, and OSRCNTL bits
- retry in probe multiple times
2021-05-18 13:20:21 -04:00
David Sidrane
4acc18ca60
Add VCM5883 Magnetometer
...
Fix LSB/G
2021-05-18 12:57:46 -04:00
Daniel Agar
820a442fe3
drivers/imu/analog_devices/adis16448: minor fixes and compatibility with older model
...
- increase SPI stall time slightly
- tolerate mag self test failure (could be due to local magnetic field)
- register configuration compatible with older ADIS16448AMLZ
- don't publish duplicate accel/gyro
- only allocate CRC perf counter if using CRC
2021-05-18 12:44:37 -04:00
PX4 BuildBot
eee08601af
Update submodule sitl_gazebo to latest Tue May 18 00:50:37 UTC 2021
...
- sitl_gazebo in PX4/Firmware (c3884b5bc1 ): https://github.com/PX4/PX4-SITL_gazebo/commit/402897d22505a13505c19adca23c03a47224175f
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/f10ccb7ec34e35842254fe969d49beea699a8ffb
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/402897d22505a13505c19adca23c03a47224175f...f10ccb7ec34e35842254fe969d49beea699a8ffb
f10ccb7 2021-05-17 grahamjamesaddis - Fix non unique name warning in tailsitter.sdf.jinja (#756 )
05b8625 2021-05-13 Andrew Voznytsa - Fix gstreamer timestamps; Use push mode all the way; Avoid duplicated frame encoding; Cleanup a bit there and here
9ec04cc 2021-05-16 Graham James Addis - Tidy rotor colours Grey/Blue.
493c5dc 2021-05-16 Graham James Addis - Minimal conversion to jinja format.
2021-05-17 23:03:51 -04:00
Daniel Agar
db3c89b1e3
Update submodule mavlink v2.0 to latest Tue May 18 00:50:40 UTC 2021
2021-05-17 21:53:36 -04:00
PX4 BuildBot
319cab6c2c
Update submodule ecl to latest Tue May 18 00:50:43 UTC 2021
...
- ecl in PX4/Firmware (4668ea5c32075aca28fd813881a349f765ad8d2a): https://github.com/PX4/PX4-ECL/commit/29243ac5cbb5d27ac71744e88afcd786df6f748d
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/85f5a935fe6095f585bfb12b584e0813126cbc2a
- Changes: https://github.com/PX4/PX4-ECL/compare/29243ac5cbb5d27ac71744e88afcd786df6f748d...85f5a935fe6095f585bfb12b584e0813126cbc2a
85f5a93 2021-05-11 bresch - [AUTO COMMIT] update change indication
f7c687e 2021-05-11 bresch - GNSS yaw unit test: test fallback to non yaw aiding mode
a4fe2b1 2021-05-11 bresch - yaw_align: let the mag control logic do the alignement and resets
2cc0230 2021-05-11 bresch - mag control: select mag mode before doing the reset
fe943cf 2021-05-11 bresch - mag reset: force align in MC custom mode (aka. indoor mode)
cadcc58 2021-05-11 bresch - mag reset: do not stop the fusion from inside the reset function
6248646 2021-05-11 bresch - EV yaw: move EV yaw reset out of resetMagHeading function
48722a2 2021-05-07 bresch - control: inhibit EV yaw from restarting when GPS aid wants to start
a685987 2021-05-07 bresch - GNSS yaw: unset yaw_align if fusion stops before takeoff
7ee6970 2021-05-04 bresch - GNSS yaw: add test case when measurement jumps
7a11871 2021-05-04 bresch - GNSS yaw tests: adjust timing
51197a5 2021-05-03 bresch - GNSS yaw selection logic refactor
2021-05-17 21:52:00 -04:00
Daniel Agar
c3884b5bc1
fake_imu (formally fake_gyro) updates for testing gyro filtering
...
- fake_imu now publishes sine sweeps over 10 seconds
- accel is also published so that fake IMU can be selected when the only option
2021-05-17 20:26:25 -04:00
Daniel Agar
39c90c8fc9
Update submodule GPSDrivers to latest Mon May 17 12:38:15 UTC 2021
2021-05-17 19:25:45 -04:00
Daniel Agar
87b861d0f0
IMU_GYRO_CUTOFF and IMU_DGYRO_CUTOFF increase default slightly
2021-05-17 17:37:52 +02:00
Peter van der Perk
60a083b662
canbootloader clear pending systick interrupts
2021-05-17 05:05:24 -07:00
Daniel Agar
3a3cc33d69
drivers/optical_flow/paw3902: require >= 10 valid consecutive readings before deciding mode changes
...
- improve mode change requirements comments
- reduce verified read/write retries (these are mostly wasting time)
2021-05-16 20:29:06 -04:00
PX4 BuildBot
9d54b7b64e
Update submodule jMAVSim to latest Sun May 16 12:39:03 UTC 2021
...
- jMAVSim in PX4/Firmware (5f14ee2a97 ): https://github.com/PX4/jMAVSim/commit/2b610caab81726ab79019de0f2fa8cff5e341bd5
- jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/0a816d8100e9860a031ccfccfb9941bcd6eedc81
- Changes: https://github.com/PX4/jMAVSim/compare/2b610caab81726ab79019de0f2fa8cff5e341bd5...0a816d8100e9860a031ccfccfb9941bcd6eedc81
0a816d8 2021-05-12 Beat Küng - mavlink: update message definitions to latest master
2021-05-16 17:23:40 -04:00
PX4 BuildBot
093854d29b
Update submodule public_regulated_data_types to latest Sun May 16 12:39:17 UTC 2021
...
- public_regulated_data_types in PX4/Firmware (b0b812007a76a7d3cfb3e1d2d32f245a681800d7): https://github.com/UAVCAN/public_regulated_data_types/commit/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
- public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/0a773b93ce5c94e1d2791b180058cb9897fab7e1
- Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae...0a773b93ce5c94e1d2791b180058cb9897fab7e1
0a773b9 2021-05-10 Kalyan Sriram - reg/drone: remove redundant timestamp in Velocity3Var (#117 )
2021-05-16 17:23:01 -04:00
PX4 BuildBot
723e803ab9
Update submodule public_regulated_data_types to latest Sun May 16 12:39:14 UTC 2021
...
- public_regulated_data_types in PX4/Firmware (b00f416229a5bcef2bdad4ec29c90e4846c701af): https://github.com/UAVCAN/public_regulated_data_types/commit/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
- public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/0a773b93ce5c94e1d2791b180058cb9897fab7e1
- Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae...0a773b93ce5c94e1d2791b180058cb9897fab7e1
0a773b9 2021-05-10 Kalyan Sriram - reg/drone: remove redundant timestamp in Velocity3Var (#117 )
2021-05-16 17:22:40 -04:00
Daniel Agar
904f827df0
Jenkins: increase timeout and build history
2021-05-16 15:59:56 -04:00
AlexKlimaj
4a93f7cea1
Add ARK CAN GPS Board Config
2021-05-16 13:21:44 -04:00
Damien SIX
e4f235001b
fix timesync for timestamp sample (including SFINAE detection)
2021-05-16 13:15:37 -04:00
Daniel Agar
ecf2cd3afb
CAN node STM32F7 support and Freefly RTK GPS CAN node
2021-05-16 13:10:02 -04:00
Beat Küng
1ad25369e7
Makefile: ensure 'clean' does not fail if build directory does not exist
2021-05-16 13:01:20 -04:00
Beat Küng
5114158090
px4/fmu-v6x: disable dumpfile (reduce flash)
2021-05-16 13:01:20 -04:00
Beat Küng
9fbbcc9c73
mavlink ATTITUDE_TARGET: send also if vehicle_attitude_setpoint is not updated
...
This is the case in MC acro
2021-05-16 13:01:20 -04:00
Beat Küng
2a84afb6a2
mavlink: avoid 'stream xy not found' warnings on CONSTRAINED_FLASH targets
...
e.g.:
WARN [mavlink] stream ADSB_VEHICLE not found
WARN [mavlink] stream GIMBAL_DEVICE_ATTITUDE_STATUS not found
WARN [mavlink] stream GIMBAL_MANAGER_STATUS not found
WARN [mavlink] stream GIMBAL_DEVICE_SET_ATTITUDE not found
WARN [mavlink] stream GPS2_RAW not found
WARN [mavlink] stream UTM_GLOBAL_POSITION not found
ERROR [mavlink] configure_streams_to_default() failed
2021-05-16 13:01:20 -04:00
PX4 BuildBot
9e352e92bd
Update submodule sitl_gazebo to latest Sun May 16 12:39:08 UTC 2021
...
- sitl_gazebo in PX4/Firmware (7cb3ed98b61c514d01fc9a68ba87445f8b9aa142): https://github.com/PX4/PX4-SITL_gazebo/commit/2496b85dd22d2f9c1c1281d5ef77dfb86ef604a3
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/402897d22505a13505c19adca23c03a47224175f
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/2496b85dd22d2f9c1c1281d5ef77dfb86ef604a3...402897d22505a13505c19adca23c03a47224175f
402897d 2021-05-09 Jaeyoung-Lim - Update mavsdk version scripts
2021-05-16 12:55:28 -04:00
Jonas Vautherin
5f14ee2a97
busy -> invalid item
2021-05-13 12:22:16 +02:00
Daniel Agar
ad0482155e
ROMFS: reduce LOGGER_BUF default to 8 kB on older boards
2021-05-12 17:06:33 +02:00
bresch
85f5a935fe
[AUTO COMMIT] update change indication
2021-05-12 08:33:07 +10:00
bresch
f7c687e433
GNSS yaw unit test: test fallback to non yaw aiding mode
2021-05-12 08:33:07 +10:00
bresch
a4fe2b1e72
yaw_align: let the mag control logic do the alignement and resets
2021-05-12 08:33:07 +10:00
bresch
2cc023038b
mag control: select mag mode before doing the reset
2021-05-12 08:33:07 +10:00
bresch
fe943cf104
mag reset: force align in MC custom mode (aka. indoor mode)
...
Checking the parameter is enough to decide if we want to force the yaw
alignment or not
2021-05-12 08:33:07 +10:00
bresch
cadcc58415
mag reset: do not stop the fusion from inside the reset function
...
The start/stop is already handled in the dedicated mag control logic
The early return is not required as this case is handled just below
2021-05-12 08:33:07 +10:00
bresch
6248646bff
EV yaw: move EV yaw reset out of resetMagHeading function
...
Also remove the unnecessary 2nd "manual reset" done in the start function
2021-05-12 08:33:07 +10:00
bresch
48722a2a92
control: inhibit EV yaw from restarting when GPS aid wants to start
2021-05-12 08:33:07 +10:00
bresch
a685987082
GNSS yaw: unset yaw_align if fusion stops before takeoff
...
We do not want to rely on a potentially badly initialized heading as it
could lead to a flyaway directly after takeoff
Also remove the resetMagHeading() call from the GPS fusion control logic
as this is properly handled in mag_control.
2021-05-12 08:33:07 +10:00
bresch
7ee69706e8
GNSS yaw: add test case when measurement jumps
2021-05-12 08:33:07 +10:00
bresch
7a11871566
GNSS yaw tests: adjust timing
...
the starting condition needs more than 1 sample to determine if the data
comes regularly
the timeout on "no data" is defined by the fusion reset timeout
parameter (7 seconds)
2021-05-12 08:33:07 +10:00
bresch
51197a5d82
GNSS yaw selection logic refactor
2021-05-12 08:33:07 +10:00
Beat Küng
d300a879f1
cmake: remove romfs content before tar extraction
...
This avoids incremental build errors when switching between branches with
a different set of airframes.
E.g:
Aborting due to missing @type tag in file: 'Firmware/build/px4_fmu-v5_default/etc/init.d/airframes/13030_generic_vtol_quad_tiltrotor'
2021-05-11 13:14:42 -04:00
Beat Küng
e77b4418a5
fix logger: use free() instead of 'delete[]' for _buffer
...
The allocation got changed to px4_cache_aligned_alloc
2021-05-11 18:12:56 +02:00
Igor Mišić
05a2d4d5a9
gps: updated submodule to fix for heading
2021-05-11 08:34:23 +02:00
Igor Mišić
d9e31d67aa
gps: Updated timeout time for the rover with moving base
...
The MB rover will wait as long as possible to compute a navigation solution, possibly lowering the navigation rate all the way to 1 Hz while doing so.
2021-05-11 08:34:23 +02:00
Silvan Fuhrer
b7e563bdbe
Airspeed selector: fix in_air_fixed_wing condition
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
Silvan Fuhrer
596da5b7d3
Airspeed selector: use module params for FW_AIRSPD_STALL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
Silvan Fuhrer
2f73115b54
translate ASPD_STALL to FW_AIRSPD_STALL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
Silvan Fuhrer
bf311ed77d
addressed review comments (fixes in error message and comments)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
Silvan Fuhrer
63a53d48e7
FW Position controller: improve parameter sanity checks (provide more feedback)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
Silvan Fuhrer
c8ec6b3d08
Airspeed selector: remove ASPD_STALL and replace by FW_AIRSPD_STALL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-10 13:43:05 +02:00
RomanBapst
3b27864e53
vehicle_status: added field for geofence violation
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-10 10:46:49 +03:00
RomanBapst
3ac8c23dd0
commander: added prearm check for geofence violation
...
- if geofence action is not none, then don't allow arming outside of geofence
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-10 10:46:49 +03:00
RomanBapst
6215e6c7ec
navigator: do not emit geofence warnings if system is not armed
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-10 10:46:49 +03:00
David Sidrane
e87a6c755d
px4_fmu-v5x:Add support for Revision 2 FMUM HW using ICM20649 not BMI088
2021-05-10 09:11:50 +02:00
David Sidrane
69e0c2fc10
px4:platform support SPI configuration selection on HW REV
2021-05-10 09:11:50 +02:00
Julian Oes
e4ee7c7d98
sitl_gazebo: update submodule
...
This fixes the simulation stalling after 30mins due to an int overflow.
2021-05-09 15:17:25 +02:00
David Sidrane
541697d193
NuttX Backports Fixing SDIO/SDMMC Data Timeouts
...
stm32, F7 and H7
2021-05-08 04:40:54 -07:00
Daniel Agar
c49c8932de
commander: mag_calibration fail immediately if no mags available
2021-05-08 13:03:42 +02:00
Peter van der Perk
0c926250a2
UAVCANv1 cleanup and uORB over UAVCANV1 move to own subclass
2021-05-08 13:03:02 +02:00
Daniel Agar
dfb4ec56b1
Makefile: clean and distclean updates
...
- update clean to recurse all build directories and use build system clean
- git clean is used to remove submodule generated build artifacts that
are left in the source tree
- distclean now discards all build directories and any gitignored
filess that were generated in source directories (but not top level)
2021-05-08 12:29:16 +02:00
Daniel Agar
f15eefcc95
ekf2: selector increase status rate before potential instance change
2021-05-07 22:38:47 -04:00
Julian Oes
29730e30fa
ekf2: don't timeout in HITL mode
...
Otherwise ekf2 might not start if HITL isn't started within 30 seconds.
2021-05-07 22:38:03 -04:00
Julian Oes
ac97b5520c
commander: assume power is fine for HITL
...
This means that the preflight check indicator in QGC is green for HITL.
2021-05-07 22:38:03 -04:00
Julian Oes
648a21f11d
commander: ignore calibration in HITL
...
The calibration is not found in HITL mode. Therefore, I suggest to
ignore this step and assume the calibration is fine.
This mostly fixes the preflight check indicator in QGC, arming was (for
some reason?) already possible.
2021-05-07 22:38:03 -04:00
Hamish Willee
d3fd03a014
airspeed calibration: instruct to blow into front of pitot
...
... rather than across it
2021-05-07 21:34:53 -04:00
David Sidrane
b1e0702657
px4_fmuv2:Save Flash CONFIG_LIBC_STRERROR=n
2021-05-07 11:50:38 -07:00
David Sidrane
8d82560308
NuttX Backports
...
[BACKPORT] binnfmt:Fix return before close ELF fd
stm32h7: serial: use dma tx semaphore as resource holder
[BACKPORT] stm32h7:Serial Add RX and TX DMA
[BACKPORT] drivers/serial: fix Rx interrupt enable for cdcacm
[BACKPORT] stm32h7:Allow for reuse of the OTG_ID GPIO
[BACKPORT] stm32f7:Allow for reuse of the OTG_ID GPIO
2021-05-07 11:50:38 -07:00
PX4 BuildBot
e265ebabc5
Update submodule ecl to latest Thu May 6 12:39:12 UTC 2021
...
- ecl in PX4/Firmware (a300d32523e24df3f366a0d564b764261e1c1909): https://github.com/PX4/PX4-ECL/commit/a7b8afe420f438554ad90bcba0f1f4872325e75b
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/29243ac5cbb5d27ac71744e88afcd786df6f748d
- Changes: https://github.com/PX4/PX4-ECL/compare/a7b8afe420f438554ad90bcba0f1f4872325e75b...29243ac5cbb5d27ac71744e88afcd786df6f748d
29243ac 2021-05-05 bresch - yaw_reset: reduce minimum vector length to compute yaw error
aad4840 2021-05-02 Kabir Mohammed - EKF: increase allowed difference between flow and gyro ODRs
2021-05-06 13:53:40 -04:00
Daniel Agar
9419f9c5e8
Update submodule mavlink v2.0 to latest Thu May 6 12:39:02 UTC 2021
2021-05-06 13:52:43 -04:00
bresch
29243ac5cb
yaw_reset: reduce minimum vector length to compute yaw error
...
A value of 1m/s was too conservative and the EKF takes too much time to
trigger a yaw reset. The value can be safely reduced because the
threshold is computed using the accuracy of the measurement and estimate
before being limited by this value.
2021-05-06 19:13:54 +10:00
Silvan Fuhrer
08dab18a8b
vtol_type: in FW, set min PWM to PWM_DEFAULT_MIN instead of PWM_MOTOR_OFF
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-06 10:20:24 +02:00
benjinne
099c2d13f6
dshot: add 3D capability
2021-05-06 08:12:07 +02:00
Daniel Agar
177ee4cbca
drivers/optical_flow/paw3902: properly discard samples after mode change
...
- respect mode 2 shutter requirements from datasheet (should not operate with Shutter < 0x01F4 in Mode 2)
- sensor reset is handled by mode change
2021-05-05 21:48:01 -04:00
Daniel Agar
b1ebd16c61
ekf2: improve selector reset handling
...
- handle reset count rollover (uint8_t)
- compute full reset delta if primary estimator instance has changed or if we missed a reset
2021-05-05 21:45:13 -04:00
Alessandro Simovic
d1d5eba320
follow-me: log follow_target msg
2021-05-05 16:13:50 -04:00
Alessandro Simovic
48f3bd4078
follow-me: formatting
2021-05-05 16:13:50 -04:00
Alessandro Simovic
5f19eeaaa5
follow_target: copy also velocity fields from uorb
2021-05-05 16:13:50 -04:00
Alessandro Simovic
2d6bc9b6e0
follow_target: use actual velocity measurement
2021-05-05 16:13:50 -04:00
Alessandro Simovic
5d9b3504f7
follow-target: correctly set "updated" flag
2021-05-05 16:13:50 -04:00
Alessandro Simovic
f1fca0939f
follow-target: name variable correctly
2021-05-05 16:13:50 -04:00
David Sidrane
3702140e24
PWMOut:Arm once all channels are initalized.
2021-05-05 20:48:06 +02:00
David Sidrane
3d166d3279
PWM:Add Channel mask to up_pwm_servo_arm & up_pwm_servo_deinit
2021-05-05 20:48:06 +02:00
David Sidrane
19fa5cfe25
px4_fmu-v6x: Disable OTG_ID_GPIO
2021-05-05 20:48:06 +02:00
David Sidrane
baa37c1143
px4_fmu-v5x: Disable OTG_ID_GPIO
2021-05-05 20:48:06 +02:00
David Sidrane
0385245ae1
px4_fmu-v5: Disable OTG_ID_GPIO
2021-05-05 20:48:06 +02:00
David Sidrane
1f61dcfb06
modalai_fc-v1: Disable OTG_ID_GPIO
2021-05-05 20:48:06 +02:00
David Sidrane
3779ff3690
holybro_pix32v5: Disable OTG_ID_GPIO
2021-05-05 20:48:06 +02:00
David Sidrane
21cf26a69f
holybro_durandal-v1: Disable OTG_ID_GPIO
2021-05-05 20:48:06 +02:00
David Sidrane
a654c37306
cuav_x7pro: Disable OTG_ID_GPIO
2021-05-05 20:48:06 +02:00
David Sidrane
07e38563ba
cuav_nora: Disable OTG_ID_GPIO
2021-05-05 20:48:06 +02:00
David Sidrane
d5b60f7002
NuttX with WIP OTG_ID
2021-05-05 20:48:06 +02:00
David Sidrane
923af2c65b
spracing_h7extreme: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
2d3800fa25
px4_fmu-v6x: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
4f8c1ccfe8
px4_fmu-v6u: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
7dd57d55f6
px4_fmu-v5x: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
69bf437e9a
px4_fmu-v5: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
633fbe147a
nxp_fmuk66-v3: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
118839e75c
nxp_fmuk66-e: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
3f5a0e49a4
mro_pixracerpro: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
86360d076c
mro_ctrl-zero-h7: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
3820f761b1
mro_ctrl-zero-h7-oem: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
50d3af1ba1
mro_ctrl-zero-f7: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
867aa9d4bc
mro_ctrl-zero-f7-oem: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
310d166899
modalai_fc-v1: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
9c761d9ae5
holybro_pix32v5: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
b3b74eaaf6
holybro_kakutef7: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
4c8dca738c
holybro_durandal-v1: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
4da1ec1146
cubepilot_cubeyellow: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
1a5741f984
cubepilot_cubeorange: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
4d4d8ed887
cuav_x7pro: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
eae01a06e7
cuav_nora: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
d6a54910b4
av_x-v1: Initalize PWM as input with Pull Downs
2021-05-05 20:48:06 +02:00
David Sidrane
362db92515
Define PX4_MAKE_GPIO_INPUT_PULL_DOWN
2021-05-05 20:48:06 +02:00
David Sidrane
dd4ffb3c0c
PWMOut:Fix pwm status
2021-05-05 20:48:06 +02:00
David Sidrane
44cdc52ef8
PWMOut:Use rates from single instance & init all instances channels
2021-05-05 20:48:06 +02:00
David Sidrane
dcbfc9de2d
io_timer:Fixed imposible logic
2021-05-05 20:48:06 +02:00
Peter van der Perk
9a085126fd
FMUK66 free up some RAM
2021-05-05 18:52:56 +02:00
Jukka Laitinen
ac6e7a1c6c
FlightTaskManualAltitude: Fix double->float conversion in initialization
...
This gives an error on some new compilers, e.g. riscv64-unknown-elf 10.2.0
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-05 09:31:07 +02:00
Jukka Laitinen
532f370e7d
Fix implicit float to double conversions
...
The both results of ?: should be of same type, and some compilers give error
on this:
" implicit conversion from 'float' to 'double' to match other result of conditional"
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-05 09:31:07 +02:00
Peter van der Perk
62dc926891
Add support for UCANS32K146B board revision
2021-05-04 22:13:24 -04:00
Daniel Agar
c1d3be4258
Makefile: keep git clean for submodules to resolve incomplete dependency problems
2021-05-04 21:22:56 -04:00
Daniel Agar
68a9e981b1
boards: px4_fmu-v5_optimized disable temperature_compensation to save flash
2021-05-04 21:20:32 -04:00
Daniel Agar
f5b6656a6c
cmake: set MAX_CUSTOM_OPT_LEVEL to -O3 if Release
2021-05-04 21:20:32 -04:00
Daniel Agar
3b7ce61901
px4_work_queue: increase wq:rate_ctrl stack slightly
2021-05-04 17:40:56 -04:00
Daniel Agar
3ec40a5956
collision_prevention: fix CP_GO_NO_DATA parameter type
2021-05-04 16:41:32 -04:00
Peter van der Perk
24c2967511
legacy_data_types specify branch
2021-05-04 13:23:14 -04:00
Matthias Grob
ee87257a8d
FlightModeManager: move velocity control feedback into FlightTask
...
This was only handled outside because FlightTaks lived in the
multicopter position controller which produces the data that was
needed but now it doesn't make sense anymore to handle this
subscription separately.
It's better to have it inside the base task to have the data available
on task activation sucht that e.g. Altitude mode can take over smoothly
from Position mode.
2021-05-04 16:47:48 +02:00
Matthias Grob
c28533677d
MulticopterLandDetector: use setpoint generation to infer decend intent
...
For any normal use case where a downwards velocity setpoint is set
this works exactly the same as before.
E.g. autonomous landing, landing in Altitude or Position mode
The advantage is that the very common case where a vehicle tries
to hold a constant altitude but fails to do so e.g. during a hard brake
with too much lift the resulting downwards velocity was interpreted
as descend intent and since the vehicle already struggled to hold altitude
with low thrust and was not moving fast anymore because it was braking
this lead to a lot more false positives on certain vehicle types.
The disadvantage is that not setting a downwards velocity setpoint but
just moving the position setpoint into the ground does not result in
land detection anymore. We do not use this method of landing anymore for
quite a while. It's not recommended and I wonder if there's some rare use
case like offboard where this is done.
We could add an additional case for the specific case to land with a
position setpoint only.
2021-05-04 16:43:33 +02:00
Matthias Grob
2e292abfff
MulticopterLandDetector: Make land detection time configurable
...
The tree stages used arbitrary 350, 250 300ms totally 900ms
So this changes it to each stage to a third of the parameter.
Default it is 1 second -> 333ms per stage.
2021-05-04 16:43:33 +02:00
RomanBapst
269ce07cb5
land detector: log more states in order to facilitate debugging ground contact state
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-04 16:43:33 +02:00
Daniel Agar
3348869ae1
Makefile: git clean properly preserve project files (.project, .cproject, etc)
2021-05-04 09:49:50 -04:00
Jari Nippula
04b7ee43bc
protocol_splitter: Sp2Header defined as union ( #17511 )
...
Aligned with agent_protocol_splitter to make byte access easier
for checksum generation
Co-authored-by: Nuno Marques <n.marques21@hotmail.com >
2021-05-04 10:09:24 +02:00
Mikołaj Grzybek
4e69952ee4
arch.sh: Syntax error fix
...
Script failed for me with following error
PX4-Autopilot/Tools/setup/arch.sh: line 159: syntax error near unexpected token `else'
PX4-Autopilot/Tools/setup/arch.sh: line 159: ` else'
Seems like there is nothing to do in case of positive if case.
Changed code should maintain logic
2021-05-04 10:06:39 +02:00
RomanBapst
cd4378b8c6
vtol: init boolean consistently
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-05-03 18:58:26 -04:00
Thomas
ab10e68a40
update Quadchute trigger from mavlink PR 1569
2021-05-03 21:44:27 +03:00
Thomas
bf9758247b
add VEHICLE_VTOL_STATE_QC and remove hardcoding
2021-05-03 21:44:27 +03:00
Thomas
d3ddbe8db5
Allow quadchute from external command
2021-05-03 21:44:27 +03:00
Peter van der Perk
ecc5154a44
Reflect dynamically allocate block pointers instead of using heap
2021-05-03 14:04:02 -04:00
David Sidrane
cd2aceb363
stm32_common:board_reset Fix reboot -b broke by canbootloader
2021-05-03 05:21:25 -07:00
Kabir Mohammed
aad48407c2
EKF: increase allowed difference between flow and gyro ODRs
...
In the normal and lowlight mode for the PAW3902/3 sensor, the ODR is 66Hz, while in super lowlight mode it is 50Hz.
The IMU ODR vs flow ODR mismatch threshold was too conservative for the 66Hz ODR, since https://github.com/PX4/PX4-ECL/pull/928 . The EKF would keep waiting for the data to line up and never fuse measurements.
2021-05-03 11:08:16 +02:00
Silvan Fuhrer
2c6b3eeb02
Navigator: NAV_CMD_DO_VTOL_TRANSITION: accept once in correct vtol state
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-03 08:40:54 +02:00
Silvan Fuhrer
5579a1d789
Navigator: remove WORK_ITEM_TYPE_CMD_BEFORE_MOVE
...
It was used to make the vehicle needing to accept the waypoint after a VTOL transition in the new VTOL mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-03 08:40:54 +02:00
Silvan Fuhrer
3c4b0c1b8c
tiltrotor: only allow increasing tilt during first part of transition
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-05-02 21:51:09 -04:00
Jukka Laitinen
fa9fdce6e6
sensors/vehicle_gps_position: Fix raw_dt and present_dt calculation in gps_blending
...
If the GPS data is passed from companion computer, there may be inaccuracies
with timesync. This may cause time deltas to overflow.
Make the time delta calculation using floats directly, wich results in negative
numbers in case there are such inaccuracies.
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-05-02 13:59:50 -04:00
Daniel Agar
e78a4287f9
parameters: attempt import multiple times
2021-05-02 13:48:16 -04:00
Daniel Agar
3b24abaa1b
Makefile: clean use git clean to delete all gitignore files recursively
2021-05-02 13:47:54 -04:00
Daniel Agar
feebb24106
logger: skip multi-EKF logging if CONSTRAINED_MEMORY
2021-05-02 13:47:28 -04:00
Femtomes
783a780207
drivers/gps: add femtomes gps driver protocol
2021-05-02 13:46:39 -04:00
Julian Oes
abee13df1a
mavlink: improve rx stats printf
2021-05-02 13:45:39 -04:00
Julian Oes
d96ba2d88a
mavlink: use 4s for HITL
...
This is more inline with SITL.
2021-05-02 13:45:39 -04:00
Julian Oes
e9a1599355
mavlink: clang-tidy fix
2021-05-02 13:45:39 -04:00
Julian Oes
aa0752ad86
mavlink: fix pthread usage
2021-05-02 13:45:39 -04:00
Julian Oes
5784f1d951
mavlink: add detailed stats about rx messages
2021-05-02 13:45:39 -04:00
Julian Oes
370d9ee409
mavlink: use px4::atomic instead of volatile
2021-05-02 13:45:39 -04:00
Julian Oes
4498509426
mavlink: move thread handling into MavlinkReceiver
...
In my opinion this makes it much cleaner and will allow mavlink main to
directly call the receiver.
2021-05-02 13:45:39 -04:00
Julian Oes
71bd35fcaa
mavlink: keep track of seq for any component
...
Instead of only keeping track of the sequence ID of specific "supported"
components, we now keep track of any sysid/compid of an incoming
message. Before this change, unknown components (such as jMAVSim) would
completely screw up the mavlink message stats and create confusion (at
least in my case).
With this change we currently keep track of up to 8 other components.
Once we reach the limit, we will print a warning.
2021-05-02 13:45:39 -04:00
Julian Oes
6ae23e7b7b
mavlink: fix HITL battery status publication
...
Without these fields the pre-arm check would complain and fail.
Also, the voltage is adjusted to be at around 70% rather than 30% which
would almost start to trigger warnings.
2021-05-02 13:45:39 -04:00
Julian Oes
cfcc074e9d
mavlink: remove unused methods
2021-05-02 13:45:39 -04:00
Daniel Agar
b4e0a8396e
Tools/process_sensor_caldata.py - median filter sensor data
...
- this makes it a bit easier to see what's going on now that the raw sensor data (sensor_accel, sensor_gyro) is completely unfiltered
2021-05-02 13:42:09 -04:00
Daniel Agar
5ec5a12f5e
Tools/setup: update ubuntu.sh with current NuttX dependencies
2021-05-02 13:10:47 -04:00
TSC21
18dc0e4900
update submodule micro-CDR
2021-05-02 13:05:16 -04:00
Daniel Agar
6e2343a485
Jenkins: fix new px4io/px4-dev-nuttx-focal container tag
2021-05-02 12:34:48 -04:00
SalimTerryLi
514d4fd57b
drivers/distance_sensor: GY-SR04 sonar range finder driver
2021-05-02 12:09:35 -04:00
PX4 BuildBot
32d354e5fe
Update submodule ecl to latest Sun May 2 12:39:08 UTC 2021
...
- ecl in PX4/Firmware (cb999f37d4891ebfbbc21b4ce9b3851888b39ad4): https://github.com/PX4/PX4-ECL/commit/5d34d7a24ef72b826c320a3259ee0ec68b1936df
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/a7b8afe420f438554ad90bcba0f1f4872325e75b
- Changes: https://github.com/PX4/PX4-ECL/compare/5d34d7a24ef72b826c320a3259ee0ec68b1936df...a7b8afe420f438554ad90bcba0f1f4872325e75b
a7b8afe 2021-04-30 Eike - Allow rangefinder fusion in vision height mode (Fix for #994 ) (#999 )
4ac57d3 2021-04-25 Daniel Agar - EKF: increase fault flags value size to fit current flag bits (> 16)
2021-05-02 11:47:36 -04:00
Daniel Agar
92dc1a71a6
github actions delete MAVROS avoidance tests
...
- these aren't currently running properly on github actions, but continue to use build resources
2021-05-02 11:44:06 -04:00
Daniel Agar
165420598e
Update submodule mavlink v2.0 to latest Sat May 1 00:38:27 UTC 2021
2021-05-01 19:17:28 -04:00
PX4 BuildBot
8ef10c9b38
Update submodule public_regulated_data_types to latest Sat May 1 12:41:36 UTC 2021
...
- public_regulated_data_types in PX4/Firmware (bb5225ddae32f3a85f6c01fa5957f1b30cb73a14): https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
- public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
- Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/309b251a7e8d713d6bf428e18e28d91d5f07b73e...1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
1337b1c 2021-04-23 Pavel Kirienko - Update the `nominal_voltage` in battery parameters (#114 )
2021-05-01 19:17:02 -04:00
PX4 BuildBot
199db72d5f
Update submodule public_regulated_data_types to latest Sat May 1 12:41:39 UTC 2021
...
- public_regulated_data_types in PX4/Firmware (d052cf4a6963d576e0e108b6c95b6fa4fab57584): https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
- public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
- Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/309b251a7e8d713d6bf428e18e28d91d5f07b73e...1337b1c86fee5bd3f3c3c0f1027bcf19e5c08aae
1337b1c 2021-04-23 Pavel Kirienko - Update the `nominal_voltage` in battery parameters (#114 )
2021-05-01 19:16:42 -04:00
mcsauder
4eb758edf0
Alphabetize flight_mode_manager CMakeLists.txt list, and group/format types in FlightTask.cpp/hpp.
2021-05-01 10:46:27 -04:00
Yannick Fuhrer
759a60ac82
Update rc.vtol_defaults
...
based on our experience with VTOL it makes sense to change the yaw mode default. You always want your VTOL to yaw in transition direction before starting the transition.
2021-05-01 10:45:14 -04:00
PX4 BuildBot
dd0465070c
Update submodule jMAVSim to latest Sat May 1 12:41:22 UTC 2021
...
- jMAVSim in PX4/Firmware (d2a118ee86 ): https://github.com/PX4/jMAVSim/commit/358b6cca4093646eb96e0cb075e45efa8f4a0c48
- jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/2b610caab81726ab79019de0f2fa8cff5e341bd5
- Changes: https://github.com/PX4/jMAVSim/compare/358b6cca4093646eb96e0cb075e45efa8f4a0c48...2b610caab81726ab79019de0f2fa8cff5e341bd5
2b610ca 2021-04-21 Julian Oes - Merge pull request #126 from PX4/pr-forwarding
75f2aa3 2021-04-21 Julian Oes - Serial/TCP/UDP ports: mark messages as forwarded
2021-05-01 10:31:43 -04:00
Daniel Agar
186bc2bda4
Update submodule GPSDrivers to latest Sat May 1 00:38:31 UTC 2021
2021-05-01 10:31:09 -04:00
PX4 BuildBot
d2a118ee86
Update submodule sitl_gazebo to latest Sat May 1 00:38:24 UTC 2021
...
- sitl_gazebo in PX4/Firmware (283138e87d46e573ce101033e01a59b273430928): https://github.com/PX4/PX4-SITL_gazebo/commit/05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/4c27fc7dd659c262257abeea2308e2f1c54e9029
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25...4c27fc7dd659c262257abeea2308e2f1c54e9029
4c27fc7 2021-04-20 JaeyoungLim - Update mavsdk versions for firmware SITL tests (#741 )
2021-04-30 21:04:25 -04:00
David Sidrane
92344b96b3
CI Update to 2021-04-29
2021-04-30 14:32:40 -04:00
Eike
a7b8afe420
Allow rangefinder fusion in vision height mode (Fix for #994 ) ( #999 )
...
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-04-30 14:17:39 -04:00
Julian Oes
4f52c0b6da
mavsdk_tests: unused var and index fix
2021-04-29 21:08:33 -04:00
Julian Oes
f16913c175
mavsdk_tests: fix timeout at 1x speed
2021-04-29 21:08:33 -04:00
Julian Oes
e7fcfbf658
mavsdk_tests: use global position instead of local
...
We are currently not testing with flow only anyway, so we might as well
remove this for now.
2021-04-29 21:08:33 -04:00
Julian Oes
43fccece61
mavsdk_tests: check installed version
...
Starting with MAVSDK 0.39.0 we can specify the version required. This
way we can fail at configure time instead of later during compilation or
linking.
2021-04-29 21:08:33 -04:00
Julian Oes
14e51098e5
workflows: use MAVSDK_VERSION in sitl_tests
2021-04-29 21:08:33 -04:00
Julian Oes
7384bd2675
mavsdk_tests: specify required MAVSDK version
...
This way it can be better picked up by CI scripts.
2021-04-29 21:08:33 -04:00
Daniel Agar
64688b04d8
boards: mro pixracerpro set BOARD_SUPPORTS_RC_SERIAL_PORT_OUTPUT instead of RC_SERIAL_SINGLEWIRE
2021-04-29 21:06:39 -04:00
Peter van der Perk
96bc58f0eb
CMake Bloaty add static ram usage breakout
2021-04-29 10:16:43 -04:00
TSC21
4f098a01bc
drivers: protocol_splitter: some style updates
2021-04-29 11:57:35 +02:00
Jari Nippula
9980d2a556
Utilize header struct instead of control bytes directly
2021-04-29 09:37:48 +02:00
Jari Nippula
757f1df068
Protocol_splitter: 4-byte header with checksum
2021-04-29 09:37:48 +02:00
korotkoves
d62204856c
ROMFS/px4fmu_common/init.d-posix/rcS: split and source data from files in PATH
2021-04-28 09:00:47 +02:00
CUAVcaijie
b898aabfed
Fix the repeated configuration of PWM rate after initialization
2021-04-28 00:22:07 +02:00
Kalyan Sriram
b2d73dca26
uavcan_v1: cmake: nunavut generation message
2021-04-27 10:30:33 -04:00
Kalyan Sriram
925213db8f
requirements: bump nunavut minimum version
2021-04-27 10:30:33 -04:00
Beat Küng
38c1ec6a9c
ekf2: check if ChangeInstance succeeded
2021-04-27 10:29:09 -04:00
Beat Küng
0a98c5a7f4
Subscription: fix ChangeInstance
2021-04-27 10:29:09 -04:00
Beat Küng
1a89f165fd
fix bmi088: set correct accel scale
...
This affected the clipping limit, which was set too low
2021-04-27 10:27:57 -04:00
RomanBapst
171c26373b
land_detector: robustify land detection by using distance to ground info
...
- if distance to the ground is available then hysteresis times will be increased
by a factor of 3 if vehicle is higher than 1m above ground
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-04-27 08:19:19 +02:00
RomanBapst
f6a34e1e80
vtol_type: reset accel to pitch integrator
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-04-27 07:43:38 +03:00
Alex Mikhalev
cbf34109d1
paw3902: Default to using SENS_FLOW_ROT rotation
...
This restores the behavior to what it was previous to #16338 (74083d6 ).
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com >
2021-04-26 15:14:17 -04:00
Daniel Agar
c266c3e43a
parameters: remove unnecessary param_get_system_default_value() locking
2021-04-26 09:49:15 +02:00
benjinne
3664d9e4ce
rover: publish actuator controls with rate of gyro
...
Some ESC's with DShot don't initialize otherwise (as the 200Hz of the vehicle attitude rate is too low).
2021-04-26 08:53:20 +02:00
JacobCrabill
cc81c7d49e
poor-mans-profiler: Add documentation
...
Now sets the GDB serial device to the path of a DroneCode Probe by
default, with option command-line option override.
A few usage instructions added to the top of the file.
2021-04-26 08:47:49 +02:00
Daniel Agar
4ac57d3bde
EKF: increase fault flags value size to fit current flag bits (> 16)
2021-04-25 17:05:09 -04:00
Daniel Agar
6e9e503ee6
sensors/vehicle_imu: accel clipping warning minor improvements
...
- no warning if accel is disabled
- threshold increased 100 -> 1000 (only warn if severe ongoing clipping)
- more generic warning message (vehicle isn't necessarily in air flying)
2021-04-25 17:03:43 -04:00
Daniel Agar
8478d1ea37
sensors/vehicle_angular_velocity: properly handle filter reset on FIFO data scale changes
...
For the sake of efficiency (at 8 kHz) all filtering is performed on the raw data before the calibration and rotation is applied to only the final output. As a result we have to be a bit more careful when switching between sensors or in cases where the gyro scale factor changes (eg icm42688p 20 bit data rescaled to fit in int16 output).
2021-04-25 14:20:32 -04:00
Daniel Agar
ed0fa99198
icm42688p: limit to 8 kHZ for now
2021-04-24 20:23:19 -04:00
Daniel Agar
59b70a881d
commander: temporarily increase worker thread stack substantially
2021-04-23 22:13:12 -04:00
Matthias Grob
5416679735
check_code_style_all.sh: remove ignored xargs parameter
...
to suppress the warning message:
`xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value`
when running make format.
2021-04-23 22:09:16 -04:00
Matthias Grob
6df299738e
FlightTask: reactivate tasks on ground with empty setpoint
...
Such that they properly reset and don't try to take over smoothly from
their own setpoints generated in the last loop iteration.
2021-04-23 21:57:27 -04:00
Matthias Grob
9e2375ab91
FlightTaskManualAcceleration: change reset order, check all components for NAN
...
Just cleanup and completeness.
2021-04-23 21:57:27 -04:00
Matthias Grob
5e75f17680
StickAccelerationXY: fix acceleration reset using x component instead of y
...
This entire feature only has an impact if the last mode set
a huge acceleration and we have to take over as smooth as possible.
But it's stil lworth fixing.
2021-04-23 21:57:27 -04:00
Matthias Grob
fee4728b1f
StickAccelerationXY: change function name feasibility limit -> jerk limit
...
for clarity because it's more accurate.
2021-04-23 21:57:27 -04:00
Daniel Agar
c71a228f15
Tools/setup: macos use pip as python3 module
2021-04-23 16:47:49 -04:00
bazooka joe
112fc5c9cd
log battery status every 0.2sec instead of 0.3sec
...
Battery status is logged every 0.3Sec.
but BMS data published every 0.25Sec, so there are many drops of data.
2021-04-23 16:46:02 -04:00
Beat Küng
51f527d845
param: update 'param show-for-airframe' to use set-default
2021-04-23 16:44:55 -04:00
Beat Küng
1730cd1971
param: avoid warning for 'param show -c' or 'param show -a'
2021-04-23 16:44:55 -04:00
Igor Mišić
d631a5d39f
Commander: checking COM_ARM_CHK_ESCS param for ESCs telemetry
...
COM_ARM_CHK_ESCS set to 0. The user will need to enable it manually.
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2021-04-22 13:46:08 +02:00
Claudio Micheli
bff99f9794
Commander:esc_checks minor improvements
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-04-22 13:46:08 +02:00
Claudio Micheli
371fa98579
Commander/preflight checks: Add monitoring to ESC failures
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-04-22 13:46:08 +02:00
Thies Lennart Alff
1c624d20f5
srcparser support for vectored 6 dof uuv airframe added
2021-04-22 08:30:11 +02:00
Matthias Grob
789d91900d
commander_params: lower COM_DISARM_PRFLT but disable for fixed-wing
2021-04-21 14:55:04 +02:00
Daniel Agar
f9d8c613b0
px4_work_queue: increase nav_and_controllers stack
2021-04-21 07:34:13 +02:00
Peter van der Perk
8b3aa46c01
[UAVCANv1] Publisher default timeout, has to be tuned further for all publishers
2021-04-20 21:44:40 +02:00
Peter van der Perk
1804cea92c
[UAVCANv1] TX deadline fix and other fixes
2021-04-20 21:44:40 +02:00
Peter van der Perk
02a4d93c74
[UAVCANv1] snprintf and cleanup ram usage ~4KB
2021-04-20 21:44:40 +02:00
Peter van der Perk
399815469f
[UAVCANv1] Subscriber multi topic subscription
...
reg.drone.bms full support
legacy.equipment.bms support
2021-04-20 21:44:40 +02:00
Matthias Grob
5e7ebbe47c
FlightTask: correct comment about setpoints
2021-04-20 18:18:21 +02:00
Matthias Grob
45ada2dd4c
MulticopterLandDetector: remove unnecessary newline
2021-04-20 18:18:21 +02:00
Matthias Grob
4865d027f9
StickAccelerationXY: factor in stricter tilt limit on takeoff
2021-04-20 18:18:21 +02:00
Matthias Grob
29e07b1e52
MulticopterPositionControl: publish stricter tilt limit during takeoff
2021-04-20 18:18:21 +02:00
Matthias Grob
ff67da1bb4
SlewRate: add getter for current state without update
2021-04-20 18:18:21 +02:00
Lorenz Meier
3d8a35288e
Rename Snapdragon Spektrum RC
...
The previous name was confusing because it did not clarify that this driver was specific to the Snapdragon platform.
2021-04-18 18:35:03 +02:00
Daniel Agar
38bc46fd1a
re-add RC_MAP_RATT_SW (unused) and mark active for QGC
2021-04-16 13:07:02 -04:00
mcsauder
3b72f3b641
Create publish_status() method in the heater driver, add a status field to indicate if the temperature setpoint has been met within 2.5C, breakout update_params() method from the Heater::Run() method and simplify logic.
2021-04-16 08:09:51 -04:00
benjinne
3dad16bc40
RTPS client remove redundant baudrate check
2021-04-16 14:01:27 +02:00
benjinne
42108eb4af
Fix microRTPS_client_main.cpp format
2021-04-16 14:01:27 +02:00
benjinne
76e15b4a21
RTPS client get baudrate parameter if requested, and mark the device baud rate parameter as used so it shows up in QGC
2021-04-16 14:01:27 +02:00
Daniel Agar
2492fb35e4
rc_update: require consecutive valid input_rc before publishing
2021-04-15 16:40:54 -04:00
PX4 BuildBot
96c7fe4978
Update submodule matrix to latest Thu Apr 15 12:39:10 UTC 2021
...
- matrix in PX4/Firmware (501b463b36b07481181c15b734861704d9f27020): https://github.com/PX4/PX4-Matrix/commit/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3
- matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/b8568a89db8455d0ab2e2e391e2149ba2e5e10dd
- Changes: https://github.com/PX4/PX4-Matrix/compare/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3...b8568a89db8455d0ab2e2e391e2149ba2e5e10dd
b8568a8 2021-04-14 Daniel Agar - Euler: improve quaternion constructor
2021-04-15 13:27:07 -04:00
Daniel Agar
5c4582ccce
rc: dsm allow full range
2021-04-15 18:27:33 +02:00
Igor Mišić
bd4839e855
commander: changed msg "connection to GCS lost" from critical to info
...
update
2021-04-15 11:29:02 -04:00
Beat Küng
2219e096d7
cmake: embed param metadata if not CONSTRAINED_FLASH and not "test" LABEL
2021-04-15 08:16:51 +02:00
PX4 BuildBot
592dc65bae
Update submodule matrix to latest Thu Apr 15 00:39:06 UTC 2021
...
- matrix in PX4/Firmware (d9ebf2a842f611976d7ba5078d3f31ad8cde55a7): https://github.com/PX4/PX4-Matrix/commit/3679f7fd5160c7d2a8271b1134ca1e601f1a4254
- matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3
- Changes: https://github.com/PX4/PX4-Matrix/compare/3679f7fd5160c7d2a8271b1134ca1e601f1a4254...1d0e7f1ca1187c90c70a9dac92ca6294a320b1d3
1d0e7f1 2021-04-14 Daniel Agar - Matrix: use naive per element copy instead of memcpy call
1344ce0 2021-04-14 Daniel Agar - Euler: simplify DCM constructor
2021-04-14 23:11:41 -04:00
Jukka Laitinen
b99e597a73
flashparams: Fix a null-pointer dereference crash
...
Fix a potential crash caused by calling erase_sector with a null
sector_descriptor (current_sector == 0).
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-04-14 07:55:33 -07:00
Daniel Agar
58b40fbbb9
boards: move testing to dedicated test variants
2021-04-14 09:21:31 +02:00
Daniel Agar
047fb13922
IMU_GYRO_RATEMAX: enforce reasonable constraint and update metadata
2021-04-13 20:26:57 -04:00
Barcis, Michal
7053919a9f
fixed micrortps_agent usage description
2021-04-13 21:28:27 +02:00
Daniel Agar
2d15c96b9b
ekf2: Multi-EKF let new instance schedule itself immediately on successful init
...
- this is to minimize missed sensor data (and unnecessary error output) between EKF2 construction and once it actually starts running
2021-04-13 14:24:46 -04:00
Daniel Agar
6a4c589c62
examples/work_item: add ModuleParams and more uORB::Subscription example usage
2021-04-13 14:23:36 -04:00
Lorenz Meier
bf09089a26
PWM out: Collect settings for all outputs
...
There are settings that have to be the same for a split output across multiple instances, like for example the PWM mask and rate configurations. This change collects them for all outputs of the same underlying driver structure and applies the complete set.
2021-04-13 18:39:27 +02:00
Lorenz Meier
6bc11596fe
VTOL mixer: Correct alt rate channels
...
The baby shark config did mark main rate outputs (50 Hz) as alt rate, resulting in the alt rate being set to 50 Hz.
2021-04-13 18:39:27 +02:00
Daniel Agar
aa22407d87
drivers/pwm_out: only print rates if changed
2021-04-13 09:55:21 +02:00
Daniel Agar
a07bccc046
boards: modalai simplify defaults with new parameter defaults mechanism (AUTOCNF replacement)
2021-04-12 21:27:53 -04:00
Daniel Agar
f44f497e3f
parameters: better handle export failures and retry
2021-04-12 21:26:50 -04:00
Daniel Agar
edc445a1b2
parameters: tinybson fill total document length for bson compatibility
2021-04-12 21:26:50 -04:00
PX4 BuildBot
b9e0a16594
Update submodule public_regulated_data_types to latest Mon Apr 12 12:45:35 UTC 2021
...
- public_regulated_data_types in PX4/Firmware (9101f5707a251c33048289249bd565eba5d3a848): https://github.com/UAVCAN/public_regulated_data_types/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
- public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
- Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/53a7dbbf85554e11517c13ad91b9efb871599ad1...309b251a7e8d713d6bf428e18e28d91d5f07b73e
309b251 2021-04-11 Peter van der Perk - reg.drone Battery parameters add nominal voltage (#113 )
2021-04-12 19:51:35 -04:00
Lorenz Meier
991c07eef9
Global: Allow users to arm with USB
...
This change reflects the medium-term experience with users using USB as data link or power source in R&D setups. While we still discourage this for volume products, not allowing it seems like a major hurdle and blocker in R&D setups.
2021-04-12 19:11:22 -04:00
Lorenz Meier
3a004ffd68
PWM Out: Simplify startup logic
...
The simpler logic is more robust towards future refactoring.
2021-04-12 19:11:22 -04:00
PX4 BuildBot
5f6b8fcb9f
Update submodule sitl_gazebo to latest Mon Apr 12 12:45:32 UTC 2021
...
- sitl_gazebo in PX4/Firmware (8acdb8ca3f ): https://github.com/PX4/PX4-SITL_gazebo/commit/5761bd66cd36ded2d0dccf8127e30a1522fe1ac6
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/5761bd66cd36ded2d0dccf8127e30a1522fe1ac6...05e2cd9c03ffa77f0c0d5bd3e788d33e06480b25
05e2cd9 2021-04-10 Manuel Galliker - Removed unused computation of CoG (#737 )
2021-04-12 14:22:14 -04:00
Daniel Agar
f0f16b9cc5
mavlink: streams fix SCALED_IMU size reporting
2021-04-12 13:02:10 -04:00
Beat Küng
faaee0f077
fix pwm_out: avoid race condition when setting mode
...
Bootup failed in some cases with:
ERROR [mixer] can't reset mixers on /dev/pwm_output1
The reason was the mode change was not applied yet.
2021-04-12 18:39:51 +02:00
PX4 BuildBot
18f17dcb96
Update submodule public_regulated_data_types to latest Mon Apr 12 12:45:37 UTC 2021
...
- public_regulated_data_types in PX4/Firmware (9f25ac4175fd81259b11cfe79f0f875a21562d3d): https://github.com/UAVCAN/public_regulated_data_types/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
- public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/309b251a7e8d713d6bf428e18e28d91d5f07b73e
- Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/53a7dbbf85554e11517c13ad91b9efb871599ad1...309b251a7e8d713d6bf428e18e28d91d5f07b73e
309b251 2021-04-11 Peter van der Perk - reg.drone Battery parameters add nominal voltage (#113 )
2021-04-12 09:58:48 -04:00
Silvan Fuhrer
381c97d3c6
Commander: baro check: only report failure of mandatory instances
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-04-12 09:27:12 -04:00
tututu123-tu
8acdb8ca3f
Update .gitmodules
2021-04-12 08:18:16 -04:00
CUAVmengxiao
45b9e18195
UAVCANv0: add CUAV smart battery support
2021-04-11 21:27:31 -04:00
David Sidrane
96d0755afd
NuttX with SDMMC Backport
2021-04-09 15:53:26 -04:00
Tarik Agcayazi
1520805a20
README: remove redundant autogyro, add High altitude balloons
2021-04-09 08:48:17 +02:00
Daniel Agar
39c96a8884
gps add device_id
2021-04-08 08:27:07 +02:00
Alex Mikhalev
1f4960d480
boards: cubeorange enable pwm_input
...
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com >
2021-04-07 21:34:44 -04:00
alexklimaj
0c3e64a7f5
Fix support for Cube Black Heater
2021-04-07 10:23:02 -04:00
benjinne
9b7eae4043
rc: enable crsf and ghst telemetry on supported boards
...
Co-authored-by: Benjamin Linne <benjamin.linne.civ@mail.mil >
2021-04-07 08:51:49 +02:00
Hamish Willee
6fbb409e43
Param markdown - fix sensor param table
2021-04-07 08:46:11 +02:00
alessandro
b46e505b0d
Handle velocity fields in follow_target message
...
The mavlink message FOLLOW_TARGET has additional
fields that are not being parsed here. See
https://mavlink.io/en/messages/common.html#FOLLOW_TARGET
for more details.
2021-04-06 22:11:23 -04:00
Hamish Willee
aa94a60043
COM_ARM_WO_GPS - values round the wrong way
2021-04-06 22:10:02 -04:00
obicons
a7e920d276
Updated MavlinkReceiver::handle_message_landing_target to warn users when they provide a landing target with an unsupported coordinate frame.
...
Updated Simulator::handle_message_landing_target to warn users when they provide a landing target that is not relative to a captured image.
2021-04-06 16:02:54 -04:00
Daniel Agar
31b9efdaeb
sensors/vehicle_imu: increase threshold for clipping warning
2021-04-06 15:42:26 -04:00
Daniel Agar
f33fee99c1
ROMFS: init.d-posix/airframes migrate EKF2_GPS_MASK -> SENS_GPS_MASK
2021-04-06 13:48:40 -04:00
Julian Oes
bb0fe9ee61
mavsdk_tests: losen time limit for VTOL mission
2021-04-06 11:35:18 -04:00
Julian Oes
2eaf677de3
mavsdk_tests: correctly locate plan
2021-04-06 11:35:18 -04:00
Julian Oes
cd66a79747
mavsdk_tests: move waypoints to vehicle position
...
This way it shouldn't matter where the test is run.
2021-04-06 11:35:18 -04:00
Julian Oes
9eadabcb02
sitl_tests: update MAVSDK to v0.38.0
2021-04-06 11:35:18 -04:00
Julian Oes
d714c2faec
mavsdk_tests: add VTOL mission tests
...
This adds VTOL mission tests to the CI integration tests.
This depends on MAVSDK v0.38.0.
2021-04-06 11:35:18 -04:00
Julian Oes
1e88939605
mavsdk_tests: report speed factor every second
...
This helps in debugging slow CI.
2021-04-06 11:35:18 -04:00
Daniel Agar
e05a4badf8
ROMFS: rcS start uavcan earlier
...
- starting this earlier is a minor improvement for things like lights and buzzers on UAVCAN or parameter sync over mavlink
2021-04-06 09:48:11 -04:00
Daniel Agar
4189eb11f5
simulator: GPS populate all sensor_gps fields (alt_ellipsoid, etc)
2021-04-06 09:44:18 -04:00
Daniel Agar
015849b402
mathlib: LowPassFilter2p and NotchFilter add magnitude response getter
2021-04-05 22:47:30 -04:00
Daniel Agar
f9460107d0
cleanup PWM param naming inconsistencies
2021-04-05 22:41:06 -04:00
PX4 BuildBot
f741606c60
Update submodule sitl_gazebo to latest Tue Apr 6 00:39:03 UTC 2021
...
- sitl_gazebo in PX4/Firmware (2a0a747598 ): https://github.com/PX4/PX4-SITL_gazebo/commit/e703e2726a4cd82cf3c57614e9c33d6354310885
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/5761bd66cd36ded2d0dccf8127e30a1522fe1ac6
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/e703e2726a4cd82cf3c57614e9c33d6354310885...5761bd66cd36ded2d0dccf8127e30a1522fe1ac6
5761bd6 2021-04-05 Jaeyoung-Lim - Switch tailsitter sdf version to 1.6
2021-04-05 22:28:47 -04:00
Daniel Agar
436a6fce38
Update submodule mavlink v2.0 to latest Tue Apr 6 00:39:07 UTC 2021
2021-04-05 22:28:10 -04:00
PX4 BuildBot
997abf382d
Update submodule public_regulated_data_types to latest Tue Apr 6 00:39:10 UTC 2021
...
- public_regulated_data_types in PX4/Firmware (5e242d366f2e266e8226f7baa33e5973783e2045): https://github/commit/7f5489e6e916cc8b13db0582dcf9930e225594b9
- public_regulated_data_types current upstream: https://github/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
- Changes: https://github/compare/7f5489e6e916cc8b13db0582dcf9930e225594b9...53a7dbbf85554e11517c13ad91b9efb871599ad1
53a7dbb 2021-03-31 Pavel Kirienko - Change wording in uavcan.pnp.NodeIDAllocationData to reflect the less static nature of UAVCAN v1 (#111 )
c3aa82f 2021-03-23 Pavel Kirienko - Update Readiness as discussed at the DS-015 call
fcc1062 2021-03-16 Pavel Kirienko - Doc amendment for uavcan.register.Access: mapping between registers and environment variables (#109 )
342f358 2021-02-22 Pavel Kirienko - Remove misleading comment in battery.Status.0.2
1baa9cb 2021-02-22 Pavel Kirienko - Add link to Nunaweb and synchronize the description with the front page (#108 )
2021-04-05 21:23:06 -04:00
Benjamin Linne
2a0a747598
boards: modalai-fc-v1 add rtps.cmake add to ci
2021-04-05 17:01:35 -04:00
Benjamin Linne
a1bc520df8
boards: modalai-fc-v1 add rtps.cmake add to ci
2021-04-05 17:01:35 -04:00
Benjamin Linne
3261118538
boards: modalai-fc-v1 add rtps.cmake
2021-04-05 17:01:35 -04:00
Daniel Agar
54438140e1
ROMFS: posix airframes update to new parameter defaults mechanism (AUTOCNF replacement)
2021-04-05 15:29:34 -04:00
Daniel Agar
565c644b2e
boards: CUAV keep Nora and X7pro in sync
2021-04-05 12:54:41 -04:00
Daniel Agar
695adbc037
Jenkins: hardware skip AUTOCNF, don't force px4io update, show configured parameters
2021-04-05 12:30:55 -04:00
Daniel Agar
357b322eb5
ROMFS: tune_control stop if px4io update fails
2021-04-05 11:49:55 -04:00
PX4 BuildBot
74e848d57e
Update submodule public_regulated_data_types to latest Mon Apr 5 12:40:16 UTC 2021
...
- public_regulated_data_types in PX4/Firmware (1557f3a23461a144dd75edae4595665e5684597d): https://github.com/UAVCAN/public_regulated_data_types/commit/7f5489e6e916cc8b13db0582dcf9930e225594b9
- public_regulated_data_types current upstream: https://github.com/UAVCAN/public_regulated_data_types/commit/53a7dbbf85554e11517c13ad91b9efb871599ad1
- Changes: https://github.com/UAVCAN/public_regulated_data_types/compare/7f5489e6e916cc8b13db0582dcf9930e225594b9...53a7dbbf85554e11517c13ad91b9efb871599ad1
53a7dbb 2021-03-31 Pavel Kirienko - Change wording in uavcan.pnp.NodeIDAllocationData to reflect the less static nature of UAVCAN v1 (#111 )
c3aa82f 2021-03-23 Pavel Kirienko - Update Readiness as discussed at the DS-015 call
fcc1062 2021-03-16 Pavel Kirienko - Doc amendment for uavcan.register.Access: mapping between registers and environment variables (#109 )
342f358 2021-02-22 Pavel Kirienko - Remove misleading comment in battery.Status.0.2
1baa9cb 2021-02-22 Pavel Kirienko - Add link to Nunaweb and synchronize the description with the front page (#108 )
2021-04-05 11:26:01 -04:00
Daniel Agar
e8d98c1f8a
uavcan: skip beep if CBRK_BUZZER circuit breaker set
2021-04-05 11:25:37 -04:00
Daniel Agar
8e8826c516
Makefile: uorb_graphs exclude src/lib from graph_full
2021-04-05 11:03:43 -04:00
Daniel Agar
186e987efb
Jenkins: fetch all tags before generating Airframe & Parameter documentation (master only)
2021-04-05 09:51:18 -04:00
Daniel Agar
2e390009f0
Jenkins: fetch all tags before make documentation (master only)
2021-04-05 09:24:21 -04:00
Julian Oes
8720655683
sitl_gazebo: update submodule
...
This fixes the airspeed sensor orientation for tailsitter.
2021-04-05 14:14:31 +02:00
Silvan Fuhrer
8400f2c9bc
FW attitude controller: add protection against division by zero in airspeed scaling
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-04-04 21:22:28 -04:00
Beat Küng
436258c1c5
config: cleanup ethernet configuration
2021-04-04 21:20:36 -04:00
Daniel Agar
ad934b4911
icm20948 i2c passthrough driver for ak09916 magnetometer (Here+ GPS/compass)
...
- include icm20948 on most boards by default
- create more test variants for default boards near flash limit (cuav_nora_test, cuav_x7pro_test, holybro_durandal-v1_test)
2021-04-04 21:18:16 -04:00
Daniel Agar
c6a0161047
commander: COM_PREARM_MODE disable by default
2021-04-03 20:15:05 +02:00
Daniel Agar
bbf27d6960
boards: mro pixracerpro Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
Daniel Agar
43da43ddc6
boards: cubepilot cubeorange Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
Daniel Agar
fffa10ade4
boards: px4_fmu-v6u sync with other stm32h7 boards
2021-04-03 14:13:23 -04:00
Daniel Agar
825d81dd57
boards: px4_fmu-v6x sync with other stm32h7 boards
2021-04-03 14:13:23 -04:00
David Sidrane
dcfa3c97ba
px4 fmu-v6x:Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
David Sidrane
38485a5d41
px4 fmu-v6u:Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
David Sidrane
961bac759a
mro pixracerpro:Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
David Sidrane
2f9a57c604
mro ctrl-zero-h7:Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
David Sidrane
5c7a9204a2
mro ctrl-zero-h7-oem:Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
David Sidrane
f63f1f3969
holybro durandal-v1:Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
David Sidrane
55ed76522e
cuav x7pro:Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
David Sidrane
df201342bb
cuav nora:Add remaining SRAM4 & DTCM to heap
2021-04-03 14:13:23 -04:00
David Sidrane
5e73fe588e
NuttX with SRAM4-heap-bp
2021-04-03 14:13:23 -04:00
Jaeyoung-Lim
01083cecfc
Enable adis16448 with parameter
...
This commit adds enabling adis16448 with a parameter
2021-04-03 13:58:25 -04:00
Nidhish Raj
01d8c3da3d
vtol_att_control: occasional tailsitter forward transition failure issue solved
...
Tailsitter VTOLs very occasionally gets stuck with zero roll and pitch angle in multicopter mode after
a forward transition command is issued.
This very rare behavior is triggered by the following events:
1> a forward transition is triggered either in auto or manual mode.
2> in the vtol_att_control main loop, if multicopter and fixed wing attitude setpoints are not updated, transition state is not updated
3> the commander changes the vehicle status to transition mode.
4> multicopter pos controller initiated Transition flight task. This results in zero roll and pitch setpoint due to zero acceleration setpoint
5> now vtol_att_control executes and updates the transition state. Specifically, _q_trans_start and _q_trans_sp are set with zero roll and pitch sp
6> tilt is evaluated to be NaN, despite _q_trans_sp being normalized. This happens for 25% of all yaw angles when using float datatype. This can be
verified using the matrix library
7> once tilt is evaluated to be NaN, _q_trans_sp is never updated again and is stuck in this state for ever.
This has been fixed by constraining the cos(tilt) within +1 to -1 range
Further, _q_trans_start and _q_trans_sp are immedietly initialized after a transition event is triggered.
2021-04-03 19:19:48 +02:00
Daniel Agar
b30f3917d3
sensors/vehicle_imu: periodically send mavlink critical message if clipping
2021-04-03 10:32:16 -04:00
Daniel Agar
588883f663
uavcan: quiet server output
...
- remove verbose UAVCAN command bridge prefix
- disable many normal PX4_INFO messages entirely (kept as PX4_DEBUG)
- properly exit when arming (silently)
2021-04-03 10:07:50 -04:00
David Sidrane
2fcdadfbd1
holybro_durandal-v1:Enable UAVCAN
2021-04-03 12:47:20 +02:00
David Sidrane
003ef59019
px4_fmu-v6x:Enable UAVCAN
2021-04-03 12:47:20 +02:00
Lorenz Meier
c96ca0434e
Update README.md
...
Sort autopilot generations according to relevance to potential users (latest first)
2021-04-03 12:21:02 +02:00
PX4 BuildBot
9a02141d0d
Update submodule ecl to latest Fri Apr 2 12:39:10 UTC 2021
...
- ecl in PX4/Firmware (744cd1182e183b62a0ab4b2f3e4e3c4aa6f5c15f): https://github.com/PX4/PX4-ECL/commit/6f2dec726adeedcb53aad9a77a8fcdfc8f7b3054
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/5d34d7a24ef72b826c320a3259ee0ec68b1936df
- Changes: https://github.com/PX4/PX4-ECL/compare/6f2dec726adeedcb53aad9a77a8fcdfc8f7b3054...5d34d7a24ef72b826c320a3259ee0ec68b1936df
5d34d7a 2021-03-31 Eike - Height source vision: Fallback to rangefinder if available (#994 )
da06f25 2021-03-28 PX4BuildBot - [AUTO COMMIT] update change indication
85fcf93 2021-03-28 PX4 BuildBot - Update geo_lookup WMM to latest Sun Mar 28 11:48:06 UTC 2021
2021-04-02 11:46:19 -04:00
Lorenz Meier
1ec8ce58c7
Commander: Increase auto-disarm timeout to 25 seconds after arming
2021-04-02 09:37:40 +02:00
Daniel Agar
278633c980
boards: cuav x7pro include correct adis IMU
2021-04-01 17:13:54 -04:00
Daniel Agar
c017f76a36
github actions add all NuttX builds
2021-04-01 10:21:14 -04:00
Lorenz Meier
82f319a84a
Commander: Add support for pairing via commandline
2021-04-01 09:56:09 -04:00
斯东Stone
e789124bd9
Remove duplicated line in 50003_aion_robotics_r1_rover
2021-04-01 09:36:20 -04:00
Beat Küng
369d375417
holybro_can-gps-v1_debug: disable ekf & listener due to flash overflow
2021-04-01 08:35:36 -04:00
Daniel Agar
9171a84324
IMU_DGYRO_CUTOFF increase default 10 -> 20 Hz
2021-04-01 08:30:09 -04:00
Jaeyoung-Lim
19c4fdd7c5
Add support for 3D body thrust setpoint for offboard attitude control
...
This adds support for filling up the 3D thrust setpoint using SET_ATTITUDE_TARGET message
Update mavlink submodule
2021-04-01 13:58:04 +02:00
Nico van Duijn
8d3335906a
v5x: use low bandwidth mavlink mode
...
This changes the default mavlink message set from onboard to
onboard_low_bandwidth, which drastically reduces the bandwidth required to get a
usable connection.
2021-04-01 07:28:43 +02:00
Daniel Agar
846695f986
ekf2: replace vehicle_imu lost error message with perf count
2021-03-31 22:07:32 -04:00
Daniel Agar
00f86eb895
drivers/uavcan: silence redundant exit message
2021-03-31 22:01:35 -04:00
Chris Lovett
292a66ce41
Add support for simulators running on a different host than the PX4 instance
2021-03-31 20:56:38 -04:00
RomanBapst
b66ae5f2d4
tecs: use raw inertial acceleration for true airspeed complementary filter
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-03-31 20:12:40 -04:00
Beat Küng
9dd6bef7f9
autostart scripts: remove SYS_PARAM_VER
...
With the airframe defaults there's no use for that anymore
2021-03-31 20:12:05 -04:00
Beat Küng
aec63eacbe
mavlink_receiver: avoid spamming 'unsupported component id'
2021-03-31 20:10:15 -04:00
Matthias Grob
5f4802a239
SlewRate: add back dummy file for mac build
2021-03-31 15:50:16 +02:00
Matthias Grob
8fec39ad39
MulticopterPositionControl: readd takeoff ramp fix
...
added in #14821 and accidentally removed in #14665
2021-03-31 15:21:42 +02:00
Eike
5d34d7a24e
Height source vision: Fallback to rangefinder if available ( #994 )
2021-03-31 14:24:38 +02:00
Bastian Jäger
752bc9ebce
startup scripts: fix rc.mavlink_override
2021-03-31 14:05:24 +02:00
Julian Kent
5c5ec1a0ea
Receive telemetry_status, send vehicle_trajectory_waypoint_desired
2021-03-31 13:26:00 +02:00
Julian Kent
b5a64f957e
Update RTPS messages to match what is needed for PX4/Avoidance
2021-03-31 13:26:00 +02:00
Julian Kent
c1cb964c2a
RTPS timesync don't use MONOTONIC_RAW
2021-03-31 13:25:27 +02:00
Julian Kent
1011382098
Clamp RTPS -> uorb timestamps to system time
2021-03-31 13:25:27 +02:00
TSC21
eca4d90a91
init.d-posix: adjust COM_OBC_LOSS_T when using PX4_SIM_SPEED_FACTOR
2021-03-31 13:25:01 +02:00
TSC21
7abce87ae4
commander: add COM_OBC_LOSS_T for setting onboard computer loss time-out
2021-03-31 13:25:01 +02:00
Beat Küng
e9370c658a
nuttx cmake: include upload.cmake if it exists (same as on posix)
2021-03-31 11:25:11 +02:00
RomanBapst
5b08362ba3
position_controller_status message: added comments regarding NAN
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-03-31 11:23:33 +02:00
Matthias Grob
c06b5a1de9
MulticopterPositionControl: improve tilt limit readability and scope
...
according to @bresch's review comment.
2021-03-31 10:03:08 +02:00
Matthias Grob
94469d84ae
MulticopterPositionControl: fix twitch on tilt limit relaxation
2021-03-31 10:03:08 +02:00
Matthias Grob
34a5948692
Adapt SlewRate includes to convention
2021-03-31 10:03:08 +02:00
Matthias Grob
c16b937221
Takeoff: switch internally to use a ramp progress
2021-03-31 10:03:08 +02:00
Matthias Grob
8ca76feaba
Takeoff: remove updateRamp() early return
2021-03-31 10:03:08 +02:00
Matthias Grob
b7600f4e4d
Commander: check_posvel_validity use return value
2021-03-30 22:33:01 -04:00
Matthias Grob
29e1e0905c
Commander: switch main_state functions to pass by reference
2021-03-30 22:33:01 -04:00
Matthias Grob
531de5c588
Commander: switch all state_machine_helper functions to pass by reference
2021-03-30 22:33:01 -04:00
Matthias Grob
d97fba67e5
Commander: switch helper functions to pass by reference
2021-03-30 22:33:01 -04:00
Daniel Agar
0fa91f7cb0
commander: centralize main_state strings and simplify main state change attempts
...
* commander: centralize main_state strings and simplify main state change attempts
2021-03-30 17:56:28 +02:00
Daniel Agar
18be1bacdc
state_machine_helper: automatically initialize to assist mode if using mavlink manual control
2021-03-30 17:56:28 +02:00
Claudio Micheli
b001865e5c
Commander: clean up logic for flight mode transitions and add joystick mode initialization
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-03-30 17:56:28 +02:00
Daniel Agar
9a35756cd1
ekf2: enable range aid by default
...
- this is to help more users get the benefit (by default) and perhaps circumvent the common mistake of setting EKF2_HGT_MODE to range sensor
- this should be safe to enable as the range aid defaults are fairly conservative (max horizontal velocity 1 m/s, and range aid gate 1 SD)
2021-03-30 10:23:18 -04:00
Daniel Agar
6874e9fba0
boards: NuttX disable all NSH memory debug commands (mb, mh, mw) by default
...
- closes https://github.com/PX4/PX4-Autopilot/issues/17062
2021-03-30 09:23:43 -04:00
Michael Schaeuble
f9af1bbe2d
PreFlightCheck: Check if SD card is present only once and store the result
...
statfs accesses the file-system and can be blocking for an extended period. Since the SD card check is part of the preflight checks in the main thread of commander, it could block its execution and cause various issues. The SD card is only mounted in rcS during boot so the state will not change after the first check.
2021-03-30 08:20:49 +02:00
Daniel Agar
c2350c06c1
commander: ManualControl avoid unnecessary copy
2021-03-30 08:19:07 +02:00
Beat Küng
416a663d11
params: add build dependency for *parameters.c
...
Makes sure changes to these files trigger metadata rebuild
2021-03-30 08:18:49 +02:00
Beat Küng
42a865f349
param json: ensure category is set to Standard if not set
...
For xml this was previously done on the QGC side.
2021-03-30 08:18:49 +02:00
Beat Küng
2d2799b739
IMU_GYRO_CUTOFF: add 800 (used by SITL)
2021-03-30 08:18:49 +02:00
Beat Küng
346f269d8f
IMU_INTEG_RATE: add 250 (used by SITL)
2021-03-30 08:18:49 +02:00
Beat Küng
6a7688cbca
component_information: rework to reflect mavlink message changes
2021-03-30 08:18:49 +02:00
Daniel Williams
0f29b87101
[uorb-graph][squash][refactor] Rework of uorb-graph script -- Greatly expands handled test cases
...
- Source processing now happens on original source files:
- processing to line-by-line
- required overhaul of regex match patterns + processing
- pros:
- enable tracing of ambiguous parsing sites -- reports (module, file, line-number, line-contents)
- simplifies code
- reduces computational complexity
- cons:
- certain declarations are harder to parse: multiline declarations
- refactors:
- added specific subclasses for each: Publications, Subscriptions, Ambiguities
- added a "Scope" class to represent either a module ('ModuleScope') or a library ('LibraryScope')
- regexes:
- added cases for C++-style classes
- expanded C++-style regex cases to accommodate templates
- `ORB_ID::` is accepted wherever `ORB_ID(` is accepted
- adds 'orb_copy' regex to the subscription cases
- emit ambiguous-line warning for declarations with `ORB_ID` on the same line
- emit ambiguous-line warning for `ORB_ID` with a declaration on the same line
- changed 'module whitelist' to 'scope-whitelist'
- whitelist may now apply to libraries
- libraries are optionally merged with their depending modules (but not by default)
- may be merged with their depending modules with the `--merge-depends` cli flag
- eliminates some redundant 'special-case' handling code
- debug output
- raises exception and aborts if a topic is found outside of a scope
- debug output is now printed & filtered with the python 'logging' standard module
- alphabetizes topic output in debug logging
- fixes debug output if package dependencies are missing
- now warns on ambiguous matches
- prints a list of ambiguous source sites (aka warnings) on completion
- (still) emits a warning if we find ORB_ID outside of a scope
- adds warnings if any of the source paths are invalid
- do not emit debug output for modules outside of the module/scope whitelist
- Expand script's CLI parameters
- added 'none' output options: undocumented debugging option to silence file output while debugging
- added the `--merge-depends` cli flag -- merges output of modules & their dependee libraries
2021-03-29 09:36:34 +02:00
PX4BuildBot
da06f25216
[AUTO COMMIT] update change indication
2021-03-28 21:22:25 -04:00
PX4 BuildBot
85fcf9393d
Update geo_lookup WMM to latest Sun Mar 28 11:48:06 UTC 2021
2021-03-28 21:22:25 -04:00
Daniel Agar
3d667b1675
delete unused drivers/lights/blinkm
2021-03-28 19:21:29 -04:00
Daniel Agar
631d1647d3
boards: minimize unnecessary differences in default variants
2021-03-28 14:46:47 -04:00
Daniel Agar
fcc4153c26
drivers/gps: explicitly link libm
...
- needed on stripped down builds
2021-03-28 12:39:22 -04:00
Daniel Agar
7314b69adc
cmake: fix jlink_flash_uavcan_bin helper
2021-03-28 12:39:22 -04:00
Daniel Agar
f5c7f89a76
vscode add holybro can-gps-v1 variants
2021-03-28 12:39:22 -04:00
Daniel Agar
e58af90bac
boards: holybro can-gps-v1 create separate default and debug variants
2021-03-28 12:39:22 -04:00
Daniel Agar
86b831b019
Update submodule GPSDrivers to latest Sun Mar 28 12:39:06 UTC 2021 ( #17253 )
...
- devices in PX4/Firmware (22b74424d42fa89ebc4df84422ca7ea633843878): https://github.com/PX4/PX4-GPSDrivers/commit/e7f0b23f47d65490b72e9bacaff191bda2d99496
- devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/f2eb62c2c78a2ec47bccfe993ff59acc94155e7e
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/e7f0b23f47d65490b72e9bacaff191bda2d99496...f2eb62c2c78a2ec47bccfe993ff59acc94155e7e
f2eb62c 2021-02-21 chenhui.yu - sbf: fix #430 longitude judgement bug
Co-authored-by: PX4 BuildBot <bot@px4.io >
2021-03-28 11:13:58 -04:00
Daniel Agar
f65781025e
boards: mRo x21 enable mpu9250 mag (only internal)
...
- fixes #17244
2021-03-26 21:02:30 -04:00
Daniel Agar
b1c913244f
boards: CUAV X7pro restore lights
2021-03-26 18:25:39 -04:00
Daniel Agar
e77bffe582
boards: STM32H7 remove CONFIG_MM_REGIONS=3
2021-03-26 17:40:44 -04:00
Daniel Agar
a260ddd8ff
posix-configs: rpi multi-EKF defaults
...
- the ekf2 frontend typically runs in the background for up to 30 seconds waiting for all instances to appear, but this isn't supported by the legacy posix launcher
2021-03-26 14:24:34 -04:00
Daniel Agar
a9b47558b1
magnetometer/lsm9ds1_mag: fix register typo and refactor to new style with state machine and configuration monitoring
2021-03-26 14:23:25 -04:00
bresch
a124426541
ecl: apply same GNSS speed accuracy for EKF2 and yaw estimator
2021-03-25 12:57:36 -04:00
bresch
ace6f81c93
commander: report estimator mag fault detection to ground station
2021-03-25 12:57:36 -04:00
bresch
2c5342acd4
commander: increase nav_test_failed hysteresis time
...
This is to avoid race condition with the yaw emergency estimator having
the same trigger delay of 1 second. Commander will now give more time to
EKF2 to reset itself before switching to altitude mode.
2021-03-25 12:57:36 -04:00
Serhat Aksun
beadae6dfc
process_sensor_caldata.py: Fix 2nd barometer plot
...
fixed the figure numbers to avoid plot conflicts
2021-03-25 09:53:15 -04:00
bresch
6f2dec726a
gps sacc: apply same minimum for EKF2 and yaw estimator
2021-03-25 09:54:30 +01:00
Daniel Agar
5a1eb3f9ef
Update submodule GPSDrivers to latest Thu Mar 25 00:41:54 UTC 2021
2021-03-25 00:25:29 -04:00
PX4 BuildBot
98e1e25d93
Update submodule sitl_gazebo to latest Thu Mar 25 00:41:48 UTC 2021
...
- sitl_gazebo in PX4/Firmware (7f2566dd8a ): https://github.com/PX4/PX4-SITL_gazebo/commit/1f339cdf5c5da27097e58ec2beb2793bf6057c7d
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/3e5fed04d8e574b10e17e446d2938346bc6152ca
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/1f339cdf5c5da27097e58ec2beb2793bf6057c7d...3e5fed04d8e574b10e17e446d2938346bc6152ca
3e5fed0 2021-03-22 JaeyoungLim - Multiple airspeed sensors in SITL with multi HIL_SENSOR instances (#731 )
2021-03-24 23:54:49 -04:00
David Sidrane
7f2566dd8a
NuttX STM32H7 16 bit SPI fixes + ADIS16470 updates for proper 16 bit mode in burst
2021-03-24 19:29:40 -04:00
Daniel Agar
92910de81d
gyro_fft: silence initial sensor selection attempt
...
- early in startup the selected gyro may not be published yet
2021-03-24 18:58:18 -04:00
David Sidrane
d9d832c568
NuttX with BACKPORT libc/stdio: Preallocate the stdin, stdout and stderr
2021-03-24 18:27:30 -04:00
Daniel Agar
2d6deb4f1c
drivers/rc_input: don't accept RX_PAIR cmd when armed
2021-03-24 15:13:38 -04:00
Lorenz Meier
435ef38eda
RC Input: Reset lock state when switching to a new protocol
2021-03-24 15:13:38 -04:00
Daniel Agar
3502ba53ba
Update submodule mavlink v2.0 to latest Wed Mar 24 12:38:18 UTC 2021
2021-03-24 11:25:00 -04:00
Beat Küng
c4ae667157
generate_board_targets_json.py: exclude uavcanv1 for now
...
px4_fmu-v4_uavcanv1 fails to build:
../../src/drivers/uavcan_v1/Uavcan.cpp: In static member function 'static int UavcanNode::start(uint32_t, uint32_t)':
../../src/drivers/uavcan_v1/Uavcan.cpp:140:29: error: 'interface' was not declared in this scope
140 | _instance = new UavcanNode(interface, node_id);
2021-03-24 10:08:41 -04:00
Beat Küng
c46c6e63ae
px4/fmu-v4/uavcanv1: remove non-existing tap_esc module & gyro_fft example
2021-03-24 10:08:41 -04:00
Beat Küng
f528c5d206
github ci: push parameter metadata to s3
2021-03-24 10:08:41 -04:00
Beat Küng
c3985709e4
version: add optional oem version tag (ext/oem-<version>) and log it
2021-03-24 10:08:41 -04:00
Beat Küng
be3849f0b2
px4_mkfw.py: fix byte to string conversion
2021-03-24 10:08:41 -04:00
Beat Küng
bac2a02a65
git: ignore git tags starting with 'ext/' when getting the version tag
...
Allows for external/extra tags
2021-03-24 10:08:41 -04:00
Daniel Agar
ae010ea55c
sensors/vehicle_angular_velocity: unify filtering for both FIFO and regular use cases
2021-03-24 09:23:40 +01:00
PX4 BuildBot
8c173b2e7f
Update submodule ecl to latest Wed Mar 24 00:38:46 UTC 2021
...
- ecl in PX4/Firmware (a730f0f5ce7a2cc909cb3d0dfab5f0106a9b3aeb): https://github.com/PX4/PX4-ECL/commit/bb950a1550ba55de36ed66877817ec7f2f47b349
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/e3d1ade66092d47478488c89e4a6f6d21f0435a4
- Changes: https://github.com/PX4/PX4-ECL/compare/bb950a1550ba55de36ed66877817ec7f2f47b349...e3d1ade66092d47478488c89e4a6f6d21f0435a4
e3d1ade 2021-03-12 Daniel Agar - EKF: use flow for vel test ratio if only active source of horizontal aiding
2021-03-23 22:17:11 -04:00
Daniel Agar
b2faea7f43
pwm_out: check PWM_OUT_MAX_INSTANCES with conditional
...
- PWM_OUT_MAX_INSTANCES is a constant (static constexpr) not available to the preprocessor
2021-03-23 22:13:18 -04:00
Silvan Fuhrer
3983f0b833
ROMFS: add new VTOL config and mixer (generic quadplane tiltrotor VTOL)
2021-03-23 19:55:19 -04:00
Beat Küng
2dace0c9ea
param: limit short description lenght to 150 for existing, 70 for yaml
2021-03-23 12:55:11 -04:00
Beat Küng
629f7ba15b
params: ensure short description is only a single line
...
So a UI can display it properly
2021-03-23 12:55:11 -04:00
Julian Oes
2ab276f5ca
ROMFS: disable MAVLink broadcast by default
...
I don't think we should be broadcasting by default as we haven't done
that in the past. This suddenly spams the network with a lot of
messages, and leads to confusing situations in offices where there are
multiple PX4 SITL and QGC intances are open.
2021-03-23 12:54:46 -04:00
Daniel Agar
ea902e7f38
systemcmds/tests: split out individual module test commands
2021-03-23 11:39:14 -04:00
Daniel Agar
e3d1ade660
EKF: use flow for vel test ratio if only active source of horizontal aiding
2021-03-23 15:56:22 +01:00
Daniel Agar
9b1cf98474
drivers/pwm_out: fix launch for non-multi case
...
- skip _objects[1] access if only 1 possible instance
- command line request new mode via atomic
2021-03-23 10:40:22 -04:00
David Sidrane
06cd3eded5
Revert "boards: CUAV Nora don't start icm20649 on SPI6 by default"
...
This reverts commit bcae99e34a .
2021-03-23 05:52:27 -07:00
David Sidrane
644794d134
Revert "boards: CUAV x7pro disable SPI6 IMU until NuttX BDMA is fixed"
...
This reverts commit 0b4006ae86 .
2021-03-23 05:52:27 -07:00
David Sidrane
817d21bb39
px4 fmu-v6x:Properly configure BDMA
2021-03-23 05:52:27 -07:00
David Sidrane
5f28ea10c0
px4 fmu-v6u:Properly configure BDMA
2021-03-23 05:52:27 -07:00
David Sidrane
bbdb671dd2
mro pixracerpro:Properly configure BDMA
2021-03-23 05:52:27 -07:00
David Sidrane
a8ece584e5
mro ctrl-zero-h7-oem:Properly configure BDMA
2021-03-23 05:52:27 -07:00
David Sidrane
4eabee00d6
holybro durandal-v1:Properly configure BDMA
2021-03-23 05:52:27 -07:00
David Sidrane
e813385f12
cuav x7pro:Properly configure BDMA
2021-03-23 05:52:27 -07:00
David Sidrane
344be233cf
mro ctrl-zero-h7:Properly configure BDMA
2021-03-23 05:52:27 -07:00
David Sidrane
ba3a099775
cuav nora:Properly configure BDMA
2021-03-23 05:52:27 -07:00
David Sidrane
3581099c09
Revert "boards: disable BDMA on STM32H7 for now"
...
This reverts commit f0d1f1d679 .
2021-03-23 05:52:27 -07:00
David Sidrane
55abe48925
NuttX with BDMA enable fix backpork
2021-03-23 05:52:27 -07:00
Peter van der Perk
8c5e51dba6
Add nxp_ucans32k146_canbootloader to CI archive to distribute UCANS32K146 bootloader
2021-03-23 04:43:56 -07:00
Mohamed Moustafa
5802dce699
mavlink: ignore self published UTM_GLOBAL_POSITION msgs in simulation using sys id ( #17193 )
2021-03-23 10:32:21 +01:00
Daniel Agar
5f6832e101
px4_work_queue: increasae UART stack
2021-03-22 22:48:58 -04:00
Beat Küng
e2cd39bf6c
micro_hal: use inline methods instead of #define's
...
Fixes errors in the form of 'error: statement has no effect'
2021-03-22 15:38:21 -04:00
Daniel Agar
e57aaaaa5e
rotate accel/gyro FIFO before publish and fix angular velocity filter resets
...
- rotates accel & gyro FIFO data before publication both to simplify downstream usage (including log review) and fix other issues
- to best handle int16_t data rotations are now either performed with swaps if possible, otherwise promoted to float, rotated using the full rotation matrix, then rounded back to int16_t
- fix sensors/vehicle_angular_velocity filter reset both with proper rotation and new calibration uncorrect helper
- in FIFO case filtering is done before calibration is applied, but we need to handle a possible reset from a completely different sensor (vehicle body angular velocity -> sensor frame uncorrected data)
2021-03-22 12:01:12 -04:00
Star Simpson
d4dd019578
removing hardcoded units from parameter descriptions throughout land_detector_params
2021-03-22 11:39:53 +01:00
Dongoo Lee
32012cb3ee
for cmake option GENERATE_ROS_MODELS to make ROS sdf models
2021-03-22 08:59:48 +01:00
Star Simpson
48219ab1e6
fixed typo in description of RWTO_PSP parameter
2021-03-22 00:37:18 -04:00
Daniel Agar
7563438558
sensors/vehicle_angular_velocity: fix dynamic notch ESC in FIFO case
...
- last timestamp sample must be set in FIFO case for ESC RPM dynamic filter update
- slightly relax thresholds for dynamic notch FFT apply or reset
2021-03-21 20:46:54 -04:00
PX4 BuildBot
1e507f41ca
Update submodule sitl_gazebo to latest Sun Mar 21 12:39:01 UTC 2021
...
- sitl_gazebo in PX4/Firmware (6e9f745809 ): https://github.com/PX4/PX4-SITL_gazebo/commit/b195315b869a5e86e31bcb934ca85172d4f5f33f
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/1f339cdf5c5da27097e58ec2beb2793bf6057c7d
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/b195315b869a5e86e31bcb934ca85172d4f5f33f...1f339cdf5c5da27097e58ec2beb2793bf6057c7d
1f339cd 2021-03-20 Dongoo Lee - Pass ros_distro in CMakeLists.txt instaed of checking it in jinja_gen.py (#712 )
1b1afca 2021-03-18 David Jablonski - gst camera: add RTMP streaming and nvidia encoding (#727 )
2021-03-21 10:43:26 -04:00
PX4 BuildBot
e79b3930f3
Update submodule ecl to latest Sun Mar 21 12:39:12 UTC 2021
...
- ecl in PX4/Firmware (81e811997b8e611aff08fa25c81322e4b956425f): https://github.com/PX4/PX4-ECL/commit/4df005487379436dcdde10402d3cea7b78d76c19
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/bb950a1550ba55de36ed66877817ec7f2f47b349
- Changes: https://github.com/PX4/PX4-ECL/compare/4df005487379436dcdde10402d3cea7b78d76c19...bb950a1550ba55de36ed66877817ec7f2f47b349
bb950a1 2021-03-10 Morten Fyhn Amundsen - Expose terrain vpos reset counter
ab69681 2021-03-10 Morten Fyhn Amundsen - Add parameter for terrain timeout
2021-03-21 10:42:43 -04:00
Lorenz Meier
6e9f745809
PWM out: Robustify initialization
...
This ensures that all PWM outputs get correctly inialized on targets that only support one.
2021-03-21 00:21:10 +01:00
Daniel Williams
f6eae08597
[uorb_graph][fix][doc] FIxes type around regex definition
...
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2021-03-20 08:11:41 +01:00
Daniel Williams
e7b1ffbd4c
[uorb_graph][fix] broadens regex for ambiguous subscription arrays
...
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2021-03-20 08:11:41 +01:00
Daniel Williams
1dce38a8fe
[uorb_graph][fix] fixes typo in Graph class __init__
...
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2021-03-20 08:11:41 +01:00
Daniel Williams
711422d755
[uorb-graph][squash][refactor] Rework of uorb-graph script -- Greatly expands handled test cases
...
- debug output is now printed & filtered with the python 'logging' standard module
- changed 'module whitelist' to 'scope-whitelist'
- whitelist may now apply to libraries
- libraries are not included by default
- may be merged with their depending modules with the `--merge-depends` cli flag
- eliminates redundant 'special-case' handling code
- greatly expands debugging output
- fixes debug output if package dependencies are missing
- still crashes on error matches
- now warns on ambiguous matches
- prints a list of ambiguous source sites (aka warnings) on completion
- adds warnings if any of the source paths are invalid
- do not emit debug output for modules outside of the module/scope whitelist
- Expand script's CLI parameters
- added 'none' output options: undocumented debugging option to silence file output while debugging
- added the `--merge-depends` cli flag -- merges output of modules & their dependee libraries
- Source processing now happens on original source files:
- processing to line-by-line
- required overhaul of regex match patterns + processing
- pros:
- enable tracing of ambiguous parsing sites -- reports (module, file, line-number, line-contents)
- simplifies code
- reduces computational complexity
- cons:
- certain declarations are harder to parse (multiline arrays)
- refactors:
- added specific subclasses for each: Publications, Subscriptions, Ambiguities
- added a "Scope" class to represent either a module ('ModuleScope') or a library ('LibraryScope')
2021-03-20 08:11:41 +01:00
Daniel Williams
8c87ef4272
[refactor][uorb-graph] add a pythonic __main__ idiom to the uorb-graph tool script
2021-03-20 08:11:41 +01:00
Daniel Agar
aef3c474e2
cmake: add install_python_requirements helper
...
- this is useful because it installs the python requirements using the
python interpreter found and used by cmake
2021-03-19 23:58:16 -04:00
Julian Oes
a13459858d
commander: improve logic for ekf2 preflight check
...
With this change we prevent the case where arming silently fails within
the first 10 seconds after boot.
Also, we now set the sensors as healthy as soon as the ekf is healthy,
and don't wait 10 seconds without actually checking.
2021-03-19 15:58:14 -04:00
Julian Oes
2f024a9a8a
commander: pass in correct time since boot
...
This fixes the case where the preflight check fail right after the start
and report "sensors unstable".
2021-03-19 15:58:14 -04:00
Morten Fyhn Amundsen
19533377b3
drv_hrt: Fix hrt_abstime literal argument names
...
The user-defined literals for milli- and microseconds
should have argument names matching their units. The
current argument names 'seconds' is probably an oversight.
2021-03-19 16:36:36 +01:00
David Sidrane
0d4f48a8d2
spracing h7extreme:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
cdcff35760
cubepilot cubeorange:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
2373ba47a2
mro pixracerpro:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
6780428a9d
mro ctrl-zero-h7:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
fa5dfb29cb
mro ctrl-zero-h7-oem:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
216959e221
holybro durandal-v1:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
7bc2393936
cubepilot cubeorange:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
a67edf229a
cuav x7pro:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
4f3d74b9d3
cuav nora:Enable ADC3 in support of temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
833501dee6
stm32h7:adc fix temperature sensing
2021-03-19 15:48:47 +01:00
David Sidrane
cc098f9dff
netman:Fix setting on first boot
2021-03-19 15:48:25 +01:00
Daniel Agar
19fc33a66e
boards: ark/can-flow add debug build and reduce default
2021-03-19 15:44:57 +01:00
bresch
6fda6e43af
StickAcceleration: synchronize XY acceleration profiles
2021-03-19 13:51:15 +01:00
Matthias Grob
c8c3f57ba1
mc_pos_control_params: correct cruise speed description
...
It is used in autonomous modes only and has no influence
on Position mode.
2021-03-19 13:35:17 +01:00
Daniel Agar
2360c50713
boards: spracing/h7extreme remove temperature_compensation and differential_pressure sensors to save flash
2021-03-18 19:34:51 -04:00
Daniel Agar
b74bdb0250
sensors/vehicle_angular_velocity: RPM filter add harmonics
2021-03-18 19:34:51 -04:00
Daniel Agar
8f242ec444
cmake: add jlink_flash_uavcan_bin helper
2021-03-18 19:33:19 -04:00
Daniel Agar
a86e854a3b
boards: CUAV CAN GPS enable safety button
...
- the circuit breaker was changed to set by default (disabling the safety button)
2021-03-18 19:33:19 -04:00
David Sidrane
e9409e59e6
NuttX with flexcan CTRL1 fixes backports
2021-03-18 21:38:56 +01:00
David Sidrane
395519ac66
uavcan_stm32h7:can driver preserve ordering
...
Refering to the refernece manual:
Tx queue operation is configured by programming FDCAN_TXBC.TFQM to 1. Messages
stored in the Tx queue are transmitted starting with the message with the lowest message
ID (highest priority). **In case that multiple queue buffers are configured with the same
message ID, the queue buffer with the lowest buffer number is transmitted first**
Tx FIFO operation is configured by programming FDCAN_TXBC.TFQM to 0. Messages
stored in the Tx FIFO are transmitted starting with the message referenced by the get index
FDCAN_TXFQS.TFGI. After each transmission the get index is incremented cyclically until
the Tx FIFO is empty. The Tx FIFO enables transmission of messages with the same
message ID from different Tx buffers in the order these messages have been written to the
Tx FIFO
The issue will be cancelation:
The FDCAN supports transmit cancellation. To cancel a requested transmission from a
dedicated Tx buffer or a Tx queue buffer the Host has to write a 1 to the corresponding bit
position (= number of Tx buffer) of register FDCAN_TXBCR. Transmit cancellation is not
intended for Tx FIFO operation.
But there is nothing preventing it. This seems to indicate it will
work. When a transmission request for the Tx buffer referenced by the get index is canceled, the
get index is incremented to the next Tx buffer with pending transmission request and the Tx
FIFO free level is recalculated. When transmission cancellation is applied to any other Tx
buffer, the get index and the FIFO free level remain unchanged.
2021-03-18 18:31:05 +01:00
David Sidrane
52a29ac6cf
uavcan_stm32h7:can driver add proper timeouts
2021-03-18 18:31:05 +01:00
Morten Fyhn Amundsen
bb950a1550
Expose terrain vpos reset counter
2021-03-18 14:25:07 +01:00
Morten Fyhn Amundsen
ab69681744
Add parameter for terrain timeout
2021-03-18 14:25:07 +01:00
dinomani
4bf894a35d
Update platforms/nuttx/src/px4/stm/stm32h7/include/px4_arch/micro_hal.h
...
Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com >
2021-03-18 06:13:24 -07:00
dino
44b2e0b729
As David request
2021-03-18 06:13:24 -07:00
dino
7c8b7fa44d
Fixed typo and added support for H7 temperature sense on ADC3
2021-03-18 06:13:24 -07:00
dino
6d04a67b02
Moving define to microhal.h files, for each ST architecture. Correct channels were verified with ST_CUBE header files. For the H7 its a simplification for the current used H7x3. Other devices in that family expect the temperarture on channel 18.
...
F1: channel 16
F3: channel 16
F4: channel 18
F7: channel 18
H7: channel 17, on STMf32Hx3
2021-03-18 06:13:24 -07:00
dino
528dc41822
changed #elif to #else, to build on all targets
2021-03-18 06:13:24 -07:00
dino
3c77ef7eb3
Fixed adc config, to read internal reference to get cpu temperature
2021-03-18 06:13:24 -07:00
Daniel Agar
7c2b945c21
ROMFS: posix rcS add gyro_fft and gyro_calibration start
2021-03-18 10:04:04 +01:00
Daniel Agar
8000e6feba
gyro_fft: reduce default max
...
- we're mainly looking for lower frequencies that may be an issue for control
2021-03-18 10:04:04 +01:00
Daniel Agar
c7c6122bfd
gyro_fft: manually inline subset of arm_rfft_init_q15 to save flash
2021-03-18 10:04:04 +01:00
Daniel Agar
1429423876
gyro_fft: support sensor_gyro (non-fifo)
2021-03-18 10:04:04 +01:00
alexklimaj
69e57b22ac
Add LEDs to ARK Can Bootloader
2021-03-17 18:10:22 -04:00
alexklimaj
38ce892582
ARK Flow sensor rotations
2021-03-17 18:06:38 -04:00
Dima Ponomarev
e660b50021
uavcan: add IMU sensor support
2021-03-17 18:04:12 -04:00
Lorenz Meier
d35ce21594
PWM out: Ensure correct loading on single-bank targets
2021-03-17 22:03:18 +01:00
Lorenz Meier
9490c64ad4
PWM out: provide running state
...
Important to know if the app is running.
2021-03-17 22:03:18 +01:00
Lorenz Meier
33c5f4210a
X7 disable FFT
...
This depends on the IMU driver supporting queue
2021-03-17 22:03:18 +01:00
Lorenz Meier
935cc05c47
FMU PWM OUT: Start driver in interface
2021-03-17 22:03:18 +01:00
Lorenz Meier
dd400e9562
Modal: Fix tabs in start script
2021-03-17 22:03:18 +01:00
Lorenz Meier
8cc3247d21
PWM command: Switch default to status, leave info
2021-03-17 22:03:18 +01:00
Lorenz Meier
0efa7556fe
VTOL airframe: Remove spurious tab
2021-03-17 22:03:18 +01:00
Lorenz Meier
595b3a05fb
Draco airframe: Remove tabs
2021-03-17 22:03:18 +01:00
Lorenz Meier
4af42be3f3
IFO-S airframe: Remove tabs
2021-03-17 22:03:18 +01:00
Lorenz Meier
e887aa902f
IFO airframe: Remove tabs
2021-03-17 22:03:18 +01:00
Lorenz Meier
06f7c49d3a
Baby-shark airframe: Remove spurious tabs
2021-03-17 22:03:18 +01:00
Lorenz Meier
3c19853f6c
ROMFS pruner: Detect spurious tabs
...
This is necessary to make sure that users cannot insert tabs into shell commands.
2021-03-17 22:03:18 +01:00
Lorenz Meier
21f5f9fba0
Param: Print failing param name
...
This is important for any sort of boot logs to know which parameter failed.
2021-03-17 22:03:18 +01:00
Lorenz Meier
c4e86f69c6
X7: Correct RGB led configuration
...
This removes unused modules and keeps the currently used ones in place.
2021-03-17 22:03:18 +01:00
Lorenz Meier
dc1e7335a3
UAVCAN: Lower debug print level
2021-03-17 22:03:18 +01:00
Lorenz Meier
9fe2f84db5
CUAV X7 Pro: Remove unneeded drivers.
2021-03-17 22:03:18 +01:00
Lorenz Meier
13e0b74782
MAVLink: Increased stack size
...
This is needed for MAVLink shell and UAVCAN.
2021-03-17 22:03:18 +01:00
Lorenz Meier
c904767f1d
Always start airspeed
...
This ensures we get readings in the log and in the telemetry even if the sensor is disabled.
2021-03-17 22:03:18 +01:00
Lorenz Meier
891b231215
Ensure that AUX mixer is loaded when 2nd bank is present
2021-03-17 22:03:18 +01:00
Lorenz Meier
38f306908d
Remove PWM14 VTOL airframe
2021-03-17 22:03:18 +01:00
Daniel Agar
e7722b11eb
pwm_out multi-instance support
...
PX4 uses banks of 8 outputs as a logical structure. Boards that have
more outputs than 8 get multiple instances. This is an arbitrary choice
that helps with overall structure and enables the mixing of different
device classes (like FMU, IO or UAVCAN).
2021-03-17 22:03:18 +01:00
Daniel Agar
c1c0a62be5
drivers/gps: log automatic gain control (AGC) monitor
2021-03-17 15:11:43 -04:00
Daniel Agar
385512aead
uORB: test multi timestamp requirement only applies per topic instance
2021-03-17 12:35:53 -04:00
Daniel Agar
205beb9526
boards: revert remaining CONFIG_ARMV7M_LAZYFPU
2021-03-17 09:58:23 -04:00
Matthias Grob
25dd12382a
FlightTaskOrbit: default center at exact vehicle location
2021-03-17 09:50:11 -04:00
Matthias Grob
ef774578e1
FlightTaskOrbit: NACK command if coordinates could not get applied
2021-03-17 09:50:11 -04:00
Ryan Johnston
bffa83bd47
Reverting LAZYFPU for v1.12 beta1 Compatibility
...
Without reverting this a constant boot loop occurs.
Prior to merging, why this occurs on some F7 boards and not this one should be looked at.
With LazyFPU enabled, v1.12.0 beta1 will not boot but without it removed it works fine.
2021-03-17 06:10:02 +01:00
David Sidrane
ccee36bb68
sd_bench and logger use aligned buffers
2021-03-17 05:27:53 +01:00
David Sidrane
45d0603627
micro_hal:Fixed DCACHE_LINESIZE abuse
2021-03-17 05:27:53 +01:00
garfieldG
e9725a5fa7
Merge pull request #17089 from garfieldG/pr-safety_switch_status
...
send safety switch status to ground
2021-03-17 05:23:31 +01:00
PX4 BuildBot
5ad8ed6994
Update submodule devices to latest Wed Mar 17 00:38:33 UTC 2021
...
- devices in PX4/Firmware (dd479f9cca ): https://github.com/PX4/PX4-GPSDrivers/commit/d7100ddc3dfdbe9702d0d21542a9ca3f4ea42652
- devices current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/0acaf6185245382389f7f6019cee6537d8f5a8e6
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/d7100ddc3dfdbe9702d0d21542a9ca3f4ea42652...0acaf6185245382389f7f6019cee6537d8f5a8e6
0acaf61 2021-02-26 Beat Küng - output mode: add GPS+RTCM output for PPK
2021-03-17 05:21:20 +01:00
Daniel Agar
dd479f9cca
drivers/imu/analog_devices/adis16470: Analog Devices ADIS16470 IMU driver for CUAV x7pro
2021-03-16 18:00:06 -04:00
Daniel Agar
4092f87390
paw3902: fixes and improvements
...
- fully respect datasheet quality and shutter metrics for mode changes
- use MOTION pin for scheduling if available
- log light mode
- refactor common enable LED code
- respect read and write time delays
2021-03-16 15:52:03 -04:00
Daniel Agar
34ea056bd2
Update submodule mavlink v2.0 to latest Tue Mar 16 12:39:08 UTC 2021
2021-03-16 15:50:23 -04:00
PX4 BuildBot
c368aa180a
Update submodule sitl_gazebo to latest Tue Mar 16 12:39:03 UTC 2021
...
- sitl_gazebo in PX4/Firmware (00016e53fa ): https://github.com/PX4/PX4-SITL_gazebo/commit/6b6f4749a74215b9a4fb81cfaa99a3950f13464d
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/b195315b869a5e86e31bcb934ca85172d4f5f33f
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/6b6f4749a74215b9a4fb81cfaa99a3950f13464d...b195315b869a5e86e31bcb934ca85172d4f5f33f
b195315 2021-03-16 JaeyoungLim - Revert "Pr liftdrag coefficients (#690 )" (#730 )
2021-03-16 15:49:58 -04:00
David Sidrane
243adf5250
NuttX with SDMMC back ports
2021-03-16 15:37:41 -04:00
Fabrizio Romanelli
853459c21b
Tools/setup/ubuntu.sh: Update to allow multiple host architectures
2021-03-16 13:33:48 -04:00
Daniel Agar
00016e53fa
boards: holybro/kakutef7 disable CONSTRAINED_FLASH to increase optimization
2021-03-16 10:30:32 +01:00
Inhwan Wee
c67d85945b
[commander] more detailed print_status
2021-03-16 01:00:55 -04:00
Daniel Agar
29d4ad1848
fw_pos_control_l1: OFFBOARD fully populate position_setpoint_triplet
2021-03-16 00:58:04 -04:00
Ryan Johnston
bcf93304c7
Board ID Update
...
Needed for updating firmware (due to boot loader).
2021-03-16 00:51:17 -04:00
Ryan Johnston
8e6987d480
Board ID update
...
Needed for firmware to update.
2021-03-16 00:51:17 -04:00
Daniel Agar
5d63306427
Update submodule GPS drivers to latest Tue Mar 16 00:40:31 UTC 2021
2021-03-16 00:50:13 -04:00
Daniel Agar
be58db1ec9
boards: cubepilot_cubeorange_console add gyro_fft
2021-03-16 00:49:45 -04:00
Daniel Agar
8261ee5fd7
boards: px4_fmu-v5_stackcheck add gyro_fft
2021-03-16 00:49:45 -04:00
Daniel Agar
ed8f6aa8fe
gyro_fft: fix bucket_index size
...
- needed for larger FFT lengths (eg 1024, 2048, etc)
2021-03-16 00:49:45 -04:00
Daniel Agar
0eac534b80
geo: purge globallocal_converter
2021-03-15 16:16:19 -04:00
Daniel Agar
4df0054873
geo: purge old globallocal_converter
2021-03-15 14:43:53 -04:00
Daniel Agar
ae67c53b1e
boards: px4_fmu-v6u_default address flash shortage
...
- create separate px4_fmu-v6u_test variant for onboard testing code
2021-03-15 14:19:00 -04:00
Daniel Agar
4b99bd2077
boards: remove optional external ADIS IMUs to save flash
2021-03-15 13:37:24 -04:00
Daniel Agar
b20949e664
mission feasibility: Fix first wp too far message overflow
...
Co-authored-by: Sander Smeets <sander@droneslab.com >
2021-03-15 12:40:52 -04:00
Daniel Agar
6cdc034f08
camera_trigger: cleanup
...
- add copyright headers and update year
- move initializers to header
- add PX4_DEBUG messages
2021-03-15 12:35:41 -04:00
Sander Smeets
517a1d0116
battery_status: factor in total current consumption in battery remaining estimation
2021-03-15 12:32:45 -04:00
RomanBapst
82a2126f97
TECS: add feedforward gain for total energy balance rate
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-03-15 11:47:07 -04:00
Daniel Agar
edd42cfa86
boards: px4/fmu-v5x disable optional external IMU drivers
2021-03-15 11:16:38 -04:00
Daniel Agar
0b4006ae86
boards: CUAV x7pro disable SPI6 IMU until NuttX BDMA is fixed
2021-03-15 10:54:43 -04:00
Daniel Agar
20d8de2dca
gyro_fft: reduce run frequency (still consuming all queued data)
2021-03-15 09:42:35 -04:00
Daniel Agar
3c80db9796
boards: stm32f7 run gyro_fft by default
2021-03-15 09:42:35 -04:00
Lorenz Meier
a5151f92ea
Merge pull request #17065 from PX4/pr/fix-mavlink-shell
...
MAVLink shell: Ensure that nothing is written to the file handles during shell creation.
2021-03-15 09:47:58 +01:00
Daniel Agar
2257c3767e
simple gyro auto calibration module
2021-03-15 09:46:47 +01:00
jciberlin
01c9a4f24d
ghst: fix warning generated on PR (Clang Tidy)
...
Fix warning generated on PR (Clang Tidy).
2021-03-15 09:42:53 +01:00
jciberlin
6f5efbeab5
ghst_telemetry: send battery status
...
Send battery status (ghst_telemetry). Apply factors to show correct values of volts, amps and mAh. Change ghost protocol code to follow more MISRA C++ guidelines.
2021-03-15 09:42:53 +01:00
Daniel Agar
af3573e464
gyro_fft: log peak frequency magnitudes
2021-03-15 09:42:08 +01:00
Daniel Agar
3665f9a3c4
gyro_fft: increase default range and length to improve test data
2021-03-14 20:17:41 -04:00
Daniel Agar
893eee4cb8
logger: double sensor_gyro_fft logging rate
2021-03-14 20:17:41 -04:00
Daniel Agar
cfb3099870
boards: mRo pixracer pro restore USART6, but RX only
2021-03-14 16:32:22 -04:00
Lorenz Meier
72ca6902f0
Updated README - general refresh
2021-03-14 14:56:24 +01:00
Jaeyoung-Lim
6b4ccaa53e
Handle invalid yaw rate setpoints
2021-03-14 00:01:57 +01:00
Jaeyoung-Lim
06e3d38bbd
Fix yaw rate ignore flag for attitude setpoints
...
This PR fixes the yaw rate ignore case handling for offboard control using the SET_ATTITUDE_TARGET message
2021-03-14 00:01:57 +01:00
David Sidrane
28681405ae
nxp_fmuk66-v3:Disable CONFIG_MMCSD_MULTIBLOCK (_DISABLE=y)
2021-03-12 20:45:45 +01:00
David Sidrane
3e443f7dcc
nxp_fmuk66-e:Disable CONFIG_MMCSD_MULTIBLOCK (_DISABLE=y)
2021-03-12 20:45:45 +01:00
CarlOlsson
528127c372
fw_att_ctrl: remove unused variable
2021-03-12 12:19:29 -05:00
romain-chiap
f150e1e7aa
sih: time constant added on thrusters, and minor cleanup
2021-03-12 12:04:14 -05:00
ArkadiuszNiemiec
1d8c55db4a
mavlink: fix yaw and yaw_rate ignore mask check
2021-03-12 16:34:41 +01:00
Daniel Agar
7fb43559f8
gyro_fft: run by default on STM32H7
2021-03-12 07:50:31 -05:00
Beat Küng
9ceef80e06
param: remove set-default print's during bootup
2021-03-12 13:44:10 +01:00
Beat Küng
af8c3215f2
logger: add airframe and system-wide default parameters
...
- adds new ulog message & compatibility flag
- separately add airframe and system-wide defaults
- log only non-volatile defaults that are different from the current value
- additional size is ~3KB for 100 params
2021-03-12 13:44:10 +01:00
Beat Küng
b512a3d8f7
param: add param_get_system_default_value
2021-03-12 13:44:10 +01:00
Daniel Agar
c356181f90
px4_work_queue: increase wq:rate_ctrl stack
2021-03-11 22:35:25 -05:00
Daniel Agar
0079cb708c
gyro_fft: don't update FFT length while running
...
- this is used for the length of dynamically allocated buffers that
aren't resized while running
2021-03-11 21:53:59 -05:00
Daniel Agar
ee7b6c0e9f
mavlink: delete fake CAMERA_CAPTURE stream
2021-03-11 23:00:00 +01:00
Daniel Agar
d98e1ded6b
mavlink: mavlink main report lost vehicle_command_ack
2021-03-11 15:04:53 -05:00
Daniel Agar
b0a4f35024
mavlink: mavlink main vehicle_commands only handled in iridium mode
2021-03-11 15:04:53 -05:00
Daniel Agar
eef304110d
uavcan: uavcan_servers only acknowledge supported commands
2021-03-11 15:04:53 -05:00
Julian Oes
c13266ad26
Tools: add env variable to disable follow mode
...
This adds the env variable PX4_NO_FOLLOW_MODE to disable the follow mode
in Gazebo.
2021-03-11 20:02:16 +01:00
Daniel Agar
4a7b2c490a
mavlink: messages cleanup remaining headers
2021-03-11 11:46:14 -05:00
Daniel Agar
3f872ebf20
mavlink: move HEARTBEAT to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
0c138b7e03
mavlink: move CAMERA_TRIGGER to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
b955c41a63
mavlink: move COMMAND_LONG to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
801202f208
mavlink: move BATTERY_STATUS to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
dc1418a3b4
mavlink: move SYS_STATUS to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
5a025cfa28
mavlink: move SMART_BATTERY_INFO to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
ec6758f5af
mavlink: move HIGHRES_IMU to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
248978b25e
mavlink: move SCALED_PRESSURE to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
477d8c3738
mavlink: only include HIGH_LATENCY2 stream on non flash constrained builds
2021-03-11 11:46:14 -05:00
Daniel Agar
c6311324d2
mavlink: move VFR_HUD to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
d46ae7983f
mavlink: move GPS_RAW_INT to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
67a204206a
mavlink: move GPS2_RAW to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
e2f7427679
mavlink: move AUTOPILOT_STATE_FOR_GIMBAL_DEVICE to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
462d67f2b6
mavlink: move TIMESYNC to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
849000ebeb
mavlink: move SYSTEM_TIME to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
af06adecd3
mavlink: move ADSB_VEHICLE to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
ecfbd79a90
mavlink: move UTM_GLOBAL_POSITION to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
e04252151c
mavlink: move GIMBAL_DEVICE_ATTITUDE_STATUS to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
c9d44d5741
mavlink: move GIMBAL_MANAGER_INFORMATION to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
aaf7b41dda
mavlink: move GIMBAL_MANAGER_STATUS to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
581e28eb33
mavlink: move GIMBAL_DEVICE_SET_ATTITUDE to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
ddca669852
mavlink: move CAMERA_IMAGE_CAPTURED to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
50bd757037
mavlink: move GLOBAL_POSITION_INT to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
ede01e8f1a
mavlink: move ODOMETRY to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
7daa97f279
mavlink: move LOCAL_POSITION_NED to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
5f7d577e04
mavlink: move ESTIMATOR_STATUS to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
a1a557cfe3
mavlink: move VIBRATION to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
239ed19827
mavlink: move ATT_POS_MOCAP to separate stream header
...
- now only available on non flash constrained boards
2021-03-11 11:46:14 -05:00
Daniel Agar
3964cfb3a7
mavlink: move HOME_POSITION to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
f7ee6b3c5e
mavlink: move SERVO_OUTPUT_RAW to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
5eef9358d9
mavlink: move ACTUATOR_CONTROL_TARGET to separate stream header
2021-03-11 11:46:14 -05:00
Daniel Agar
7d78cf8505
parameters: param_value_is_default() add note about params_changed bitset usage
2021-03-11 11:30:43 -05:00
Daniel Agar
a991e78e18
parameters: fix runtime default edge case
2021-03-11 11:30:43 -05:00
Matthias Grob
ceb445caa0
Run mc_pos_control for acceleration control mode flag
2021-03-11 10:37:03 -05:00
Daniel Agar
6a6352577c
cmake: nuttx error if GCC <= 7
2021-03-11 03:36:34 -08:00
Daniel Agar
f725813128
add bootloader flash helper target (jlink_flash_bootloader)
2021-03-11 09:03:42 +01:00
Matthias Grob
8816601efb
FlightTaskManualAcceleration: fix velocity setpoint initialization
2021-03-11 00:40:27 +01:00
Matthias Grob
89b502b9a0
FlightModeManager: remove switching out of a task for every mode change
...
This was an idea to be able to reinitialize on mode change e.g. from
Holde mode to Land mode which are currently all still handled by
FlightTaskAuto and don't require a task switch.
But I found out it leads to issues because the last setpoint and the
ekf reset counter state from the previous task are lost and as a result
the setpoint transition cannot be handled consistently anymore.
2021-03-11 00:40:27 +01:00
Matthias Grob
63a35ccabd
StickAccelerationXY: fix losing the internal velocity setpoint state
...
because of a failing position unlock with NAN velocity setpoint feedback.
2021-03-11 00:40:27 +01:00
Matthias Grob
54fe0ae98c
FlightModeManager: rename updateVelocityController{IO} to {Feedback}
2021-03-11 00:40:27 +01:00
David Jablonski
02abb760a3
SITL: add iris with fog-simulating lidar
2021-03-11 00:39:09 +01:00
Daniel Agar
f8eaa6e46b
ROMFS handle bl_update generically
...
- include all available legacy bootloaders
2021-03-11 00:38:18 +01:00
Daniel Agar
3ad0da51c4
Makefile: wipe incomplete ninja build generation
2021-03-10 17:16:19 +01:00
mohamed.moustafa
6914ebef4e
added messages required by offboard_control example
2021-03-10 08:42:33 -05:00
Jaeyoung-Lim
1d66b033a4
Append mixer with aux outputs
2021-03-10 07:15:53 +01:00
Jaeyoung-Lim
0db29866f1
Add standard_vtol drop
2021-03-10 07:15:53 +01:00
PX4 BuildBot
d2b63f137e
Update submodule ecl to latest Wed Mar 10 00:59:16 UTC 2021
...
- ecl in PX4/Firmware (557d8f65d89cd3da4a0e88af2a7bb1a16ebf3ff9): https://github.com/PX4/PX4-ECL/commit/4bad2a272cfbcfd2ef2c77bb4af788f5b569aaaa
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/b3c1bd6d40952a9d467497162f91f28400ae0a3d
- Changes: https://github.com/PX4/PX4-ECL/compare/4bad2a272cfbcfd2ef2c77bb4af788f5b569aaaa...b3c1bd6d40952a9d467497162f91f28400ae0a3d
b3c1bd6 2021-03-09 Paul Riseborough - EKF: Remove un-used code
2021-03-09 23:19:22 -05:00
Daniel Agar
684424bf73
parameters: delete unused BSON_BINDATA handling
2021-03-09 19:29:42 -05:00
Daniel Agar
4d288512b5
add board architecture specific init defaults
2021-03-09 19:59:41 +01:00
Silvan Fuhrer
e53e001de1
Airspeed Selector: do not run checks during landing
...
Stall speed check would otherwise trigger during landing if airspeed falls below
stall speed before landing is detected.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-03-09 19:23:48 +01:00
Daniel Agar
440e72e697
boards: cuav nora/x7pro don't have low speed external (LSE) oscillator
2021-03-09 10:49:57 -05:00
Daniel Agar
a11d2207e4
commander: simplify failure detector is attitude stabilized check
2021-03-09 10:47:00 -05:00
Daniel Agar
dff975698e
mc_rate_control: delete unused _landing_gear_pub
2021-03-09 10:47:00 -05:00
Daniel Agar
cc3c6f63e5
mc_rate_control: simplify manual_control_setpoint update
2021-03-09 10:47:00 -05:00
Daniel Agar
bb12fce66c
delete RATTITUDE flight mode
2021-03-09 10:47:00 -05:00
Daniel Agar
d37510a43d
update UUV and rover controllers to use trajectory_setpoint and cleanup unused position_setpoint fields
2021-03-09 10:36:34 -05:00
Daniel Agar
a0b9b44ff6
boards: stm32h7 set CONFIG_SDMMC1 consistently
2021-03-09 09:37:05 -05:00
Daniel Agar
bd1c575ce8
lib/sensor_calibration: add simple offset and scale sanity checks
2021-03-09 09:27:21 -05:00
Peter van der Perk
c4ab2797eb
Added the notion of BaseSubscriber which allows to
...
subsscription for services responses and request and helps the usage of fixed
port subscribers Furthermore move register autconfigure logic from Uavcan.cpp
to NodeManager
2021-03-09 14:35:50 +01:00
Paul Riseborough
b3c1bd6d40
EKF: Remove un-used code
2021-03-09 21:23:38 +11:00
CUAVcaijie
9f9b01504d
Modify the way to clear Data
2021-03-09 11:00:03 +01:00
David Jablonski
063bb75891
simulator: fix lidar sensors
2021-03-08 21:27:39 -05:00
Matthias Grob
c96d9a79b8
mc_att_control_params: remove frequency unit from attitude gains
2021-03-08 11:14:01 -05:00
David Sidrane
c792879612
Nuttx: PX4 Contrib Ethernet Hardening
2021-03-08 10:37:08 -05:00
Daniel Agar
cbb2fa440b
sensors/vehicle_angular_velocity: only allocate dynamic notch perf counters if enabled (IMU_GYRO_DYN_NF)
2021-03-08 10:35:48 -05:00
Daniel Agar
68c171fd4f
land_detector: continue respecting hover thrust throughout descent
2021-03-08 11:33:36 +01:00
Jaeyoung-Lim
1fa08c3997
Fix actuator controls timestamps for MAV_CMD_DO_SET_ACTUATOR
...
Fix actuator controls timestamps for MAV_CMD_DO_SET_ACTUATOR
2021-03-07 20:31:24 -05:00
Paul Riseborough
4465c4fbf6
ekf2: Publish and log EKF warning and information events (NEW msg estimator_event_flags)
...
* msg: Add estinator information and warning events message (estimator_event_flags)
* ekf2: publish information and warning events
* logger: log estimator_event_flags
* update ecl submodule to latest
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-03-07 16:16:48 -05:00
Peter van der Perk
18a8d89fa4
PNP fixed allocation scheme
...
Fixed register scheme
Incrased wq:uavcan stack since it overflowed when sending register response
2021-03-07 21:49:05 +01:00
Peter van der Perk
28c76663cd
UAVCANv1 Move PNP from UAVCAN.cpp to NodeManager.cpp
2021-03-07 21:49:05 +01:00
Kevin Dominic Merkel
d5e468a19e
change typhoon_h480 roll-/pitchrate P gain to reduce oscillations ( #17044 )
2021-03-07 18:18:00 +01:00
Daniel Agar
35488337d3
mc_pos_control: add OFFBOARD takeoff intent
2021-03-07 11:04:17 +01:00
Daniel Agar
22abe1619b
Update submodule mavlink v2.0 to latest Sat Mar 6 00:39:07 UTC 2021
2021-03-05 21:00:39 -05:00
PX4 BuildBot
1eff1aa83c
Update submodule sitl_gazebo to latest Sat Mar 6 00:39:04 UTC 2021
...
- sitl_gazebo in PX4/Firmware (263b00b65f ): https://github.com/PX4/PX4-SITL_gazebo/commit/bebb9a95f0b61bf9e4c3de345fab70985c1329b3
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/c7524aa977539d8cc972d9336355bc82e2f2cfa5
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/bebb9a95f0b61bf9e4c3de345fab70985c1329b3...c7524aa977539d8cc972d9336355bc82e2f2cfa5
c7524aa 2021-02-28 Jaeyoung-Lim - Fix MAVSDK SITL tests
f4d5594 2021-02-28 JaeyoungLim - Increase rover model realtime factor (#715 )
2021-03-05 21:00:07 -05:00
Paul Riseborough
4bad2a272c
EKF: Use debug prints for NuttX builds
2021-03-05 19:06:59 -05:00
Daniel Agar
0f47cae1e1
remove ECL_{INFO,WARN,ERN}_TIMESTAMPED macros
...
- we already have mechanisms to print these messages timestamped
2021-03-05 19:06:59 -05:00
Paul Riseborough
c1f1415696
EKF: Add usage warning comment
2021-03-05 19:06:59 -05:00
Paul Riseborough
c2b86cdb20
EKF: Provide external reset of event records
2021-03-05 19:06:59 -05:00
Paul Riseborough
9d51ab079a
EKF: Remove duplicated event recording
2021-03-05 19:06:59 -05:00
Paul Riseborough
140ca3f48f
EKF: Add external monitoring of warning and information events
2021-03-05 19:06:59 -05:00
Paul Riseborough
90a445ddbc
EKF: upgrade some events from into to warning status
2021-03-05 19:06:59 -05:00
Daniel Agar
263b00b65f
ekf2 support SET_GPS_GLOBAL_ORIGIN and remove globallocalconverter usage
...
- vehicle_command cmd extended from uint16 to support PX4 internal commands that don't map to mavlink
2021-03-05 18:25:14 -05:00
David Sidrane
12a4b0334f
px4_fmu-v6u:Use Auto LSE Drive setting
2021-03-05 15:40:09 -05:00
David Sidrane
2af106d888
px4_fmu-v6x:Use Auto LSE Drive setting
2021-03-05 15:40:09 -05:00
David Sidrane
d94ff14e6b
px4_fmu-v5x:Use Auto LSE Drive setting
2021-03-05 15:40:09 -05:00
David Sidrane
f44a299e3b
px4_fmu-v5:Use Auto LSE Drive setting
2021-03-05 15:40:09 -05:00
David Sidrane
c2a5b5ed88
holybro_durandal-v1:Use Auto LSE Drive setting
2021-03-05 15:40:09 -05:00
Ryan Johnston
9d0a8928bd
Update chip type
...
Update chip type from NI to II.
2021-03-05 21:28:36 +01:00
Ryan Johnston
0958b30804
Fix i2c4 bus
...
Fix i2c4 bus (and subsequent CI errors)
2021-03-05 21:28:11 +01:00
Ryan Johnston
2bf508061a
Update i2c bus
...
Change internal bus 2 to external.
2021-03-05 21:28:11 +01:00
Ryan Johnston
17b48102f4
Update i2c mapping and i2c clock source
...
i2c4 was mapped incorrectly and i2c4 clock source wasn't present.
2021-03-05 21:28:11 +01:00
bbworld
7525722b1a
Add support for specifying spawn location in Gazebo multi sim
...
This commit adds support for specifying the spawn location of vehicles
in the Gazebo multi-vehicle simulator script (frame:number:x:y).
Behavior when x and y are not specified remains the same as before.
2021-03-05 21:26:54 +01:00
Ryan Johnston
daf744c678
MRO Control Zero F7 OEM Fixes ( #16977 )
...
* Update i2c 4 pinmap on F7 OEM
Update i2c 4 pinmap
* Fix i2c Internal to External on F7 OEM
Fix i2c Internal to External on F7 OEM
* Add Can2 Silent Pin
Add Can2 Silent Pin
2021-03-05 21:26:15 +01:00
Nicolas MARTIN
66beffa2f3
Enable pre-arm checks in HIL modes
...
by airframe parameters HIL mode will still disable:
- usb check
- power checks
- safety switch
2021-03-05 21:23:31 +01:00
CarlOlsson
b4b424bf7d
tecs: also fix the bug in update_vehicle_state_estimates()
2021-03-05 19:44:20 +01:00
CarlOlsson
0f461f7f60
TECS: Fix internal state init if dt is large
2021-03-05 19:44:20 +01:00
Matthias Grob
114e85d260
MultiCopterPositionControl: hotfix emergency failsafe
...
that prevents the vehicle from crashing with invalid setpoints or
states.
This broke with #16869 when the scheduling of the position control module
and the setpoint generation got independent. The failsafe mechanism assumed
the setpoint is overwirtten by the possibly infeasible input on every loop
iteration which is not the case anymore. As a result the failsafe reset its
histeresis based on the failsafe setpoint from the last loop iteration.
Keeping the failsafe_setpoint separate solves this issue. Note that
these setpoints to the bare minimum to keep the vehicle safely in the air
and do not suffer from sideffects ignoring the EKF reset.
2021-03-05 11:29:36 -05:00
Daniel Agar
fddcb73802
sensors/vehicle_angular_velocity: dynamic notch filter support ESC RPM (untested)
2021-03-05 10:56:54 -05:00
Daniel Agar
573034aa8e
Jenkins hardware print ORB_ID(sensor_selection)
2021-03-05 10:56:54 -05:00
Daniel Agar
d5d5b7d82e
sensors/vehicle_angular_velocity: add perf counters
2021-03-05 10:56:54 -05:00
Daniel Agar
19de1e57e3
gyro_fft promote to modules and include on all boards
2021-03-05 10:56:54 -05:00
Daniel Agar
00b3b3678b
sensors/vehicle_angular_velocity: gyro dynamic notch filters updated from onboard FFT
2021-03-05 10:56:54 -05:00
David Sidrane
ed6269b9a5
STMx7 LSE backports
2021-03-05 10:10:19 -05:00
Daniel Agar
077afdf9aa
commander: extend reliant on opt flow to ALTCTL (degraded from POSCTL)
...
If you're flying in manual position control mode and lose position the state machine will put you in altitude control mode. Extending the reliant on optical flow relaxed position validity thresholds allows you to potential get back into position control mode with flow alone.
2021-03-05 10:07:36 -05:00
Daniel Agar
d0c9a5fc93
OFFBOARD mode architecture overhaul ( #16739 )
...
- handle SET_POSITION_TARGET_LOCAL_NED and SET_POSITION_TARGET_GLOBAL_INT with ORB_ID(trajectory_setpoint)
- FlightTaskOffboard not needed at all
- bypass position_setpoint_triplet entirely (start removing extraneous fields)
- simplify offboard_control_mode to map to supported control modes
2021-03-05 09:39:46 -05:00
David Jablonski
5233737a86
adjust some limits to prevent divide-by-zero
2021-03-05 10:42:19 +01:00
Gonçalo Atanásio
9f6c882d2a
boards: crazyflie v2.1 Default to EKF2 with no MAG
...
Co-authored-by: TheLegendaryJedi <goncalo.atanasio@gmail.com >
2021-03-04 19:30:17 -05:00
Matthias Grob
5bbc66f3af
ManualControl: name, message, comment, const qualifier improvements
...
addressing review from @bresch, @julianoes and @JonasVautherin
2021-03-04 10:41:21 +01:00
Matthias Grob
2f39651f77
ManualControl: use current sample for timeout check
2021-03-04 10:41:21 +01:00
Matthias Grob
a43a829fdf
Commander: gate manual control setpoint processing on new data
2021-03-04 10:41:21 +01:00
Matthias Grob
935423b563
ManualControl: start to distinguish rc arming methods
2021-03-04 10:41:21 +01:00
Matthias Grob
c16b48fd2c
Commander: Replace manual_control_setpoint use
2021-03-04 10:41:21 +01:00
Matthias Grob
49c240f49e
Commander: simplify rc arming disabling logic
2021-03-04 10:41:21 +01:00
Matthias Grob
ca3bfb5ea1
ManualControl: simplify multicopter manual thrust logic
2021-03-04 10:41:21 +01:00
Matthias Grob
a796903e21
ManualControl: fix arm button use case
2021-03-04 10:41:21 +01:00
Matthias Grob
37ea78a7ff
Commander: move rc arming to ManualControl class
...
Separating the different arming methods is the next step.
2021-03-04 10:41:21 +01:00
Matthias Grob
00a4133042
ManualControl: make members private again
2021-03-04 10:41:21 +01:00
Matthias Grob
ee2d408edc
Commander: move rc availability to ManualControl
2021-03-04 10:41:21 +01:00
Matthias Grob
0e1f1a9f57
Commander: use parameters directly in ManualControl
2021-03-04 10:41:21 +01:00
Matthias Grob
dda895c94b
Commander: split out rc override logic into ManualControl
2021-03-04 10:41:21 +01:00
Matthias Grob
a4da15edf5
Commander: RC override back to stick change
...
Instead of deflection mainly because:
- Spring loaded throttle -> bad user experience
- Stale RC data -> Vehicle not savable
2021-03-04 10:41:21 +01:00
Matthias Grob
3d87982bba
Commander: reintroduce last stick position
2021-03-04 10:41:21 +01:00
Julian Kent
cdadfabccc
Bring back RC throttle override with a parameter to disable it
2021-03-04 10:41:21 +01:00
bresch
cb8367026c
[AUTO COMMIT] update change indication
2021-03-04 19:43:01 +11:00
bresch
93dd4e5754
fix unit tests
2021-03-04 19:43:01 +11:00
bresch
5d441d65e1
Accelerate tilt fine alignment by reducing obs noise when at rest
...
Fine tilt alignment is accomplished by fusing fake position data after
a coarse tilt leveling. The observation noise can be reduced if the
vehicle is at rest to speed up the process.
2021-03-04 19:43:01 +11:00
SungTae Moon
b7ff54b034
add label option for various airframes using same model ( #17003 )
2021-03-04 09:29:38 +01:00
Ryan Johnston
bc8d9af23e
Add Lazy FPU
...
Reported that LAZYFPU interact with the MTD (FRAM) driver.
https://github.com/PX4/PX4-Autopilot/issues/16548
2021-03-03 14:43:40 -05:00
Ryan Johnston
0047e518aa
Add Lazy FPU to Defconfig
...
Reported that LAZYFPU interacts with the MTD (FRAM) driver.
2021-03-03 14:43:17 -05:00
Matthias Grob
28b89b024f
MulticopterPositionControl: fix Takeoff ramp use
...
- guard against NAN speed_up limit as input to ramp see #14339
- allow negative speed_up limit for ramp to work
2021-03-03 18:53:56 +01:00
Daniel Agar
0eb327743e
move min/max distance to ground limits to FlightTask ManualAltitude
2021-03-03 18:53:56 +01:00
Daniel Agar
ecd5e57ab5
remove debug
2021-03-03 18:53:56 +01:00
Daniel Agar
0ada59e57b
ekf reset remove NAN checks
2021-03-03 18:53:56 +01:00
Daniel Agar
7a7d316a32
Update src/modules/mc_pos_control/PositionControl/CMakeLists.txt
...
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2021-03-03 18:53:56 +01:00
Daniel Agar
87f835710b
Update src/modules/flight_mode_manager/FlightModeManager.hpp
...
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2021-03-03 18:53:56 +01:00
Daniel Agar
c891db19f9
Update src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.cpp
...
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2021-03-03 18:53:56 +01:00
Daniel Agar
266ea377da
move takeoff state machine flight_mode_manager -> mc_pos_control
2021-03-03 18:53:56 +01:00
David Sidrane
823c6078d9
Add rtps build to workflows
2021-03-03 04:55:53 -08:00
David Sidrane
72a3c05ffc
nxp_fmuk66-e:Add rtps build
2021-03-02 15:49:03 -05:00
David Sidrane
6542c6e58b
nxp_fmuk66-e:Add rtps build
2021-03-02 15:49:03 -05:00
Daniel Agar
c9a2d0ed34
IMU_GYRO_RATEMAX set system default to 400 Hz
...
- MC default is still 800 Hz
2021-03-02 10:08:49 -05:00
Nico van Duijn
16af63e99c
v6x: fix icm20649 rotation
2021-03-02 05:27:31 -08:00
Kalyan Sriram
b257f9d1fd
actuator: add support for MAV_CMD_DO_SET_ACTUATOR
...
Adds support for using the MAVLink command MAV_CMD_DO_SET_ACTUATOR to
update the actuator values on control group 3 aux{1, 2, 3}. A simple
deconfliction with rc_update is implemented: when a MAVLink command is
sent, RC is disabled for that channel until a major stick movement is
detected.
2021-03-02 12:41:02 +01:00
Beat Küng
ada05165f1
mc_pos_control_params: fix param descriptions for negative values
2021-03-02 08:29:58 +01:00
Daniel Agar
4d9e88141e
px4_work_queue: increase wq:nav_and_controllers stack
2021-03-02 00:03:17 +01:00
Daniel Agar
0ba1bc0ce1
MPC_POS_MODE remove old metadata and explicitly handle invalid configuration
2021-03-01 09:10:11 +01:00
Alex Mikhalev
d01806a0c6
lib/battery: Fix cell voltages with >10S
...
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com >
2021-02-28 22:10:23 -05:00
Daniel Agar
9d0c966b15
sensors: publish sensor_selection initially regardless of SENS_IMU_MODE
...
- in multi-EKF mode the EKF selector becomes repsonsible for sensor
selector rather than the sensors module
- this updates the sensors module to still make the initial primary IMU
selection on startup before the EKF selector (including if the
estimators never fully initialize)
2021-02-27 20:19:05 +01:00
Daniel Agar
9d47f7ecda
simulator: make first accel/gyro simulated FIFO
2021-02-26 18:40:37 -05:00
Daniel Agar
0e796fc17b
boards: emlid navio2 enable ADIS16448
2021-02-26 17:56:14 -05:00
Daniel Agar
6b1e7ffdb8
rc_input: fix possible string truncation (-Werror=stringop-truncation)
2021-02-26 17:56:14 -05:00
Daniel Agar
e0ade94d25
platforms: add px4_udelay and px4_mdelay
...
- NuttX: up_udelay and up_mdelay
- Linux: usleep and msleep
2021-02-26 17:56:14 -05:00
Daniel Agar
f1f396e338
uORB: PublicationMulti get_instance() advertise if not already advertised
...
- fixes UAVCANv0 sensor bridge uORB usage, but also a reason thing to do in general
2021-02-26 17:55:30 -05:00
Daniel Agar
33d12db580
cmake: sitl_target sort lists and trim a few options
2021-02-26 16:14:19 -05:00
David Sidrane
da61938792
Jenkinsfile-compile:Fix breakage
2021-02-26 15:15:45 -05:00
Benjamin Perseghetti
52bb99688f
Optimize number of logical cores used during sitl builds.
2021-02-26 14:14:52 -05:00
bresch
be9b3404a2
lpf test: test several sampling frequencies
2021-02-26 14:06:45 -05:00
bresch
3277648959
lpf test: move to common function
2021-02-26 14:06:45 -05:00
bresch
844602c961
Add unit tests for Butterworth 2nd order low-pass filter
2021-02-26 14:06:45 -05:00
David Sidrane
2345d3ac4a
NuttX:FlaxCan Backports
2021-02-26 09:48:14 -08:00
Matthias Grob
c2151cb4fa
Commander: remove unused arm mode command residue
2021-02-26 07:38:02 -05:00
Daniel Agar
94bcda7c57
navigator: poll mission to run feasibility checks immediately
2021-02-26 10:28:49 +01:00
Daniel Agar
7393d5d761
delete aerotenna ocpoc
2021-02-26 08:38:45 +01:00
Igor Mišić
5f9a98e316
drivers/gps: update RTC only if time drift for 5s
...
Add interrupt pause comment to help future code archeologists
2021-02-26 08:36:41 +01:00
Daniel Agar
143ebbad98
Update submodule mavlink v2.0 to latest Fri Feb 26 00:40:09 UTC 2021
2021-02-25 21:25:47 -05:00
Daniel Agar
fd1fff89d4
dataman: remove flash backend
2021-02-26 00:28:48 +01:00
Daniel Agar
321df7ed84
delete remaining intel aero references
2021-02-25 17:46:18 -05:00
Daniel Agar
3bed87e4bd
platforms/posix: try increasing sitl_gazebo build parallelism
...
- this was limited to single threaded due to CI issues and even
developer machines with limited resources
2021-02-25 16:57:24 -05:00
Daniel Agar
ac5167b459
init.d-posix: delete rc.mavlink_override
2021-02-25 13:44:19 -08:00
Daniel Agar
a63e25f581
mavlink: GPS_GLOBAL_ORIGIN on by default, but only send on change or when requested
2021-02-25 12:43:30 -05:00
garfieldG
8db37225d6
Added rc.mavlink_override to test the new parameters with sitl
2021-02-25 08:52:38 -08:00
garfieldG
3cd9b3c2cf
Added support in Mavlink Ethernet channel parameters
...
Mavlink Ethernet channel settings such as udp port, remote port and broadcast mode now can be changed dynamically via parameters.
2021-02-25 08:52:38 -08:00
Daniel Agar
b66a9629e0
ekf2: update to latest ecl with new global origin helpers
2021-02-25 10:43:07 -05:00
斯东Stone
e5b689e33c
Add TCBP001TA Barometer Driver ( #14774 )
2021-02-25 07:11:58 -08:00
Daniel Agar
6482120d9a
sensors/vehicle_angular_velocity: use full raw FIFO data (sensor_gyro_fifo) if available
2021-02-25 10:06:17 -05:00
Daniel Agar
8f625e5744
Revert "cmake: Limit color output to terminals"
...
This reverts commit c1da999748 .
2021-02-25 09:34:02 -05:00
Beat Küng
0e8c73f4af
drivers: remove snapdragon_pwm_out
...
- it would need to be refactored to use mixer_module
- rather than having a separate driver it should use linux_pwm_out
2021-02-25 09:28:37 -05:00
Beat Küng
3fa825bf88
boards: remove intel/aerofc-v1
...
it's discontinued
2021-02-25 09:28:37 -05:00
Beat Küng
7e33d03470
drivers: remove tap_esc
...
- it's not used anymore
- it would need a refactoring to use mixer_module
2021-02-25 09:28:37 -05:00
Beat Küng
8986264feb
airframes: remove aerofc as it's discontinued
2021-02-25 09:28:37 -05:00
Beat Küng
f0cc8a344b
linux_pwm_out: refactor to run on a work queue and use mixer_module
2021-02-25 09:28:37 -05:00
Beat Küng
439fb00aed
linux_pwm_out: move protocols to board-specific directories
...
This also removes the pca9685 output, which was unused, and there's also
pca9685_pwm_out.
2021-02-25 09:28:37 -05:00
斯东Stone
b0a5d431d3
optical_flow/thoneflow: update the data timespan
2021-02-24 21:28:29 -05:00
Daniel Agar
45ba9d1dd5
add all mRo ctrl zero variants to CI
2021-02-24 13:23:21 -05:00
Jacob Crabill
4cca86b5d6
uavcan_v1: Apply feedback from Pavel Kirienko
...
Co-authored-by: Pavel Kirienko <pavel.kirienko@gmail.com >
2021-02-24 19:22:11 +01:00
JacobCrabill
a7a7e33614
uavcan_v1: Rename Subscription --> Subscriber
2021-02-24 19:22:11 +01:00
JacobCrabill
b5ac6f1eb8
uavcan_v1: Refactor Pub/Sub class constrctors
...
Each class now sets the 'subject name', and the base class looks for a
parameter following the format uavcan.pub/sub.SUBJECT_NAME.INSTANCE.id
2021-02-24 19:22:11 +01:00
JacobCrabill
c8e66a2f5c
uavcan_v1: Rename Publication --> Publisher
2021-02-24 19:22:11 +01:00
JacobCrabill
d1eda5ee84
uavcan_v1: Add missing uavcanv1.cmake for fmu-v4
2021-02-24 19:22:11 +01:00
JacobCrabill
e654fe71f5
uavcan_v1: Fix 'unset' port ID (use 65535)
2021-02-24 19:22:11 +01:00
JacobCrabill
935bf75b61
uavcan_v1: Fix bugs in MixingOutput / EscClient
...
Also add commented-out code for use with PR-16808
(MixingOutput + output_control)
Bench-tested PWM output on a Pixracer via UAVCANv1 ESC commands from a
Pixhawk 4.
2021-02-24 19:22:11 +01:00
JacobCrabill
04ea1cf5c6
uavcan_v1: Add to EscClient implementation
...
Add outline of EscServer implementation
Add some comments and cleanup
2021-02-24 19:22:11 +01:00
JacobCrabill
4b73566b76
uavcan_v1: Add Publisher base; Gnss Publisher
2021-02-24 19:22:11 +01:00
JacobCrabill
216a66b535
uavcan_v1: Remove unused vars
2021-02-24 19:22:11 +01:00
JacobCrabill
35f822fca6
uavcan_v1: Working ESC setpoint pub/sub
2021-02-24 19:22:11 +01:00
JacobCrabill
170345040a
uavcan_v1: Add rough ESC Client; Reorg Subscribers
2021-02-24 19:22:11 +01:00
JacobCrabill
00814815f4
uavcan_v1: Reorganize uavcan params and Subscriber
2021-02-24 19:22:11 +01:00
JacobCrabill
088014c2e1
uavcan_v1: Basic subscriber working
2021-02-24 19:22:11 +01:00
JacobCrabill
b88e8b6684
uavcan_v1: Increase stack size
...
Also increases stack frame size limit, which was what the compiler was
throwing an error on.
2021-02-24 19:22:11 +01:00
JacobCrabill
70ff6703b7
uavcan_v1: More work on subscribers and reg access
...
Now running into issues with running out of stack frame memory
For now I'm going to leave the relevant code in so it's at least
readable, but in its current state it will not compile
2021-02-24 19:22:11 +01:00
JacobCrabill
7d2a6afb79
uavcan_v1: More work on Subscriber class
2021-02-24 19:22:11 +01:00
JacobCrabill
c5184f3b46
uavcan_v1: Update UAVCANv1 DSDL submodule
2021-02-24 19:22:11 +01:00
JacobCrabill
e267dc0206
uavcan_v1: Start adding framework for Subscribers
2021-02-24 19:22:11 +01:00
JacobCrabill
e5cf92f20d
uavcan_v1: Refactor RX handling into functions
...
Cleans up the main transfer-handling loop
2021-02-24 19:22:11 +01:00
David Sidrane
9fd7eb5944
canbootloader:Per UAVCAN call display Percentage not KB
2021-02-24 19:20:15 +01:00
David Sidrane
a1be559978
canbootloader:Remove Rate limiting on FW update
2021-02-24 19:20:15 +01:00
David Sidrane
fd0494555c
canbootloader:stm32_boarddeinitialize->board_deinitialize
2021-02-24 19:20:15 +01:00
David Sidrane
944536fa50
canbootloader:Remove duplicated file from bring it back to repo
2021-02-24 19:20:15 +01:00
David Sidrane
500fe5c98c
uavcannode_gps_demo:Add UAVCAN bootloader AppDescriptor
2021-02-24 19:20:15 +01:00
David Sidrane
dd3c3098f2
nxp_ucans32k146:Add Can Bootloader build
...
nxp_ucans32k146:Relocation for Bootloader
nxp_ucans32k146:can_boot enable CAN
nxp_ucans32k146:Save Space use Non Optimize memcpy
nxp_ucans32k146:Increase to 24K
nxp/ucans32k146:Canbootloader LED Driver
nxp_ucans32k146:Can bootloader shut down CAN
nxp_ucans32k146:Use NVMEEPROM for Paramaters
nxp_ucans32k146:Use bootloader AppDescriptor
px4 mtd:Support onchip emulated eeprom
2021-02-24 19:20:15 +01:00
David Sidrane
62c0c96749
canbootloader:Use Micro hal and arch selection
...
nxp/s32k14x:board_identity: Return length of mfguid
nxp/s32k14x:CAN driver
nxp/s32k14x:Drver Added ABORT on error
canbootloader:Use N words for first word
canbootloader:Ensure the up_progmem API always defined
2021-02-24 19:20:15 +01:00
David Sidrane
ea255234da
nuttx:[BACKPORT] s32k1xx:Support ramfunc
2021-02-24 19:20:15 +01:00
Beat Küng
46b9acac6d
mag_calibration: fix typo
2021-02-24 17:27:31 +01:00
Beat Küng
558fe18dfe
sitl: add 'commander takeoff' to history
2021-02-24 17:27:31 +01:00
Beat Küng
836c7c6575
StickAccelerationXY: brake a bit faster
...
The drag is based on max_acc/max_vel, which means that increasing the
maximum velocity leads to slower braking (at the same starting speed).
Especially a combination of small max_acc (slow responsiveness) with high
max_vel led to an exceedingly high braking distance.
This improves that while still being smooth.
2021-02-24 17:27:31 +01:00
Beat Küng
1be4163506
mc_pos_control_params: increase velocity limits a bit
...
I hit those on my vehicle
2021-02-24 17:27:31 +01:00
Beat Küng
ad9688e63c
mc: remove unused param definitions MPC_JERK_MIN and MPC_DEC_HOR_SLOW
2021-02-24 17:27:31 +01:00
Matthias Grob
a637f282ce
FunctionsTest: cover lerp
2021-02-24 17:27:31 +01:00
Beat Küng
14bf9cf753
mc: add SYS_VEHICLE_RESP param to configure vehicle responsiveness
2021-02-24 17:27:31 +01:00
Beat Küng
2a0a82fd90
param: add commit_no_notification(T val) API
2021-02-24 17:27:31 +01:00
David Sidrane
3ef93823f4
srgbled:Fix warning
2021-02-24 08:05:39 -08:00
Daniel Agar
5f3e883f2c
sensors/vehicle_imu: vehicle_imu_status include accel/gyro full raw FIFO sample rate
2021-02-24 08:13:53 -05:00
Ryan Johnston
cec31fd685
Remove mkblctrl from default.cmake
...
Mkblctrl needs to be removed for the build to now succeed.
2021-02-24 08:54:22 +01:00
Ryan Johnston
45dde177ee
Remove mkblctrl from default.cmake
...
Mkblctrl needs to be removed for the build to succeed.
2021-02-24 08:53:35 +01:00
David Sidrane
dd736f8540
holybro_can-gps-v1:Ensure yeild is used for FLASH programing
2021-02-23 17:45:25 -05:00
David Sidrane
84b3f51c6b
ark_can-flow:Ensure yeild is used for FLASH programing
2021-02-23 17:45:25 -05:00
David Sidrane
d8b9def3f8
cuav_an-gps-v1:Ensure yeild is used for FLASH programing
2021-02-23 17:45:25 -05:00
Daniel Agar
6c3262c54b
cmake cleanup src/drivers/imu
2021-02-23 15:58:36 -05:00
Daniel Agar
11ad41f7cb
delete old imu/mpu6000 driver
2021-02-23 15:58:36 -05:00
Daniel Agar
4364e23633
delete unused imu/bmi160
2021-02-23 15:58:36 -05:00
Daniel Agar
f9705c96f7
delete unused imu/bma180
2021-02-23 15:58:36 -05:00
Daniel Agar
e38560b928
sensor_calibration: increase threshold for updating calibration offsets or scale
...
- this is to minimize needlessly writing negligible parameter changes and triggering unnecessary estimator bias resets
2021-02-23 13:32:00 -05:00
Nicolas MARTIN
d65d06f82d
SIH/gps: express gps position noise in meters and reduce noise value
...
Previous horizontal position noise was a white Gaussian noise with std=0.8m
It results in a noise with high frequencies too high making some ekf
position tests fail (test ratio to allow arming).
The new noise values are below real GPS errors but as theses errors are
generally low frequency, so they cannot be modeled with a white noise.
2021-02-23 13:27:28 -05:00
Daniel Agar
6cf06319d2
boards: nxp_fmurt1062-v1 remove irlock and lights/blinkm to save flash
2021-02-23 13:23:36 -05:00
Nicolas MARTIN
80a73ab5b5
SIH: add distance sensor fault simulation
2021-02-23 12:57:40 -05:00
Nicolas MARTIN
ab41319009
SIH: add distance sensor
2021-02-23 12:57:40 -05:00
Daniel Agar
69bd3ecf95
sensor_calibration: respect board rotation even if uncalibrated
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/16873
2021-02-23 15:24:14 +01:00
Daniel Agar
e2563388eb
Jenkins compile removed deleted variant
2021-02-22 20:33:03 -05:00
Daniel Agar
cd7713eba2
boards: delete unused variants
2021-02-22 20:08:36 -05:00
Daniel Agar
4a65ad9148
github actions decrease max ccache size
...
- lower compression level to 5 as recommended by ccache manual
2021-02-22 18:59:35 -05:00
brad112358
d53fcb0bab
mavlink: use RADIO_STATUS to regulate parameter sending
2021-02-22 18:57:29 -05:00
Daniel Agar
bcae99e34a
boards: CUAV Nora don't start icm20649 on SPI6 by default
...
- waiting on NuttX SPI6 BDMA to be fixed
2021-02-22 12:11:16 -05:00
Daniel Agar
7cc4aa6fe2
vtol_att_control: fix code style
2021-02-22 12:09:39 -05:00
Nicolas MARTIN
50ec809fdf
SIH: add mag offset from parameters
...
An absolute value superior to 10000 block mag publication
2021-02-22 11:56:16 -05:00
Nicolas MARTIN
8f54dc402d
SIH: add baro offset (or pressure change) from parameters
...
An absolute value superior to 10000 block barometer publication
2021-02-22 11:56:16 -05:00
Nicolas MARTIN
1df63cb6b1
SIH: add gps fix loss simulation from parameters
...
A new parameter allows to change the SIH number of gps satellites used
If it is below 4, fix is lost
2021-02-22 11:56:16 -05:00
Daniel Agar
098d5ce5c0
EKF allow range aid without horizontal aiding
...
- skip range aid velocity check when horizontal aiding isn't active
2021-02-22 11:55:56 -05:00
Sander Smeets
a8a9832b59
Allow new modes for forward thrust
2021-02-22 11:18:49 -05:00
Lorenz Meier
1b8a3079e6
Update commander_params.c
...
Better documentation boolean settings, removed duplicate boolean.
2021-02-22 11:17:16 -05:00
Lorenz Meier
90f5d7338c
Commander: Relax pre-arm check for EKF
...
The previous testing ratios could lead to extremely tight pre-arm acceptance.
2021-02-22 11:17:16 -05:00
Lorenz Meier
f12d368a64
Commander: Document arming check params
2021-02-22 11:17:16 -05:00
Lorenz Meier
87f98f096f
Commander: Respect position circuit breaker
...
This ensures that commander respects the position check circuit breaker and allows arming without position.
2021-02-22 11:17:16 -05:00
Daniel Agar
382e0cbaec
px4_work_queue: increase wq:nav_and_controllers stack 1760->1824
2021-02-22 11:15:01 -05:00
David Jablonski
ed7a5314d8
rtl: head towards home location after descend
2021-02-22 16:37:08 +01:00
David Jablonski
aeccb621c5
rtl: added loiter radius for descending
2021-02-22 16:37:08 +01:00
Nicolas MARTIN
29943a2c09
EKF test ratio status return current height source test ratio
2021-02-22 09:22:45 -05:00
Daniel Agar
30e8a14be3
logger: update SDLOG_PROFILE comment to reflect current default
...
- closes https://github.com/PX4/PX4-Autopilot/issues/16904
2021-02-22 08:45:10 +01:00
Ryan Johnston
410ca51a4a
boards: MRO Control Zero F7 OEM minor update
...
- Updating Serial port mapping to be the same across all Control Zero boards
- CAN2 Silent Pin Update
2021-02-21 21:08:38 -05:00
Ryan Johnston
a1fa6a72ea
boards: MRO Control Zero H7 Board Support
2021-02-21 21:07:36 -05:00
Ryan Johnston
5376178987
boards: MRO Control Zero H7 OEM Board Support
2021-02-21 21:06:27 -05:00
Lorenz Meier
aacbc04730
PX4IO: Robustify upgrade process
...
These changes remove the two code paths to updates (forceupdate and update) and try to reboot and bootload IO independent of its state, wether it is in bootloader mode already, safety switch is off or if it is in "nominal state" (running and safety on). This ensures that there are no conditions where user error or boot sequence can prevent a successful upgrade. The only state where an upgrade will not be done is if the system is fully armed.
2021-02-21 19:56:16 -05:00
Daniel Agar
82200fab9e
mavsdk_tests: relax MC "Fly straight" speed threshold
2021-02-21 22:51:51 +01:00
Daniel Agar
bbc721917c
mavlink: mission ignore takeoff pitch error
...
- this mission rejection was only added recently in https://github.com/PX4/PX4-Autopilot/pull/16792
- causing QGC compatibility issues https://github.com/mavlink/qgroundcontrol/pull/9464
2021-02-21 16:40:38 -05:00
Daniel Agar
bfc019364a
Update submodule mavlink v2.0 to latest Sun Feb 21 12:42:06 UTC 2021
...
- mavlink v2.0 in PX4/Firmware (414f9f81d9 ): https://github.com/mavlink/c_library_v2/commit/4e25dfa47b28adc177ea7badad837d8b84173712
- mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/bf7df5c01d856f174c3b98e5b6527e777b173935
- Changes: https://github.com/mavlink/c_library_v2/compare/4e25dfa47b28adc177ea7badad837d8b84173712...bf7df5c01d856f174c3b98e5b6527e777b173935
Co-authored-by: PX4 BuildBot <bot@px4.io >
2021-02-21 15:28:22 -05:00
Daniel Agar
1956cd8ff1
cmake: add px4io binary as ExternalProject build byproduct
...
- needed for incremental px4io changes to actually make it all the way through to the ROMFS
2021-02-21 14:04:26 -05:00
Daniel Agar
414f9f81d9
move fake GPS to standalone module
2021-02-20 14:13:36 -05:00
Silvan Fuhrer
0ea8104344
select single system-wide wind estimate message (current best)
...
- publish wind estimate only from EKF, and wind speeds from airspeed selector to new separate topic (airspeed_wind)
- rename message wind_estimate to wind
- publish wind from currently used ekf instance (ekf2selector)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-02-20 13:15:01 -05:00
jciberlin
9d65e9a980
ghst: keep the previous values for channels that are not updated
...
Keep the previous values for channels that are not updated (ghost protocol). Add new test data for ghost protocol.
2021-02-20 11:29:57 +01:00
jciberlin
96c72a5657
RCTest: add tests for ghost protocol
...
Add tests for ghost protocol
2021-02-20 11:29:57 +01:00
jciberlin
ca192a98c5
ghst: add test data
...
Add test data for ghost protocol
2021-02-20 11:29:57 +01:00
Juraj Ciberlin
c0f7429f8c
ghst: use memcpy instead of for loop
...
PR review, ghost protocol, use memcpy instead of for loop
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2021-02-20 11:29:57 +01:00
jciberlin
64342f568d
Ghost protocol
...
ghst: add ghost protocol
2021-02-20 11:29:57 +01:00
Daniel Agar
711a69854b
uthash: move remaining utarray usage to parameters and delete unused
...
- this is to discourage further use until utarray can be dropped entirely
2021-02-20 11:28:22 +01:00
Daniel Agar
9ed959402e
mavlink: store instances in array
...
- simplify mavlink header writes that go back through the mavlink module
- add locking around mavlink command line usage (start, stop, status, etc)
2021-02-20 11:28:22 +01:00
Lorenz Meier
4984c19700
PX4 IO: Retry upgrades of IO
...
This adds robustness to system timing and bad link.
2021-02-20 11:07:53 +01:00
alexklimaj
ed20bc92c3
Fix uavcannode build
2021-02-20 10:49:08 +01:00
Beat Küng
9d11d94e7e
px4iofirmware: guard against parsing multiple RC protocols
...
It was for example possible that DSM got parsed, and in the next iteration
SBUS got parsed, leading to multiple PX4IO_P_STATUS_FLAGS_RC_ flags set.
input_rc::input_source was then incorrectly set to DSM.
Partially guarding was already done: if SBUS got parsed, DSM and others
were skipped.
The IO will still clear all PX4IO_P_STATUS_FLAGS_RC_* flags on RC loss.
2021-02-19 09:28:46 -05:00
Daniel Agar
5c27c47746
Jenkins hardware limit px4_fmu-v5 to generic quadcopter at default rates
...
- the same boards are used for stackcheck and debug builds which are cpu constrained
2021-02-19 09:27:38 -05:00
mcsauder
164e53bad3
Add unit tests and update ekf_helper setEkfGlobalOrigin() method to allow for condition when current position is unitialized.
2021-02-19 08:59:47 -05:00
Daniel Agar
63f64b57c1
EKF: set global origin method
...
EKF: add convergence after global origin reset test
2021-02-19 08:59:47 -05:00
PX4 BuildBot
c863d6a346
Update submodule ecl to latest Fri Feb 19 12:39:03 UTC 2021
...
- ecl in PX4/Firmware (5be2f2c8f835fde0ce648561636cf565d95f5741): https://github.com/PX4/PX4-ECL/commit/310f41517590165a82f807562b3cbb9a76e4c7d8
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/81937370ac5234a4c318d838acee4d9bb4bfa697
- Changes: https://github.com/PX4/PX4-ECL/compare/310f41517590165a82f807562b3cbb9a76e4c7d8...81937370ac5234a4c318d838acee4d9bb4bfa697
8193737 2021-02-18 bresch - [AUTO COMMIT] update change indication
04844a0 2021-02-16 bresch - ekf control: move time_last_in_air/on_ground out of GPS control logic
b00d4a9 2021-02-16 bresch - mag fusion: improve on ground forced mag fusion logic
2021-02-19 08:34:17 -05:00
Daniel Agar
5dc5ebc0a1
boards: cleanup uavcan test targets (v1 and v0 embedded peripherals)
2021-02-18 11:54:41 -05:00
Daniel Agar
5e188b3cd7
ekf2: populate local_position dist_bottom_sensor_bitfield
2021-02-18 10:37:02 -05:00
Alex Mikhalev
06e2bca3a6
batt_smbus: Use orb_publish_auto
2021-02-18 07:52:26 -05:00
Alex Mikhalev
6bd4dff51f
drivers/smbus: Increase max block size to 34
...
batt_smbus for BQ40Z80 transfers up to 34 bytes (32 byte block + 2 byte
address), but this was overflowing and failing the PEC check.
So increase the buffer size
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com >
2021-02-18 07:52:26 -05:00
Alex Mikhalev
93b1a148b7
batt_smbus: Pass device address to base class
...
Fixes a warning printed at runtime
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com >
2021-02-18 07:52:26 -05:00
bresch
81937370ac
[AUTO COMMIT] update change indication
2021-02-18 10:11:51 +01:00
bresch
04844a04ed
ekf control: move time_last_in_air/on_ground out of GPS control logic
2021-02-18 10:11:51 +01:00
bresch
b00d4a9237
mag fusion: improve on ground forced mag fusion logic
...
While a yaw test ration > 1 rejects the mag data in air, the fusion is
forced with a limited innovation on ground to fix gyro bias and local
magnetic effects problems pre-takeoff. However, the same logic is
applied after landing and immediately after the land detector detects
landing. In some cases, this can disturb the other EKF states which can
lead to a state change of the land detector.
To avoid such a loop, the start of this forced yaw fusion is delayed by
5 seconds after landing.
2021-02-18 10:11:51 +01:00
Daniel Agar
4678201da4
update libuavcan to latest
2021-02-17 22:47:35 -05:00
Daniel Agar
46eb790188
boards: new uavcan board variants remove delete mkblctrl driver
2021-02-17 22:47:35 -05:00
David Sidrane
e0e796a2b9
ROMFS:Bake in UAVCAN FW with builds that end in _uavcan
...
The configuration are mostly for testing now.
2021-02-17 22:47:35 -05:00
David Sidrane
8c2678bca1
uavcan_servers:Reworked file naming and use ROM fs as fall back
...
Supporting direct down loads from ROMFS with preferece give to the
files fould on the SD card first. This will allow a user to provide
an updated uavcan firware on the SD card, and there is no overhead
of coping files from the ROM FS to the SD card.
2021-02-17 22:47:35 -05:00
David Sidrane
57195843bf
cuav_can-gps-v1:Use for ALT Bootloader an Option
2021-02-17 22:47:35 -05:00
David Sidrane
5ea56af5f0
canbootloder:Make support for ALT Bootloader an Option
2021-02-17 22:47:35 -05:00
David Sidrane
174f2624df
holybro_can-gps-v1:board_id uses as Uavcan HW version
2021-02-17 22:47:35 -05:00
David Sidrane
d1cadb6441
ark_can-flow:Assign board_id
2021-02-17 22:47:35 -05:00
David Sidrane
070db73e91
holybro_can-gps-v1:Use common uavcan board identity
2021-02-17 22:47:35 -05:00
David Sidrane
51a5c63bac
ark_can-flow:Use common uavcan board identity
2021-02-17 22:47:35 -05:00
David Sidrane
3f6388f9a1
uav_can-gps-v1:Use common uavcan board identity
2021-02-17 22:47:35 -05:00
David Sidrane
51b54c025b
canbootloader:Send number of KB written while updating FW
2021-02-17 22:47:35 -05:00
David Sidrane
d426dd771f
canbootloader:Ensure common crc is set valid after autobaud
2021-02-17 22:47:35 -05:00
David Sidrane
58e5c8fbca
canbootloader:Prefer bootloader_app_shared over bootloader_alt_app_shared
2021-02-17 22:47:35 -05:00
David Sidrane
05c0deae14
UavcanNode:Only write alt id not booted by PX4
2021-02-17 22:47:35 -05:00
David Sidrane
71c4f5a05b
UavcanNode:Support Dynamic Node ID allocation
2021-02-17 22:47:35 -05:00
David Sidrane
e4b519aca0
UavcanNode:Add support for the Alternate bootloader app shared
2021-02-17 22:47:35 -05:00
David Sidrane
b27beac50c
UavcanNode:Add feed back to bootloader that the App ran 30S
2021-02-17 22:47:35 -05:00
David Sidrane
8943644566
board_common:Add board_configure_reset and board_booted_by_px4 API
2021-02-17 22:47:35 -05:00
David Sidrane
7a6ed0281b
uavcan bootloader:Add support alt boot_alt_app_shared
2021-02-17 22:47:35 -05:00
David Sidrane
28030e96e2
cuav_can-gps-v1:UavcanNode app ensure IWDG off in debuger
2021-02-17 22:47:35 -05:00
David Sidrane
6ea06892ac
Fix case were descriptor has no or bad length
2021-02-17 22:47:35 -05:00
David Sidrane
5c80b2d3dd
cuav_can-gps-v1:canbootloader - enable SWD and Pause IWDT whils stepping
2021-02-17 22:47:35 -05:00
David Sidrane
da67537291
Uavcan Node Pets the watchdog
2021-02-17 22:47:35 -05:00
David Sidrane
ef29ed7db3
Uavcan bootloader Starts Watchdog for Application
2021-02-17 22:47:35 -05:00
David Sidrane
77d0eae40b
Add SMT32F4xxx Watchdog driver
2021-02-17 22:47:35 -05:00
David Sidrane
8747b343d9
Non-compliant nodes support
...
WorkQueueManager:Increase UAVCAN stack size
2021-02-17 22:47:35 -05:00
David Sidrane
c7182d5453
cuav_can-gps-v1:CMakeList remove .h files
2021-02-17 22:47:35 -05:00
David Sidrane
878baabce8
cuav GPS use appdes
2021-02-17 22:47:35 -05:00
David Sidrane
760e47bbf9
uavcan bootloader use new AppDes
2021-02-17 22:47:35 -05:00
Daniel Agar
bfdc6cd675
Update submodule sitl_gazebo to latest Wed Feb 17 12:42:47 UTC 2021 ( #16862 )
...
- sitl_gazebo in PX4/Firmware (51dd141c86 ): https://github.com/PX4/PX4-SITL_gazebo/commit/4f26815d4127e3af84e01bbc1f8683c4fe30521f
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/bebb9a95f0b61bf9e4c3de345fab70985c1329b3
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/4f26815d4127e3af84e01bbc1f8683c4fe30521f...bebb9a95f0b61bf9e4c3de345fab70985c1329b3
bebb9a9 2021-02-11 Dongoo Lee - Add depth camera model for ROS2 environment (#707 )
54e1a19 2021-02-10 TSC21 - gazebo_mavlink_interface: generate subscribers for nested models with sensors
97c167d 2021-02-10 Julian Oes - Implement gimbal controller as MAVLink gimbal v2 device (#703 )
Co-authored-by: PX4 BuildBot <bot@px4.io >
2021-02-17 21:17:13 -05:00
Daniel Agar
cff7a01d5e
ekf2: estimator_status log reset counts
2021-02-17 21:16:34 -05:00
Daniel Agar
6d42fe28bf
Update submodule GPS drivers to latest Wed Feb 17 12:42:56 UTC 2021
2021-02-17 21:14:56 -05:00
Daniel Agar
2a47583be5
boards: nxp/fmurt1062-v1 disable vmount
2021-02-17 13:54:34 -05:00
Julian Oes
1493ebf350
mavlink: reset MAVLink version to auto-detect
2021-02-17 13:54:34 -05:00
Julian Oes
b812763a5a
mavlink: no gimbal messages on constrained flash
2021-02-17 13:54:34 -05:00
Julian Oes
20bc924668
boards: disable vmount for fmu-v2
2021-02-17 13:54:34 -05:00
Julian Oes
a2d419c91a
vmount: use copyTo to copy quaternions
2021-02-17 13:54:34 -05:00
Julian Oes
f39216b9c3
vmount: use math functions instead of macros
2021-02-17 13:54:34 -05:00
Julian Oes
6672be040a
mavlink: limit mavlink channels based on memory
2021-02-17 13:54:34 -05:00
Julian Oes
10add72b00
sitl_gazebo: update submodule
...
This includes the new gimbal controller which implements the MAVLink
gimbal v2 device protocol.
2021-02-17 13:54:34 -05:00
Julian Oes
7633b119f7
gimbal: merge fixes
2021-02-17 13:54:34 -05:00
Julian Oes
fecd96dc28
ROMFS: add remote port for gimbal mavlink instance
...
Previously, we did not set a remote port which meant that the default
remote port 14550 was used. This meant that the mavlink instance
talking to the gimbal was interfering with the connection to the ground
station (on 14550).
2021-02-17 13:54:34 -05:00
Julian Oes
3a2e4db309
vmount: mute gimbal manager ignoring messages
2021-02-17 13:54:34 -05:00
Julian Oes
db09a1386f
vmount: fix regression around stabilize flags
...
We use the stabilize param to set the input. Like this the input flags
can be changed using the configure message later, and then eventually
used in the output.
2021-02-17 13:54:34 -05:00
Julian Oes
086c45d406
vmount: fix POI for gimbal v2
...
This includes several changes to fix POI when used with MAVLink gimbal
v2 input:
- Correctly set capability flag that POI is supported.
- Keep lat/lon and calculate attitude on each cycle, instead of only
once on init.
- Always publish gimbal manager information, with or withoug gimbal v2
device.
2021-02-17 13:54:34 -05:00
Julian Oes
b0d7d19bab
vmount/mavlink: update gimbal information message
...
We should be using gimbal_manager_information and not
gimbal_device_information. Plus, this updates the fields and flags
according to the MAVLink changes.
2021-02-17 13:54:34 -05:00
Julian Oes
cb3ad39406
vmount: add comment about possible NAN values
2021-02-17 13:54:34 -05:00
Julian Oes
cd0509d2ef
vmount: fix AUX gimbal output for v2 mavlink input
...
This should fix the case where AUX gimbals don't work anymore when
gimbal input is mavlink gimbal v2.
The fix is mostly to take care against NAN inputs.
2021-02-17 13:54:34 -05:00
Julian Oes
17dce18b32
mavlink: reduce GIMBAL_MANAGER_STATUS message rate
...
This was way too fast.
2021-02-17 13:54:34 -05:00
Julian Oes
6561b07caf
vmount: support legacy gimbal v1 mission commands
...
This is a hotfix to restore gimbal functionality for SITL set-ups that
are set to MNT_MODE_IN 4 (gimbal protocol v2) but still need to accept
gimbal v1 commands that might be part of a mission, e.g. uploaded by
MAVSDK.
2021-02-17 13:54:34 -05:00
Julian Kent
a3e0e2e84f
Fix RTPS builds
2021-02-17 13:54:34 -05:00
Julian Oes
6f56797f3d
mavlink: hack to forward messages from gimbal
...
This is a hack to make sure the messages from the gimbal arrive at other
links (e.g. the ground station). It means that the gimbal does not get
flooded with all other messages that would get forwarded but messages
from the gimbal will still make it through.
2021-02-17 13:54:34 -05:00
Julian Oes
b8ad7092dc
mavlink: use Mavlink 2 by default
2021-02-17 13:54:34 -05:00
Julian Oes
8da3a490af
ROMFS: use gimbal v2 protocol with typhoon_h480
2021-02-17 13:54:34 -05:00
Julian Oes
642adbead8
if750a: use MAVLink gimbal v2 device
2021-02-17 13:54:34 -05:00
Julian Oes
e6b1775bb6
vmount/navigator/mavlink: gimbal v2 changes
...
This is a collection of commits all having to do with changes in the
Mavlink gimbal v2 protocol as described in:
https://mavlink.io/en/services/gimbal_v2.html
2021-02-17 13:54:34 -05:00
Julian Oes
422bac4bfd
mavlink: add gimbal mode to talk to gimbal device
2021-02-17 13:54:34 -05:00
Julian Oes
2a0ddf9f44
mavlink: enable 6 instead of 4 instance
2021-02-17 13:54:34 -05:00
Julian Oes
a16939f47e
ROMFS: start mavlink instance for gimbal
2021-02-17 13:54:34 -05:00
Martina Rivizzigno
48b00ff678
Support for gimbal v2 protocol
...
- add command to request a message
- add gimbal attitude message
mavlink_receiver handle GIMBAL_MANAGER_SET_ATTITUDE
first implementation of new vmount input MavlinkGimbalV2
- setup class
- decode gimbal_manager_set_attitude in ControlData
add gimbal information message
add gimbal manager information and vehicle command ack
mavlink messages: add stream for GIMBAL_MANAGER_INFORMATION
mavlink_receiver: handle GIMBAL_DEVICE_INFORMATION
remove mavlink cmd handling from vmount input MavlinkGimbalV2
complete gimbal manager:
- send out fake gimbal_device_information for dummy gimbals
- complete ROI handling with nudging
small fixes
fix typos
cleanup
- gimbal device information
- flags lock
- check sanity of string
add support for CMD_DO_GIMBAL_MANAGER_ATTITUDE
stream GimbalDeviceAttitudeStatus for dummy gimbals
- add uROB gimbal_attitude_status
- fill status in vmount output_rc for dummy gimbals not able to send the
status themselves
- stream mavlink GimbalDeviceAttitudeStatus
better handle the request for gimbal infomation request
clean up
bring gimbal information back on vmount init
add new gimbal message to mavlink normal stream
fix publication of gimbal device information
rename gimbal_attitude_status to gimbal_device_attitude_status
stream gimbal_manager_status at 5Hz
mavlink: send information only on request
Sending the information message once on request should now work and we
don't need to keep publishing it.
mavlink: debug output for now
make sure to copy over control data
mavlink: add missing copyright header, pragma once
mavlink: address review comments
mavlink: handle stream not updated
Our answer does not just depend on whether the stream was found but
whether we actually were able to send out an update.
mavlink: remove outdated comment
vmount: add option for yaw stabilization only
The stabilize flag is used for gimbals which do not have an internal IMU
and need the autopilot's attitude in order to do stabilization. These
gimbals are probably quite rare by now but it makes sense to keep the
functionality given it can e.g. be used by simple servo gimbals for
sensors other than highres cameras.
The stabilize flag can also be re-used for gimbals which are capable of
stabilizing pitch and roll but not absolute yaw (e.g. locked to North).
For such gimbals we can now set the param MNT_DO_STAB to 2.
We still support configuring which axes are stabilized by the
MAVLink command DO_MOUNT_CONFIGURE, however, this is generally not
recommended anymore.
vmount: fix incorrect check for bit flag
mavlink_messages: remove debug message
Signed-off-by: Claudio Micheli <claudio@auterion.com >
use device id
remove debug print
gimbal attitude fix mistake
clang tidy fix
split:
- gimbal_attitude -> gimbal_device_set_attitude, gimbal_manager_set_attitude
- gimbal_information -> gimbal_device_informatio, gimbal_manager_information
add gimbal protocol messages to rtps msg ids
support set attitude for gimbal directly speaking mavlink
clean up gimbal urob messages
vmount: address a few small review comments
vmount: split output into v1 and v2 protocol
This way we can continue to support the MAVLink v1 protocol. Also, we
don't send the old vehicle commands when actually using the new v2
protocol.
vmount: config via ctor instead of duplicate param
vmount: use loop to poll all topics
Otherwise we might give up too soon and miss some data, or run too fast
based on commands that have nothing to do with the gimbal.
typhoon_h480: use gimbal v2 protocol, use yaw stab
Let's by default use the v2 protocol with typhoon_h480 and enable yaw
lock mode by stabilizing yaw.
2021-02-17 13:54:34 -05:00
Julian Oes
46e75ebddb
mavsdk_tests: remove leftover debug line
2021-02-17 18:13:14 +01:00
Julian Oes
2703a34900
mavsdk_tests: add link back to github action
2021-02-17 18:13:14 +01:00
Daniel Agar
ab0d0fd0be
uORB move to PX4 platform layer
2021-02-17 11:25:56 -05:00
TSC21
6bbb2faf8a
CI: fix colcon build
2021-02-17 15:03:47 +01:00
Ildar Sadykov
51dd141c86
RTPS: adjust timestamp_sample in urtps_agent
2021-02-17 13:19:05 +01:00
Daniel Agar
e48a869160
boards: mRo pixracer pro disable USART6 (conflicts with SPI6)
2021-02-16 22:28:13 -05:00
Daniel Agar
2702306849
boards: mRo pixracer pro fix incorrect SPI2 sck
2021-02-16 22:28:13 -05:00
PX4 BuildBot
0edee1e2e9
Update submodule ecl to latest Wed Feb 17 00:39:16 UTC 2021
...
- ecl in PX4/Firmware (a5a1d4caa0d04cb79ba29e98ba0af04e20c53de9): https://github.com/PX4/PX4-ECL/commit/d4258cc66d24c6871688ae83f42de3b46c96d033
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/310f41517590165a82f807562b3cbb9a76e4c7d8
- Changes: https://github.com/PX4/PX4-ECL/compare/d4258cc66d24c6871688ae83f42de3b46c96d033...310f41517590165a82f807562b3cbb9a76e4c7d8
310f415 2021-02-16 Daniel Agar - EKF add const state reset status access
0c5291d 2021-02-16 isidroas - Heading reset to magnetometer from GPS or EV (#969 )
2021-02-16 22:00:12 -05:00
Daniel Agar
a416731656
drivers/heater: add logging and minor improvements
...
- new heater_status logging message
- run continously at low rate until configured sensor is found
- fix px4io fd bugs (fd open/close/ioctl must be same thread)
2021-02-16 15:16:19 -05:00
Daniel Agar
5abf29d93c
commander: auto TAKEOFF to LOITER/MISSION minor fix to avoid failsafe confusion
...
- base on nav_state rather than main_state
2021-02-16 13:02:14 -05:00
Julian Oes
64d0ce43b6
mavsdk_tests: upload to logs.px4.io in test_runner
...
By doing the upload directly inside the mavsdk_test_runner.py we have
more context such as the model, case, etc.
2021-02-16 17:07:21 +01:00
Julian Oes
18281eee29
workflows: more meta information to log upload
...
This adds a little bit more information but still lacks the one to one
mapping between test and uploaded file.
2021-02-16 17:07:21 +01:00
Julian Oes
2315618b85
mavsdk_tests: use autopilot timestamps to sleep
...
This way we should be able to avoid some of the timeouts happening on
the PX4 side if MAVSDK doesn't send setpoints in time.
2021-02-16 17:07:21 +01:00
Julian Oes
6c26387e85
mavsdk_tests: try to prevent auto-disarm
...
We should not spend too much time sending RC init messages because if it
takes too long, we might auto-disarm in the meantime.
2021-02-16 17:07:21 +01:00
Julian Oes
c1de27acf7
mavsdk_tests: use more conservative speed_factor
2021-02-16 17:07:21 +01:00
Julian Oes
0ebb8c6981
mavsdk_tests: use microseconds to avoid sleep(0)
2021-02-16 17:07:21 +01:00
Julian Oes
b6b9ce5f11
mavsdk_tests: robustify test by climbing longer
2021-02-16 17:07:21 +01:00
Julian Oes
b79553862e
mavsdk_tests: remove timeout for mission upload
...
Just use what is MAVSDK internal.
2021-02-16 17:07:21 +01:00
Daniel Agar
310f415175
EKF add const state reset status access
2021-02-16 10:33:43 -05:00
isidroas
0c5291d194
Heading reset to magnetometer from GPS or EV ( #969 )
2021-02-16 14:37:34 +01:00
PX4 BuildBot
cf2ffb1086
Update submodule ecl to latest Tue Feb 16 12:39:08 UTC 2021
...
- ecl in PX4/Firmware (4de4b8012999a53b3401701fe63fafb4056fa58f): https://github.com/PX4/PX4-ECL/commit/ffab483504a6c2eb3b61ae10d612cb35c8fbc550
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/d4258cc66d24c6871688ae83f42de3b46c96d033
- Changes: https://github.com/PX4/PX4-ECL/compare/ffab483504a6c2eb3b61ae10d612cb35c8fbc550...d4258cc66d24c6871688ae83f42de3b46c96d033
d4258cc 2021-02-15 Mathieu Bresciani - yaw emergency: check angle between vel observation and estimate (#975 )
2021-02-16 08:34:02 -05:00
Daniel Agar
44df0fb7a2
Analog Devices ADIS16448 rewrite
...
- new IMU driver structure with state machine (no sleeps in bus thread)
- verify all configured registers and trigger reset on failure
- detect if DIO1 or DIO2 are actually connected for data ready interrupt usage
- don't use CRC-16 on burst transfers except for verified lots
2021-02-16 10:29:07 +01:00
mcsauder
59b31e3c5b
Minor cleanup/error checking, static_casts, print_status() additions, and formatting in the heater driver.
2021-02-16 08:20:14 +01:00
Ramon Roche
15392f8e53
silent success and log failures
...
Co-authored-by: Nuno Marques <n.marques21@hotmail.com >
2021-02-15 20:28:19 +01:00
CAI Dongcai
2ad1cb24cc
fix empty log file "micrortps_bridge.log"
2021-02-15 20:28:19 +01:00
Tim
540e4f9464
Uuv position control extension ( #16688 )
...
* Commit for the Integration of a position controller for the a Underwater vehicle.
This module is an extension of the uuv_att_control to control an Underwater vehicle to any position, given by the SET_POSITION_TARGET_LOCAL_NED which includes x y z yaw.
Since the position control is designed for a 6DOF Robot, the roll and pitch angle are controlled to be 0.
Additionally there is a stabilization control, which holds the robot at a defined depth, and not move in any direction.
In general the idea is to have this position module to control the position of the uuv. The position module reseives the desired position of the uuv and sends appropriate attitude setpoints to the uuv_attitude_control module.
Additionally the mixer file is adapted, to include the 6 different inputs(x y z roll pitch yaw).
* Commit for the Integration of a position controller for the a Underwater vehicle.
This module is an extension of the uuv_att_control to control an Underwater vehicle to any position, given by the SET_POSITION_TARGET_LOCAL_NED which includes x y z yaw.
Since the position control is designed for a 6DOF Robot, the roll and pitch angle are controlled to be 0.
Additionally there is a stabilization control, which holds the robot at a defined depth, and not move in any direction.
In general the idea is to have this position module to control the position of the uuv. The position module receives the desired position of the uuv and sends appropriate attitude setpoints to the uuv_attitude_control module.
Additionally the mixer file is adapted, to include the 6 different inputs(x y z roll pitch yaw).
Currently not solved/missing:
- Problem with gazebo model(propeller moving chaotically).
- Mixer correct gazebo vs real life (has to be tested in the future)
- correct integration in uuv.apps (when choose which module)
- very basic controller chosen (could be improved a lot in the future)
* Remove error caused by unused variables and a different build error
* added better description of the parameter. Additionally the group is changed.
* added better description of the parameter. Additionally the group is changed.
Fixed bug about parameter
* Added EOF to the files.
* Removed parameter for direct position control for safety reasons.
* small bugfix
2021-02-15 18:40:28 +01:00
Daniel Agar
0618f048f2
commander: use control mode flags and cleanup arm_disarm
...
- keep `vehicle_control_mode` last state in commander and use appropriate flags in place of various main_state and nav_state checks
- consolidate scattered arming requirements in `arm_disarm()`
- there were a number of different requirements from arming via RC vs Mavlink that don't make any sense
- if geofence enabled require valid home before arming
- throttle requirements for manual modes
- remove unnecessary mavlink feedback that differs between arming interfaces (mavlink vs RC)
- let the preflight/prearm checks respond directly in most cases
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2021-02-15 12:03:21 -05:00
Jari Nippula
37f78537c3
protocol-splitter: Additional protocol layer added
2021-02-15 14:00:39 +01:00
Mathieu Bresciani
d4258cc66d
yaw emergency: check angle between vel observation and estimate ( #975 )
...
use thresholds based on state and obs variance
* [AUTO COMMIT] update change indication
2021-02-15 10:31:16 +01:00
Daniel Agar
40a452dcd2
ekf2: selector improve timeout handling and reporting
...
- relax estimator_status timeout unless attitude hasn't published recently
2021-02-14 21:08:56 -05:00
Lorenz Meier
4c5d2363d4
Rover control: Use roll sticks
...
It is more intuitive to use the roll stick as lateral control input given that drones defined this category, plus this is how consumer car / rover radio controls have been working already.
2021-02-14 11:17:28 +01:00
Lorenz Meier
4c9b2c65b5
Support v5X build variants
...
This adds support for the different implementation variants of the v5X standard.
2021-02-14 11:17:28 +01:00
Lorenz Meier
2be482c5ae
Sensors: New parameter for baro priority
...
This allows to give external barometers priority if they are present.
2021-02-14 11:17:28 +01:00
Jaeyoung-Lim
fdd9b3ea51
Add support for stabilized flight mode for rovers
...
This commit adds support for stabilized flight mode for rovers, which enables the rover tracking a fixed heading that is set with a manual input
2021-02-14 11:17:28 +01:00
Jaeyoung-Lim
3c12573e93
Use uORB::Subscription for rover_pos_control
...
Modernize rover position control
2021-02-14 11:17:28 +01:00
Lorenz Meier
8d78b8a01d
Change wording in GPS failure handling
...
This matches better the different platforms that are using this functionality.
2021-02-14 11:17:28 +01:00
Lorenz Meier
cc11fb2818
Multicopter rate controller: Protect for full throttle scaling
...
PX4 supports -1 to 1 as input and this module was not protected against the input range.
2021-02-14 11:17:28 +01:00
Lorenz Meier
66d86aae2e
Flight mode manager: Protect for full throttle scaling
...
PX4 supports -1 to 1 as input and this module was not protected against the input range.
2021-02-14 11:17:28 +01:00
Lorenz Meier
ec2cf70276
Rover position controller: Modernize implementation
...
This commit moves the steering output from yaw to the roll channel to better reflect the lateral control input / reaction mapping. It also removes old unused parameters and modernizes the mainloop to remove unnecessary polling.
2021-02-14 11:17:28 +01:00
Lorenz Meier
bb0b4db028
ROMFS: Better defaults for rover
2021-02-14 11:17:28 +01:00
Lorenz Meier
3135e4d31a
SITL: Set correct L1 period
2021-02-14 11:17:28 +01:00
Lorenz Meier
15219fbfe5
MC att control: Robustify for throttle scaling
...
PX4 can support negative (reverse) throttle and the multicopter controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier
548e070b91
FW pos control: Robustify for throttle scaling
...
PX4 can support negative (reverse) throttle and the fixed wing controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier
6d489a4b4d
FW att control: Robustify for throttle scaling
...
PX4 can support negative (reverse) throttle and the fixed wing controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier
0d3676e5b0
Safety switch: Default to safety off
...
90% of all real-world vehicle configs default to this and it is something that users stumble over if they configure a new system. There are valid cases where this would not be desired - for these it can be still switched off.
2021-02-14 11:17:28 +01:00
Lorenz Meier
8a448718b9
RC update: Do not constrain throttle
...
If the user calibrated to negative throttle, enable them to use it.
2021-02-14 11:17:28 +01:00
Lorenz Meier
9d20dea3b8
Rover: remove unused parameter
2021-02-14 11:17:28 +01:00
Daniel Agar
fb2a199621
delete unmaintaned mkblctrl driver
2021-02-14 10:38:15 +01:00
Lorenz Meier
c04d23645c
IO: Fix reverse mapping
...
The reverse mapping was off-by-one in the IO driver.
2021-02-13 15:21:10 -05:00
Ryan Johnston
5a58f25d6a
boards: MRO Control Zero F7 OEM Support
2021-02-13 11:16:55 -05:00
Daniel Agar
ce552a3364
navigator: RTL don't get invalid params
2021-02-13 00:34:56 +01:00
Daniel Agar
1981519aad
L1 position controller: use double precision floating point for all lat/lon
2021-02-12 21:59:56 +01:00
Silvan Fuhrer
31a6edff07
Fixed-wing: remove roll offset param (FW_RSP_OFF)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-02-12 13:57:15 -05:00
Silvan Fuhrer
a70cf950f4
fw_pos_control_l1: apply pitch setpoint offset centrally
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-02-12 13:57:15 -05:00
Daniel Agar
f61d8539cb
fw_pos_control_l1: add takeoff minimum pitch parameter
...
- remove mavlink mechanism for setting minimum pitch
2021-02-12 13:57:15 -05:00
PX4 BuildBot
89f19fd657
Update submodule v2.0 to latest Fri Feb 12 12:42:14 UTC 2021
...
- v2.0 in PX4/Firmware (c76477963097ac72b7bd2f165a845a493ffb724e): https://github.com/mavlink/c_library_v2/commit/43f2f3180a49720804c5f006377889a164fabadb
- v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/4e25dfa47b28adc177ea7badad837d8b84173712
- Changes: https://github.com/mavlink/c_library_v2/compare/43f2f3180a49720804c5f006377889a164fabadb...4e25dfa47b28adc177ea7badad837d8b84173712
4e25dfa4 2021-02-12 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/e4269aaf680b0797ba594b130d4e92dda889100c
82dcec27 2021-02-12 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/08e57d08ad17f1218334b74fa3766a0177783ea6
2021-02-12 16:31:28 +01:00
Daniel Agar
15e76ad993
PWM12 mode for pwm_out and dshot
2021-02-12 09:19:18 -05:00
Daniel Agar
0614789db3
tests: add simple parameter custom default testing
2021-02-12 08:27:47 -05:00
Daniel Agar
e6bc6438e8
ROMFS: airframes use new param default mechanism
2021-02-12 08:27:47 -05:00
Daniel Agar
b67aa77d29
ROMFS: use new param default mechanism
2021-02-12 08:27:47 -05:00
Daniel Agar
a257120e8d
boards: use new param default mechanism
2021-02-12 08:27:47 -05:00
Daniel Agar
ce64951578
parameter_update.msg: add basic status info
2021-02-12 08:27:47 -05:00
Daniel Agar
b8b13bb882
parameters runtime defaults
2021-02-12 08:27:47 -05:00
Daniel Agar
da1a38b44e
parameters: merge generated files ito single static constexpr header
...
- store parameter type and if volatile separately (saves kilobytes of flash)
- use Bitset for tracking active and changed parameters
- use atomic for autosave_enabled flag
- compile at ${MAX_CUSTOM_OPT_LEVEL} (-O2 on non flash constrained boards)
2021-02-12 08:27:47 -05:00
PX4 BuildBot
71c7c69c9d
Update submodule ecl to latest Fri Feb 12 12:42:24 UTC 2021
...
- ecl in PX4/Firmware (2292cf3ed4f8c4391131870936881331bc870260): https://github.com/PX4/PX4-ECL/commit/602e65146c975c12482560fafab7e05bf43b0029
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/ffab483504a6c2eb3b61ae10d612cb35c8fbc550
- Changes: https://github.com/PX4/PX4-ECL/compare/602e65146c975c12482560fafab7e05bf43b0029...ffab483504a6c2eb3b61ae10d612cb35c8fbc550
ffab483 2021-02-11 Loic Dubois - Waiting for the filter to be initialized to set global origin
2021-02-12 08:26:10 -05:00
Daniel Agar
c3172a91d9
ekf2: try reselecting distance_sensor on timeout
2021-02-12 08:25:27 -05:00
Matthias Grob
a002a07ed5
sdcardCheck: minor refactor
...
I was late for the review.
2021-02-12 00:17:43 -05:00
Daniel Agar
5db906314a
uavcan: stm32h7 driver silence debug output
2021-02-11 23:08:17 -05:00
Daniel Agar
dcb35e9a8c
Update submodule mavlink v2.0 to latest Fri Feb 12 00:38:48 UTC 2021
2021-02-11 23:06:40 -05:00
Daniel Agar
8a0bf15b9e
boards: CUAV X7Pro fix BMI088 orientation
2021-02-11 23:05:48 -05:00
Daniel Agar
7f76666fe9
Jenkins: hardware avoid unnecessary checkout
2021-02-11 23:04:26 -05:00
Daniel Agar
c63107bb57
uORB: tests increase priorities to minimize failures with stackcheck/debug enabled
...
- also relax the maximum mean by 50%
2021-02-11 22:58:57 -05:00
Daniel Agar
cb7aabf932
fw_pos_control_l1: cleanup body velocity and acceleration usage
...
- minimize storing unnecessary state (msg copies)
2021-02-12 00:41:39 +01:00
Jaeyoung-Lim
9ebf783214
Use smaller loiter radius for rovers
2021-02-11 23:24:34 +01:00
Julian Oes
aca1e85da4
mavsdk_tests: don't forget to check for rootfs dir
2021-02-11 22:25:07 +01:00
Julian Oes
4184c204c4
autopilot_tester: don't poll mission progress
...
Instead use subscription here as well in order not to miss an update.
2021-02-11 22:25:07 +01:00
Julian Oes
2971ce8664
mavsdk_tests: don't clear logs
2021-02-11 22:25:07 +01:00
bresch
9d3ff12a94
commander: reword nav failure message
2021-02-11 16:20:30 -05:00
bresch
5726e8e0a3
commander: do not fail nav check on GPS position glitch
...
In case of a diverge of the nav filter, both position and velocity test
ratios are large. If only one of them is too large, the nav filter is
most likely not diverging but is encountering a GNSS position reset and
it is still safe to fly in position mode.
2021-02-11 16:20:30 -05:00
bresch
b1b032d6e1
commander: rework nav failure check
...
Allows to recover from a failed test with a stricter test
2021-02-11 16:20:30 -05:00
Lorenz Meier
80b8e6a48f
v5X: Register board variants
...
This is needed to properly identify new variants.
2021-02-11 22:14:02 +01:00
Daniel Agar
5b44bd67bb
ist8310: fix 16 times average configuration
2021-02-11 13:18:13 -05:00
Loic Dubois
ffab483504
Waiting for the filter to be initialized to set global origin
2021-02-11 12:55:25 -05:00
Daniel Agar
7e18cffc5f
Update submodule mavlink v2.0 to latest Thu Feb 11 12:41:13 UTC 2021
2021-02-11 12:51:22 -05:00
Julian Oes
176d932f23
mavsdk_tests: prevent missing updates
...
It seems like we are often missing updates from topics like flight mode
or in air state, both topics that are sent out infrequenctly e.g. at 1
Hz. Therefore, instead of polling for that data we should probably
subscribe to the updates and that way get notified of each an every
update.
For instance this should prevent the case where we miss the mode change
from mission to descend and back to mission once landed and disarmed.
2021-02-10 16:37:02 -05:00
Jaeyoung-Lim
3d9cde885d
Add comment for reserve autostartIDs
...
This commit adds a comment where the autostart IDs 22000-22999 should be reserved for custom models
2021-02-10 16:34:01 -05:00
Matthias Grob
82d6cc3dba
FlightTasks: use .xy() where possible
...
to take the first two elements of a Vector3f.
2021-02-10 15:56:58 +01:00
Matthias Grob
7686533abb
FlightTaskManualAcceleration: adapt position reset to new structure
...
The mapping itself was seprated out into a calls because it was reused
for the experimental nudging implementation.
The position resets which were handled correctly before now
change the wrong setpoints and I adjusted.
The nudging has to be before any filtering, then these member setpoints
which are essentially copies are not needed anymore.
2021-02-10 15:56:58 +01:00
Julian Oes
c524e61b97
airspeed_selector: fix timeout check
...
I think this check was the wrong way round which meant that we would end
up with an unsigned int overflow and trigger a reset.
2021-02-10 12:58:23 +01:00
Igor Mišić
236975c56c
astyle: excluded libcanard for uavcannode_gps_demo
2021-02-10 03:05:02 -08:00
Daniel Agar
a76e429b1a
calibration parameters volatile (offsets and scale factors)
...
- anything set vehicle side should be volatile and excluded from the
param hash
2021-02-10 09:01:47 +01:00
PX4 BuildBot
bf29ec2da2
Update submodule ecl to latest Wed Feb 10 00:39:35 UTC 2021
...
- ecl in PX4/Firmware (afb692ecffccc3ba7ade39c5906c8c5660066121): https://github.com/PX4/PX4-ECL/commit/cd38621dd6a4ef0f42eb29a2b4145f58023e7910
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/602e65146c975c12482560fafab7e05bf43b0029
- Changes: https://github.com/PX4/PX4-ECL/compare/cd38621dd6a4ef0f42eb29a2b4145f58023e7910...602e65146c975c12482560fafab7e05bf43b0029
602e651 2021-02-05 Paul Riseborough - EKF: Remove unnecessary initialisation
6f664ab 2020-07-20 Paul Riseborough - EKF: Non functional changes arising from review
b87778e 2020-06-30 Paul Riseborough - EKF: Make clip detection logic easier to follow
9aa8d93 2020-06-30 Paul Riseborough - EKF: Use isRecent function
e948b35 2020-06-29 Paul Riseborough - EKF: Don't reject vertical aiding data if inertial solution is bad
c566318 2020-06-23 Paul Riseborough - EKF: misc improvements to handling of accel clipping
9c89fa3 2020-06-02 Paul Riseborough - EKF: Use IMU clipping to adjudicate bad accel data check
2021-02-10 00:16:42 -05:00
David Sidrane
3570e1b4da
nxp_fmuk66-e: Sync defconfig with latest V3 changes
2021-02-09 23:53:38 -05:00
David Sidrane
df3e94bcff
nxp_fmuk66-e:Disabled icm42688p until load issue is resolved
2021-02-09 23:53:38 -05:00
David Sidrane
4610692813
nxp_fmuk66-e:Set CONFIG_CDCACM_PRODUCTSTR
2021-02-09 23:53:38 -05:00
David Sidrane
b4c17cc8e7
nxp_fmuk66-e:Set Rotation of bmi88
2021-02-09 23:53:38 -05:00
David Sidrane
8c8f48530e
nxp_fmuk66-e:Fix missing line rc.board_defaults
2021-02-09 23:53:38 -05:00
David Sidrane
264efde0c9
nxp_fmuk66-v3:SD enable Multi block
2021-02-09 23:50:58 -05:00
David Sidrane
ef444da689
BUGFIX Hardfault Commander Calibration
2021-02-09 15:20:50 +01:00
Julian Oes
2772022785
mavsdk_tests: disable mag stuck test
...
The estimator sometimes diverges in vz after landing which makes the
test fail. This needs to be dealt with first before we can enable the
test again.
2021-02-09 11:32:41 +01:00
Julian Oes
e592bed7d3
mavsdk_tests: use timestamp from attitude field
...
The flight_information field was not updated often enough which lead
to timeouts.
2021-02-09 11:32:41 +01:00
Julian Oes
f08804da07
workflows: update to MAVSDK 0.36.0
...
This is required for the timestamp that comes with the attitude
information.
2021-02-09 11:32:41 +01:00
Julian Oes
397fa84cd0
mavsdk_tests: add time in front of debug lines
2021-02-09 11:32:41 +01:00
Matthias Grob
dec353219d
FlightTaskManualAcceleration: smooth position unlock
...
The velocity setpoint of the position controller
does a jump when unlocking position with a non-zero position error.
This is solved by using the velocity setpoint feedback to smoothly
take over.
2021-02-09 11:31:35 +01:00
Matthias Grob
c9eac29d25
StickAccelerationXY: access member setpoints directly
...
This is a leftover from before converting the logic into
a completely separate class.
2021-02-09 11:31:35 +01:00
Matthias Grob
79739c5676
StrickAccelerationXY: name setpoints unambiguous
2021-02-09 11:31:35 +01:00
Benjamin Perseghetti
ab03cd8bb9
Unified tool for launching advanced configurations of HITL or SITL in Gazebo with gz_sim.sh, works with PX4-SITL_gazebo PR 651.
2021-02-09 10:29:23 +01:00
Paul Riseborough
602e65146c
EKF: Remove unnecessary initialisation
2021-02-09 19:55:32 +11:00
Paul Riseborough
6f664abc4a
EKF: Non functional changes arising from review
2021-02-09 19:55:32 +11:00
Paul Riseborough
b87778e61d
EKF: Make clip detection logic easier to follow
2021-02-09 19:55:32 +11:00
Paul Riseborough
9aa8d93efc
EKF: Use isRecent function
2021-02-09 19:55:32 +11:00
Paul Riseborough
e948b3505f
EKF: Don't reject vertical aiding data if inertial solution is bad
...
Also reduce clipping count threshold
2021-02-09 19:55:32 +11:00
Paul Riseborough
c566318db5
EKF: misc improvements to handling of accel clipping
2021-02-09 19:55:32 +11:00
Paul Riseborough
9c89fa3b29
EKF: Use IMU clipping to adjudicate bad accel data check
2021-02-09 19:55:32 +11:00
Beat Küng
b0abc0c111
airframes: exclude from 1100, 4018 and 6003 px4_fmu-v2
2021-02-09 09:44:50 +01:00
Beat Küng
5a1c60b5a1
component_information: switch from gzip to xz
...
Improves compression, e.g. current params file: 62KB to 51KB
There's also a PRESET_EXTREME option, which reduces by another 2KB.
We can revisit that once needed, as it increases mem usage as well.
2021-02-09 09:44:50 +01:00
Beat Küng
cedfae9e46
jenkins: upload params.json.gz to S3
2021-02-09 09:44:50 +01:00
Beat Küng
f8989fe5aa
mavlink: speed up ftp transfers on POSIX
...
Around 900 KB/s - not fast, but should be fast enough for the use-cases.
2021-02-09 09:44:50 +01:00
Beat Küng
d0e35efe3a
parameters: remove uid from json output
...
Got removed from the spec
2021-02-09 09:44:50 +01:00
Beat Küng
4ca883f843
parameters: fix JSON output types
...
All types were previously output as strings
2021-02-09 09:44:50 +01:00
Beat Küng
5a244888cd
Tools: add validate_json.py
...
Can be used to validate the schemas under
https://github.com/mavlink/mavlink/tree/master/component_information
2021-02-09 09:44:50 +01:00
Beat Küng
1f8e7de824
mavlink: implement COMPONENT_INFORMATION
...
- implement COMP_METADATA_TYPE_VERSION & add component_version.json.gz to
ROMFS for all targets.
- implement COMP_METADATA_TYPE_PARAMETER (only enabled for SITL currently)
2021-02-09 09:44:50 +01:00
Daniel Agar
9f00fd2796
move PWM params to lib
2021-02-09 08:57:00 +01:00
PX4 BuildBot
8a047c8965
Update submodule ecl to latest Tue Feb 9 04:48:03 UTC 2021
...
- ecl in PX4/Firmware (24abafdfc91875020fd9ecc792f6989cf2058a77): https://github.com/PX4/PX4-ECL/commit/46251db4a11e1f80ce1cce226c7664f875260832
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/cd38621dd6a4ef0f42eb29a2b4145f58023e7910
- Changes: https://github.com/PX4/PX4-ECL/compare/46251db4a11e1f80ce1cce226c7664f875260832...cd38621dd6a4ef0f42eb29a2b4145f58023e7910
cd38621 2021-02-08 bresch - flow terrain: use dedicated variable for last fusion time
9521e81 2021-02-08 PX4BuildBot - [AUTO COMMIT] update change indication
ae0c054 2021-02-08 PX4 BuildBot - Update geo_lookup WMM to latest Mon Feb 8 11:48:14 UTC 2021
5aaa6c6 2021-01-28 bresch - lpos accuracy: bump variance if deadreckon time exceeded
2021-02-09 00:50:36 -05:00
bresch
cd38621dd6
flow terrain: use dedicated variable for last fusion time
...
This avoids confusion with the flow "for velocity" fusion in the main
EKF
2021-02-08 23:26:33 -05:00
Daniel Agar
8f0918a16b
boards: remove unused linker __param section
2021-02-08 23:22:48 -05:00
PX4BuildBot
9521e81b09
[AUTO COMMIT] update change indication
2021-02-08 09:43:53 -05:00
PX4 BuildBot
ae0c054d75
Update geo_lookup WMM to latest Mon Feb 8 11:48:14 UTC 2021
2021-02-08 09:43:53 -05:00
bresch
5aaa6c6dde
lpos accuracy: bump variance if deadreckon time exceeded
2021-02-08 09:01:51 -05:00
Beat Küng
76a447ed0f
fix StickAccelerationXY: avoid setpoint oscillations around 0
...
With a higher responsiveness, after centering the stick, the velocity and
acceleration setpoints could oscillate around 0 and never reach 0, due to
discretization.
This also prevented position lock engagement.
2021-02-08 13:51:36 +01:00
Mathieu Bresciani
77884bdd34
SITL boat: tune L1 and speed controllers ( #16784 )
2021-02-08 07:18:49 +00:00
PX4 BuildBot
8d0f96f22c
Update submodule libcanard to latest Mon Feb 8 00:39:35 UTC 2021
...
- libcanard in PX4/Firmware (0c6cf6cb99 ): https://github.com/UAVCAN/libcanard/commit/cde670347425023480a1417fcd603b27c8eb06c1
- libcanard current upstream: https://github.com/UAVCAN/libcanard/commit/55938c51cf7da3096679933302693c9dae7a2b33
- Changes: https://github.com/UAVCAN/libcanard/compare/cde670347425023480a1417fcd603b27c8eb06c1...55938c51cf7da3096679933302693c9dae7a2b33
55938c5 2020-12-29 Pavel Kirienko - Merge pull request #160 from UAVCAN/readme-fix
1c91c49 2020-12-29 Pavel Kirienko - Improve the example in README, fix #159
2021-02-07 21:42:30 -05:00
PX4 BuildBot
05164d0a6a
Update submodule libcanard to latest Mon Feb 8 00:39:43 UTC 2021
...
- libcanard in PX4/Firmware (fef2f1c150ee15ba430c2da74fb432483fd888d8): https://github/commit/cde670347425023480a1417fcd603b27c8eb06c1
- libcanard current upstream: https://github/commit/55938c51cf7da3096679933302693c9dae7a2b33
- Changes: https://github/compare/cde670347425023480a1417fcd603b27c8eb06c1...55938c51cf7da3096679933302693c9dae7a2b33
55938c5 2020-12-29 Pavel Kirienko - Merge pull request #160 from UAVCAN/readme-fix
1c91c49 2020-12-29 Pavel Kirienko - Improve the example in README, fix #159
2021-02-07 20:27:59 -05:00
Lorenz Meier
0c6cf6cb99
Revert "boards: px4/fmu-v5 disable px4io in rc.board_defaults"
...
This reverts commit d7b89ecc86 .
2021-02-08 00:21:32 +01:00
Lorenz Meier
d03d46b8a3
Initialize MAVLink on v5X variants
...
This will ensure that the different baseboard configurations are properly accounted for depending on HW variants.
2021-02-07 17:23:13 +01:00
Peter van der Perk
8242968b2b
UAVCAN v1 GPS demo with MAVCAN autoconfigure
2021-02-07 17:18:45 +01:00
Peter van der Perk
5f8ad65c40
FMUK66 NuttX 10 SocketCAN initialization
2021-02-07 17:18:45 +01:00
Peter van der Perk
8b2d20df34
"MAVCAN" PNP & Register example implementation
2021-02-07 17:18:45 +01:00
Peter van der Perk
e5d29d4079
UAVCANv1 demo UAVCAN146 <-> BMS-722 is working
...
Fixed UAVCAN146 linker script that caused CXX initalization to wrong
Enabled uORB listener command
Updated UAVCANv1 msg definition
Known isssue: PX4 params are not working on the UAVCAN146
2021-02-07 17:18:45 +01:00
Daniel Agar
58ca575871
UAVCAN v1 bridge
...
- NuttX stm32f4/stm32f7 uses character device driver
- NuttX kinetis and s32k uses socketcan
2021-02-07 17:18:45 +01:00
Daniel Agar
1848ac3bc7
mavlink: receiver accept ODOMETRY MAV_ESTIMATOR_TYPE_UNKNOWN for legacy support
2021-02-07 09:51:05 -05:00
Daniel Agar
f461481548
Revert "mavlink: ODOMETRY handler accept all other estimator_types for now"
...
This reverts commit b216714d56 .
2021-02-07 09:51:05 -05:00
Daniel Agar
b216714d56
mavlink: ODOMETRY handler accept all other estimator_types for now
2021-02-06 22:32:20 +01:00
Daniel Agar
d67a84d941
boards: holybro can-gps-v1 fix bosch bmm150 path
2021-02-06 15:56:11 -05:00
Daniel Agar
41b0f83c0c
drivers/magnetometer: Bosch BMM150 rewrite
...
- same pattern as other new drivers (state machine, checked register mechanism, no sleeps, etc)
- self test has been rolled into regular startup sequence
- still I2C only, but will be expanded in the future
- configure to high accuracy preset
2021-02-06 12:50:23 -05:00
bazooka joe
8834741be8
gps blending make test to work without templated gps_blending class
2021-02-06 12:59:04 +01:00
bazooka joe
8087fac3fc
gps_blending add protection against accessing non-exist array item
2021-02-06 12:59:04 +01:00
bazooka joe
a0d500b30a
changing gps_blending to be non-template class
...
because there is no multiple instance types on singular machine
2021-02-06 12:59:04 +01:00
PX4 BuildBot
80d9f1c5fb
Update submodule sitl_gazebo to latest Sat Feb 6 00:38:25 UTC 2021
...
- sitl_gazebo in PX4/Firmware (9e69b16c3c ): https://github.com/PX4/PX4-SITL_gazebo/commit/e580bbcd1eb6902c658ed3ece3b3b28dfd57eb17
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/4f26815d4127e3af84e01bbc1f8683c4fe30521f
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/e580bbcd1eb6902c658ed3ece3b3b28dfd57eb17...4f26815d4127e3af84e01bbc1f8683c4fe30521f
4f26815 2021-02-05 Julian Oes - workflows: fix macOS build
2021-02-05 21:28:41 -05:00
PX4 BuildBot
b9034dbb5d
Update submodule ecl to latest Sat Feb 6 00:38:38 UTC 2021
...
- ecl in PX4/Firmware (1e079d0142b813c3c65c6796576e79d5662a217b): https://github.com/PX4/PX4-ECL/commit/b919f3ddf41ab422d09af91eaea2b2f9729fab13
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/46251db4a11e1f80ce1cce226c7664f875260832
- Changes: https://github.com/PX4/PX4-ECL/compare/b919f3ddf41ab422d09af91eaea2b2f9729fab13...46251db4a11e1f80ce1cce226c7664f875260832
46251db 2021-02-05 Daniel Agar - geo: explicitly link libm
2021-02-05 20:38:49 -05:00
Daniel Agar
61e935105f
Update submodule mavlink v2.0 to latest Sat Feb 6 00:38:29 UTC 2021
2021-02-05 20:20:50 -05:00
PX4 BuildBot
df66c8580c
Update submodule CMSIS_5 to latest Sat Feb 6 00:38:34 UTC 2021
...
- CMSIS_5 in PX4/Firmware (6f03b880f05d0a1d4015f5040054b61012725794): https://github.com/ARM-software/CMSIS_5/commit/4ed5730787a0f98e8858c9998e406c608ab10b28
- CMSIS_5 current upstream: https://github.com/ARM-software/CMSIS_5/commit/20285262657d1b482d132d20d755c8c330d55c1f
- Changes: https://github.com/ARM-software/CMSIS_5/compare/4ed5730787a0f98e8858c9998e406c608ab10b28...20285262657d1b482d132d20d755c8c330d55c1f
202852626 2021-02-01 Christopher Seidl - Updated CMSIS-Pack documentation
2021-02-05 20:18:25 -05:00
David Sidrane
8167023dfb
holybro_can-gps-v1: Reorder Sensor Startup for reliabiltiy
2021-02-05 19:55:16 -05:00
David Sidrane
9e834d26f8
holybro_can-gps-v1:Add Flash Based Parameters
2021-02-05 19:55:16 -05:00
David Sidrane
7b3ce832d6
holybro_can-gps-v1: Add UAVCAN CAN2 Support
2021-02-05 19:55:16 -05:00
David Sidrane
fe732930d2
holybro_can-gps-v1:Fix ver HW NAME
2021-02-05 19:55:16 -05:00
David Sidrane
caba734d26
PR review AIs
2021-02-05 19:55:16 -05:00
David Sidrane
6f78a5e201
holybro_can-gps-v1:Add to CI
2021-02-05 19:55:16 -05:00
David Sidrane
9e1b13683f
Add hardware ver/rev to st32f4
2021-02-05 19:55:16 -05:00
David Sidrane
41c9f085ef
holybro_can-gps-v1:Temparary LED support
2021-02-05 19:55:16 -05:00
David Sidrane
0554755ed2
holybro_can-gps-v1:Added Support for holybro can gps
2021-02-05 19:55:16 -05:00
Daniel Agar
46251db4a1
geo: explicitly link libm
2021-02-05 19:00:53 -05:00
Lorenz Meier
9e69b16c3c
ROMFS: Add new VTOL standard airframe 13015 using all MAIN outputs
...
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-02-05 19:00:26 -05:00
David Sidrane
c1435c744c
px_uploader:Fixes breakage for real serial ports caused by 00e6d11
...
The code was pitching an exception. It was invaild. That then left
the baud rate AFU
2021-02-05 20:15:20 +01:00
Claudio Micheli
d4bea8323f
PreFlightCheck: Detect missing FMU SD card
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-02-05 20:14:48 +01:00
bresch
72e34e02ef
VTOL defaults: increase tracking tolerance for VTOL planes
2021-02-05 20:13:30 +01:00
bresch
44872807b3
MC auto: add parameter to set the trajectory slow-down
...
In some cases e.g.: (VTOL in wind) a good tracking cannot be
achieved. This condition then needs to be relaxed, otherwise the
drone cannot land properly.
2021-02-05 20:13:30 +01:00
Daniel Agar
9d90529e7f
Jenkins hardware print vehicle_status and vehicle_status_flags
2021-02-05 20:11:13 +01:00
Daniel Agar
6633ff5089
commander: vehicle_status_flags add attitude and angular velocity
2021-02-05 20:11:13 +01:00
David Sidrane
168027ac3d
NuttX apps with REJECTED commit
2021-02-05 10:07:03 -08:00
David Sidrane
3b25790b06
px4_fmu-v2:Make room
2021-02-05 08:27:28 -08:00
bresch
a399bb9894
ekf2: fix mismatch between ecl and firmware flag definition
2021-02-05 14:30:09 +01:00
Matthias Grob
f13c3a7d44
state_machine_helper: stop mission on RC loss
...
This allows to still fly missions completely without RC
but reacts if RC is lost during the mission because
the safety pilot expects to be able to take over.
2021-02-04 10:54:52 +01:00
Matthias Grob
f87dbe57c2
state_machine_helper: don't finish mission if all links are lost except for when no reaction is configured
2021-02-04 10:54:52 +01:00
Matthias Grob
cd51cf2996
state_machine_helper: handle zero failsafe_timestamp
2021-02-04 10:54:52 +01:00
Matthias Grob
b44b770972
commander: RC loss delay renaming/reordering
2021-02-04 10:54:52 +01:00
Matthias Grob
e2e5fc85f8
state_machine_helper: fix infinite delay with intermittent failsafes
2021-02-04 10:54:52 +01:00
Matthias Grob
1736be41cf
state_machine_helper: only apply delay on manual piloted rc loss cases
2021-02-04 10:54:52 +01:00
Matthias Grob
e65cc6bd6f
state_machine_helper: do failsafe delay for all modes
2021-02-04 10:54:52 +01:00
Matthias Grob
26d74bf57d
Commander: enable failsafe delay for position and mission mode
...
Instead of directly doing the link loss reaction which by default is RTL a delay
can be configured such that the drone first switches to hold and waits
for the link to be regained.
2021-02-04 10:54:52 +01:00
Antonio Sanjurjo Cortés
fa45eacea3
Fix and unify the maximum allowed PDOP references
2021-02-04 10:20:22 +01:00
Julian Oes
be3cdc0439
sensors: correct comment logic
...
By removing the no the comment matches the implementation (which I think
makes sense).
2021-02-04 10:14:44 +01:00
Matthias Grob
3ab4213314
IO safety button: cleanup disabling safety
2021-02-04 06:25:43 +01:00
Matthias Grob
3fbd008c4e
FMU safety button: cleanup disabling safety
2021-02-04 06:25:43 +01:00
Lorenz Meier
867b006861
IO safety button: Latch to disabled state
...
As hardware buttons are not particularly reliable and the user flow is to disable safety then arm, then disarm via software / remote, it makes sense to make the button safety state itself sticky and require it to be reset via software.
2021-02-04 06:25:43 +01:00
Lorenz Meier
7157584fe1
FMU safety button: Latch to disabled state
...
As hardware buttons are not particularly reliable and the user flow is to disable safety then arm, then disarm via software / remote, it makes sense to make the button safety state itself sticky and require it to be reset via software.
2021-02-04 06:25:43 +01:00
Daniel Agar
3f1ca4dfc9
Update submodule mavlink v2.0 to latest Wed Feb 3 18:41:38 UTC 2021
2021-02-03 18:41:02 -05:00
JacobCrabill
e6f1812bae
ROMFS: Fix typo in S500 CtrlAlloc airframe
2021-02-03 15:29:10 -05:00
xdwgood
89878fcc88
clean up
2021-02-03 17:54:27 +01:00
Paul Riseborough
4b4a9a925b
logger: Log takeoff_status
2021-02-03 17:44:12 +01:00
Paul Riseborough
9d1de3118f
land_detector: Rework ground effect calculation for MC
2021-02-03 17:44:12 +01:00
Gerald
88c68914a9
update uorb_rtps_message_ids.yaml for id: 30
...
For some usecases like starting video recording on a companion computer or triggering a ROS based (offboard control) mission control execution the status of RC channel is needed in ROS(2). This allows the user to start/stop such functionalities from the RC transmitter.
Therefore InputRc to be changed accordingly.
add 'Set send: true' for id: 30
2021-02-03 08:52:44 -05:00
David Sidrane
9a08c0f48e
NuttX: PX4 stm32f412 contrib
2021-02-03 05:22:04 -08:00
JaeyoungLim
b2f0c149ec
Set cruise trottle to non-zero ( #16724 )
2021-02-03 04:39:30 +00:00
Ian
4dc44688a7
Update current year in LICENSE
...
2020 now is in the past.
2021-02-02 23:05:48 +01:00
Andrew C. Smith
1a428aa5c2
boards: Add support for PX4 FMUv6U
2021-02-02 10:50:26 -05:00
TSC21
10d94e5981
update uorb_rtps_message_ids.yaml
2021-02-02 13:55:42 +01:00
TSC21
701a585a81
RTPS: add check for IDs on multi-topics/alias messages as well
2021-02-02 13:55:42 +01:00
CarlOlsson
835e3258ed
uavcannode: use correct vertical position uncertainty
2021-02-02 11:56:07 +01:00
dino
bb37fd2f29
Enabled LSE clock for RTC, set clk drive strength to 3. Else the quarzt on the fmuv5x does not socillate reliabel.
2021-02-02 09:58:47 +01:00
Daniel Agar
a2442ffb48
board: enable UAVCAN sensors by default on F7/H7
2021-02-02 09:01:12 +01:00
Benoit Landry
8b0ec5a78e
mavlink: ATTITUDE_TARGET thrust use thrust_body magnitude
...
- vehicle_attitude_setpoint thrust_body is a vector, but mavlink ATTITUDE_TARGET thrust is only a magnitude
- this allows the stream to be correct for both MC & FW use cases
2021-02-01 21:31:36 -05:00
Lorenz Meier
13e875645c
Revert "systemcmds/param: use PX4_INFO_RAW directly (delete qurt special case)"
...
This reverts commit 470f24037e .
2021-02-02 00:53:45 +01:00
Lorenz Meier
cd148cda88
Revert "platforms: px4 log build string then print (fputs)"
...
This reverts commit 9e112dd48b .
2021-02-02 00:53:32 +01:00
Lorenz Meier
0a58482e51
Align message names to avoid CRC mismatch with deployed units
...
This will ensure that the CRCs will match with deployed units to avoid unnecessary incompatibilities while we are figuring out how to best standardize these between stakeholders.
2021-02-02 00:28:41 +01:00
Peter van der Perk
0c74028976
FMUK66 Decrease telnetd ram usage
2021-02-01 11:50:43 -05:00
Daniel Agar
a9a8a95c44
drivers/distance_sensor: add drivers_rangefinder linking dependency
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/16715
2021-02-01 09:25:23 -05:00
Silvan Fuhrer
b9b9c55325
Navigator: change default of GF_ACTION to 2 (Hold)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-02-01 11:07:53 +01:00
Claudio Micheli
c2154df2f6
ekf2checks: split GPS checks from AHRS checks - minor cleanup
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-02-01 09:02:19 +01:00
Daniel Agar
78dff6adcb
boards: add CONSTRAINED_MEMORY build option
...
- currently the main change is that it reduces the max number of ORB multi instances to 4, but usage will be expanded as needed
- limits number of EKF2 multi instances to 2.
- enabled on all cortex m4 boards
2021-02-01 08:56:22 +01:00
Chungkyeong Lee
834ac38841
fix condition in ekf2Check
2021-02-01 08:55:41 +01:00
Daniel Agar
d1a3590aac
PWM: transition PWM_{MIN,MAX,DISARMED,RATE} -> PWM_MAIN
2021-02-01 08:53:33 +01:00
Daniel Agar
8b8adbf48e
Jenkins hardware reduce IMU_GYRO_RATEMAX on some boards
2021-01-31 21:26:26 -05:00
Daniel Agar
3b71e8e62d
boards: cubepilot fix BAT2_V_DIV param default typo
2021-01-31 21:16:42 -05:00
Daniel Agar
b1e85b0b04
Jenkins hardware add CUAV X7 Pro
2021-01-31 19:48:00 -05:00
Daniel Agar
61d7be82cc
Jenkins hardware add CubePilot CubeOrange
2021-01-31 18:51:32 -05:00
Lorenz Meier
27138578f0
Disable unmaintained MAVROS tests
...
The overhead of the MAVROS setup means that most developers are not using it, leading to tests that are not suitable for day-to-day workflows. We are replacing these with MAVSDK tests that can be run locally pre-commit.
2021-01-31 17:03:04 -05:00
Jaeyoung-Lim
f833861fbb
Cleanup unsused rover mixers
...
This PR cleansup unused rover mixers from the ROMFS
2021-01-31 19:17:38 +01:00
Lorenz Meier
f19f93eedf
MacOS: Disable OS tests
...
This is suboptimal but survivable since MacOS is not a deployment target. We still need to identify the root cause.
2021-01-31 10:45:43 -05:00
PX4 BuildBot
afd50acce2
Update submodule sitl_gazebo to latest Sun Jan 31 12:39:22 UTC 2021
...
- sitl_gazebo in PX4/Firmware (bb7dd0cf00 ): https://github.com/PX4/PX4-SITL_gazebo/commit/46aef29718495d2f668c1648f4c0b0f43b9d9671
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/e580bbcd1eb6902c658ed3ece3b3b28dfd57eb17
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/46aef29718495d2f668c1648f4c0b0f43b9d9671...e580bbcd1eb6902c658ed3ece3b3b28dfd57eb17
e580bbc 2021-01-30 JaeyoungLim - Use include model syntax for bluerov (#702 )
663a553 2021-01-30 Tim - Added GPS and changed the Thruster config of the bluerov2 SDF file (#700 )
4674826 2021-01-29 Thies Lennart Alff - increased ODE solver iterations to avoid deflection of the thrusters (#701 )
2021-01-31 10:44:04 -05:00
Daniel Agar
5097d531bf
mavlink: send LINK_NODE_STATUS
2021-01-31 15:02:30 +01:00
Daniel Agar
4cbbd0ebf3
mavlink: receiver estimate total lost messages
2021-01-31 15:02:30 +01:00
David Sidrane
f9d4bd53ef
Apply suggestions from code review
...
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
Apply suggestions from code review use stdout
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2021-01-31 14:42:09 +01:00
David Sidrane
39c6229c37
Netman:Data in network order
2021-01-31 14:42:09 +01:00
David Sidrane
d22eb76187
Add a simple network manager
...
This system command will display, set and save the network
settings.
netman show - Displays the current settings.
netman update - Will check for a net.cfg file on the SD card.
If present, it will update the paramaters,
delete the file, and reboot. Using the new settings.
netman save - Saves the current settings to net.cfg on the SD card.
This file shoulf be renamed to preserver it across
reboots or editited to chech networkin paramates.
File format is name<space>value:
echo DEVICE=eth0 > /fs/microsd/net.cfg
echo BOOTPROTO=fallback >> /fs/microsd/net.cfg
echo IPADDR=192.168.0.4 >> /fs/microsd/net.cfg
echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
echo ROUTER=192.168.0.254 >>/fs/microsd/net.cfg
echo DNS=192.168.0.254 >>/fs/microsd/net.cfg
Valid values for `proto` are `dhcp`, `static`, `falback`
Both will try dhcp for CONFIG_NETINIT_FALLBACK times
and fall back to the static address.
NETMASK - is the network mask.
IPADDR - this nodes ip address for static or fall back.
ROUTER - The default route.
DNS - The address of the dns server.
2021-01-31 14:42:09 +01:00
David Sidrane
ed996e2dd1
fmu-v5x:Add net monitoring an DHCP
...
px4_fmu-v5x:Use Bin Net settigns
2021-01-31 14:42:09 +01:00
David Sidrane
e9dabfbe28
Nuttx apps with rejected Network Monitor add a polled option
2021-01-31 14:42:09 +01:00
Daniel Agar
bb7dd0cf00
modules/sih: move to px4 work queue (wq:rate_ctrl)
...
- respect IMU_GYRO_RATEMAX for configured interval
- optionally compile at higher optimization level per board (${MAX_CUSTOM_OPT_LEVEL})
2021-01-31 12:56:45 +01:00
Alexey Rogachevskiy
c01d459011
Add support for STM32F42x/STM32F43x rev. 5/B ( #15407 )
...
* stm32_common: Add support for STM32F42x/STM32F43x rev. 5/B
According to ST, both 5 and B share the same REV_ID.
Signed-off-by: Alexey Rogachevskiy <sfalexrog@gmail.com >
* stm32_common: Change comment to match code, change enum names to match revisions
2021-01-31 12:34:16 +01:00
Daniel Agar
470f24037e
systemcmds/param: use PX4_INFO_RAW directly (delete qurt special case)
2021-01-31 11:43:47 +01:00
Daniel Agar
9e112dd48b
platforms: px4 log build string then print (fputs)
2021-01-31 11:43:47 +01:00
Daniel Agar
0c58d12216
mavlink: receiver estimate total lost messages
2021-01-31 11:41:56 +01:00
Matthias Grob
fbd64fbdd8
FlightModeManager: publish takeoff status
2021-01-31 11:37:00 +01:00
Daniel Agar
b30bd7f589
drivers: no longer any need to advertise immediately (baro, mag, rangefinder)
2021-01-31 11:35:46 +01:00
Igor Mišić
f80a422f9c
mavlink receiver: battery status - publish temperature
2021-01-31 11:20:42 +01:00
Igor Mišić
5f0a014595
mavlink receiver: battery status - publish cells voltage
2021-01-31 11:20:42 +01:00
Daniel Agar
6a4835bbcc
sensors: vehicle_magnetometer combine extra _vehicle_magnetometer_pub
2021-01-30 21:50:01 -05:00
Daniel Agar
ce76c84ce2
sensors: vehicle_magnetometer respect publication rate limit SENS_MAG_RATE
2021-01-30 21:50:01 -05:00
Daniel Agar
318c7e83b3
support up to PWM 14
...
- generate PWM_MAIN 1-14
- generate PWM_AUX 1-8
- generate PWM_EXTRA 1-8
- px4io and pwm_out directly read configuration parameters
- only available and active physical outputs are actually shown for configuration
- overall saves flash despite adding many new parameters
2021-01-30 15:55:53 +01:00
bresch
cdd6df4e27
VehicleGPSPosition: remove unused "using"
2021-01-30 11:32:47 +01:00
bresch
6abbbdeb4b
gps blend: add parameter to select the primary instance
2021-01-30 11:32:47 +01:00
bresch
889602ed5e
gps blend: always pass through GpsBlending class for selection
2021-01-30 11:32:47 +01:00
bresch
b4051b62a3
gps blend: add failover logic and unit test
...
also remove dependency to hrt library
2021-01-30 11:32:47 +01:00
bresch
9bff7a1c41
gps blend: add selector unit tests
2021-01-30 11:32:47 +01:00
bresch
1dbf4957df
vehicle gps pos: remove useless gps_updated array
2021-01-30 11:32:47 +01:00
bresch
b60bfb920c
gps blend: add initial working test
2021-01-30 11:32:47 +01:00
bresch
1cde5074ea
gps blend: move definition to header file
2021-01-30 11:32:47 +01:00
bresch
1333664a14
gps blend: move blending logic to class
2021-01-30 11:32:47 +01:00
Roman Dvořák
075165699d
Update CMakeLists.txt
2021-01-30 11:29:42 +01:00
Jakub Kákona
21e70381fe
Update default parameters.
2021-01-30 11:29:42 +01:00
Roman Dvorak
42439829b0
use LPE estimator
2021-01-30 11:29:42 +01:00
Roman Dvorak
6c839f9b02
add balloon defaults
2021-01-30 11:29:42 +01:00
Roman Dvorak
1fea1a2822
Initial TF-B1 commit
2021-01-30 11:29:42 +01:00
Claudio Micheli
c2a68debd9
add jamming_state to gps sensor module
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-01-30 11:26:42 +01:00
Claudio Micheli
cadd2cf883
update gps submodule
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-01-30 11:26:42 +01:00
Claudio Micheli
5eb4ab6d73
vehicle_gps_position: add jamming_state
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-01-30 11:26:42 +01:00
Daniel Agar
e7f2195a9b
ekf2: error if unable to copy every sensor publication
2021-01-29 22:12:29 -05:00
CUAVcaijie
e30b8495b8
Enable x7pro and nora spi4 DMA
2021-01-29 21:30:12 -05:00
Dan George
c1da999748
cmake: Limit color output to terminals
...
VIm's Quickfix is useless with escape sequences embedded in
compiler output.
2021-01-29 17:52:32 -05:00
David Sidrane
1375221c56
srgbled_dma:Fix wrong timer init
2021-01-29 21:36:12 +01:00
Silvan Fuhrer
85d8e74609
Navigator: yaw error from param and pos_ctl_status.acceptence_rad checks before using
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-29 19:36:59 +01:00
Silvan Fuhrer
4d6749edc2
mission_block: change loiter handling logic
...
- add ability of "heading wait" for NAV_CMD_LOITER_TIME_LIMIT
- For both LOITER_TIME and LOITER_TO_ALT in fixed-wing flight, unify logic:
--> reach position --> start loitering --> reach altitude --> start timer (if applicable)
--> reach exit heading (if applicable) --> declare mission item reached
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-29 19:36:59 +01:00
Silvan Fuhrer
5c9fac58c8
Mission: do not autocontinue if in multicopter mode and next wp has a hold time
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-29 19:36:59 +01:00
Silvan Fuhrer
f3adf6d67f
mission_block: rename altitude_amsl to mission_item_altitude_amsl to make clear it's a setpoint
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-29 19:36:59 +01:00
Silvan Fuhrer
ab9d5498bc
mavlink_mission: MAV_CMD_NAV_LOITER_TIME: set force_heading corresponding to param2
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-29 19:36:59 +01:00
Silvan Fuhrer
017567792b
Navigator: for loiter position acceptance, use L1 distance and loiter radius
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-29 19:36:59 +01:00
Silvan Fuhrer
acbada73dd
RTL: VTOL: do the land delay loitering (RTL_LAND_DELAY) in fixed-wing flight
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-29 15:46:33 +03:00
Jaeyoung-Lim
cc29754163
Update jsbsim bridge submodule
2021-01-29 09:41:32 +01:00
Daniel Agar
f0d1f1d679
boards: disable BDMA on STM32H7 for now
2021-01-28 21:16:23 +01:00
alexklimaj
741c1da634
ARK Flow Basic Functionality
2021-01-28 08:56:10 -05:00
Ricardo Marques
19576c5db3
logger: Correct max instances of actuator_outputs.
...
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com >
2021-01-28 14:22:55 +01:00
Julian Kent
ce1157e398
Work around broken coverage interface
2021-01-28 12:02:06 +01:00
Julian Kent
14cb98a6b4
Increase corridor check thresholds for mission tests
2021-01-28 12:02:06 +01:00
Julian Kent
7fac2fe6cd
Consolidate uploading of coverage info for unit tests
2021-01-28 12:02:06 +01:00
Julian Kent
e014954c91
Remove old matrix inversion routines
2021-01-28 09:14:08 +01:00
Julian Kent
e96e028327
Refactor LM mag calibration routines
2021-01-28 09:14:08 +01:00
Julian Kent
a9fc104387
Add inline to avoid double definition errors
2021-01-28 09:14:08 +01:00
bresch
c79bd033c0
mag test: add ellipsoid test
2021-01-28 09:14:08 +01:00
bresch
1da2cd5b4d
mag test: add magnetometer calibration unit tests
2021-01-28 09:14:08 +01:00
bresch
a8a8819060
mag cal: move sphere and ellipsoid regression algirithms
2021-01-28 09:14:08 +01:00
JacobCrabill
bf4ae81995
Device: Add MAVLINK bus type
2021-01-28 09:09:11 +01:00
Peter Blom
a4745c6825
Simulator: Fix for arg count increase breaking remote host option.
...
The number of arguments was increased by one, see: https://github.com/PX4/PX4-Autopilot/commit/1719ff9892f3c3d034f2b44e94d15527ab09cec6
Because the above commit was merged before https://github.com/PX4/PX4-Autopilot/pull/15443 . It broke support for the remote host option.
This has been fixed in this commit by increasing all argv's by one.
Signed-off-by: Peter Blom <peterblom.mail@gmail.com >
2021-01-28 08:32:14 +01:00
Daniel Agar
cf43d07f70
uavcannode: refactor into separate publishers and subscribers
2021-01-27 20:57:23 -05:00
JacobCrabill
39ad84e069
drv_sensor.h: Add missing SRF05 devtype
2021-01-27 17:02:20 -05:00
JacobCrabill
e49717513c
simulator: Fix distance sensor device_id
...
Also add DRV_DIST_DEVTYPE_SIM
2021-01-27 17:02:20 -05:00
JacobCrabill
a09e13631c
distance_sensors: Fix assignment of serial bus ID
2021-01-27 17:02:20 -05:00
JacobCrabill
01462ce627
Device: Add missing SERIAL enum to bus_string function
2021-01-27 17:02:20 -05:00
JacobCrabill
153756b933
drivers: Add support for SF30/[B,C] rangefinders (Serial)
2021-01-27 17:02:20 -05:00
JacobCrabill
7f2f0a04f1
uavcan: remove unused variables in gnss bridge
2021-01-27 17:02:20 -05:00
JacobCrabill
85796fbd84
Drivers: Distance Sensors: Add proper device IDs
...
Add new DeviceBusType_SERIAL to Device::DeviceId union
Add DRV_DIST_DEVTYPE's for all distance sensors
Change distance_sensor_s.id to distance_sensor_s.device_id
Modify all distance_sensor drivers to apply 'proper' device_id
2021-01-27 17:02:20 -05:00
Daniel Duecker
adf2d2f73a
extend uuv_att_control module by thrust in y/z-direction ( #16642 )
...
* extend uuv_att_control
* add feedthrough thrust_y + thrust_z direction
* extend uuv_att_control
* add feedthrough thrust_y + thrust_z direction
* update formatting
* fix submarine sitl: indicate motor channel range 0..1 or -1..1 in simulation_mavlink.cpp (#16637 )
change motor_count variable to 'pos_thrust_motor_count'
This is more specific to what is actually happening in the code.
'pos_thrust_motors_count' indicates number of motor channels which are configured with 0..1 range (positive thrust) all other motors are configured for -1..1 range
submarine only have motors with -1..1 range.
Thus, pos_thrust_motor_count = 0
Co-authored-by: Thies Lennart Alff <33184858+lennartalff@users.noreply.github.com >
* extend uuv_att_control
* add feedthrough thrust_y + thrust_z direction
* update formatting
Co-authored-by: Thies Lennart Alff <33184858+lennartalff@users.noreply.github.com >
2021-01-27 22:35:24 +01:00
Daniel Agar
c033681c56
uavcannode: add parameter default value
2021-01-27 13:11:41 -05:00
Daniel Agar
1b9d68abd5
parameters: add new param_get_default_value()
2021-01-27 13:11:41 -05:00
Lorenz Meier
2308cb8a40
CUAV CAN GPS support UAVCAN standard/indication/Button.uavcan
...
Co-authored-by: Daniel Agar <daniel@agar.ca >
2021-01-27 10:46:49 -05:00
Jukka Laitinen
5e79773275
Add signing of px4 binary into makefiles
...
When an environment variable "SIGNING_TOOL" is defined, the make will
call this with two filename arguments: <input> and <output>.
The SIGNING_TOOL will read in the binary from input, and append
signature to the output. For example:
SIGNING_TOOL=${PWD}/Tools/cryptotools.py make px4_fmu-v5_default
Will use the example "cryptotools.py" to sign the px4_fmu-v5.bin
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-01-27 08:36:08 +01:00
Jukka Laitinen
0f80296340
Modify cryptotools.py
...
- Append signature in the end of the signee
- Add parameters for output file and rd certificate
- Add a default test key
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-01-27 08:36:08 +01:00
Jukka Laitinen
5c9e7c2581
Add table of contents structure for px4_fmuv5 targets
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-01-27 08:36:08 +01:00
Jukka Laitinen
15ab477e73
Add header file describing px4 image table-of-contents
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-01-27 08:36:08 +01:00
dino
642d20cebe
Added cryptotools.py to support secure bootloader
2021-01-27 08:36:08 +01:00
PX4 BuildBot
124258fb18
Update submodule sitl_gazebo to latest Wed Jan 27 00:46:05 UTC 2021
...
- sitl_gazebo in PX4/Firmware (ab0f761e9f ): https://github.com/PX4/PX4-SITL_gazebo/commit/4048ae60ae4e8bc84840b4878d13e0e685e21b9a
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/46aef29718495d2f668c1648f4c0b0f43b9d9671
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/4048ae60ae4e8bc84840b4878d13e0e685e21b9a...46aef29718495d2f668c1648f4c0b0f43b9d9671
46aef29 2021-01-25 JaeyoungLim - Rename geotagged_images_plugin to camera_manager_plugin (#698 )
38224fb 2021-01-25 Pieter-Jan Dewitte - Pr liftdrag coefficients (#690 )
2021-01-27 06:24:22 +01:00
David Sidrane
ab0f761e9f
uavcan:Beep Repeated tunes are OK
2021-01-26 19:22:14 -05:00
Daniel Agar
53a14e847d
drivers/rc_input: support RC_RSSI_PWM_CHAN
2021-01-26 18:19:52 -05:00
David Sidrane
ab650373d6
cuav gps:Add Beep indication
2021-01-26 17:04:40 -05:00
Daniel Agar
3b26b7adaf
sensors: magnetometer preserve original mag cal offset for status message
2021-01-26 16:04:10 -05:00
Daniel Agar
15cbe8c09a
px4_work_queue: wq:nav_and_controllers increase stack 1730 -> 1760 bytes
2021-01-26 16:03:37 -05:00
Daniel Agar
b422da45ec
boot_app_shared automatically generate UAVCAN bootable image
2021-01-26 10:21:29 -08:00
Daniel Agar
347c185967
UAVCAN bootloader merge duplicate boot_app_shared
2021-01-26 10:21:29 -08:00
Daniel Agar
e656c9c13f
drivers/uavcannode: Add a simple parameter server (simpler version for merging) ( #16649 )
...
* drivers/uavcannode: Add a simple parameter server
Added a simple parameter server using the libuavcan ParamServer class.
The parameter server exposes a selection of PX4 parameters via UAVCAN.
Also, Increased the stack size of the uavcan work queue in order to
prevent a stack overflow.
* uavcannode: fetch all active PX4 parameters
Co-authored-by: Kenneth Thompson <ken@flyvoly.com >
2021-01-26 10:19:20 -08:00
David Sidrane
525361cbc7
uavcannode:Add Indication Controller
2021-01-26 12:05:18 -05:00
Daniel Agar
d1dfa26903
consume all available queued vehicle_commands
2021-01-26 12:00:18 -05:00
Daniel Agar
d5c7e243a9
vehicle_command: increase queue depth 4 -> 8
...
- prevent slower modules from missing commands
2021-01-26 12:00:18 -05:00
Daniel Agar
350ebf5a1f
boards: CUAV CAN GPS flash based parameters
2021-01-26 08:06:54 -08:00
bazooka joe
f45b67af59
re-add boolean attribute to the parameters xml
...
and small cleanup, make Volatile as bool in the internal variable
2021-01-26 08:24:59 +01:00
Daniel Agar
39ef2fd0b7
delete unused struct pwm_output_rc_config
2021-01-25 10:55:57 -05:00
Daniel Agar
75f02d64b6
delete unused PWM_SERVO_SET_SBUS_RATE
2021-01-25 10:55:57 -05:00
Daniel Agar
2b0a047f0c
delete unused DSM_BIND_POWER_UP
2021-01-25 10:55:57 -05:00
Daniel Agar
439c573242
delete unused PWM_SERVO_SET_TRIM_PWM
2021-01-25 10:55:57 -05:00
Daniel Agar
2ff69a4456
delete unused PWM_SERVO_SET_COUNT
2021-01-25 10:55:57 -05:00
Daniel Duecker
f9e07337f8
fix submarine sitl: indicate motor channel range 0..1 or -1..1 in simulation_mavlink.cpp ( #16637 )
...
change motor_count variable to 'pos_thrust_motor_count'
This is more specific to what is actually happening in the code.
'pos_thrust_motors_count' indicates number of motor channels which are configured with 0..1 range (positive thrust) all other motors are configured for -1..1 range
submarine only have motors with -1..1 range.
Thus, pos_thrust_motor_count = 0
Co-authored-by: Thies Lennart Alff <33184858+lennartalff@users.noreply.github.com >
2021-01-25 14:17:24 +01:00
David Sidrane
455f762516
px4_fmu-v6x:Support RC03 HW
2021-01-25 09:18:24 +01:00
honglang
43e1cda8ac
uavcan: add tune_control/beep
2021-01-25 08:38:15 +01:00
PX4 BuildBot
f571b29ae8
Update submodule matrix to latest Sun Jan 24 12:39:24 UTC 2021
...
- matrix in PX4/Firmware (92f2043d8b ): https://github.com/PX4/PX4-Matrix/commit/054f8b12f4da79767df6e05bb1d2cc8d679b99f3
- matrix current upstream: https://github.com/PX4/PX4-Matrix/commit/977cf52322ab3ca93125423a0f9e9b3eca0516d7
- Changes: https://github.com/PX4/PX4-Matrix/compare/054f8b12f4da79767df6e05bb1d2cc8d679b99f3...977cf52322ab3ca93125423a0f9e9b3eca0516d7
977cf52 2021-01-22 Julian Kent - Ignore debug line in code coverage
4837316 2021-01-22 Julian Kent - Fix small inconsistencies and compiler warnings
d540ca5 2021-01-13 Julian Kent - Coerce default epsilon values to Type
2021-01-24 09:21:02 -05:00
Silvan Fuhrer
92f2043d8b
TECS: add EAS_sp to tecs_status.msg and rename other airspeeds to TAS
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-23 09:34:34 -05:00
Silvan Fuhrer
5e32e9be5a
TECS: rename variables and methods to make clear which are EAS and which TAS
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-23 09:34:34 -05:00
Silvan Fuhrer
4922659ef4
FW Position controller: specify in params that the airspeed setpoints are for calibrated airspeed
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-23 09:34:34 -05:00
jinger26
8118886f63
updated roadmap link
2021-01-23 09:32:19 -05:00
David Sidrane
1414c02471
msg:led_control Extend to support 8 LEDS
2021-01-23 09:30:59 -05:00
David Sidrane
7800f94dcb
cuav_can-gps-v1 Use SK6812 Serial PWM LED Driver
2021-01-23 09:30:59 -05:00
David Sidrane
2c4d1d8fe0
Add SK6812 Serial PWM LED DMA Driver
2021-01-23 09:30:59 -05:00
David Sidrane
64531c4521
Add SK6812 Serial PWM LED Driver
2021-01-23 09:30:59 -05:00
David Sidrane
0b85039882
Add Neopixel Driver
2021-01-23 09:30:59 -05:00
David Sidrane
fdba8f1f23
cuav_can-gps-v1:Use corrected pinout
2021-01-23 09:30:59 -05:00
David Sidrane
f7aea05b19
Nuttx with STM32F4412 corrected pinmap
2021-01-23 09:30:59 -05:00
Jaeyoung-Lim
fa5a6cf712
Add option for custom mavlink configuration
...
This commit enables a option for users to add a custom mavlink configuration through rc.mavlink_override
2021-01-22 17:03:09 +01:00
이충경
17ea6f68e2
fix variable name in EKF2Selector ( #16621 )
2021-01-22 15:32:32 +01:00
Silvan Fuhrer
da7f6d06f3
AirspeedSelector: set default of ASPD_DO_CHECKS to 1 and ASPD_FS_INTEG to 5.
...
That enables the sensor checks by default
The default for the innovation check integral of 5 is rather conservative, thus
makeing it less likely to be triggered by accidnet (e.g. due to bad wind estimate).
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
28f9214e56
AirspeedSelector: parameter clean up and disable re-enabling if clear delay negative
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
98d057b8c9
AirspeedValidator: change logic for innovation checks
...
Previously, the logic was not consistent with the description in the params.
It now, if the integral is enabled, declares innovation check failed if
integral is above threshold.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
0c2099e788
AirspeedSelector: improve messaging on airspeed sensor switches
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
aecc0aa0c3
AirspeedSelector: do checks for data stopped in airspeed selector, not validator
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
7132e674d6
AirspeedValidator: Simplify data missing check
...
The data_stopped check should be independent of the innovation
and load factor check.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
083cd6f1c1
AirspeedValidator: remove unnecessary _checks_failing
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
37a49dbb6a
AirspeedValidator: improve readability
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
061fb9ac07
AirspeedSelector: add const
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
cd2c366e22
AirspeedSelector: remove unnecessary reboot required and Experimental comments in params
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
11dbc7e17f
AirspeedSelector: improve description of ASPD_FALLBACK_GW
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
Silvan Fuhrer
0f1207dd7e
AirspeedSelector: improve readability
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-22 14:16:22 +01:00
PX4 BuildBot
1d8808183d
Update submodule ecl to latest Thu Jan 21 17:04:02 UTC 2021
...
- ecl in PX4/Firmware (18bac6aff5 ): https://github.com/PX4/PX4-ECL/commit/99575d73e10aad06eb7d5b6415ea2db4151c5045
- ecl current upstream: https://github.com/PX4/PX4-ECL/commit/b919f3ddf41ab422d09af91eaea2b2f9729fab13
- Changes: https://github.com/PX4/PX4-ECL/compare/99575d73e10aad06eb7d5b6415ea2db4151c5045...b919f3ddf41ab422d09af91eaea2b2f9729fab13
b919f3d 2021-01-21 Paul Riseborough - EKF: Restore protection from extreme innovation values
efb78de 2021-01-21 Paul Riseborough - EKF: Set position fusion gate option false by default
556a195 2021-01-19 Paul Riseborough - EKF: Improve handling of non position mode large position innovations
2021-01-21 12:33:25 -05:00
Daniel Agar
18bac6aff5
ROMFS: posix rcS set EXTRA_MIXER_MODE
2021-01-21 11:26:23 -05:00
Daniel Agar
e0b33ba842
mavlink: temporarily disable ACTUATOR_OUTPUT_STATUS stream by default
...
- the presence of this stream appears to be causing the MAVSDK tests to fail and needs to be investigated
2021-01-21 11:25:42 -05:00
Matthias Grob
7cdb9e9412
MulticopterPositionControl: altitude comment typo
2021-01-21 09:43:12 -05:00
Matthias Grob
4ce4fe05c5
BlockLowPass: initialize state in definition
2021-01-21 09:43:12 -05:00
ArthurLamberticus
82d32c7f3f
mavlink: add ACTUATOR_OUTPUT_STATUS stream
...
Co-authored-by: Lise Prunier <lise.prunier@aerialcoboticus.com >
2021-01-21 09:30:43 -05:00
Matthias Grob
4becf74cbc
.gitmodules: adapt submodule names to repo renaming
2021-01-21 11:52:14 +01:00
Paul Riseborough
b919f3ddf4
EKF: Restore protection from extreme innovation values
2021-01-21 20:55:42 +11:00
Paul Riseborough
efb78deef9
EKF: Set position fusion gate option false by default
2021-01-21 20:55:42 +11:00
Paul Riseborough
556a195320
EKF: Improve handling of non position mode large position innovations
...
These changes fix a bug that allowed IMU gyro errors that cause large tilt errors prior to start of aiding not resulting in large innovation test ratios.
2021-01-21 20:55:42 +11:00
Matthias Grob
65884960fa
Remove ancient submodules
...
that were accidentally added back without URL in #16471
2021-01-21 10:46:29 +01:00
Hamish Willee
bd00aec936
Parameter markdown use page css for layout
2021-01-21 09:08:26 +01:00
Daniel Agar
9a066959d4
delete empty src/lib/DriverFramework
2021-01-20 14:15:49 -05:00
TheLegendaryJedi
64c857562d
Crazyflie v 21 ( #16502 )
...
Build model name fix.
Co-authored-by: TheLegendaryJedi <goncalo.atanasio@gmail.com >
2021-01-20 19:51:45 +01:00
TheLegendaryJedi
dd9b0ded0f
[UPDATE] - Remove duplicate syslink code
2021-01-20 19:51:45 +01:00
TheLegendaryJedi
641665f2e9
[UPDATE] - Workflows and Jenkins CI builds CF21
2021-01-20 19:51:45 +01:00
TheLegendaryJedi
b3d9efedfa
[UPDATE] - Code clean and format
2021-01-20 19:51:45 +01:00
TheLegendaryJedi
e450c5a9d9
[UPDATE] - Crazyflie parameter config
2021-01-20 19:51:45 +01:00
TheLegendaryJedi
40f971c082
[NEW] - bmi088 i2c drivers and crazyflie 2.1 conf
2021-01-20 19:51:45 +01:00
bresch
d7812f83f1
mag_cal: fix race condition causing invalid mag calibration
...
In some cases, the fitness of the optimizer does not shrink at each
iteration, causing the "decreasing fitness check" to fail. This stops
the optimization and returns with sub-optimal, or unrealistic results.
2021-01-20 10:50:35 -05:00
Beat Küng
b190d98d6d
Jenkinsfile: remove dev-guide metadata deployment
...
dev guide got merged with the user guide.
2021-01-20 10:03:00 -05:00
Mathieu Bresciani
8d8b58efc3
Add logging of mag calibration data (mag_worker_data)
...
Co-authored-by: Julian Kent <julian@auterion.com >
2021-01-20 09:44:45 -05:00
Jari van Ewijk
6a32301ed5
Add NXP FMUK66E build to CI
...
This build was not yet available in the CI. We just got the first hardware and are doing the first tests right now. So far most things seem to work.
2021-01-20 05:52:50 -08:00
Hamish Willee
59a1148aec
Modify airframe gen to use html.escape
2021-01-20 00:22:30 +01:00
Hamish Willee
d2eefbf2fb
Escape < and > in maintainer field
2021-01-20 00:22:30 +01:00
AlexKlimaj
386b56fbce
drivers/imu/bosch/bmi088: Add BMI090L accel ID
2021-01-19 15:49:53 -05:00
Ryan Johnston
d22eef9396
boards: mRo Control Zero F7 fix for voltage/current sensing
...
* Rename GPIO_nVDD_BRICK1v to GPIO_VDD_BRICK1
2021-01-19 15:48:17 -05:00
CUAVcaijie
bed77c2988
add notes
2021-01-19 20:42:58 +01:00
CUAVcaijie
297a428cc0
Fix the case where the flight controller is connected to the battery (charge 100), QGC shows no battery
2021-01-19 20:42:58 +01:00
Ryan Johnston
cea8ad4236
Control Zero F7 - RSSI Fix - SBUS Only/PPM Partial
...
This fixes RSSI for the Control Zero F7 but I have noticed that while this works perfectly for SBUS receivers, for PPM receivers it does not decrease the RSSI visual value in QGC when removing the RC transmitter connection.
When a PPM receiver is connected and the connection is lost the autopilot goes into RC Scan Mode (in the RC Update Module) to determine what is connected (even though something already is connected).
The main issue with this is that PPM receivers don't go into RC Failsafe but I don't think it is an issue with this autopilot. It looks to be an issue with the RC Update Module and how it is handled at the module level for non I/O coprocessor autopilots.
Tested with an X8R (SBUS) and a Dragonlink (PPM) as well as a Dragonlink set to SBUS as the output. SBUS worked as intended. See screenshots below.
2021-01-19 20:42:28 +01:00
Daniel Agar
ac8f4e3c48
mc_pos_control: only update constraints if topic updated
...
- update failsafe constraints
2021-01-19 14:44:42 +01:00
Matthias Grob
39b0c7b2bf
battery: report at least one cell for a connected battery
2021-01-18 17:53:17 +01:00
Matthias Grob
d9954ecaf0
lib/magnetometer_bias_estimator: Add library for online magnetometer calibration on the ground
...
Co-authored-by: bresch <brescianimathieu@gmail.com >
2021-01-18 11:44:58 -05:00
Matthias Grob
36d15ada1c
vscode: do not enable smart case search
...
in workspace settings. This comes down to user preference
and there's no particular reason to change this based on the workspace.
I found it confusing to have this non-default behavior
just for PX4 editing.
2021-01-18 11:33:21 -05:00
Daniel Agar
77b21680fb
sync ctrlalloc boards and add to CI
2021-01-18 11:25:37 -05:00
Daniel Agar
311a2bd3e8
update ctrlalloc airframe location
2021-01-18 11:25:37 -05:00
Daniel Agar
3e5e5ab1d5
control_allocator and angular_velocity_controller throttle parameter_update subscription
2021-01-18 11:25:37 -05:00
Beat Küng
c36340d29a
ActuatorEffectivenessMultirotor: set effectiveness to zero when computing the matrix
...
Just to be on the safe side.
2021-01-18 11:25:37 -05:00
Beat Küng
212ec821b1
control_allocator: set unused actuators to trim instead of min
2021-01-18 11:25:37 -05:00
Beat Küng
3606f86518
control_allocator: ensure unused outputs are initialized to min
...
Mostly important in cases where the ouputs would change (e.g. param change)
2021-01-18 11:25:37 -05:00
Beat Küng
3dad79d8f5
control_allocator: inline one-line setters & getters
2021-01-18 11:25:37 -05:00
Beat Küng
164511a7b5
control_allocator: avoid vector copies and sqrt()
2021-01-18 11:25:37 -05:00
Beat Küng
0e66b0876b
control_allocator: change SequentialDesaturation to existing MC mixer
...
And limit the operations to the number of configured outputs.
Only using the number of configured actuators reduces CPU load by ~2% on
F7 @1khz.
2021-01-18 11:25:37 -05:00
Beat Küng
308f614735
refactor control_allocator: directly get the effectiveness matrix when updated
...
Reduces stack + RAM usage
2021-01-18 11:25:37 -05:00
Beat Küng
38782029ad
fix control_allocator: set _last_run at the correct place
2021-01-18 11:25:37 -05:00
Beat Küng
0e86ab47f6
fix control_allocator: use 'delete' instead of 'free', guard against out-of-memory
2021-01-18 11:25:37 -05:00
Beat Küng
066464c4e8
control_allocator: remove unused _task_start
2021-01-18 11:25:37 -05:00
Beat Küng
25f3fe8456
fix control_allocator_status: torque_setpoint_achieved and thrust_setpoint_achieved are bool
2021-01-18 11:25:37 -05:00
Julien Lecoeur
343cf5603e
initial control allocation support
...
- control allocation module with multirotor, VTOL standard, and tiltrotor support
- angular_velocity_controller
- See https://github.com/PX4/PX4-Autopilot/pull/13351 for details
Co-authored-by: Silvan Fuhrer <silvan@auterion.com >
Co-authored-by: Roman Bapst <bapstroman@gmail.com >
2021-01-18 11:25:37 -05:00
Julian Kent
fc6b61dad1
Try 'min' for units
2021-01-18 16:26:53 +01:00
Julian Kent
d99d52960e
Fix default _rtl_xxx values
2021-01-18 16:26:53 +01:00
Julian Kent
d965f1cbc0
Add rtl_flight_time message
2021-01-18 16:26:53 +01:00
Julian Kent
5a9fe312b5
Fix test failure on rebase: set lpos valid
2021-01-18 16:26:53 +01:00
Julian Kent
af8d178ae5
Fix spurious RTL triggers
...
Two sources:
1. global to local conversion was sometimes giving issues, so do everything in global
2. on startup the RTL didn't check if the home position was valid before processing it
2021-01-18 16:26:53 +01:00
Julian Kent
b5f0a7ea03
Fix RangeRTL test
2021-01-18 16:26:53 +01:00
Julian Kent
5500a84b6a
Add timestamp to RTL message
2021-01-18 16:26:53 +01:00
Julian Kent
f169247bc2
Add RTL topics to ulog default profile
2021-01-18 16:26:53 +01:00
Julian Kent
67082ccb2b
Test the vehicle type parameter usage
2021-01-18 16:26:53 +01:00
Julian Kent
100c64c790
Test the navigator side, and fix another trig edge case
2021-01-18 16:26:53 +01:00
Julian Kent
a736ba2435
Minor tweak in wind handling
2021-01-18 16:26:53 +01:00
Julian Kent
e847ef1a4d
Add trig tests for wind calculations, and fix bugs / edge cases
2021-01-18 16:26:53 +01:00
Julian Kent
7482413005
Add Range-based RTL
2021-01-18 16:26:53 +01:00
Ricardo Marques
e817fb83f5
pwm_extra: Add PWM_EXTRA parameters.
...
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com >
2021-01-18 15:43:28 +01:00
Ricardo Marques
7a8203bf19
Enable third mixer when using UAVCAN for main mixer.
2021-01-18 15:43:28 +01:00
Matthias Grob
02c0f08060
flashfs: fix alignment ambiguity
...
Instead of ignoring the warnings.
Thanks to @Ole2mail and @yuhaim for the suggestions.
2021-01-18 14:19:29 +01:00
TSC21
920d6d84b5
rtps: increase non-alias ID range by reducing the alias space ID
2021-01-18 09:33:14 +01:00
TSC21
54486b995e
uorb_rtps_message_ids: add required topics to enable offboard control from DDS
2021-01-18 09:33:14 +01:00
Daniel Agar
dab90f86a4
drivers/gps: limit to ublox only flash constrained targets
2021-01-18 09:30:01 +01:00
Ricardo Marques
78c05275d2
tailsitter: Fix differential thrust in FW mode.
...
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com >
2021-01-18 09:04:27 +01:00
Daniel Agar
e4d223f098
boards: CUAV Nora fix BMI088 orientation
2021-01-17 23:19:18 -05:00
Daniel Agar
1ec10bfcc6
boards: disable CONFIG_ARMV7M_LAZYFPU again ( #16573 )
...
- this was causing hard faults on the CUAV Nora and possibly other boards, disabling everywhere until we fully understand the root cause
2021-01-17 22:40:21 -05:00
Daniel Agar
3abe2e82d1
mpu9250: create dedicated i2c version and delete legacy driver
...
- update crazyflie and bbblue usage
- eventually this should be merged with the SPI version after interface
changes are made
2021-01-17 16:11:19 -05:00
Daniel Agar
c9a7894230
boards: bitcraze crazyflie fix boot
...
- add console to USART3 for now
2021-01-17 16:11:19 -05:00
David Jablonski
2ed48f041c
mavlink: Templated SCALED_IMU mavlink stream
2021-01-17 12:32:51 -05:00
Matthias Grob
031bbb7f3e
FlightModeManager: handle commands all the time
...
Moving the command handling to a separate function that gets called
whenever a vehicle command is available to always react on commands
and not just when already a task is running.
This solves e.g. commanding an Orbit when in Staibilized.
2021-01-17 15:46:30 +01:00
Matthias Grob
df54f938ef
FlightModeManager: correct setpoint struct initialization
...
It is important that setpoints get initialized with NAN and not overwritten
if specifically set by a successful flight task execution. It's then
clear if any setpoints were intentionally and successfully set.
Crucial for the position controller's emergency failsafe and the
seamless setpoint handover to the next flight task.
2021-01-17 15:46:30 +01:00
Matthias Grob
63db61a700
FlightModeManager: correct acceleration setpoint feedback naming
...
The variable was never renamed correctly in this in between layer when
we switched from normalized thrust to acceleration setpoints.
2021-01-17 15:46:30 +01:00
Daniel Agar
4d7b875ee2
flight_mode_manager: merge with flight_tasks
2021-01-17 15:46:30 +01:00
RomanBapst
b1e442b830
vehicle_local_position: added bitfield for terrain estimate sensor info
...
- indicate how the distance to the bottom is estimated as this is important
to know in the context
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-17 12:06:59 +01:00
bresch
eaa2ae9dc9
ekf2: add param to enable synthetic mag Z fusion mode
2021-01-17 12:06:59 +01:00
bresch
983234e29d
ekf2: add param to set rng check hysteresis
2021-01-17 12:06:59 +01:00
Silvan Fuhrer
195a900ecf
change default of RTL_LAND_DELAY to 0
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-17 12:05:30 +01:00
Silvan Fuhrer
037c821142
ROMFS: increase max distance between waypoints for VTOL and FW to 5km
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-17 12:05:30 +01:00
JacobCrabill
8e8497ff77
heater: px4io: Add support for heaters on IO MCU
2021-01-17 12:03:53 +01:00
Jaeyoung-Lim
653fef56de
Update sitl_gazebo
2021-01-17 11:18:11 +01:00
Jaeyoung-Lim
af1b4c473e
Start user camera plugin
...
This commit starts the gazebo_user_camera_plugin together with the gzclient, so that it is always following the vehicle
2021-01-17 11:18:11 +01:00
Matthias Grob
8a7878f65c
arch.sh: update zsh support, latest ARM GCC, gazebo AUR
2021-01-17 10:58:39 +01:00
Silvan Fuhrer
cee4016665
Preflight checks: Airspeed checks update
...
-check for valid airspeed_validated (declared valid plus updated less than 1s ago)
-added param (COM_ARM_ARSP_EN) to enable/disable check for max airspeed for arming set max
airspeed limit to half of stall airspeed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-16 10:26:55 -05:00
Can Berk Durmus
ba9611621d
Retune Typhoon H480 PID
2021-01-16 09:32:09 +01:00
David Sidrane
1c0ed74d6a
platforms/nuttx/NuttX/nuttx net backports
2021-01-15 11:44:21 -08:00
Beat Küng
ade3871bee
adc: add support for multiple sensor voltage channels
2021-01-15 10:57:20 -05:00
Beat Küng
e2337a34eb
system_power: add comp_5v_valid and can1_gps1_5v_valid
...
And fill it in from the v5x GPIO expander.
2021-01-15 10:57:20 -05:00
Beat Küng
704a82aaa6
gpio: extend support for /dev/gp* GPIO's
...
Note that there's a small CLI interface change.
2021-01-15 10:57:20 -05:00
Beat Küng
88fe047556
px4/v5x: enable mcp23009 GPIO driver
2021-01-15 10:57:20 -05:00
Beat Küng
3e4b8763a5
nuttx: add mcp23009 gpio driver
2021-01-15 10:57:20 -05:00
Beat Küng
e1983381e7
rcS: add SYS_PARAM_VER to param reset_all exception list
...
Avoids an extra reboot when resetting the airframe
2021-01-15 10:57:20 -05:00
Matej Frančeškin
ba6a8080ea
mavlink: don't respond to MAV_CMD_REQUEST_MESSAGE if component doesn't match
...
PX4 is responding with NACK to MAV_CMD_REQUEST_MESSAGE from a GCS to
payload-manager which confuses a GCS.
PX4 shouldn't respond to commands that are not broadcasted or specificaly
addressed to it.
2021-01-15 10:57:20 -05:00
Beat Küng
26e8c231b0
v5x,v6x: move mtd_caldata after mtd_id partition
...
to avoid losing factory calibration params on existing setups
2021-01-15 10:57:20 -05:00
Lorenz Meier
a282f3df8d
CLI test: Disable by default on NuttX
...
First target is to enable this for POSIX tests and then later to roll them out to NuttX.
2021-01-15 10:57:20 -05:00
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
David Sidrane
1e7dfe227a
stm32_common:board_hw_rev_ver Use Analog resistor detection
...
When the VER_DRIVE and REV_DRIVE are the same GPIO
we need to use Analog detection.
2021-01-15 10:57:20 -05:00
Jakub Kákona
b87dd317d4
airframes: add new airframe for ThunderFly TF-G2 autogyro ( #16551 )
...
Co-authored-by: Roman Dvorak <romandvorak@mlab.cz >
2021-01-15 13:54:17 +01: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
420ceb76fc
cmake: NuttX generated vscode launch.json requires DEBUG_DEVICE found
2021-01-14 10:32:26 -05:00
SalimTerryLi
1ee98417f8
scumaker pilotpi updates
...
* replace default mag with qmc5883l
* fix rotation and quiet startup
* fixedwing script & Multi-EKF cfg
* set default params only when initial startup
2021-01-14 09:16:13 -05:00
Daniel Agar
52b07a932a
github actions build and store cannode uavcan firmware
2021-01-14 08:52:38 -05:00
RomanBapst
96dfa7fc71
ROMFS: set cruise throttle correctly for all gazebo vtol configs
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-14 09:58:37 +03:00
Silvan Fuhrer
0633c3956f
ROMFS: improve tuning of tailsitter VTOL SITL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-14 09:58:37 +03:00
Silvan Fuhrer
6104fe8932
ROMFS: improve tuning of tiltrotor VTOL SITL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-14 09:58:37 +03:00
Silvan Fuhrer
2ce310925c
ROMFS: improve tuning of standard VTOL SITL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-14 09:58:37 +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
d8e8e23947
vscode: add cuav_can-gps-v1_canbootloader variant
2021-01-13 22:06:46 -05:00
Daniel Agar
58909b208d
boards: cuav can-gps-v1 add safety button and LED
2021-01-13 22:06:46 -05:00
Daniel Agar
a894ca30e8
cmake: add STM32F412CE debug helper
2021-01-13 22:06:46 -05:00
David Sidrane
529841ba7c
make_can_boot_descriptor:Get padding math correct
2021-01-13 22:06:46 -05:00
David Sidrane
1ac70cc72f
can-gps-v1:Correct Memory size used by app and bootloader size
2021-01-13 22:06:46 -05:00
David Sidrane
d04216aa48
Nuttx with stmf412 fixes
2021-01-13 22:06:46 -05:00
David Sidrane
618bd5978a
can-gps-v1:canbootloader SAFETY is GETNODEINFO_JUMPER
2021-01-13 22:06:46 -05:00
David Sidrane
2deef30d12
canbootloader:Add 48Mhz CAN Clock Settings
2021-01-13 22:06:46 -05:00
David Sidrane
177109a1af
can-gps-v1:LED Trimming
2021-01-13 22:06:46 -05:00
David Sidrane
54abd997de
canbootloader:Update to use NuttX
2021-01-13 22:06:46 -05:00
David Sidrane
271f87f8d2
canbootloader:Fixed Warning
2021-01-13 22:06:46 -05:00
David Sidrane
238c28d458
SK6812 Led driver
2021-01-13 22:06:46 -05:00
David Sidrane
85bd04f0c7
can-gps-v1:canbootloader Fixed
2021-01-13 22:06:46 -05:00
David Sidrane
3e08fd6682
can-gps-v1: Removed GPIO_CAN_CTRL
2021-01-13 22:06:46 -05:00
David Sidrane
c2c92cb2c8
can-gps-v1: Added LED pin
2021-01-13 22:06:46 -05:00
David Sidrane
cdae8bf168
can-gps-v1:Fixed Clock
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
47364ce8d6
updated tuning for gazebo plane airframe config
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03: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
Silvan Fuhrer
b230bbfe88
ROMFS: remove outdated TECS parameter from configs
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.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
xdwgood
cabb50a67b
13001_caipirinha_vtol:Ensure that the max/min pwm changes take effect
2021-01-13 11:32:01 +01: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
Daniel Agar
7f5fae91b0
boards: mro ctrl zero f7 fix default power module calibration
2021-01-12 16:51:05 -05:00
Jaeyoung-Lim
16b1b220fd
Fix roslaunch multivehicle regression caused by #16497
2021-01-12 21:19:36 +01:00
Beat Küng
daaf8b61dc
drivers: remove ism330dlc
...
not used anymore
2021-01-12 09:55:59 -05:00
Beat Küng
9f5dee2ecf
v5x/v6x: update IMU sensors (remove ISM330DLC)
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
TSC21
7c95e99156
tools: make sure that uORB type names found as part of field names are not capitalized as ROS types
2021-01-12 09:05:59 +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
Daniel Agar
70e503cb91
rotation: use Dcmf for all rotations that aren't direct swaps
...
- increase optimization to ${MAX_CUSTOM_OPT_LEVEL} (max per board)
2021-01-10 18:08:41 -05:00
TSC21
06b733bb86
msg: rtps: improve verbosity when the the client is not capable of parsing a specific ID
2021-01-10 22:22:22 +01:00
TSC21
3f1c303b16
msg: rtps: improve verbosity when the the agent is not capable of parsing a specific ID
2021-01-10 22:22:22 +01:00
bazooka joe
9b9163813d
avoid re-initiate RTL or land in battery emergency
...
if the mode is already running
2021-01-10 21:19:52 +01:00
Nicolas de Palezieux
6260c164e7
fmu v4: make starting mavlink on WIFI port configurable and make it start by default
2021-01-10 21:16:02 +01:00
Nicolas de Palezieux
653b7c0007
fmu v4: add option to run DShot telemetry on UART usually used for the ESP WIFI module
2021-01-10 21:16:02 +01:00
Matthias Grob
3cc8e7a210
commander_params: Make multicopter only COM_RC_OVERRIDE more visible
2021-01-10 21:12:09 +01:00
TSC21
cef3d36af2
simulator: delete PublicationMulti ptrs for sensor_gps
2021-01-10 19:58:54 +01:00
Daniel Agar
f73d93ef6c
ekf2: selector improve status reporting
...
- publish estimator_selector_status at minimal rate or immediately on change
- log all estimator_selector_status updates
2021-01-10 19:25:53 +01:00
Matthias Grob
2fc212e064
geofence_params: clarify EKF vs baro altitude source
2021-01-10 18:40:58 +01:00
Hamish Willee
d5c8d0a233
GF_ALTMODE: Update in line with Lorenz feedback
2021-01-10 18:40:58 +01:00
Hamish Willee
d43444fce7
geofence: GF_ALTMODE clarification
2021-01-10 18:40:58 +01:00
Muesli_Reep
fe7908feb0
Simulator: Added remote host option ( #15443 )
...
* Added an option to the Simulator module to connect to remote Gazebo servers.
This is usefull when the Gazebo simulation is running on a different host than the PX4 instance.
For example, we are running instances of PX4 with a companion application in multiple Dockers, for swarming simulations, which then connect to a remote Gazebo server.
A "-t" input argument has been added and can be called from the rcS startup script as: simulator start -t "192.168.178.122" $simulator_tcp_port
* _tcp_remote_ipaddr defaults to nullptr. This way testing against nullptr it can be determined if localhost or remote host is desired by the user.
* Documented the option in usage().
Signed-off-by: Peter Blom <peterblom.mail@gmail.com >
2021-01-10 18:37:37 +01:00
Daniel Agar
763c3b8fda
boards: start enabling multi-EKF by default on F7/H7
2021-01-10 17:56:34 +01:00
Jaeyoung-Lim
b3257c0bf2
Support relative altitude for offboard global position setpoints
...
Previously the coordinate_frame flag for setpoint_target_global_int message was not handled, resulting in the vehicle to not handle altitude correctly. This commit handles the relative altitude correctly.
2021-01-10 17:54:53 +01:00
Daniel Agar
662f177830
ekf2: multi instance numbering consistent with uORB publication instances
2021-01-09 13:20:26 -05:00
Daniel Agar
c3fc96fd42
uORB::PublicationMulti add get_instance()
2021-01-09 13:20:26 -05:00
PX4 BuildBot
0398a936e3
Update submodule ecl to latest Sat Jan 9 16:06:23 UTC 2021
...
- ecl in PX4/Firmware (c6af260a41 ): https://github/commit/c212975abe83bf462bc512288ba30358f9a17865
- ecl current upstream: https://github/commit/99575d73e10aad06eb7d5b6415ea2db4151c5045
- Changes: https://github/compare/c212975abe83bf462bc512288ba30358f9a17865...99575d73e10aad06eb7d5b6415ea2db4151c5045
99575d7 2021-01-09 Paul Riseborough - EKF: Add bad accel bias checking for EV and range finder height use cases
ff3c0a6 2021-01-08 Paul Riseborough - EKF: Fix bug preventing recovery from bad delta velocity bias estimates
c25c97f 2021-01-08 priseborough - [AUTO COMMIT] update change indication
9641810 2021-01-08 Paul Riseborough - test: Allow for larger vel variance growth due to dvel bias variance
1b1c049 2021-01-08 Paul Riseborough - test: Update unit test to match expected behaviour
dd259a2 2021-01-07 Paul Riseborough - EKF: Don't modify accel bias states and variances when inhibited
3e1f2d8 2021-01-07 Paul Riseborough - EKF: Set dvel bias variance to stored value when state is inactive
2021-01-09 12:57:25 -05:00
Daniel Agar
c6af260a41
log_message increase queue depth 2->4
2021-01-09 11:04:32 -05:00
Paul Riseborough
99575d73e1
EKF: Add bad accel bias checking for EV and range finder height use cases
2021-01-09 11:03:31 -05:00
Paul Riseborough
ff3c0a6136
EKF: Fix bug preventing recovery from bad delta velocity bias estimates
2021-01-09 11:03:31 -05:00
priseborough
c25c97f8b5
[AUTO COMMIT] update change indication
2021-01-09 11:03:31 -05:00
Paul Riseborough
96418101e1
test: Allow for larger vel variance growth due to dvel bias variance
2021-01-09 11:03:31 -05:00
Paul Riseborough
1b1c049e81
test: Update unit test to match expected behaviour
2021-01-09 11:03:31 -05:00
Paul Riseborough
dd259a288f
EKF: Don't modify accel bias states and variances when inhibited
2021-01-09 11:03:31 -05:00
Paul Riseborough
3e1f2d8674
EKF: Set dvel bias variance to stored value when state is inactive
2021-01-09 11:03:31 -05:00
Jaeyoung-Lim
d42e57a066
Update sitl_gazebo to latest
...
This PR updates sitl_gazebo to latest
2021-01-08 21:33:22 -05:00
Daniel Agar
b9a721726d
sensors/vehicle_magnetometer: respect calibration offset update success
...
- the magnetometer calibration offset setter returns false if the new offset change is negligible
2021-01-08 15:34:48 -05:00
Mohamed Abdelkader Zahana
80dd841cad
Update launch files to enable multi-video stream in SITL ( #16497 )
...
* Update launch files to support multi-video stream in SITL
* Pass extra args to jinja_gen.py inside gazebo_sitl_multiple_run.sh to enable multi-video streaming
2021-01-08 19:29:47 +01:00
Silvan Fuhrer
706f806943
VTOL: standard VTOL and Tiltrotor manual MC throttle during transition
...
This sets the throttle of the Multicopter actuators to the throttle stick position
while in Stabilized, Acro or Manual mode.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-08 10:28:00 +01:00
xdwgood
802c68a62e
Do not run transition flight task when not enable altitude control
2021-01-08 10:28:00 +01:00
Daniel Agar
bf330a51b2
sensors/vehicle_magnetometer: reduce offset update message length to fit
2021-01-08 01:22:31 -05:00
Thies Lennart Alff
eb60479e4c
UUV introduce param to skip controller ( #15706 )
...
* added skip_ctrl param to uuv
* fixed formatting
2021-01-08 06:50:40 +01:00
PX4 BuildBot
064511c2df
Update submodule flightgear_bridge to latest Fri Jan 8 00:39:45 UTC 2021
...
- flightgear_bridge in PX4/Firmware (168468c12a ): https://github.com/PX4/PX4-FlightGear-Bridge/commit/44b51d5b1ccc6679e82090e24177ed73a3d4f5de
- flightgear_bridge current upstream: https://github.com/PX4/PX4-FlightGear-Bridge/commit/7c2c623da9f5dcb3f01d32830af1a2ed958de363
- Changes: https://github.com/PX4/PX4-FlightGear-Bridge/compare/44b51d5b1ccc6679e82090e24177ed73a3d4f5de...7c2c623da9f5dcb3f01d32830af1a2ed958de363
7c2c623 2021-01-06 slimonslimon - Switch Ign-math to Eigen3 (#5 )
2021-01-07 21:21:02 -05:00
PX4 BuildBot
168468c12a
Update submodule ecl to latest Thu Jan 7 12:50:52 UTC 2021
...
- ecl in PX4/Firmware (c999734463c9b23c6b56670d5242ca4496f9e6ef): https://github/commit/03fed323ab950125114eb34309d3a79119e572ee
- ecl current upstream: https://github/commit/c212975abe83bf462bc512288ba30358f9a17865
- Changes: https://github/compare/03fed323ab950125114eb34309d3a79119e572ee...c212975abe83bf462bc512288ba30358f9a17865
c212975 2021-01-06 bresch - rng height: reset to baro using common logic
2021-01-07 12:08:21 -05:00
Daniel Agar
88f8da27ef
save learned mag bias per sensor (Multi-EKF support)
...
- handle saving the mag bias per sensor (across all estimator instances using that mag) in sensors/vehicle_magnetometer
- this is now saving back to the actual mag calibration CAL_MAGn_OFF{X,Y,Z}
- ekf2 reset mag mag bias on any magnetometer or calibration change
- use Kalman filter scheme to update stored mag bias parameters using all available bias estimates for that sensor
Co-authored-by: Paul Riseborough <gncsolns@gmail.com >
2021-01-07 09:54:13 -05:00
Matthias Grob
537ee5b19b
FlightTaskOrbit: smooth yaw like in missions
2021-01-07 13:31:05 +01:00
Matthias Grob
44606ca872
FlightTaskOrbit: further simplify circling yaw setpoint calculation
...
The whole angle adding and pi wrap was just necessary because the
correct atan2 arguments were never completely thought through.
2021-01-07 13:31:05 +01:00
Matthias Grob
f435bea57c
state_machine_helper: orbit failsafe just with data link loss
...
RC is like the comment says not required.
2021-01-07 13:31:05 +01:00
Matthias Grob
6b8fa417e1
SlewRate: Add SlewRateYaw handling [-pi,pi] wraps
2021-01-07 13:31:05 +01:00
bresch
c212975abe
rng height: reset to baro using common logic
...
The failsafe from rng height to baro height should occur after a reset
to baro triggered by the controlHeightSensorTimeouts function and not in
the fusion selector.
Until now, the EKF was fusing baro measurements between rng updates if
the range finder ODR was slower than the EKF update rate. This is not
the case anymore as the height reset occurs after 5 seconds.
The unit test has been extended to show this behavior.
2021-01-07 10:07:57 +01:00
Daniel Agar
6c9072720e
invensense/icm42688p: use full 20 bit data, increase ODR, disable all filters
2021-01-06 17:03:39 -05:00
Jaeyoung-Lim
d2b0f63e1f
Handle offboard mode with acceleration setpoints
...
The case when acceleration setpoints were being passed in offboard mode was triggering control_climbrate_mode. This prevented the vehicle from taking off, since it made the vehicle skip the rampup phase of the takeoff
This commit fixes this by handling the case properly
2021-01-06 20:38:18 +01:00
garfieldG
3fb8f5df62
drivers/lsm303agr: fixed bug incorrectly assembling signed 16 bit integer from bytes
2021-01-05 21:37:08 -05:00
PX4 BuildBot
01e3f0d586
Update submodule matrix to latest Tue Jan 5 12:40:51 UTC 2021
...
- matrix in PX4/Firmware (fd97e28019fa9c665d9b3c6995098dd51b4ab022): https://github/commit/15e54ceda176f05e1ae38e71692d15cafb9e3a62
- matrix current upstream: https://github/commit/054f8b12f4da79767df6e05bb1d2cc8d679b99f3
- Changes: https://github/compare/15e54ceda176f05e1ae38e71692d15cafb9e3a62...054f8b12f4da79767df6e05bb1d2cc8d679b99f3
054f8b1 2021-01-04 Julian Kent - Use a single inverse implementation for a single matrix size
2021-01-05 19:24:42 -05:00
PX4 BuildBot
ff82911d86
Update submodule ecl to latest Tue Jan 5 12:40:47 UTC 2021
...
- ecl in PX4/Firmware (824f78466ac4e32aecd6bda785e95eb348e1b31e): https://github/commit/78ce46f00777f07d24c31bdc5e2edb203be2c0f4
- ecl current upstream: https://github/commit/03fed323ab950125114eb34309d3a79119e572ee
- Changes: https://github/compare/78ce46f00777f07d24c31bdc5e2edb203be2c0f4...03fed323ab950125114eb34309d3a79119e572ee
03fed32 2021-01-05 Paul Riseborough - EKF: Fix formatting
31fca9c 2021-01-05 Paul Riseborough - EKF: Update GPS loss message
c65cf13 2020-12-15 Paul Riseborough - EKF; Treat combined sideslip and airspeed as a horizontal aiding source
211c84c 2021-01-04 bresch - Rng finder unit test: cover "un-stuck" logic
2021-01-05 19:23:25 -05:00
Paul Riseborough
64ed96bd95
ekf2: Correct airspeed used by EKF for calibration errors
2021-01-05 19:22:53 -05:00
Daniel Agar
b94e346488
Update submodule sitl_gazebo to latest Tue Jan 5 12:40:40 UTC 2021 ( #16493 )
...
- sitl_gazebo in PX4/Firmware (850d0bc588 ): https://github.com/PX4/PX4-SITL_gazebo/commit/054e0a1be67b715ca1802397082e7814a1427f52
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/44de4acc3f9cf9e44db58006f99ea190d217017a
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/054e0a1be67b715ca1802397082e7814a1427f52...44de4acc3f9cf9e44db58006f99ea190d217017a
44de4ac 2021-01-02 Lorenz Meier - Update README.md
Co-authored-by: PX4 BuildBot <bot@px4.io >
2021-01-05 19:34:11 +01:00
Paul Riseborough
03fed323ab
EKF: Fix formatting
2021-01-05 21:08:28 +11:00
Paul Riseborough
31fca9c31d
EKF: Update GPS loss message
2021-01-05 21:08:28 +11:00
Paul Riseborough
c65cf13bb8
EKF; Treat combined sideslip and airspeed as a horizontal aiding source
2021-01-05 21:08:28 +11:00
bresch
211c84c85b
Rng finder unit test: cover "un-stuck" logic
2021-01-05 20:04:17 +11:00
Silvan Fuhrer
850d0bc588
vtol_type: remvoe const from function declaration
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-04 15:32:00 +01:00
RomanBapst
0871f0f52d
vtol: refactor of maximum pwm value settings for main and alternate motors
...
- main motors are the ones which are meant to be used as propulsion in fw mode
- alternate motors are the ones usually meant to be switched off in fw mode
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 15:32:00 +01:00
Daniel Agar
bc1e9f72f7
Jenkins hardware temporarily remove px4_fmu-v2
2021-01-04 09:30:47 -05:00
Silvan Fuhrer
92634e7549
RTL: during climb, set NAV_CMD_WAYPOINT for RW modes, NAV_CMD_LOITER_TO_ALT for FW
...
Do not use LOITER_TO_ALT for rotary wing mode as it would then always climb to
at least MIS_LTRMIN_ALT, even if current clib altitude is below
(e.g. RTL immediately after take off)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-04 11:58:16 +01:00
Silvan Fuhrer
0b86c11c66
FW POS: remove setting of curr_sp to LOITER if next wp invalid
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-04 11:58:16 +01:00
Silvan Fuhrer
55a1d090a1
RTL: use NAV_CMD_LOITER_TO_ALT for Climb state
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-04 11:58:16 +01:00
RomanBapst
68f27ba7b7
navigator: deactivate line following after backt-ransition and before landing
...
- especially when there are strong winds it's better to just go straight
to the landing point instead of trying to follow the planned path
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
b63f756745
navigator: don't execute land pattern if vtol in rotary wing mode
...
- if vtol and in rotary wing mode then don't execute the mission landing
because it's designed to be flow as a fixed wing
- if vtol and in rotary wing mode and mission land is available then fly directly
to landing point and don't go home!
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
6c3f413379
mission: reset work_item_type during mission inactivation
...
- this fixes a race condition which happens when an RTL is triggered
during the final approach of a mission landing. In that case the mission inactive
method is never called.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
b63f202b3c
various fixed for bugs encountered during testing
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
cfb3cdc82f
rtl: use math namespace
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
94d3ab28ee
rtl: fixed computation of return altitude when mission landing is available
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
12875f7869
mission: when land start marker present, look for loiter to altitude item
...
instead of using the previous waypoint as landing target
- the previous waypoint could be miles away
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
e0c394a00b
mission: fixed bug in computation of landing altitude
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
a4a03e86da
mission: be more intelligent about saying that we are on a mission landing
...
- previously the decision of being on a landing pattern was taken by just
looking at the current mission index. However, even if the current mission
index indicates a landing pattern the vehicle could be at an arbitrary location, far
from being established on the pattern.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
29c3ce6d5d
reworked RTL cone implementation
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
dad5ce1e41
rtl: set proper acceptance radius for move_to_land item
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
6ff95ae645
RTL: implement proper RTL sequence for VTOL
...
- descend to RTL descend altitude
- transition
- move to land waypoint
- loiter and then land
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
197a21a22e
rtl: for fixed wing (also vtol) make the descend state of RTL use type
...
NAV_CMD_LOITER_TO_ALT
- this allows vtol to track the loiter circle during the transition instead
of trying to fly to the landing position
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
bb2826ad27
rtl: for vtol first desend down to RTL descend altitude before doing a transition
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
RomanBapst
e81d5daa66
rtl: if very close to home then do not descend if higher than RTL_DESCEND_ALT
...
before reaching home
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-04 11:58:16 +01:00
Silvan Fuhrer
7c727edc3f
Simple mixer: add output slew rate
...
This adds the option to limit the rate of change (slew rate) of an output that's mixed by a simple mixer.
To enable it, a positive number has to be added at the end (6th number) of the output scaler line of the mixer,
specifying the min rise time of this output.
E.g. O: 10000 10000 0 -10000 10000 20000 for a rise time of 2s, resp. a max slew rate of 0.5s^-1.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-04 11:32:22 +01:00
Daniel Agar
98cff94702
px4_work_queue: directly support SITL lockstep
...
- the purpose is to ensure that every WorkItem (and WorkItems scheduled
by WorkItems) is allowed to run to completion every step
- per workqueue register a lockstep component whenever a work item is
added (if not already registered)
- once the work queue is empty unregister component
2021-01-04 09:38:05 +01:00
PX4 BuildBot
8c71ecd97e
Update submodule ecl to latest Sat Jan 2 12:39:29 UTC 2021
...
- ecl in PX4/Firmware (03925cc70fd13c15a5dfe8ecc5653b91098ac68d): https://github/commit/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef
- ecl current upstream: https://github/commit/78ce46f00777f07d24c31bdc5e2edb203be2c0f4
- Changes: https://github/compare/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef...78ce46f00777f07d24c31bdc5e2edb203be2c0f4
78ce46f 2020-12-19 Kamil Ritz - Removing Matlab derivation
2021-01-02 11:54:56 -05:00
RomanBapst
d502292d07
mission: for vtol takeoff don't use next waypoint as target during transition
...
- this caused the navigator to use the next waypoint (after the vtol takeoff item)
to be used as target during the transition. If the altitude of that waypoint
was much higher than the takeoff altitude then there were FOH effects
after the transition which caused the vehicle to first descend before
climbing again.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-02 02:18:59 +01:00
PX4 BuildBot
a1b81df445
Update submodule sitl_gazebo to latest Fri Jan 1 12:39:16 UTC 2021
...
- sitl_gazebo in PX4/Firmware (a444d2610a ): https://github.com/PX4/PX4-SITL_gazebo/commit/ca6c738fff30c516a5d2b9866ad268826a9ff0ff
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/054e0a1be67b715ca1802397082e7814a1427f52
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/ca6c738fff30c516a5d2b9866ad268826a9ff0ff...054e0a1be67b715ca1802397082e7814a1427f52
054e0a1 2021-01-01 pjdewitte - Jinja generation: add protection against accidental overwriting (#682 )
869225e 2020-12-31 JaeyoungLim - Fix lightsource for high fidelity worlds (#680 )
2021-01-01 21:57:05 +01:00
Kamil Ritz
78ce46f007
Removing Matlab derivation
2021-01-02 06:29:11 +11:00
Lorenz Meier
0bdae5745a
Update dsm.cpp
...
Fix documentation comment (reported by @Roman-, thanks!)
2021-01-01 15:30:25 +01:00
Lorenz Meier
9409122638
RC tests: Add new test file
...
This file is using a PX4IO-bound receiver on a DX9
2021-01-01 14:26:36 +01:00
Lorenz Meier
8d6239f11f
PX4IO: Use DSM frame drops
...
These will now be reported the same as on SBUS.
2021-01-01 14:26:36 +01:00
Lorenz Meier
47fcf97442
DSM: Report frame drops
...
Frame drops were measured but not reported on PX4IO.
2021-01-01 14:26:36 +01:00
Lorenz Meier
00e6d11dfa
PX Uploader: Disable windowed mode
...
The windowed mode has been added for Windows targets originally. It gets very often incorrectly detected and slows down flashing considerably. This even applies to serial links. We are disabling it now in most circumstances.
2021-01-01 14:26:36 +01:00
Daniel Agar
95dd2f7e8d
rc/dsm: remove system field check, add new validity checks
...
- unfortunately we can't depend on the system field due to potential
external binding and non-genuine Spektrum equipment
- reject any DSM frame with duplicate channels
- add 16 channel mask
- tighten valid PWM range 990-2010us (±100% travel is 1102-1898µs)
- update RCTest rejected frame count
2021-01-01 14:26:36 +01:00
Daniel Agar
d7b89ecc86
boards: px4/fmu-v5 disable px4io in rc.board_defaults
...
- avoid keeping this kind of logic in the common rcS
2021-01-01 14:12:26 +01:00
Lorenz Meier
a444d2610a
Spektrum passive power: Only use if present
2020-12-31 13:22:52 +01:00
Lorenz Meier
641cc33d79
RC input: Always report DSM state
2020-12-31 13:22:52 +01:00
Lorenz Meier
e85afb22a5
FMUv5: Default Spektrum power to passive
2020-12-31 13:22:52 +01:00
Lorenz Meier
cc34d4601d
FMUv5: Support passive power controls
...
This ensures that FMU-side power controls are not interfering with IO-side power controls of DSM receivers if they happen to be OR-ed in the schematics
2020-12-31 13:22:52 +01:00
Lorenz Meier
6529e1444f
RC input: Better monitoring
...
The output is now less confusing in terms of which protocol is currently active.
2020-12-31 13:22:52 +01:00
Lorenz Meier
af28a298e5
DSM driver: Add option for passive power controls
2020-12-31 13:22:52 +01:00
Lorenz Meier
4237c8be25
Commander: Do not acknowledge binding
...
This is now done in the respective modules directly and based on implementation and execution state.
2020-12-31 13:22:52 +01:00
Lorenz Meier
2d1551e5bf
PX4IO: Acknowledge binding
2020-12-31 13:22:52 +01:00
Lorenz Meier
8445a08bff
RC input: Acknowledge binding (or indicate that feature is not implemented)
2020-12-31 13:22:52 +01:00
Lorenz Meier
44bdd5456f
PX4IO: Bind if not armed
...
DSM binding was disabled before if safety was off, which on a lot of multicopters is today the default. The logic is now checking instead for wether the system is armed.
2020-12-31 13:22:52 +01:00
Lorenz Meier
a34e57a4cc
Simulator: Increase stack, publication affinity
...
This commit increases the send thread stack size and changes the thread affinity of the lockstep clocking topic. It also improves verbosity in case error states occur.
2020-12-31 01:05:30 +01:00
Lorenz Meier
fda63f802e
Tone alarm: Adjust log levels
...
The earlier log levels represented normal operation scenarios as errors, this aligns the log levels.
2020-12-31 01:05:30 +01:00
Lorenz Meier
3cc53f551d
MAVSDK tests: Use full system timeout off
...
Depending on loop iterations for timeouts is not accurate, as usleep behavior depends on the system load and asking for a 0 ms sleep can potentially return immediately.
2020-12-31 01:05:30 +01:00
Lorenz Meier
e27d80abc4
Camera feedback: Indicate success
...
If the feedback module is loaded then we want to provide capture feedback.
2020-12-30 23:36:47 +01:00
Daniel Agar
404f74f996
boards: mro/pixracerpro add flight_mode_manager
2020-12-30 10:25:08 -05:00
RomanBapst
fe2e299046
FlightModeManager: small rebase change
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-12-30 10:25:08 -05:00
Matthias Grob
e92795b474
Temporary logging addition to debug CI
2020-12-30 10:25:08 -05:00
Matthias Grob
fafbb687d8
FlightModeManager: fix integral reset on ground
...
This information could also be used for yaw and integral
resets of the lower level controllers.
2020-12-30 10:25:08 -05:00
Matthias Grob
7de288877a
MulticoperPositionControl: 3rd pass get rid of zombie members
2020-12-30 10:25:08 -05:00
Matthias Grob
62ada2e2dc
FlightModeManager: restore weathervane calls
...
I had to do an extra subscription to the vehicle attitude.
I don't know how to test this.
2020-12-30 10:25:08 -05:00
Matthias Grob
aa888223f0
FlightModeManager: fix takeoff state in stabilized mode
2020-12-30 10:25:08 -05:00
Matthias Grob
8edb06e94f
FlightModeManager: make sure emergency failsafe works
2020-12-30 10:25:08 -05:00
Matthias Grob
8329208b84
FlightModeManager: fix takeoff ramp from zero
2020-12-30 10:25:08 -05:00
Matthias Grob
88c274b3cd
MulticopterPositionControl: 2nd pass to move to FlightModeManager
2020-12-30 10:25:08 -05:00
Matthias Grob
f52bad87e2
mc_pos_control: separate out flight_tasks (into FlightModeManager)
2020-12-30 10:25:08 -05:00
Matthias Grob
7545249215
Add flight_mode_manager to all targets with mc_pos_control
2020-12-30 10:25:08 -05:00
Matthias Grob
fa7170bc4f
Add FlightModeManager
...
to separate out setpoint generation from controllers
2020-12-30 10:25:08 -05:00
Daniel Agar
49d4cc7d5b
commander: CMD_NAV_LAND/CMD_NAV_PRECLAND reply RESULT_ACCEPTED unless transition is denied
2020-12-30 12:05:41 +01:00
Benjamin Linne
80068093d6
add esc_battery module to modalai/fc-v1 build
2020-12-29 23:41:22 -05:00
Daniel Agar
91f5f26618
commander: main_state_transition call trivial style fixes
2020-12-30 00:26:14 +01:00
Daniel Agar
4f62355dec
msg: new estimator_status_flags message for more accessible ekf2 status logging
...
- log all estimator (ekf2) flags as separate booleans in a new dedicated low rate message (only publishes at 1 Hz or immediately on any change)
- this is a bit verbose, but it avoids the duplicate bit definitions we currently have across PX4 msgs, ecl analysis script, flight review, and many other custom tools and it's much easier for casual log review in FlightPlot, PlotJuggler, csv, etc
- for compatibility I've left estimator_status filter_fault_flags, innovation_check_flags, and solution_status_flags in place, but they can gradually be removed as tooling is updated
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2020-12-29 11:27:21 -05:00
Lorenz Meier
ddc1f964d2
Mac OS CI: Harden against intermittent install failures
2020-12-28 23:43:57 +01:00
Lorenz Meier
565da15f2f
MAVSDK test: Increase timeout
2020-12-28 22:04:08 +01:00
Lorenz Meier
7510e6ba0a
FMUv2: Exclude rarely used configurations
2020-12-28 21:02:03 +01:00
Lorenz Meier
53711926ab
FMUv2: Exclude specialized fixed wing configs
...
The FMUv2 users can default back to generic configs for those.
2020-12-28 21:02:03 +01:00
Lorenz Meier
aa28c3bd3c
VTOL airframes: Exclude FMUv2
...
This excludes FMUv2 targets, since VTOL is already disabled on FMUv2.
2020-12-28 21:02:03 +01:00
Lorenz Meier
3d809134f5
Updating SITL gazebo (Mac OS fixes)
2020-12-28 20:41:48 +01:00
Daniel Agar
adb98d5702
mavlink: move HIL_ACTUATOR_CONTROLS to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
3b20310e9c
mavlink: move POSITION_TARGET_GLOBAL_INT to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
672a1c90aa
mavlink: move POSITION_TARGET_LOCAL_NED to separate streams header
...
- position type_mask
2020-12-28 11:09:46 +01:00
Daniel Agar
6b1d02feb7
mavlink: move RC_CHANNELS to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
48be6962d1
mavlink: move MANUAL_CONTROL to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
629d03b684
mavlink: move TRAJECTORY_REPRESENTATION_WAYPOINTS to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
5762c3b356
mavlink: move NAV_CONTROLLER_OUTPUT to separate streams header
2020-12-28 11:09:46 +01:00
Daniel Agar
9f57df75e8
remove rotation 41 (ROLL_270_YAW_180)
...
- duplicate of 31 (ROLL_90_PITCH_180)
2020-12-28 11:07:08 +01:00
Daniel Agar
a66cb0cbaf
mavlink: check TX buffer before processing command ack
2020-12-28 11:05:42 +01:00
bazooka joe
8d5813994f
format smart battery serial number as string on mavlink
...
according to change on mavlink protocol message
formatted as 'dd/mm/yy-123456'
2020-12-28 11:04:54 +01:00
Daniel Agar
ceadcd74d0
mavlink: CAMERA_TRIGGER stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
ae706537b8
mavlink: CAMERA_IMAGE_CAPTURED stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
27b631e827
mavlink: ADSB_VEHICLE stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
0d72b47571
mavlink: COLLISION stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Daniel Agar
dcb897307d
mavlink: HEARTBEAT stream check free tx buf before send
2020-12-28 11:03:53 +01:00
Nicolas MARTIN
e06d218ff2
commander: disable arm_auth request for prearm status continuous publication
2020-12-27 16:23:05 -05:00
Daniel Agar
02a08c42b7
tests: perf don't bother printing all perf counters
2020-12-27 15:29:45 -05:00
Daniel Agar
12bf035642
uORB: tests limit latency to only orb_test_medium and remove some unnecessary output
2020-12-27 15:29:45 -05:00
Daniel Agar
409ea2ac02
mavlink: parameters manually mark active minimal QGC set on first send
2020-12-27 13:54:03 -05:00
Lorenz Meier
4b0d8efbc1
Commander: move static overload_start to class
2020-12-27 13:44:32 -05:00
Jaeyoung-Lim
4f30037980
Add yosemite world as SITL target for gazebo
...
This commit adds yosemite world as a SITL target for gazebo
2020-12-27 12:53:25 -05:00
Daniel Agar
092060cde2
posix: improve error out for mlockall() and pthread_create
...
- add strerror
- mlockall skipped in lockstep builds (ENABLE_LOCKSTEP_SCHEDULER)
2020-12-27 12:43:32 -05:00
Daniel Agar
48da0055a1
boards: add initial mRo Pixracer Pro (M10064C) support
2020-12-27 12:12:15 -05:00
PX4 BuildBot
aa54db42ed
Update submodule ecl to latest Sat Dec 26 12:39:53 UTC 2020
...
- ecl in PX4/Firmware (6a278fb230365aaf369956878ee08c3161ae739d): https://github/commit/df7f261e038aa80b07a91857f2f952280938bfc6
- ecl current upstream: https://github/commit/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef
- Changes: https://github/compare/df7f261e038aa80b07a91857f2f952280938bfc6...18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef
18f334f 2020-12-25 Mathieu Bresciani - flow: add unit test for yaw motion (#950 )
2020-12-26 14:39:47 -05:00
Mathieu Bresciani
18f334f4db
flow: add unit test for yaw motion ( #950 )
2020-12-25 09:47:14 +01:00
Dan George
051bcf75b3
Fix PX4_CMAKE_BUILD_TYPE=Debug configuration
...
Set CMAKE_RUNTIME_OUTPUT_DIR_DEBUG & _RELEASE to match
CMAKE_RUNTIME_OUTPUT_DIR as is already done in top level CMakeLists.txt.
Fixes Issue 16445 - px4-alias.sh: not found
Co-authored-by: Dan George <dgeorge@anduril.com >
2020-12-24 19:02:07 -05:00
Daniel Agar
92afe45f7f
vtol_att_control: improve readability of fill_actuator_outputs()
...
- vtol standard pass through landing gear for MC and flaps for FW
2020-12-24 09:29:17 -05:00
Silvan Fuhrer
9849ff4a9c
Standard VTOL: set idle PWM during backtransition
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-12-24 09:25:08 +01:00
Silvan Fuhrer
7e01938341
VTOL: rename class variable flag_idle_mc to _flag_idle_mc
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-12-24 09:25:08 +01:00
Ramón Hernán Roche Quintana
5c93403db7
Tools: Python >3.7 requires the wheel packge
...
currently installing pymavlink witouth the wheel package results in an
error when using Python 3.7 or later
https://github.com/ArduPilot/pymavlink/issues/486
2020-12-23 23:56:05 -05:00
Lorenz Meier
70c372329c
MAVLink FTP: Update implementation according to updates specs
...
The MAVLink specs for CreateFile in MAVLink FTP were updated on Dec 23, 2020 (today) with a behavior change to truncate a file if it already existed, following the UNIX standard behavior: https://pubs.opengroup.org/onlinepubs/9699919799/functions/creat.html . This change is tracking that spec change. While it is a functional change, the limited usage of the FTP protocol and the fact that implementations should not rely on error states to determine wether to truncate a file or not makes this a viable change.
2020-12-23 13:45:01 +01:00
PX4 BuildBot
7861377e20
Update submodule devices to latest Tue Dec 22 00:39:39 UTC 2020
...
- devices in PX4/Firmware (68b6cca3bc4cd3c70ab1ea5c439e5941370e801e): https://github/commit/86b09d332041acebc35c9a0476d8dfc2752dfe39
- devices current upstream: https://github/commit/9282d3d73391859f51c759a343a052dfb1be02e0
- Changes: https://github/compare/86b09d332041acebc35c9a0476d8dfc2752dfe39...9282d3d73391859f51c759a343a052dfb1be02e0
9282d3d 2020-12-21 Silvan Fuhrer - ubx: change uart2_baudrate to 230400
2020-12-22 07:43:50 +01:00
Silvan Fuhrer
a88b7fc517
ROMFS: Tiltrotor SITL: improve tuning and remove unnecessary params from config
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-12-20 21:25:50 -05:00
PX4 BuildBot
3ff7cd94dd
Update submodule ecl to latest Mon Dec 21 00:39:54 UTC 2020
...
- ecl in PX4/Firmware (caa35af3961aa96e2549a36f1fddb1a10ee802b2): https://github/commit/a8e0e82858318042500f96f5ee882c638f201426
- ecl current upstream: https://github/commit/df7f261e038aa80b07a91857f2f952280938bfc6
- Changes: https://github/compare/a8e0e82858318042500f96f5ee882c638f201426...df7f261e038aa80b07a91857f2f952280938bfc6
df7f261 2020-12-20 Kamil Ritz - Add missing const modifier
2020-12-20 21:24:52 -05:00
PX4 BuildBot
ec79361548
Update submodule sitl_gazebo to latest Mon Dec 21 00:39:43 UTC 2020
...
- sitl_gazebo in PX4/Firmware (5868463d06 ): https://github.com/PX4/PX4-SITL_gazebo/commit/563f0876a52d5c0fba1b7cd1aa420c613ec7025b
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/4043287bbe07a9d091d579b755796e70d45058e8
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/563f0876a52d5c0fba1b7cd1aa420c613ec7025b...4043287bbe07a9d091d579b755796e70d45058e8
4043287 2020-12-20 Silvan Fuhrer - tiltrotor: increase wing area to 0.5 per side (#678 )
f004811 2020-12-20 JaeyoungLim - Update mavsdk version for SITL tests (#673 )
2020-12-20 21:23:34 -05:00
Kamil Ritz
df7f261e03
Add missing const modifier
2020-12-20 14:04:29 +01:00
PX4 BuildBot
5868463d06
Update submodule matrix to latest Fri Dec 18 12:38:33 UTC 2020
...
- matrix in PX4/Firmware (a505e82391bdb9d81c03d45919f2158cee6baa8c): https://github/commit/ea43303c1cd55b0da8e152373b49dd2d5e381772
- matrix current upstream: https://github/commit/15e54ceda176f05e1ae38e71692d15cafb9e3a62
- Changes: https://github/compare/ea43303c1cd55b0da8e152373b49dd2d5e381772...15e54ceda176f05e1ae38e71692d15cafb9e3a62
15e54ce 2020-11-04 Julian Kent - Rework rank-detection tolerance in pseudoinverse
d9a5e3d 2020-11-04 Julian Kent - Add test for new cutoff threshold
2020-12-18 10:15:20 -05:00
JaeyoungLim
39c585ac97
Enable SITL tests for macos ( #16329 )
...
This commit enables SITL testing on macOS
2020-12-18 20:31:51 +09:00
jaeyoung
c8d18c2719
Fix tiltrotor model for sitl_gazebo
2020-12-18 12:27:07 +01:00
bresch
c253badba4
HTE: remove dist_bottom validity check
...
Without range finder, the validity flag goes to false quite quickly and
if can be that a vehicle never starts HTE is the takeoff is too slow.
In this specific context of takeoff detection, since
the exact value is not important, we can safely ignore the validity flag.
2020-12-18 12:05:22 +01:00
bresch
690c1158ad
HTE: do not update the estimator during fast up/down motions
...
Drag and prop wash effects produce significant forces at high speed
that can bias the estimator when applied for an extended period of time
2020-12-18 12:05:22 +01:00
bresch
39251daf28
HTE: pull status from class instead of returning struct
2020-12-18 12:05:22 +01:00
bresch
652cc4350e
HTE: empty braces initialization of struct
2020-12-18 12:05:22 +01:00
bresch
d532bc9555
HTE: only run in air
...
the _landed flag only is not enough to tell if the drone is still touching
the ground, so an additional check based on the altitude AGL is required.
to have this in_air detection correctly updated, the module needs to be
scheduled on the vehicle_local_position message as no setpoint is
produced in non-assisted modes.
2020-12-18 12:05:22 +01:00
Daniel Agar
c05c213042
mavlink: ALTITUDE stream initialize local_pos
2020-12-18 08:32:04 +01:00
PX4 BuildBot
66b3562080
Update submodule ecl to latest Fri Dec 18 00:39:53 UTC 2020
...
- ecl in PX4/Firmware (dc358857c877ae01b922d84a6c6fffe6d8c46810): https://github/commit/1541e4b414fe63ec9d6c3077375db7e20c20ef4a
- ecl current upstream: https://github/commit/a8e0e82858318042500f96f5ee882c638f201426
- Changes: https://github/compare/1541e4b414fe63ec9d6c3077375db7e20c20ef4a...a8e0e82858318042500f96f5ee882c638f201426
a8e0e82 2020-12-08 Daniel Agar - EKF: update mag LPF immediately
398fe15 2020-11-02 Daniel Agar - EKF: allow initialising without mag depending on configuration
1237087 2020-12-16 Daniel Agar - AlphaFilter add constructor that takes alpha and use in EKF
37e84b7 2020-12-16 Daniel Agar - README: fix zenodo badge (rename ecl -> PX4-ECL)
5ccb8b4 2020-12-15 Mathieu Bresciani - fakePosFusion: reset _last_known_posNE to current state when starting (#943 )
9d22f14 2020-12-10 bresch - gps_alt: constrain var using 1.5 as a typical ratio of vacc/hacc
b0cf45e 2020-12-10 bresch - gps_alt: rename getGpsAltVar -> getGpsHeightVariance
62f2e26 2020-12-10 bresch - gps_alt: reset GPS alt variance usign helper function
f7bddda 2020-12-10 bresch - gps_alt: do not scale up reported gps vertical accuracy
02369cd 2020-12-10 bresch - gps_alt: extract measurement variance computation and saturation
2020-12-17 20:13:03 -05:00
PX4 BuildBot
e5a00033f5
Update submodule matrix to latest Thu Dec 17 23:05:20 UTC 2020
...
- matrix in PX4/Firmware (788e6b9ad163f314ddd53a23f3705ca0018519f4): https://github/commit/a504b6e88152d88dba936bc74e449f2f281b84e2
- matrix current upstream: https://github/commit/ea43303c1cd55b0da8e152373b49dd2d5e381772
- Changes: https://github/compare/a504b6e88152d88dba936bc74e449f2f281b84e2...ea43303c1cd55b0da8e152373b49dd2d5e381772
ea43303 2020-12-16 JacobCrabill - test/vector3: Add test for scalar +/- operators
158409a 2020-03-23 JacobCrabill - Vector3f: Add operator+/- for scalars
2020-12-17 19:05:46 -05:00
PX4 BuildBot
2a187a76d6
Update submodule sitl_gazebo to latest Thu Dec 17 23:05:03 UTC 2020
...
- sitl_gazebo in PX4/Firmware (90f61c2f9a ): https://github.com/PX4/PX4-SITL_gazebo/commit/19981d61cfe656d2985fef5285b4a4d14f3be199
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/563f0876a52d5c0fba1b7cd1aa420c613ec7025b
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/19981d61cfe656d2985fef5285b4a4d14f3be199...563f0876a52d5c0fba1b7cd1aa420c613ec7025b
563f087 2020-12-17 JaeyoungLim - Fix tiltrotor model (#675 )
0e2d63a 2020-12-17 JaeyoungLim - Fix wind transmormations for motor model (#674 )
e5d0d65 2020-12-13 JaeyoungLim - Update container versions for tests (#672 )
bccb487 2020-12-12 BazookaJoe1900 - mavlink_interface: rename serial link related function to include 'serial' (#670 )
2020-12-17 18:45:08 -05:00
Daniel Agar
a8e0e82858
EKF: update mag LPF immediately
2020-12-17 10:46:04 +01:00
Daniel Agar
398fe159ce
EKF: allow initialising without mag depending on configuration
...
- reduce initial number of required mag and baro samples before init
2020-12-17 19:55:51 +11:00
Ramón Hernán Roche Quintana
90f61c2f9a
Update submodule GPSDrivers to latest Wed Dec 16 18:45:08 UTC 2020
...
ubx: fix #63 : NAV-SAT/ SVINFO parser bug https://github.com/PX4/PX4-GPSDrivers/commit/86b09d332041acebc35c9a0476d8dfc2752dfe39
2020-12-17 08:28:25 +01:00
Daniel Agar
74083d6bd1
optical_flow/paw3902: minor improvements
...
- verify register writes
- cleanly reset on lighting mode changes as per the datasheet
- perf counters for mode switches and other errors
- cleanly reset on false motion detection
- minimize sleep on reset
- allowing setting custom rotation yaw angle directly on command line with -Y (ignoring SENS_FLOW_ROT)
- enable LED output
2020-12-16 20:04:46 -05:00
Daniel Agar
43b4cf39bd
sitl_gazebo build single threaded
...
- building sitl_gazebo in parallel within a parallel PX4 build isn't load balanced
2020-12-16 19:45:08 -05:00
Daniel Agar
1237087d70
AlphaFilter add constructor that takes alpha and use in EKF
2020-12-16 13:55:59 -05:00
Daniel Agar
4d30f327f9
Github Actions: skip Mavros tiltrotor mission for now ( #16405 )
2020-12-16 17:34:32 +01:00
Daniel Agar
a152fb65cb
parameters: remove unnecessary duplicated shutdown lock in param_save_default()
...
- param_export already takes the shutdown lock
2020-12-16 10:50:05 -05:00
Daniel Agar
37e84b763a
README: fix zenodo badge (rename ecl -> PX4-ECL)
2020-12-16 10:47:21 -05:00
Daniel Agar
c7db0942ba
sensors: vehicle_imu don't round measured accel and gyro sample rates
2020-12-16 10:12:27 -05:00
Daniel Agar
bf5ee99952
sensors: acceleration always get accel rate from vehicle_imu_status
...
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar
7038cb8518
sensors: angular_velocity always get gyro rate from vehicle_imu_status
...
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar
336176b2f0
Mavlink FLIGHT_INFORMATION fix arming time (ms -> us) and add takeoff time
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/16393
2020-12-16 09:38:05 -05:00
bresch
b23d8244f0
ekf2: fix dist bottom constraint
2020-12-16 09:33:38 -05:00
Hamish Willee
acc647c518
remove duplicate this in COM_HLDL_LOSS_T
2020-12-16 08:37:42 +01:00
Hamish Willee
4bc60cca69
remove more occurrences
2020-12-16 08:37:42 +01:00
Hamish Willee
d58ee9400c
system_params - remove duplicate text in param
2020-12-16 08:37:42 +01:00
Daniel Agar
8e14e13369
README.md update PX4/Firmware -> PX4/PX4-Autopilot
2020-12-15 20:27:03 -05:00
Mathieu Bresciani
5ccb8b457d
fakePosFusion: reset _last_known_posNE to current state when starting ( #943 )
...
* [AUTO COMMIT] update change indication
2020-12-15 10:09:01 +01:00
Robin Lilja
aa244a098c
Clarification of coordinate systems for sensors_* and vehicle_* messages ( #16339 )
...
Changed all 'NED' references to 'FRD'. Also cleaned up mixing of m/s/s and m/s^2 to use the latter. Corrected m/s/s to Pascals. Plus minor typos. Also made some minor cosmetic clean ups.
Co-authored-by: Robin <robin@Robins-MacBook-Pro-Work.local >
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2020-12-15 09:18:05 +01:00
Mathieu Bresciani
fdd1d6d244
Multicopter rounded turns ( #16376 )
...
* AutoLineSmoothVel: Implement l1-style guidance in turns
2020-12-14 13:04:01 +01:00
Julian Oes
9b065b4975
Update src/systemcmds/tests/test_dataman.c
...
Co-authored-by: Beat Küng <beat-kueng@gmx.net >
2020-12-14 09:26:18 +01:00
Julian Oes
5cb1bb7731
systemcmds: fix dataman test
2020-12-14 09:26:18 +01:00
Julian Oes
1719ff9892
simulator: fix after px4_task_spawn_cmd change
...
argv[0] now contains the task name, so everything moves by one.
2020-12-14 09:26:18 +01:00
Julian Oes
dba3c642d2
posix: set task name as argv[0] to match Nuttx
...
This changes px4_task_spawn_cmd to match the NuttX task_spawn. It adds
the task name as argv[0]. See example below:
px4_task_spawn_cmd("task_name",
SCHED_DEFAULT,
SCHED_PRIORITY_DEFAULT,
1024,
(px4_main_t)&Something::start_helper,
(char *const *)argv);
with:
argv[0]: "something"
argv[1]: "start"
argv[2]: nullptr
becomes in Something::start_helper:
argv[0]: "task_name"
argv[1]: "something"
argv[2]: "start"
argv[3]: nullptr
2020-12-14 09:26:18 +01:00
Julian Oes
862fd1d450
module: remove NuttX only quirk
...
The behaviour on NuttX and Posix should now be the same anyway.
2020-12-14 09:26:18 +01:00
Julian Oes
314b5e721f
src: remove NuttX ifdefs around args
...
It doesn't look like they are required anymore.
2020-12-14 09:26:18 +01:00
Julian Oes
5be2066e1a
posix: small cleanup
2020-12-14 09:26:18 +01:00
bresch
9d22f140dd
gps_alt: constrain var using 1.5 as a typical ratio of vacc/hacc
2020-12-13 14:39:50 +11:00
bresch
b0cf45e2d2
gps_alt: rename getGpsAltVar -> getGpsHeightVariance
2020-12-13 14:39:50 +11:00
bresch
62f2e26c49
gps_alt: reset GPS alt variance usign helper function
2020-12-13 14:39:50 +11:00
bresch
f7bddda3d5
gps_alt: do not scale up reported gps vertical accuracy
...
The comment said that the horizontal accuracy needs to be scaled up
using the typical epv/eph ratio but the epv (vacc) is already available,
so no scaling is required.
2020-12-13 14:39:50 +11:00
bresch
02369cd415
gps_alt: extract measurement variance computation and saturation
2020-12-13 14:39:50 +11:00
Thomas
e51000c5be
fix syntax of prev commit
2020-12-11 22:00:56 +01:00
Thomas Stauber
eec64c5c0f
More compact if statement
...
Co-authored-by: Silvan Fuhrer <silvan@auterion.com >
2020-12-11 22:00:56 +01:00
Thomas
d025787334
replace _vehicle_status
2020-12-11 22:00:56 +01:00
Thomas
db58269577
Add support for set_position_target_local_ned message
2020-12-11 22:00:56 +01:00
Thomas
1e6976234f
Remove reset_offb_cruising_speed(). Make more explicit that this PR only affects offboard mode.
2020-12-11 22:00:56 +01:00
Thomas
f1524fe27d
renaming the new functions
2020-12-11 22:00:56 +01:00
Thomas
9cc9e4f89f
Handle MAV_CMD_DO_CHANGE_SPEED command for FW Offboard global position control.
2020-12-11 22:00:56 +01:00
Daniel Agar
0433f4d33c
land_detector: decrease default LNDFW_AIRSPD_MAX 8 -> 6 m/s
2020-12-11 21:58:43 +01:00
Daniel Agar
ae2b1a265c
commander: POSCTL optical flow aiding continue updating GPOS validity
...
- updating the global position validity should happen regardless of
being in manual position control mode with only optical flow
- condition_global_position_valid needs to be accurate to adjudicate
main state changes (eg going into AUTO MISSION)
2020-12-11 15:33:50 -05:00
Daniel Agar
6bda8af97c
commander: merge duplicated position and velocity validity checks
2020-12-11 15:33:50 -05:00
Daniel Agar
5cd4a9c73f
commander: global position validity respect local position xy_valid
2020-12-11 15:33:50 -05:00
Daniel Agar
ef6209ba03
new manual_control_switches msg (split out of manual_control_setpoint) ( #16270 )
...
- split out switches from manual_control_setpoint into new message manual_control_switches
- manual_control_switches published at minimal rate (~ 1 Hz) or immediately on change
- simple switch debounce in rc_update (2 consecutive identical decodes required)
- manual_control_switches logged at full rate rather than sampled at (5-10% of messages logged)
- manual_control_setpoint publish at minimal rate unless changing
- commander handle landing gear switch for manual modes
- processing of mode_slot and mode_switch is now split so we only do one or the other (not both)
- a future step will be to finally drop mode_switch and accompanying switches entirely
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2020-12-11 12:11:35 -05:00
Daniel Agar
25ef76b3b8
navigator: fix LOITER_TO_ALT
...
- this was overzealously removed in https://github.com/PX4/PX4-Autopilot/pull/15677
2020-12-11 16:28:08 +01:00
Jannik Beyerstedt
c5a6a60903
Also log transponder_report and satellite_info
...
* log full data rate transponder_report message by default
* log satellite_info (GPS_STATUS) as part of debug topics
2020-12-11 12:44:23 +01:00
RomanBapst
fd18ba6496
tiltrotor: allow to finish transition if groundspeed is below cruise speed
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-12-11 09:40:47 +03:00
Roman Bapst
842d98d572
AirspeedValidator: fuse true airspeed before sideslip ( #742 )
...
- the states can be initialised more accurately using an airspeed measurement
and the wind estimator uses the first measurement to initialise
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-12-11 09:37:09 +03:00
Daniel Agar
d44e537084
ekf2: update to new ecl to fix fault status getter
...
- estimator_status filter_fault_flags was broken because the union within ecl/EKF has exceeded 16 bits
2020-12-10 12:45:41 -05:00
Daniel Agar
1541e4b414
EKF: update control status and fault status getters
...
- the fault status union exceeded 16 bits, but the getter was get_filter_fault_status(uint16_t *val)
2020-12-10 09:13:12 -05:00
zhaoxiaowei
fbf67bdef9
reset gps height use vacc
2020-12-10 10:07:59 +01:00
Beat Küng
72420dfff3
mavlink_receiver: remove unused _param_com_flight_uuid
2020-12-10 08:47:04 +01:00
PX4 BuildBot
7db555573b
Update submodule ecl to latest Wed Dec 9 12:40:07 UTC 2020
...
- ecl in PX4/Firmware (ef162f7629ce29be8fd556b81357b96720d8e21f): https://github/commit/da7d41e78aecdc07d226bd7d723c747895d1c615
- ecl current upstream: https://github/commit/8f3df7a97b348dd7bf06233004f9821fe2ea88d1
- Changes: https://github/compare/da7d41e78aecdc07d226bd7d723c747895d1c615...8f3df7a97b348dd7bf06233004f9821fe2ea88d1
8f3df7a 2020-12-09 Mathieu Bresciani - flow: restructure optical flow control logic (#928 )
3835800 2020-12-09 kritz - Auto update change indication by github actions
688a054 2020-12-08 Daniel Agar - EKF: controlDragFusion() add parenthesis for readability
944b18c 2020-12-05 Paul Riseborough - EKF: Remove non useful status print
ee94980 2020-12-03 Paul Riseborough - EKF: Clean up wind state activation logic
44ebfb8 2020-12-02 Paul Riseborough - EKF: Don't report local position as valid when in a non-position mode
2020-12-09 13:12:58 -05:00
flbernier
bca2d3139a
Enable dshot driver for fmu-v4pro
2020-12-09 17:56:11 +01:00
Orkun Aşa
f2aa7d3f88
Update ROMFS/px4fmu_common/init.d/rc.sensors
...
parameter comparison logic is changed.
Co-authored-by: Daniel Agar <daniel@agar.ca >
2020-12-09 17:55:38 +01:00
Orkun Aşa
a6b7add2fe
SENS_EN_VL53L1X parameter is implemented to enable VL53L1X distance sensor
2020-12-09 17:55:38 +01:00
Igor Campos
9c3b70d517
remove default value for roll angle
2020-12-09 17:54:53 +01:00
Igor Campos
bbad1bdd6e
add comment.
2020-12-09 17:54:53 +01:00
Igor Campos
33b831efe3
rename variables
2020-12-09 17:54:53 +01:00
Igor Campos
dfcd6a7c16
fix typo
2020-12-09 17:54:53 +01:00
Igor Campos
c316af6ec7
update to match new feature as a new mavlink command Oblique Survey 260
2020-12-09 17:54:53 +01:00
Igor Campos
390ed3765f
disable pseudo-oblique mode if param4 is 0.
2020-12-09 17:54:53 +01:00
Igor Campos
38a5b8a502
fix comment description for pitch angle
2020-12-09 17:54:53 +01:00
Igor Campos
d0ae931543
adjust minimum number of positions to 2.
2020-12-09 17:54:53 +01:00
Igor Campos
0cb3ce4886
fix readability
2020-12-09 17:54:53 +01:00
Igor Campos
e1e06364da
fix formatting
2020-12-09 17:54:53 +01:00
Igor Campos
73f7b08873
add Camera Auto Mount Pseudo Oblique Solution (CAMPOS)
...
add target system and component ids to vmount commands
Signed-off-by: Igor Campos <igor.gama.90@gmail.com >
2020-12-09 17:54:53 +01:00
Thomas
7e2da11d67
reenable WV after FT alignment
2020-12-09 17:36:20 +01:00
Mathieu Bresciani
8f3df7a97b
flow: restructure optical flow control logic ( #928 )
...
- extract motion checks performed on ground
- move all non-timing check to controlOpticalFlowFusion. This simplifies and standardirzes the setOpticalFlowData function. Furthermore, in some cases (SITL, PX4Flow), the dt is forced to 0 when the quality is 0 (which is usual on ground) so the ekf needs to ignore those values on ground to initialize properly the flow fusion.
- add filter convergence test
- move check for dt time max in setOpticalFlowData
- in the simulator, do not update dt as this is the sensor integration
period.
2020-12-09 11:33:00 +01:00
Julian Oes
a1b54eb655
mavlink: check index for out-of-bounds
...
If a MAP_RC_PARAM message is sent with an index > 2, this would lead
to undefined behaviour or a segfault/hardfault.
2020-12-09 08:59:57 +01:00
Mark Sauder
dd4ee5c48c
dshot: breakout driver header file, use static_casts, add const specifiers ( #15908 )
...
* Break out dshot.h from dshot.cpp and rename files to reflect the class name.
Move DShot class specific #defines from drv_pwm_output.h to dshot.h.
Replace c-style casts with static_casts, standardize method naming, single line comment styles, and formatting.
Rename update_dshot_out_state() to enable_dshot_outputs().
2020-12-09 08:51:47 +01:00
Daniel Agar
cf010f44d0
Update submodule sitl_gazebo to latest Wed Dec 9 00:39:59 UTC 2020 ( #16354 )
...
- sitl_gazebo in PX4/Firmware (cd1ffa63cd ): https://github.com/PX4/PX4-SITL_gazebo/commit/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/19981d61cfe656d2985fef5285b4a4d14f3be199
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4...19981d61cfe656d2985fef5285b4a4d14f3be199
19981d6 2020-12-08 Flavio Tonelli - Fix plugin misspelling (#665 )
Co-authored-by: PX4 BuildBot <bot@px4.io >
2020-12-09 08:43:45 +01:00
Daniel Agar
cd1ffa63cd
commander: auto transition to LOITER if disarmed with no RC only requires a valid global position
2020-12-08 18:26:03 -05:00
kritz
38358002bb
Auto update change indication by github actions
...
Co-authored-by: kamilritz <kamilritz@users.noreply.github.com >
2020-12-08 18:05:28 -05:00
Daniel Agar
688a054bdb
EKF: controlDragFusion() add parenthesis for readability
2020-12-08 18:03:04 -05:00
Paul Riseborough
944b18c63e
EKF: Remove non useful status print
...
Local position is never valid when filter is initialised so there is no use printing the status.
2020-12-08 18:03:04 -05:00
Paul Riseborough
ee94980a8f
EKF: Clean up wind state activation logic
...
Ensure wind states are deactivated in one place and always when in a non-position mode.
Activate wind states separately for each observation method.
2020-12-08 18:03:04 -05:00
Paul Riseborough
44ebfb8c43
EKF: Don't report local position as valid when in a non-position mode
2020-12-08 18:03:04 -05:00
Daniel Agar
82746af07a
ekf2: use new IMU and mag bias and variance getters in ecl/EKF
...
- reset IMU bias on calibration change (only works with multi-ekf)
- standardize PX4_INFO/PX4_WARN/PX4_ERR output for multi-ekf with instance number
- https://github.com/PX4/PX4-ECL/pull/924
2020-12-08 16:06:18 -05:00
Daniel Agar
8f5f564c05
commander: preflightcheck only report failure once per sensor type
...
- either way the user action is to recalibrate, so we might as well try
to minimize the noise/annoyance
2020-12-08 13:18:22 -05:00
Daniel Agar
da7d41e78a
EKF: add mag bias reset helper and update IMU bias reset to match ( #924 )
2020-12-08 12:16:59 -05:00
Silvan Fuhrer
edaf9f2bb6
FW Position Controller: consolidate mission throttle adaptions for position and loiter waypoints
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-12-08 12:08:36 -05:00
Silvan Fuhrer
6d255df0a8
airspeed selector: disable beta fusion when not in fixed-wing mode
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-12-08 11:43:27 -05:00
Silvan Fuhrer
59564af860
wind_estimate message: add identifier for source
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-12-08 11:43:27 -05:00
Roman Dvořák
bc1c8fb73a
GPS_DUMP_COMM: dump all gps instances
2020-12-08 11:45:24 +01:00
Julian Oes
fd261b590c
battery: don't init uint16_t with -1.0f
...
This was flagged as undefined behaviour by fuzz testing.
2020-12-08 09:58:29 +01:00
Daniel Agar
681590c510
ekf2: multi-ekf force initial selection (and sensor_selection publication)
...
- depending on the particular sensor configuration and startup timing we were getting an initial sensor_selection publication without valid accel & gyro device ids (only applies to Multi-EKF)
- fix faulty accel and gyro device ids
- initialize unused test ratio fields to NAN for logging clarity
2020-12-07 21:37:24 -05:00
bresch
3276916df9
HomePos: check corresponding validity before using data
2020-12-07 10:24:23 -05:00
bresch
711bd2ce87
Commander: use helper to set home position
2020-12-07 10:24:23 -05:00
bresch
f3e5b86b06
Commander: set home position in air
...
en/dis-able in-air home position via parameter COM_HOME_IN_AIR
2020-12-07 10:24:23 -05:00
JaeyoungLim
e8cefcafbc
Fix gazebo_sitl_multiple_run.sh scripting ( #16340 )
...
This commit fixes the problem when using scripting options. This regression was introduced by #15463
2020-12-07 06:17:15 +01:00
Julian Oes
a2ff53b018
mavlink: remove typedef of anonymous struct
...
Clang doesn't seem to like these.
2020-12-06 23:55:59 -05:00
Julian Oes
8900c6200d
commander: remove typedef of anonymous struct
...
Clang doesn't seem to like these.
2020-12-06 23:55:59 -05:00
David Sidrane
1cd36d4c8c
PX4 NuttX 10.0.0+ With IMX backports
2020-12-04 12:59:09 -05:00
David Sidrane
1b70e5f978
nxp_fmurt1062-v1:Rev B will be Using active CD
2020-12-04 12:59:09 -05:00
David Sidrane
394c2edea3
nxp_fmurt1062-v1:Added Single wire support for SBUS
2020-12-04 12:59:09 -05:00
David Sidrane
171cb7119e
nxp_imxrt,rt106x add imxrt_gpiosetevent
2020-12-04 12:59:09 -05:00
David Sidrane
d4a78cea5a
nxp_fmurt1062-v1:Correct intial state of PIO_nVDD_5V_{HIPOWER|PERIPH}_E to OFF
2020-12-04 12:59:09 -05:00
David Sidrane
67a78a70ea
nxp_fmurt1062-v1:Telem 1 & 2 Swapped to have real HW HS on Telm2
2020-12-04 12:59:09 -05:00
David Sidrane
1dd22acd12
nxp_fmurt1062-v1:Fix memory overflow
2020-12-04 12:59:09 -05:00
David Sidrane
0ca7783ea5
nxp_fmurt1062-v1:Refreshed defconfig fixing 'if-then' disabled
2020-12-04 12:59:09 -05:00
David Sidrane
8d8a31c56d
WorkQueueManager:Increase stack size
2020-12-04 12:59:09 -05:00
JaeyoungLim
e6992db1ca
Use enums for set attitude setpoint typemasks for offboard mode ( #16327 )
...
This commit switches the typemask comaparision to enums for better readability
2020-12-04 17:44:33 +01:00
PX4 BuildBot
3783ab4a6a
Update submodule sitl_gazebo to latest Fri Dec 4 00:39:14 UTC 2020
...
- sitl_gazebo in PX4/Firmware (25c113a527 ): https://github.com/PX4/PX4-SITL_gazebo/commit/cd8ba25c81f32d6fe088482e37f8a38892209ef4
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/cd8ba25c81f32d6fe088482e37f8a38892209ef4...e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4
e01ba8f 2020-12-03 JaeyoungLim - Add macos build tests for Bigsur (#663 )
a6698f5 2020-11-19 Daniel Agar - update gitignore (#658 )
2020-12-03 23:50:40 -05:00
Daniel Agar
5e6189ee5a
Update submodule mavlink v2.0 to latest Fri Dec 4 00:39:20 UTC 2020
...
- mavlink v2.0 in PX4/Firmware (dce7cfbddefe53fd0381582121883134a4df1b73): https://github.com/mavlink/c_library_v2/commit/1de17e039b27c541ccdb9ed214ea41aaaf180ae0
- mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/8f481688d70541e8f91ee8c4fc233ca70cd7fad9
- Changes: https://github.com/mavlink/c_library_v2/compare/1de17e039b27c541ccdb9ed214ea41aaaf180ae0...8f481688d70541e8f91ee8c4fc233ca70cd7fad9
Co-authored-by: PX4 BuildBot <bot@px4.io >
2020-12-03 23:49:28 -05:00
Daniel Agar
cc979d2249
Update submodule GPSDrivers to latest Fri Dec 4 00:39:25 UTC 2020
...
- devices in PX4/Firmware (1303a8f17c5174a02b1c3ed22acd88da499e5a53): https://github/commit/0bf63c9820f4af997d0a48743dcc1008d119e49c
- devices current upstream: https://github/commit/5afc11588b2b6ec0861ecf9ef673c7a9e2109129
- Changes: https://github/compare/0bf63c9820f4af997d0a48743dcc1008d119e49c...5afc11588b2b6ec0861ecf9ef673c7a9e2109129
5afc115 2020-11-30 Beat Küng - gps_helper: define M_PI_F if not defined (was missing for ubx)
2020-12-03 23:48:29 -05:00
Daniel Agar
01620420fa
ekf2: update to latest ecl with RingBuffer minor improvements
...
- includes https://github.com/PX4/PX4-ECL/pull/938
2020-12-03 21:17:22 -05:00
Daniel Agar
03cfcb903e
EKF: RingBuffer minor improvements
...
- allocate IMU and output buffers on construction according to defaults
- determine buffer max time delay based on configuration parameters
- reorder flowSample and extVisionSample to minimize padding
- adjust parameter defaults to match PX4-Autopilot
2020-12-03 20:48:51 -05:00
Matthias Grob
25c113a527
StickAccelerationXY: boost low speed brake
2020-12-03 18:19:42 +01:00
Matthias Grob
badaf1eae0
Functions: add squareroot linear function
2020-12-03 18:19:42 +01:00
Matthias Grob
3f3a82e034
FlightTaskManualAcceleration: reset position lock on reactivation
...
to prevent having a fixed position lock while moving the vehicle
on the ground before flying.
2020-12-03 18:19:42 +01:00
Matthias Grob
66f8fc08c0
FlightTasks: refactor to use isAnyTaskActive()
2020-12-03 18:19:42 +01:00
David Sidrane
229f02a4f9
mtd:Reduce functionality on memory constrained systems
2020-12-02 20:40:23 -05:00
David Sidrane
b4693f41da
rcS:Use mft query not mtd start
2020-12-02 20:40:23 -05:00
David Sidrane
22bc176885
Added mft for queries
2020-12-02 20:40:23 -05:00
David Sidrane
f8148593ad
uvify_core: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
94825ddc6e
spracing_h7extreme: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
44ffc855dc
px4_fmu-v6x: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
d9151af291
px4_fmu-v4pro: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
c9063beacc
px4_fmu-v4: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
79bedbc908
px4_fmu-v3: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
313b3edc04
px4_fmu-v2: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
6e9f50f48e
omnibus_f4sd: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
74a0693040
nxp_ucans32k146: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
ad1c603af4
nxp_fmurt1062-v1: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
65b3b0b2e7
nxp_fmuk66-v3: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
6f27deab40
nxp_fmuk66-e: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
434f63d479
mro_x21: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
7c07ce9649
mro_x21-777: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
5703070974
mro_ctrl-zero-f7: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
2247779216
modalai_fc-v1: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
6dba2425c2
intel_aerofc-v1: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
a2a8d2fcf2
holybro_pix32v5: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
2b69fad3ac
holybro_kakutef7: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
79744ec156
holybro_durandal-v1: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
55c091e0fc
cubepilot_cubeyellow: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
6b93865cfc
cubepilot_cubeorange: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
16f388d625
cuav_x7pro: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
26e164c3ba
cuav_nora: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
79f177fe94
cuav_can-gps-v1: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
1bb2b0b06c
bitcraze_crazyflie: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
a09d240c72
av_x-v1: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
4c5aa12a18
airmind_mindpx-v2: Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
52b5856ff0
px4_fmu-v5:Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
a60df85a09
px4_fmu-v5x:Use px4_platform_configure
2020-12-02 20:40:23 -05:00
David Sidrane
e83a00c604
px4_manifest:Add Queries
2020-12-02 20:40:23 -05:00
David Sidrane
68ab736b16
Refactor mtd to make available to board startup
2020-12-02 20:40:23 -05:00
David Sidrane
1b9ab2a3e2
px4_fmu-v5x:Manifest Update Adde Rev 1 HW and fix VER 1
...
VER is on BASE
REV is on FMU
ver|rev
bas|fmu
{0x0000, hw_mft_list_v0500, ...(hw_mft_list_v0500)},
{0x0001, hw_mft_list_v0501, ...(hw_mft_list_v0501)}, <-- was wrong
This falsly selected the NO I/O version
2020-12-02 19:56:14 -05:00
PX4 BuildBot
67f13f7ede
Update geo_lookup WMM to latest Wed Dec 2 11:48:25 UTC 2020
2020-12-02 19:47:46 -05:00
Daniel Agar
378c0b5093
parameters: find and get perf counters aren't threadsafe
2020-12-02 10:11:42 -05:00
Daniel Agar
e69aea0a9b
parameters: don't keep in memory if set to default
2020-12-02 10:11:42 -05:00
Daniel Agar
c305774fae
commander: move vehicle_status into class
2020-12-02 10:20:50 +01:00
Daniel Agar
b7de10fca3
commander: move vehicle_status_flags to class
2020-12-02 10:20:50 +01:00
Daniel Agar
dc435c4c90
commander: control_status_leds() use _armed directly
2020-12-02 10:20:50 +01:00
Daniel Agar
8ac2581d7b
commander: handle_command() use _armed directly
2020-12-02 10:20:50 +01:00
Daniel Agar
741a0b43e8
commander: move mavlink_log_pub into class
2020-12-02 10:20:50 +01:00
Daniel Agar
a03b91c01e
commander: move answer_command() to class
2020-12-02 10:20:50 +01:00
Daniel Agar
d5dc7e2873
commander: move actuator_armed state into class
2020-12-02 10:20:50 +01:00
Matthias Grob
de66616341
MulticopterPositionControl: don't switch out of Orbit task
...
when it got started via vehicle_command
2020-12-01 10:00:46 -05:00
Matthias Grob
8f40558f41
MulticopterPositionControl: reset task when switching mode
...
to make sure the state is clean between auto mode switches.
2020-12-01 10:00:46 -05:00
Daniel Agar
85f3ab1960
rc_update: only decode if RC input is stable (channel count and source)
2020-12-01 09:40:24 -05:00
Daniel Agar
d654be761c
ms4525: remove old voltage corrections
...
- this isn't correct for all boards and we now have airspeed scale
factor estimation
2020-12-01 09:34:47 -05:00
Alex Mikhalev
378b41af6a
tunes: Improve logic for interrupting tunes
...
src/lib/tunes already knows which tunes are interruptable, so add
return values to expose than and use than in tone_alarm.
This fixes the issue that repeating tunes cannot be interrupted without
tune_override set to true.
Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com >
2020-11-30 16:56:13 -05:00
JaeyoungLim
bd943d872c
Use explicit typemasks for offboard position setpoints ( #16296 )
...
This uses enums of the POSITION_TARGET_TYPEMASK in order to separate typemasks that are part of the mavlink specs more explicitly
2020-11-30 22:12:06 +01:00
Beat Küng
a63e8cc149
fix mavlink: ensure vehicle_command topic exists
...
If the first publisher publishes multiple commands right after each other
(e.g. on 'commander takeoff'), mavlink would miss the first and print an
error like 'vehicle_command lost, generation 0 -> 2'.
This is due to a recent uORB behavior change.
2020-11-30 11:53:22 -05:00
Beat Küng
05a3492174
commander: remove low priority thread, run tasks in a worker thread on demand
...
- removes race conditions
- removes dependencies on static data & methods
- reduces RAM usage by ~3.8KB
2020-11-30 11:53:22 -05:00
Beat Küng
419b336a15
commander: fix ModuleBase usage, remove volatile flag
2020-11-30 11:53:22 -05:00
Antonio Sanjurjo Cortés
aa80167b47
mavlink: rename OPTICAL_FLOW header and defines to OPTICAL_FLOW_RAD
...
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com >
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés
7dde298664
mavlink: move COLLISION to streams hpp
...
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com >
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés
2243931abd
mavlink: move ATTITUDE_TARGET to streams hpp
...
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com >
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés
ce28aa089b
mavlink: move ATTITUDE_QUATERNION to streams hpp
...
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com >
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés
8ac2ada0e6
mavlink: move ATTITUDE to streams hpp
...
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com >
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés
0bf622e211
mavlink: move OPTICAL_FLOW to streams hpp
...
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com >
2020-11-29 20:26:07 -05:00
斯东Stone
5f0ecc893e
boards: holybro/durandal add TELEM3 (/dev/ttyS4)
2020-11-29 10:17:18 -05:00
Jaeyoung-Lim
d59ba2032f
Handle takeoff waypoints for rover
...
Fix
2020-11-29 00:08:53 +01:00
TSC21
1d1fbdb1d3
microRTPS: remove byte ordering for nested types
2020-11-28 21:26:50 +01:00
SalimTerryLi
2d0eb4a41a
pca9685_pwm_out: small improvement ( #16196 )
...
* reduce I2C transfers and enable EXTCLK support
* schedule rate limit arg
* apply state machine and do actual init in Run()
2020-11-27 17:17:45 -05:00
Silvan Fuhrer
3309bf21dd
FW att C: do not lock or reset integrator if tailsitter and in hover
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-27 17:28:52 +03:00
Silvan Fuhrer
efe42451b6
tailsitter_duo mixer: remove output scaling (that reduced the max deflection of the elevons)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-27 17:28:52 +03:00
Silvan Fuhrer
646b5bb578
L1: Do only check for wrong tangent_vel if in circle_mode
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-27 17:04:06 +03:00
JaeyoungLim
c5486ca47e
sitl: fix sitl_run to run on macOS ( #16287 )
...
This commit removes the readarray command from the Tools/sitl_run.sh.
This fixes the issue where SITL was not able to run due to readarray not being available on macOS
2020-11-27 10:49:22 +01:00
Ricardo Marques
3215c50660
commander: Fix comment typos.
...
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com >
2020-11-27 10:25:32 +01:00
Hamish Willee
336639897e
Fix incorrect docs URLs in airframes definitions ( #16288 )
2020-11-27 07:44:02 +01:00
BazookaJoe1900
bd09be43c0
simulator mavlink actuator limits ( #15861 )
...
using unified way to decide which output should be scale as rotor
fixed case that actuator that wasn't set (value 0 "PWM") results output of -3
make default actuator mode to set all actuator to range of -1 to +1
cleanups
2020-11-26 14:42:31 +01:00
Jukka Laitinen
fdb4ede6c2
Add topic namespace support for micrortps agent generation
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2020-11-26 12:34:56 +00:00
Matthias Grob
ce8f4dece2
rc_update_params: clarify failsafe channel and threshold
2020-11-26 10:55:35 +01:00
Silvan Fuhrer
5382d3b8fb
rc.VTOL_defaults: enable wind estimation in EKF by default and remove MPC_LAND_SPEED being, as it's just set to param default
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-26 08:50:49 +01:00
Daniel Agar
ec9f8998a7
commander: limit mode switch re-evaluation logic on estimate validity changes
...
- re-evaluating mode switches on altitude or position validity change can create confusing when also relying on mode changes via mavlink
- limiting this logic to only apply when disarmed solves the original problem (respecting initial switch position) without introducing potential problems mid-flight
- fixes https://github.com/PX4/PX4-Autopilot/issues/16235
2020-11-25 21:14:55 -05:00
Paul Riseborough
3e4c38f6e8
ekf2: Fix bug causing excessive lane selection switching
2020-11-25 10:00:07 -05:00
Daniel Agar
5e855c6747
commander: preflightcheck and calibration remove hash (#) from mavlink message
...
- QGroundControl is reading these as "Hash" and I don't think it's ambiguous if removed
2020-11-23 21:56:23 -05:00
Beat Küng
615333badb
logger: log gps_dump if GPS_DUMP_COMM is set
2020-11-20 11:04:52 -05:00
David Sidrane
0db70ea475
nxp_fmurt1062-v1:Track fixes on schematic USDHC CD now correct polarity
2020-11-20 00:48:31 -05:00
David Sidrane
136b6a3509
nxp_fmurt1062-v1:Track fixes on schematic OC/EN had been swapped
2020-11-20 00:48:31 -05:00
Daniel Agar
71306f7f83
update all container tags to 2020-11-18
2020-11-19 13:37:57 -05:00
David Sidrane
ee3285a34f
Fixed PX4IO uploader debug output
2020-11-19 13:35:36 -05:00
Matthias Grob
65e1b702c9
GPS_GLOBAL_ORIGIN: simplify send logic
2020-11-19 19:00:37 +01:00
Matthias Grob
0ca63120eb
mavlink_messages: add GPS_GLOBAL_ORIGIN
...
sending out local position reference.
Only send as anser to a request message command or
when the origin was changed from externally to verify.
2020-11-19 19:00:37 +01:00
Matthias Grob
41b56f20b8
mavlink_messages: fix raw rpm message size
2020-11-19 19:00:37 +01:00
Matthias Grob
c845265b1b
mavlink_receiver: use SET_GPS_GLOBAL_ORIGIN to set the origin
...
The message GPS_GLOBAL_ORIGIN is meant as a telemtry information message
to send out the components reference and not to set it. I had to switch
to listen to SET_GPS_GLOBAL_ORIGIN such that I can implement sending out
GPS_GLOBAL_ORIGIN.
2020-11-19 19:00:37 +01:00
Daniel Agar
1425d87640
boards: px4_fmu-v5 sync all defconfigs
2020-11-19 11:21:47 -05:00
jaeyoung
fb3b1f8bd9
Update sitl_gazebo submodule
2020-11-19 10:03:59 -05:00
jaeyoung
68855b5c9b
Update mavlink
2020-11-19 10:03:59 -05:00
David Sidrane
b6f24eefb2
The PX4IO driver uses DMA but not NuttX's TXDMA
2020-11-19 09:39:08 -05:00
alessandro
f18e70029a
Correct topic name for thermal corrections
...
The message used is ./msg/sensor_correction.msg
2020-11-19 08:23:25 +01:00
CUAV_gitfishup
80df04ddca
UAVCAN: publish ardupilot::indication::SafetyState (enables CUAV NEO v2 pro GPS)
2020-11-18 10:00:49 -05:00
Jari van Ewijk
a246defb68
NXP UCANS32K146: Configure PWM timer for production version
2020-11-18 04:54:38 -08:00
JaeyoungLim
5e693180d9
Fix bash error when running SITL Gazebo ( #16221 )
2020-11-18 04:23:19 +01:00
Matthias Grob
fabeb22ae4
mavlink_receiver: remove unused decode_switch_pos function
2020-11-17 19:48:01 -05:00
Daniel Agar
7baeb78964
mavlink: STATUSTEXT track missed mavlink_log messages
2020-11-17 19:47:06 -05:00
Daniel Agar
e1168070d1
mavlink: decrease task stack
2020-11-17 19:47:06 -05:00
Daniel Agar
3f9e5a6934
drivers/device/ringbuffer: move into crazyflie syslink (only remaining user)
2020-11-17 19:47:06 -05:00
Daniel Agar
ed8a30d73e
mavlink: STATUSTEXT directly use mavlink_log subscription
...
- ORB_ID(mavlink_log) increase queue depth now that mavlink ringbuffer is gone
2020-11-17 19:47:06 -05:00
Sander Swart
387659d615
Added support for models located in all paths defined in GAZEBO_MODEL_PATH ( #16214 )
...
Co-authored-by: Sander Swart <sander.swart@live.nl >
2020-11-17 16:12:31 +01:00
bbworld1
5e6f8a9606
Add typhoon h480 support to gazebo multiple sim ( #16210 )
...
* Add typhoon h480 support to gazebo multiple sim
This commit adds support for the typhoon_h480 model for the
gazebo_sitl_multiple_run.sh script.
* Update sitl_gazebo to latest version
2020-11-17 04:20:45 +01:00
Daniel Agar
fb1f360724
mavsdk_tests: consistent 180s disarm timeout
2020-11-16 15:55:10 -05:00
Daniel Agar
f5660c6b0c
mavsdk_tests: adjust px4 and gzserver priority relative to mavsdk_test
...
- this is to avoid starving the test runner
2020-11-16 15:55:10 -05:00
Daniel Agar
22fbcf98cf
Tools/setup: requirements.txt add pymavlink
...
- needed for Tools/mavlink_shell.py
2020-11-16 12:14:41 -05:00
Daniel Agar
ce51a01822
boards: cubepilot orange and yellow start isolated sensor bus (SPI4) first
...
- this makes the isolated sensors primary by default
2020-11-16 09:31:12 -05:00
Daniel Agar
f7452bff4d
ROMFS: startup remove bootlog.txt
2020-11-16 09:19:35 -05:00
Silvan Fuhrer
b58e270fd4
FW Position Control: remove manual climbout mode trigger via pitch stick
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-16 14:41:01 +01:00
SalimTerryLi
ad4068f472
platforms/posix: mlockall() support
...
* add basic mlock support to increase stability when system is under high load and RAM is almost full
* mainly about minimizing or completely eliminating RAM page swap time
2020-11-15 23:53:10 -05:00
PX4 BuildBot
37567bbee0
Update submodule sitl_gazebo to latest Mon Nov 16 00:38:40 UTC 2020
...
- sitl_gazebo in PX4/Firmware (eb3135e79c ): https://github.com/PX4/PX4-SITL_gazebo/commit/27e06e2a4906cc0a028d8e688f243dfafa7920a4
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/0a4d0708e839388668575d61623903c297a73a34
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/27e06e2a4906cc0a028d8e688f243dfafa7920a4...0a4d0708e839388668575d61623903c297a73a34
0a4d070 2020-11-13 BazookaJoe1900 - clean build warning due to wrong string size
2020-11-15 21:32:51 -05:00
Daniel Agar
eb3135e79c
systemcmds/tests: always build with optimization
...
- needed to keep Matrix stack usage reasonable
- split matrix tests to further minimize stack usage
2020-11-15 19:15:56 -05:00
Daniel Agar
963d101375
boards: fmu-v5 debug and stackcheck increase interrupt stack
2020-11-15 17:00:11 -05:00
Daniel Agar
053bf7e732
Jenkins HIL tolerate certain failures
...
- px4_fmu-v5 debug and stackcheck builds initial configuration is best effort
- nxp_fmuk66-v3 allow overall tests command to fail due to intermittent serial console issues
2020-11-13 21:50:13 -05:00
Daniel Agar
ee9ce1087a
IMU_DGYRO_CUTOFF add conservative default (0 Hz -> 30 Hz)
2020-11-13 21:26:35 -05:00
PX4 BuildBot
683fcdc910
Update submodule sitl_gazebo to latest Fri Nov 13 20:14:29 UTC 2020
...
- sitl_gazebo in PX4/Firmware (40bf460717 ): https://github.com/PX4/PX4-SITL_gazebo/commit/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/27e06e2a4906cc0a028d8e688f243dfafa7920a4
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1...27e06e2a4906cc0a028d8e688f243dfafa7920a4
27e06e2 2020-11-12 JaeyoungLim - Add catkin build test (#652 )
6f6f420 2020-11-12 JaeyoungLim - Replace water level to ocean model (#649 )
2020-11-13 19:00:32 -05:00
Daniel Agar
174c5c5797
Jenkins HIL fmu-v5 debug and stackcheck attempt to config conservative defaults before flashing
...
- keep minimal rate for expensive fmu-v5 debug and stackcheck builds
2020-11-13 18:03:09 -05:00
Daniel Agar
dd3c1a3653
Tools/HIL: relax command retry for now
2020-11-13 18:03:09 -05:00
Jaeyoung-Lim
40bf460717
Update jsbsim bridge to latest
...
This commit updates the jsbsim bridge to the latest
2020-11-13 12:45:21 -05:00
Daniel Agar
29658961ef
mavlink: move DISTANCE_SENSOR to streams header
2020-11-13 10:05:22 -05:00
Daniel Agar
860a7fd1db
mavlink: move ALTITUDE to streams header
2020-11-13 10:05:22 -05:00
Daniel Agar
a8f0987028
mavlink: move WIND_COV to streams header
2020-11-13 10:05:22 -05:00
Daniel Agar
4a9f293596
mavlink: move MOUNT_ORIENTATION to streams header
2020-11-13 10:05:22 -05:00
Daniel Agar
4a6c90b8ea
mavlink: STATUSTEXT check TX buffer before sending
...
- Note the TX buffer size check is lazily ignoring the possibility of messages that span multiple Mavlink STATUSTEXT. This at least accommodates the calibration use case and it's no worse than before for longer messages.
2020-11-13 09:52:05 -05:00
CUAV_gitfishup
e399dbc440
boards: CUAV Nora support cuav_neo_v2_pro and disable CONFIG_STM32H7_BDMA
2020-11-13 09:45:57 -05:00
BazookaJoe1900
66edc822fe
boards: px4/fmu-v5 fix DMAmap documentation
...
- fixed notes and removed none used definitions
- set defconfig to define UART8_RXDMA and UART8_TXDMA though the DMA is not handled by nuttx, just to clarity
2020-11-12 11:26:45 -05:00
Daniel Agar
d14b4221f1
sensor calibration: apply board level adjustment to external sensors ( #16127 )
...
- apply SENS_BOARD_{X,Y,Z}_OFF to external sensors to prevent unnecessary misalignment with internal IMU
2020-11-12 10:37:30 -05:00
bresch
5f0c572c61
GPS_YAW_OFFSET: fix param description
2020-11-12 09:35:40 +01:00
Daniel Agar
3cf072debc
HIL tests remove deleted smoothz test
2020-11-11 20:22:06 -05:00
Daniel Agar
1659447abb
px4_work_queue: reduce INS (ekf2) stack by 1200 bytes
2020-11-11 20:17:52 -05:00
Daniel Agar
5d7ea62190
estimator_innovations: remove unimplemented fake vel & pos fields
...
- easy to readd if and when they're needed
2020-11-11 20:17:52 -05:00
Daniel Agar
880dc6accd
ekf2: compile at MAX_CUSTOM_OPT_LEVEL
2020-11-11 20:17:52 -05:00
Daniel Agar
1e03285405
ekf2: avoid storing in_ground_effect state
2020-11-11 20:17:52 -05:00
Daniel Agar
26de630dc5
ekf2: remove landed flag and use control_status directly
2020-11-11 20:17:52 -05:00
Daniel Agar
89ab6a5dbf
ekf2: preflight checks only reset on STANDBY change
...
- avoid storing unnecessary state and call setVehicleCanObserveHeadingInFlight() directly
2020-11-11 20:17:52 -05:00
Daniel Agar
b9fff2c221
ekf2: sensor_selection only updated in non-multi mode
...
- publish attitude as soon as possible
2020-11-11 20:17:52 -05:00
Daniel Agar
7264577eec
ekf2: split perf counters (full update or not) and reorganize Run() slightly
2020-11-11 20:17:52 -05:00
Daniel Agar
a68fe4dbd7
ekf2: move parameter update to beginning of cycle
2020-11-11 20:17:52 -05:00
Daniel Agar
5ae7c80a18
ekf2: move rangeSample update to UpdateRangeSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
991015c5c6
ekf2: move magSample update to UpdateMagSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
68f49619b7
ekf2: move gps_message update to UpdateGpsSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
0db706011a
ekf2: move FlowSample update to UpdateFlowSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
8ee197acad
ekf2: move vehicle_odometry_aligned publication to PublishOdometryAligned()
2020-11-11 20:17:52 -05:00
Daniel Agar
b29f3c7ce5
ekf2: move ExtVisionSample update to UpdateExtVisionSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
0f56793116
ekf2: move BaroSample update to UpdateBaroSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
6b30f01daf
ekf2: move AuxVelSample update to UpdateAuxVelSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
651e292d42
ekf2: move AirspeedSample update to UpdateAirspeedSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
f4f3ba47a2
ekf2: move mag calibration to UpdateMagCalibration()
2020-11-11 20:17:52 -05:00
Daniel Agar
96178a6fb0
ekf2: publish yaw estimator status last
2020-11-11 20:17:52 -05:00
Daniel Agar
05de61ff15
ekf2: move estimator innovations publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
387186c11d
ekf2: move estimator innovation test ratios publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
3b9965ff8d
ekf2: move estimator innovation variances publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
94415a45fa
ekf2: move estimator status publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
03388f4656
ekf2: move estimator states publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
98334d1325
ekf2: move local position publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
c09a5e0d9f
ekf2: move global position publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
8616345346
ekf2: move estimator_sensor_bias publication to method
...
- only publish if there's a change in bias
- publish current estimated mag bias, including saved mag bias
2020-11-11 20:17:52 -05:00
Daniel Agar
e397cbf8bb
ekf2: move ekf_gps_drift publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
0d657c74bf
ekf2: rename publish helpers mixed case (google style guide)
2020-11-11 20:17:52 -05:00
Daniel Agar
68f24954cf
imu/st/lsm9ds1: refactor to same form as other new IMU drivers
...
- register configuration captured in table and checked periodically
- simple state machine
- all driver sleeps removed
- driver respects IMU_GYRO_RATEMAX
2020-11-11 19:22:12 -05:00
Silvan Fuhrer
5dd14dfd54
FW Position Control: re-add wrongly removed airspeed_poll()
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-11 19:20:03 -05:00
Daniel Agar
a8f665739d
mavsdk_tests: manual fly forward for slightly longer
2020-11-11 19:16:39 -05:00
Daniel Agar
756609c3e8
mavsdk_tests: relax corridor radius default for missions
2020-11-11 19:16:39 -05:00
Matthias Grob
ff801fbc08
FlightTasks: remove FlightTaskManualPositionSmooth
...
alias first smooth position control version from 2017.
RIP it served well.
2020-11-11 21:16:18 +01:00
Matthias Grob
e6338d8a2f
MulticopterPositionControl: default cases with unsupported POS_MODE
2020-11-11 21:16:18 +01:00
Matthias Grob
0b8f092d2b
Add acceleration stick mapping for position mode
2020-11-11 21:16:18 +01:00
Daniel Agar
b50e6bda69
cmake: NuttX apps build updates
...
- NuttX Apps no longer generates the .built file
2020-11-11 12:06:39 -05:00
Daniel Agar
9767a73619
ROMFS: silently compare optional parameters
...
- not all build configurations have these parameters/modules
2020-11-11 08:03:48 +01:00
Daniel Agar
7ba73b46ca
uORB: tests decrease stack
...
- save a bit of memory for running on older boards
2020-11-10 23:44:02 -05:00
Daniel Agar
3924792c20
Jenkins: HIL improve run_tests.py and run_nsh_cmd.py helper
...
- switch to python3
- run_nsh_cmd.py return error if command fails
- decrease timeout in checking for output
- Jenkins hardware tests tolerate certain command failures that aren't available on all boards (flash constrained, etc)
2020-11-10 22:45:50 -05:00
AlexanderAurora
ea09d9ebbf
landing_slope: added wrap_pi to getLandingSlope and getFlareCurve
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/16132
2020-11-10 18:58:14 -05:00
PX4 BuildBot
f4964aea52
Update submodule sitl_gazebo to latest Tue Nov 10 19:18:06 UTC 2020
...
- sitl_gazebo in PX4/Firmware (79ad5eab34b76fbe54c2056974230a122362a62f): https://github.com/PX4/PX4-SITL_gazebo/commit/487f6283f4c0923f52bdc253dbf04d0e66cdb3a5
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/487f6283f4c0923f52bdc253dbf04d0e66cdb3a5...ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1
ee7661e 2020-11-06 Julian Oes - cmake: don't link to protobuf
2020-11-10 18:54:08 -05:00
PX4 BuildBot
824238ecb8
Update submodule devices to latest Tue Nov 10 19:18:16 UTC 2020
...
- devices in PX4/Firmware (e65317c5fd7440ebb983cb8b07f48d67678ab86e): https://github/commit/592e4289d941eb0b7d84e6da9d72d731083633ee
- devices current upstream: https://github/commit/0bf63c9820f4af997d0a48743dcc1008d119e49c
- Changes: https://github/compare/592e4289d941eb0b7d84e6da9d72d731083633ee...0bf63c9820f4af997d0a48743dcc1008d119e49c
0bf63c9 2020-11-05 Morton Lin - replace non-ascii characters in source code (#61 )
2020-11-10 18:53:40 -05:00
PX4 BuildBot
8b9ae49508
Update submodule ecl to latest Tue Nov 10 19:18:21 UTC 2020
...
- ecl in PX4/Firmware (579a8c3a688e536b1ae4177c3e3edcea438e74d5): https://github/commit/a21092804a784d012939f96cc633e7da5f5e8cde
- ecl current upstream: https://github/commit/da9f314b69585ba169d033fec293e9ea48b9d1fd
- Changes: https://github/compare/a21092804a784d012939f96cc633e7da5f5e8cde...da9f314b69585ba169d033fec293e9ea48b9d1fd
da9f314 2020-11-10 bresch - mag: use strength in Gauss
c4d162f 2020-11-04 Claudio Micheli - EKF: range_finder parameterize range sensor quality hysteresis time
6158d6d 2020-11-02 Daniel Agar - EKF: add const reference getters for status flags
2020-11-10 18:53:03 -05:00
Daniel Agar
b491929ad6
Jenkins: HIL tests only finish on PASSED, FAILED, or timeout
2020-11-10 16:41:13 -05:00
bresch
da9f314b69
mag: use strength in Gauss
2020-11-10 20:25:09 +11:00
Claudio Micheli
c4d162f9a0
EKF: range_finder parameterize range sensor quality hysteresis time
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
Co-authored-by: bresch <brescianimathieu@gmail.com >
2020-11-04 12:35:39 -05:00
Daniel Agar
6158d6d841
EKF: add const reference getters for status flags
2020-11-02 13:05:08 -05:00
Daniel Agar
a21092804a
EKF: remove virtual getters from estimator_interface
2020-11-02 09:35:47 -05:00
Daniel Agar
48a8992caf
EKF: move small simple getters to header
...
- return by const reference where possible
2020-10-30 09:48:45 -04:00
Daniel Agar
defb35d8f5
EKF: pass imuSample by const reference
2020-10-30 09:47:22 -04:00
Daniel Agar
d85e24d3ca
EKF: Ekf class is final
2020-10-27 08:53:58 -04:00
Daniel Agar
961b545da0
cmake: respect MAX_CUSTOM_OPT_LEVEL if set
...
- ignored for Debug and Coverage builds
2020-10-27 08:53:58 -04:00
Daniel Agar
5ea8824439
EKF: inline simple getters
2020-10-27 08:53:58 -04:00
Daniel Agar
6e99ebd928
EKF: add fault status bit for bad vertical accel data
2020-10-26 17:37:15 +01:00
Daniel Agar
d936b85d71
EKF: add fault status bit for clipping
2020-10-26 17:37:15 +01:00
Mathieu Bresciani
dd3ffc4192
Optical flow: compute velociy from corrected flow data for logging ( #920 )
...
This is really useful when debugging optical flow data
2020-10-26 13:27:52 +01:00
bresch
9126282c03
CI: update containers, sync with px4/Firmware
2020-10-26 11:07:13 +01:00
bresch
e80a683981
CI: update change indicator of yaw emergency estimator
...
This was incorrectly uptated in 1a7c68ea72
2020-10-26 11:07:13 +01:00
Paul Riseborough
f666ebb995
EKF: Code format fix - replace 1E-x with 1e-x
2020-10-06 20:50:52 +11:00
Paul Riseborough
e82d0af6d2
EKF: Improve code clarity - non functional change
2020-10-06 20:50:52 +11:00
Paul Riseborough
1a7c68ea72
EKF: update change indicator
2020-10-06 20:50:52 +11:00
Paul Riseborough
759d217d5a
EKF: Improve protection for GSF weight collapse
2020-10-06 20:50:52 +11:00
Paul Riseborough
7c81350c7a
EKF: Don't yaw reset if not yaw induced nav failure
2020-10-06 20:50:52 +11:00
Paul Riseborough
bf0d70fc90
EKF: Protect against collapse of GSF weights
2020-10-06 20:50:52 +11:00
Daniel Agar
4c2355a638
EKF: use GPS to lookup declination from WMM before full GPS checks pass
2020-09-28 08:43:32 +02:00
Daniel Agar
6b99ea2a60
ECL standalone build improve ECL_INFO/WARN/DEBUG
...
- ECL_{INFO,WARN,DEBUG} add newline
- ECL_{INFO,WARN,DEBUG}_TIMESTAMPED add imu timestamp and newline
2020-09-25 09:33:50 -04:00
bresch
5879eaaf78
ekf: fix variable length array error
...
Even if the non_zeros() function is static constexpr, gcc (10.2) does not like it.
Using sizeof...(Idxs) fixes the error.
2020-09-25 11:33:29 +02:00
Daniel Agar
99aafbaa18
README: remove obsolete build status
2020-09-14 12:04:42 -04:00
Daniel Agar
fab242a81f
python generation add shebang, mark executable, ignore cache
...
- commit all current generated files
2020-09-07 09:20:41 +02:00
rjgritter
a204c59990
WindEstimator: Fix incorrect _state accessing, clarify enums ( #906 )
2020-09-05 08:48:51 +02:00
bresch
264c8c4e86
mag_fusion: mag heading and 3d modes are mutually exclusive
...
There is no need to check if 3d fusion is active when in mag heading
fusion mode since this is impossible
2020-08-27 15:48:40 +10:00
kamilritz
9797e4d28f
updateYawInRotMat with hidden rotation sequence handling
2020-08-27 09:51:56 +10:00
kamilritz
419b70e4b5
Add tests for shouldUse321RotationSequence
2020-08-27 09:51:56 +10:00
kamilritz
4fb4e0ca01
Clean euler321 and euler312 code and comment
2020-08-27 09:51:56 +10:00
Kamil Ritz
2be738e806
Add helper function to alter heading in rotation matrices
2020-08-27 09:51:56 +10:00
Kamil Ritz
fdc86c247a
add functions to compute yaw (321 and 312 sequence)
...
from quaternion and rotation matrix
2020-08-27 09:51:56 +10:00
Kamil Ritz
15afa8ae17
shouldUse321RotationSequence(const Dcmf& R)
2020-08-27 09:51:56 +10:00
Kamil Ritz
4872f2a545
Remove not used code
2020-08-24 19:24:27 +10:00
Kamil Ritz
0fafd4d68b
precompute cos and sin of yaw once before mutliple use
2020-08-24 19:24:27 +10:00
Kamil Ritz
114516b784
Use new added matrix functions
2020-08-24 19:24:27 +10:00
Kamil Ritz
1f637af7de
Add const modifier
2020-08-24 19:24:27 +10:00
kamilritz
aa2c77f92d
Small cleanup in velposfusion
2020-08-24 18:04:57 +10:00
kamilritz
644e903552
Apply measurementUpdate function
2020-08-24 18:04:57 +10:00
kamilritz
404edde7f3
Add measurementUpdate function
2020-08-24 18:04:57 +10:00
kamilritz
f6252ff533
small cleanup in limitDeclination
2020-08-24 18:04:57 +10:00
Daniel Agar
f62662ee46
update change_indication for newer WMM tables
2020-08-21 16:54:45 -04:00
PX4 BuildBot
802a6d99a0
Update geo_lookup WMM to latest Fri Aug 21 11:48:14 UTC 2020
2020-08-21 16:54:45 -04:00
kamilritz
bd0c5fbb97
Update change indication for ekf gsf
2020-08-20 22:16:28 +02:00
kamilritz
3ae934544f
Add change indication for ekf_gsf_reset
2020-08-18 17:13:46 +10:00
Paul Riseborough
fd849e0578
EKF: Fix specific force observation noise variance
...
Also add protection for out of range value.
2020-08-18 17:05:59 +10:00
Paul Riseborough
76f393dcb0
EKF: Use const reference instead of local copy
2020-08-18 17:05:59 +10:00
Paul Riseborough
c43307b8cf
EKF: convert drag fusion from Matlab to SymPy generated auto-code
2020-08-18 17:05:59 +10:00
Paul Riseborough
1e6c6f2d3c
EKF: update all output states when aligning output time horizon filter
2020-08-16 10:00:47 +10:00
kamilritz
3bd9415498
Make delayed output stayed not a member variable
2020-08-16 10:00:47 +10:00
kamilritz
da9bfe4316
Update interface of applyCorrectionsToOuputStates
2020-08-16 10:00:47 +10:00
Paul Riseborough
64ab2b087a
EKF: Only record successful sideslip fusion when states updated
2020-08-16 08:45:59 +10:00
Paul Riseborough
0fa7ef3517
EKF: Use ecl::powf for integer exponents
2020-08-16 08:45:59 +10:00
Paul Riseborough
168dbdf630
EKF: Convert sideslip fusion to use SymPy generated auto-code
2020-08-16 08:45:59 +10:00
Paul Riseborough
06aa78a291
EKF: Only record airspeed fusion event when states are updated
2020-08-16 08:45:26 +10:00
Paul Riseborough
486a461a5e
EKF: airspeed fusion derivation test comparison cleanup
2020-08-16 08:45:26 +10:00
Paul Riseborough
ede6204f85
EKF: airspeed fusion cleanup
2020-08-16 08:45:26 +10:00
Paul Riseborough
a5a43dbc6c
EKF: Convert airspeed fusion to use SymPy generated auto-code
2020-08-16 08:45:26 +10:00
Paul Riseborough
5907e81ef7
EKF: optflow fusion cleanup
2020-08-16 08:44:17 +10:00
Paul Riseborough
7fa9a1963b
EKF: optflow fusion cleanup
...
Co-authored-by: kritz <kritz@ethz.ch >
2020-08-16 08:44:17 +10:00
Paul Riseborough
0e74f3ea9d
EKF: optflow fusion cleanup
...
Co-authored-by: kritz <kritz@ethz.ch >
2020-08-16 08:44:17 +10:00
Paul Riseborough
6e992a18f6
EKF: optflow fusion cleanup
...
Co-authored-by: kritz <kritz@ethz.ch >
2020-08-16 08:44:17 +10:00
Paul Riseborough
1ad042da23
EKF: Use ecl::powf in comparison test
2020-08-16 08:44:17 +10:00
Paul Riseborough
274523bd98
EKF: Use ecl::powf for integer exponents
2020-08-16 08:44:17 +10:00
Paul Riseborough
f20a5d814d
EKF: Remove redundant tilt check
...
Also fix comment indent
2020-08-16 08:44:17 +10:00
Paul Riseborough
1592db8f34
EKF: Convert optical flow fusion to use SymPy generated equations
2020-08-16 08:44:17 +10:00
Paul Riseborough
1f386c1bb8
EKF: Add yaw estimate SymPy generated code files
2020-08-16 08:43:29 +10:00
Paul Riseborough
510d93858f
EKF: move yaw estimator derivation into main filter derivation
...
Enables use of common components
2020-08-16 08:43:29 +10:00
Paul Riseborough
f89c52e840
EKF: use ecl::powf for integer exponents
2020-08-15 08:40:59 +10:00
Paul Riseborough
0aa2f17562
EKF: Convert GPS yaw observation method to use SymPy generated code ( #880 )
...
* EKF: add test comparison program for GPS yaw fusion equations
* EKF: convert GPS yaw fusion method to use SymPy generated equations
* Replace if/else with simple if
* EKF: fix formatting of GPS yaw fusion auto-code comparison test
* EKF: Use SparseVector type for GPS yaw fusion Jacobians
* EKF: Fix bug in GPS yaw derivation comparison check
* Add gps_yaw auto generated code file
Co-authored-by: kamilritz <kritz@ethz.ch >
2020-08-13 13:23:57 +10:00
Paul Riseborough
21cc46edd7
EKF: Convert magnetic field observation methods to use SymPy generated code ( #879 )
...
* EKF: Add comparison test for mag field fusion generated code
* EKF: convert mag field fusion to use SymPy generated code
* EKF: Add test comparison program for yaw fusion equations
* Stop setting 0 to 0
* Reduce if/else statement to only if
* EKF: more accurate implementation for sequential fusion of magnetometer data
* test: update change indicator
* Use matrix::SparseVector<float, 24, ...> for observation jacobian
* Adapt the auto code generation to allow for different bracket styles
* Add auto generated code for mag fusion
* Add generic computation of KHP
* Apply generic computation of KHP to mag fusion
* tests: update change indicator
* tests: update change indicator
Co-authored-by: kamilritz <kritz@ethz.ch >
2020-08-11 18:57:22 +10:00
kamilritz
ec93490890
geo test change to arc length
2020-08-10 22:15:43 +02:00
kamilritz
98dec6afa6
add tests for waypoint_from_line_and_distance()
2020-08-10 22:15:43 +02:00
kamilritz
60388a8b6d
Geo: Fix double correcting for negative distance
2020-08-10 22:15:43 +02:00
Paul Riseborough
6feb28c27d
EKF: Convert EKF-GSF yaw estimator from matlab to sympy derived equations ( #871 )
...
* EKF: Add sympy derivation of equations for EKF-GSF yaw estimator
* EKF: Convert EKF-GSF yaw estimator to use sympy generated equations
* EKF: Add status prints for GSF-EKF yaw estimator cvode gen
* EKF: Move generated code for GSF-EKF yaw estinmator to generated directory
* Make it run with python3
* Cleanup yaw estimator code generation
* Improve and simplify gsf measurement update code generation
* Use improved auto generated measurement update code
& remove obsolete updateInnovCovMatInv function
* Delete generated ekf_derivation for the moment
Co-authored-by: kamilritz <kritz@ethz.ch >
2020-08-10 09:27:31 +02:00
kamilritz
9d7d502c56
std::sin -> sin
2020-08-09 15:28:35 -04:00
kamilritz
4ab364f0fd
Make conversion from float to double explicite
2020-08-09 15:28:35 -04:00
Julian Kent
9ea3468091
Negative distances go in the opposite direction
2020-08-09 11:36:36 -04:00
kamilritz
b7e49f20e4
Update change indication
2020-08-09 11:08:59 -04:00
kamilritz
497008811a
Update matrix version
2020-08-09 11:08:59 -04:00
kamilritz
d7568d55b4
extend firmware build checks
2020-08-07 11:42:13 +02:00
kamilritz
310b989c9a
refactor start of gps into separate function
2020-08-07 10:02:47 +02:00
kamilritz
7eb2b08eed
Yaw measurement jacobian to Vector4f
2020-08-04 09:57:00 +02:00
kamilritz
15d360f446
saved_mag_ef_cov to Squarematrix2f
2020-08-04 09:57:00 +02:00
kamilritz
7609bc69b2
drag innov member variables to Vector2f
2020-08-04 09:57:00 +02:00
kamilritz
960b80ee71
Do not update output filter a second time after reset to flow.
2020-08-03 09:51:59 +02:00
Paul Riseborough
77b11129fa
EKF: replacement of covariance prediction autocode with sympy generated output ( #870 )
...
* added python script with ekf derivation (WIP)
Signed-off-by: RomanBapst <bapstroman@gmail.com >
* worked on c code auto-generation
Signed-off-by: RomanBapst <bapstroman@gmail.com >
* save before variable name change
Signed-off-by: RomanBapst <bapstroman@gmail.com >
* changed symbol names
Signed-off-by: RomanBapst <bapstroman@gmail.com >
* added codegeneration class
Signed-off-by: RomanBapst <bapstroman@gmail.com >
* improve 3D mag fusion derivation
Signed-off-by: RomanBapst <bapstroman@gmail.com >
* EKF: Extend ekf sympy derivation to include all observation types
* EKF: Add custom ecl::powf function for integer powers
* EKF: Convert ekf covariance prediction to use sympy output
* EKF: Add test program to compare sympy and matlab covariance prediction
Also tests ecl::powf(x,exp) function
* EKF: simplify ecl::powf function
* Generate code to subfolder generated/
* Add printouts for showing code generation progress
* Move generated covariance code to generated folder
* Upgrade code generation to python3
* main.py: Remove unused create_symbols function
& making code more compact
* main.py: move main part into function
* Code generation: fix passing wrong rotation matrix to yaw_observation ()
* EKF: Amend generated code filename for consistency
* Move ecl::powf function test to unit tests
* EKF: Use updated ecl:powf functionality in test program
* Move ecl::powf to utils.hpp
* Update ecl::powf test
* Update output change indication
* test: update expected output for change indicator
* test: update expected output for change indicator again
Co-authored-by: RomanBapst <bapstroman@gmail.com >
Co-authored-by: kamilritz <kritz@ethz.ch >
2020-07-30 12:44:08 +10:00
Matthias Grob
0bffd951ec
AlphaFilter: include float.h for FLT_EPSILON
2020-07-28 15:41:58 -04:00
kritz
88c52aba5e
Refactor ev fusion start into helper functions ( #872 )
2020-07-27 11:42:52 +02:00
kamilritz
8c65ca29e4
Only run firmware build test on pull_request
2020-07-26 10:11:52 -04:00
kamilritz
049f59d7de
Fix firmware-build-test
2020-07-26 10:11:52 -04:00
Daniel Agar
185f22b094
geo_lookup: copyright header consistency and minor update
...
Minor consistency fixes for the copyright header and update the tables to current. PX4Buildbot will periodically update the tables automatically from this point.
2020-07-20 13:01:56 -04:00
Daniel Agar
9aa7991654
geo_lookup: upgrade table size (2 bytes per element) and add testing
...
- updated table to 2 bytes (int16) per element and scaled the inclination/declination/strength tables to use most of the range without being too awkward
- tables have been extended to include the full latitude range
- expanded the API slightly to offer declination/inclination in both degrees/radians and the magnetic strength in Gauss and Tesla
- generated some simple testing that verifies interpolation between points
2020-07-19 18:53:47 -04:00
kamilritz
3651ed37fb
Do not update time_last_imu outside of setGpsData
2020-07-17 11:06:36 +02:00
kamilritz
89bfcc2167
Introduce checkAndFixCovarianceUpdate(KHP) function
2020-07-16 18:25:06 +02:00
kamilritz
5c4a3d4576
Make observation jacobian a Vector24f when possible
2020-07-16 18:25:06 +02:00
kamilritz
b5e1397c0f
Add const modifier
...
const modifier
Add missing const modifier
2020-07-16 18:25:06 +02:00
kamilritz
e357376797
Bring declaration and initialization together
2020-07-16 18:25:06 +02:00
kamilritz
796afd5f98
Rename yaw_use_inhibit -> is_yaw_fusion_inhibited
...
Temp
2020-07-16 18:25:06 +02:00
kamilritz
4cb2d1c645
Remove duplicated code snippets
...
by combining x and y ballistic coeff inverse a vector
2020-07-16 18:25:06 +02:00
kamilritz
b0ad9f0226
Replace componentwise with matrix operation
2020-07-16 18:25:06 +02:00
kamilritz
b5765eb3b4
Move variable declaration to better place &
...
remove airspeed_innov_var_temp variable. setting to global variable even when fusion is aborted is okay
2020-07-16 18:25:06 +02:00
kamilritz
05855b7fc1
Update time of last fusion event really only if fused
...
Except for the velpos fusion
2020-07-16 18:25:06 +02:00
kamilritz
efd96db49d
Avoid setting 0 to 0
2020-07-16 18:25:06 +02:00
kamilritz
5ef18f8823
Style improvement
2020-07-16 18:25:06 +02:00
kamilritz
01515b9a9c
Replace min(max()) with constrain
2020-07-16 18:25:06 +02:00
kamilritz
b0458fbded
Refactor output buffer updates into separate functions
2020-07-16 18:25:06 +02:00
kamilritz
3d82d822ae
Add const modifier
2020-07-16 18:25:06 +02:00
kamilritz
93011ed52c
Use ternary operator
2020-07-16 18:25:06 +02:00
kamilritz
46a5e6e428
Replace divisions with multiplications
2020-07-02 15:55:24 +02:00
kamilritz
3e3a66e9e9
Remove unnecessary operations
2020-07-02 15:55:24 +02:00
kamilritz
079a699556
Random cleanup
2020-07-02 15:55:24 +02:00
kamilritz
d18ddb3e92
Use ternary operator
2020-07-02 15:55:24 +02:00
kamilritz
122f58b94d
Bug: stop overwriting fault status of index 0 with index 1
2020-07-02 15:55:24 +02:00
kamilritz
9e211d6ca1
Stop overwriting fault status with false if one component is true
2020-07-02 15:55:24 +02:00
kamilritz
e5ddd912a4
Remove not needed else case
2020-07-02 15:55:24 +02:00
kamilritz
430497e2f7
Shift variable definition inside calculateOutputStates
2020-07-02 15:55:24 +02:00
kamilritz
f59343b343
Remove misplaced comment
2020-07-02 15:55:24 +02:00
kamilritz
673b309c45
Fix bug: pos gain used instead of vel gain
2020-07-02 15:55:24 +02:00
kamilritz
2af2696b63
Revert if-else condition to get rid of unnecessary indentation
2020-07-02 15:55:24 +02:00
kamilritz
fce4958d4f
Random cleanup
2020-07-02 15:55:24 +02:00
kritz
9eea44f4ab
Return type of resets ( #859 )
...
* Reset position/velocity return type is void
* Delete not needed comments
2020-07-02 14:53:59 +02:00
bresch
97e54df123
Gps control: add missing consts and reduce variable scope
2020-07-02 13:35:13 +02:00
bresch
b0f79caf34
GPS yaw: Extract and refactor GPS yaw control logic
...
- Rename GPS yaw fusion functions:
resetGpsAntYaw -> resetYawToGps
fuseGpsAntYaw -> fuseGpsYaw
- Move last fusion time in reset function
2020-07-02 13:35:13 +02:00
bresch
7f4fedde6a
GPS Yaw: fix heading initialisation and add unit tests
...
When the antennas are not parallel to the x body axis, the GPS message
contains the angular offset but the data is already corrected in the
driver. EKF2 should then not add this offset during the initialisation.
2020-07-02 13:35:13 +02:00
kamilritz
97225fcb74
Use matrix lib inside getState
2020-07-02 09:02:24 +02:00
kamilritz
16a00eae0b
Make Kfusion a Vector24f
2020-07-02 09:02:24 +02:00
kamilritz
356b2f6ffe
Stop setting zero to zero
2020-07-02 09:02:24 +02:00
kamilritz
552bf824ea
Add typedef for Matrix 24 types
2020-07-02 09:02:24 +02:00
kamilritz
5356077a32
Make flow_innov/-var a matrix Vector2f
2020-06-26 08:26:26 +02:00
kamilritz
c2801eb488
Add const modifier and increase matrix library usage
2020-06-26 08:26:26 +02:00
kamilritz
d9afc2f1e8
Remove repeated division by same value
2020-06-26 08:26:26 +02:00
kamilritz
d16b43a2da
Get rid of non functional piece of code
2020-06-26 08:26:26 +02:00
kamilritz
c3653e68ca
Add const modifier
2020-06-26 08:26:26 +02:00
kamilritz
48f0eb16da
Remove uninformative comments
2020-06-26 08:26:26 +02:00
kamilritz
4a69b41015
Increase matrix library usage even more
2020-06-26 08:26:26 +02:00
kamilritz
630be60930
Increase matrix library usage
2020-06-26 08:26:26 +02:00
kamilritz
22274b1d30
Add const modifier
2020-06-26 08:26:26 +02:00
kamilritz
61c139ea95
Remove unused variable
2020-06-26 08:26:26 +02:00
kamilritz
afd4f3f86b
Fix typo
2020-06-26 08:26:26 +02:00
kamilritz
a3706fdcef
Make relative wind computation more compact
2020-06-26 08:26:26 +02:00
kamilritz
b8f937666a
Make mag_innov/-var a Matrix::Vector3f
2020-06-26 08:26:26 +02:00
Kamil Ritz
0ea7cd8360
Attempt to fix CI firmware build test
2020-06-26 07:38:25 +02:00
Daniel Agar
2927132954
clang-format set BreakBeforeBraces to Linux style
...
- this keeps things consistent with PX4/Firmware astyle
2020-06-25 13:23:52 -04:00
sevenbill
b96c62ed8b
Optionalized build dependency on git
...
Signed-off-by: Bill Morris <bill@sevendof.com >
2020-06-25 08:56:26 -04:00
Bill Morris
794e6ec3a5
Enforce tabs via editorcofig
2020-06-25 08:55:21 -04:00
PX4 BuildBot
e4b44f704b
Update geo_lookup WMM to latest Tue Jun 23 14:15:04 UTC 2020
2020-06-23 10:41:59 -04:00
bresch
4b746a3fca
GPS Yaw: add consts and remove fusion starting message
...
The fusion status is captured in the status flags; the message is
superfluous, uses flash space and can impact real-time performance
2020-06-23 08:43:48 +02:00
bresch
2bafe9df08
GPS Yaw: wait to fuse at yaw at least once before declaring it faulty
...
This fixes the cases where the yaw message from the GNSS receiver would
take more time than the vel/pos. The estimator should wait and not
immediately fall back to an other aiding source after 5sec.
If it never comes, it will never fall back, but this is ok since the
user wants to fly with GPS aiding an not with something else.
2020-06-23 08:43:48 +02:00
bresch
51cd63d626
GPS Yaw: fall back to other yaw aiding source in case of bad data
...
If the user selects GPS yaw fusion but that there is no GPS yaw data in
the GPS message or if the fusion is rejected for some time, the GPS yaw
data is declared faulty and the fusion is stopped to allow an other
source of yaw aiding to start.
2020-06-23 08:43:48 +02:00
bresch
fe2a9d3018
GPS Yaw: move isfinite checks in control.cpp
2020-06-23 08:43:48 +02:00
bresch
3c6790f5d5
GPS Yaw: Always reset Yaw when GPS Yaw fusion is starting
...
Also avoid fusing fake mag data when an other source of yaw aiding
is active, even if in MAG_TYPE_NONE mode.
2020-06-23 08:43:48 +02:00
kamilritz
ff8b5ec69d
Extract general functions into utils
2020-06-23 08:18:34 +02:00
Daniel Agar
fda30d8cec
geo_lookup: expand latitude to +-80 degrees
2020-06-22 09:45:22 -04:00
Daniel Agar
109eca5200
geo_lookup: create simple python script to update tables
2020-06-22 09:45:22 -04:00
Daniel Agar
41b9e4f628
geo_lookup: move tables to separate file
2020-06-22 09:45:22 -04:00
Daniel Agar
a8bb8ea99f
move TECS, L1, and validation to PX4/Firmware
2020-06-18 18:48:36 -04:00
Matthias Grob
a296fe7d8c
Move AlphaFilter out of EKF
2020-06-15 13:07:51 -04:00
Matthias Grob
daec5ae608
AlphaFilter: replace isfinite with positive denominator check
2020-06-15 13:07:51 -04:00
Kamil Ritz
e835bc34c4
remove inline modifier
2020-06-12 15:11:16 +02:00
Kamil Ritz
74780aa512
Refactor gps fusion commencing
2020-06-12 15:11:16 +02:00
Matthias Grob
38cbd1a182
AlphaFilter: prevent setParameters division by zero
2020-06-09 16:32:24 -04:00
RomanBapst
b7d54b5477
gps: fixed filter initialization bug around gps
...
- do not gps reference altitude to zero in case gps checks pass before the
filter initialized
- reset the filtered gps position and position derivative filters in case
we are in air or there is movement on the ground
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-06-08 16:19:38 +02:00
bresch
8f533cb878
terrain_estimator: fix sensor aid selection
2020-06-05 20:44:30 +02:00
bresch
821e1fa8fc
terrain_estimator: add unit tests
2020-06-05 20:44:30 +02:00
bresch
aa96fa6d9e
Random style fixes in the code
2020-06-05 20:44:30 +02:00
bresch
5d6a72e383
sensor_simulator: add possibility to set GPS position rate
...
one can set the position rate = velocity to obtain consistent gps data
2020-06-05 20:44:30 +02:00
Roman Bapst
b3dc06d0cb
Added height above ground source bitmask indicating which sensor is used
2020-06-04 09:44:19 +02:00
bresch
62e15cbacf
sensor_simulator: set IMU rate to 200Hz as this is the new value
...
used in the Firmware
2020-06-03 17:09:20 +02:00
bresch
6126c190b2
sensor_simulator: update EKF at IMU rate
...
This is how it is also done in ekf2_main. Otherwise, this leads to
multiple integration of the same IMU data due to asynchronous sensor
updates triggering a prediction step between IMU updates.
Fix unit tests that broke because of this fix
2020-06-03 17:09:20 +02:00
Paul Riseborough
59183f70ba
EKF: Reduce EKF-GSF vulnerability to large yaw gyro bias errors ( #831 )
...
* EKF: Reduce EKF-GSF vulnerability to large yaw gyro bias errors
* Update EKF/ekf_helper.cpp
* EKF: Fix comment typo
Co-authored-by: Roman Bapst <bapstroman@gmail.com >
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
Co-authored-by: Roman Bapst <bapstroman@gmail.com >
2020-06-02 17:42:54 +10:00
Matthias Grob
d0ddda8917
tecs: fix typo init(i)alized
2020-05-29 20:03:22 +03:00
Kamil Ritz
86fc94b75a
Remove tilt align from position innovation check
2020-05-25 11:12:24 +02:00
Mathieu Bresciani
b024cdd282
unit test: check that the accel bias is only learned when observable ( #827 )
2020-05-25 11:10:01 +02:00
Paul Riseborough
c91c78dcf6
EKF: Allow reset of yaw to EKF-GSF later in flight
2020-05-22 13:05:10 +03:00
Daniel Agar
600240d95f
EKF: resetGpsAntYaw() fix double promotion
2020-05-20 12:44:18 -04:00
kamilritz
39c09b8092
add basic gps yaw fusion test
2020-05-20 08:52:52 +02:00
Kamil Ritz
21f49c22dc
Use resetQuatStateYaw during gps yaw reset
2020-05-20 08:52:52 +02:00
Carl Olsson
7f21364844
EKF: use initial wind uncertainty with no airspeed sensor ( #823 )
2020-05-20 08:38:58 +02:00
kritz
bf78044bcd
EKF: fix initialization of local position validity 2 ( #820 )
...
The `_deadreckon_time_exceeded` flag is used in
`local_position_is_valid()`. This means that
`_params.valid_timeout_max` after startup, in my observed case 5
seconds, the local position switche from valid to invalid and then after
a while back to valid again.
With this fix, the local position is flagged invalid from boot and gets validated after the first aiding event.
Co-authored-by: Julian Oes <julian@oes.ch >
2020-05-20 08:24:23 +02:00
kritz
716caa5168
Refactor position resets ( #822 )
2020-05-19 21:53:46 +02:00
Mathieu Bresciani
37d9cef262
ekf: disable xy accel bias learning before takeoff ( #818 )
...
* ekf: disable xy accel bias learning before takeoff
As those biases are usually poorly observable before takeoff because
they are almost perpendicular to the gravity vector, learning is often
driven by noise and numerical issues. This results in incorrect bias
learning before takeoff when the drone is static on ground for a long
period of time.
* ekf: update unit test and change indicator
2020-05-19 18:02:40 +10:00
Mathieu Bresciani
9788c3bdf2
ekf: split accel bias learning in independant xyz components ( #817 )
...
This is a non-functional change required to select accel bias estimation
per axis selection. The intent is then to disable the learning before
takeoff of the components that are poorly observable.
2020-05-15 09:20:27 +02:00
Paul Riseborough
19bbea75c0
Fix GPS altitude not fused if GPS checks fail and GPS is primary height source ( #813 )
...
* EKF: Fix failure to select a height sensor
* EKF: Remove unnecessary check and improve documentation
2020-05-14 19:26:16 +10:00
kritz
24f2e60b7e
Reduce stored strings, to save flash space ( #815 )
2020-05-13 08:09:26 +02:00
kritz
98801ad17b
Support vision velocity expressed in body frame too ( #708 )
...
* Support vision velocity expressed in body frame
* Use switch statement for vision velocity frame
* Robustify vision velocity frame test
* Increase lower bound on vision velocity noise to 0.05 m/s
2020-05-12 16:03:35 +02:00
kritz
c3de452e8e
Remove duplicate code during vision yaw reset ( #810 )
2020-05-12 08:44:39 +02:00
Kamil Ritz
b40adf3dec
Refactor velocity resets
2020-05-12 08:05:32 +02:00
kritz
03191847f9
Fix ev_pos_obs_var(1) entry ( #809 )
2020-05-11 10:44:05 +02:00
Kamil Ritz
440383f039
Increase matrix library usage and remove white line
2020-05-11 09:09:52 +02:00
bresch
97b437233e
ekf: remove unused function
2020-05-08 16:55:23 +02:00
bresch
26d4fbc000
EKF: reduce scope of variable and remove redeclaration of member
2020-05-08 16:55:23 +02:00
bresch
edc8a88c24
yaw_fusion: remove useless initialization
2020-05-08 16:55:23 +02:00
bresch
75c49b2082
ekf_helper: fuse double if
2020-05-08 16:55:23 +02:00
bresch
0e3bf2872c
EKFGSF_yaw: cleanup initialization of member variables
2020-05-08 16:55:23 +02:00
Daniel Agar
12835b999e
cmake update CXX standard 11 -> 14
...
- this doesn't really change anything, just staying in sync with PX4/Firmware
2020-05-01 13:33:49 -04:00
Paul Riseborough
cda7486897
EKF: Prevent yaw reset to GPS caused by loss of GPS data ( #805 )
2020-04-30 17:50:26 +10:00
kamilritz
8b6d665a13
Avoid subtraction of two uint
2020-04-27 10:17:01 +02:00
kamilritz
70d65ea55f
Test:Increase GPS jump need for rejection
2020-04-25 10:11:01 +02:00
Kamil Ritz
c19f40e574
Add reset position test for GPS and VISION
2020-04-25 10:11:01 +02:00
Kamil Ritz
78a6b9f7a8
SensorSimulator: Fix GPS horizontal position step
2020-04-25 10:11:01 +02:00
Kamil Ritz
050298f6c1
Improve matrix library usage
2020-04-25 10:11:01 +02:00
Kamil Ritz
5749273d19
refactor resetPosition
2020-04-25 10:11:01 +02:00
Paul Riseborough
8a9d961f0d
EKF: Improve covariance prediction stability ( #795 )
...
* EKF: Improve covariance prediction stability
Eliminates collapse of vertical velocity state variance due to rounding errors that can occur under some operating conditions.
* EKF: Fix typo
* test: Fix initialisation test cases
Provide sufficient time for variances to stabilise and fix calculation of reference quaternion for alignment.
* test: Allow for accumulated rounding error in IMU sampling test
* test: Allow sufficient time for quaternion variances to reduce after initial alignment
* test: Increase allowance for tilt alignment delay and inertial nav errors
* test: Increase allowance for tilt alignment delay and inertial nav errors
* adpat reset velocity test
* test: update change indication file
* test: Adjust tests to handle alignment time and prediction errors
* README.md: Add documentation for change indicator test
2020-04-23 14:38:09 +02:00
Matthias Grob
65a4ca9d65
AlphaFilter: merge with PX4 implementation
...
I made a separate implementation of the same filter for PX4. Now
that I know it's duplicate I merge the two into one and reuse it.
2020-04-20 09:30:07 +02:00
Matthias Grob
1e033c4719
camke ctest: enable gtest colors
2020-04-20 09:30:07 +02:00
Kamil Ritz
adacca099d
test recording of velocity reset
2020-04-19 12:43:37 +02:00
bresch
30d69aa45b
Ekf: extract baro height offset computation
2020-04-19 12:38:13 +02:00
bresch
6b64cf0770
Ekf: centralize GPS height fusion startup
2020-04-19 12:38:13 +02:00
bresch
61763544b6
Ekf: centralize baro fusion startup
2020-04-19 12:38:13 +02:00
kamilritz
6f383248ca
update change indication
2020-04-13 20:34:41 +02:00
Kamil Ritz
e52482501a
Expand standalone mathlib double precision functions' usage
2020-04-13 20:34:41 +02:00
Kamil Ritz
1fa6870cd6
Perform geo.cpp's mathlib calls in double point precision
2020-04-13 20:34:41 +02:00
Kamil Ritz
a013bb9314
Add test for gps projection & reprojections
2020-04-13 20:34:41 +02:00
kritz
fa5a00d871
Refactor velocity reset ( #788 )
...
* Refactor velocity reset
* Add unit tests for velocity resets
* Expand updates to vertical buffer to velocity resets outside of resetHeight
* Improve matrix library usage
* Improve naming of vertical output samples
* Fix update of output_vert_new during reset
* Improve naming of vertical output samples 2
2020-04-08 16:39:15 +02:00
Daniel Agar
47624a0f02
EKF increase delta velocity process noise per axis if clipping ( #663 )
2020-04-08 08:51:51 +10:00
Kamil Ritz
d6b6276cdc
change naming from tiltOffset to pitchOffset
2020-04-04 12:48:52 +02:00
bresch
572ad2df0a
SensorRangeFinder: add distBottom function to get the vertical distance
2020-04-03 11:01:23 +02:00
bresch
a998da1781
terrain_estimator: initialize with valid delayed measurement
2020-04-03 11:01:23 +02:00
Mathieu Bresciani
0623b2b02d
Range check cleanup ( #782 )
...
* EKF: centralize range finder tilt check
* Ekf-control: do not double check for terrain estimate validity
isRangeAidSuitable can only return true if the terrain estimate is valid
so there is no need for an additional check
* range_finder_checks: restructure the checks to avoid early returns
There is now only one clear path that can lead to the validity being
true.
Furthermore, if the _rng_hgt_valid is true, we can trust it and we don't
need for additional checks such as tilt.
The case where we need to provide fake measurements because the drone is
on the ground and the range finder data is bad is already handled
in "controlHeightFusion" so there is no need to hack the range finder
checks with that.
* Add Sensor and SensorRangeFinder classes
The purpose is to encapsulate the checks for each sensor in a dedicated
class with the same interface
* SensorRangeFinder: encapsulate in estimator::sensor namespace
* EKF: rename _sensor_rng to _range_sensor
* Range checks: include limits in valid range
* RangeChecks: update comment in the continuity checks
* RangeChecks: move more low-level checks in functions
Also move setTilt out of the terrain estimator, this is anyway protected internally
to not compute cos/sin if the parameter did not change.
* Sensor: remove unused virtual functions
Those are not required yet but can still be added later
* SensorRangeFinder: re-organise member variables
Also rename getRangeToEarth to getCosTilt
* SensorRangeFinder: split setSensorTilt and setCosMaxTilt functions
* SensorRangeFinder: Add a few unit tests
- good data
- tilt exceeded
- max range exceeded
* SensorRangeFinder: set hysteresis in us instead of ms
* SensorRangeFinder: Add more tests
* SensorRangeFinder: update continuity, hysteresis and stuck tests
* SensorRangeFinder: rename variables
* SensorRangeFinder: get rid of "delayed" specification
From the SensorRangeFinder class point of view, it's not relevant to
know if the data is delayed or not
* SensorRangeFinder: move time_last_valid out of stuck check
* SensorRangeFinder: rename file names to sensor_range_finder
* SensorRangeFinder: address Kamil's comments
* SensorRangeFinder: Add more tilt tests
* SensorRangeFinder: store current tilt offset
This is to avoid recomputing cos/sin functions at each loop
2020-04-03 08:28:07 +02:00
Paul Riseborough
544385fd8c
EKF: Simplify centripetal accel correction ( #789 )
2020-04-01 13:36:56 +11:00
bresch
027db4bdbd
Github Actions: update firmware docker repo
2020-03-30 13:25:00 +02:00
kamilritz
2fa43419d2
Interface: output vector quantities by "return-by-value"
2020-03-30 13:07:00 +02:00
kamilritz
72d8f91b4d
Innovation getters: Add const modifier
2020-03-30 13:07:00 +02:00
Paul Riseborough
89b5c77d5d
EKF: Enable GPS flight without magnetometer ( #770 )
...
* EKF: Enable GPS flight without magnetometer
Enables takeoff in a non-GPS flight mode with mag fusion type set to MAG_FUSE_TYPE_NONE. After sufficient movement the EKF will reset the yaw tot he EKF-GSF estimate. After that GPS fusion will commence.
* EKF: Fix unconstrained yaw and yaw variance growth when on ground
* EKF: Ensure first yaw alignment can't be blocked
* EKF: Increase yaw variance limit allowed for alignment
Flight test data indicates that an uncertainty value of 15 deg still provides a reliable yaw estimate and enables an earlier alignment/reset if required.
* EKF: Remove unexecutable code
* EKF: Restructure heading fusion
* EKF: parameterise quarter variance check and retune default value
* EKF: Pass by reference instead of pointer
* EKF: Clarify reset logic
* EKF: Remove incorrect setting of mag field alignment flag
* EKF: Non-functional tidy up
* EKF: Fix non-use of function argument
The updateQuaternion function was using the _heading_innovation class variable instead of setting it using the innovation argument.
* EKF: Fix undefined variable
* EKF: Use single precision atan2
* EKF: remove unnecessary timer reset and unwanted execution of reset function
* EKF: Don't declare a mag fault when non-use is user selected
Doing so produces unnecessary user alerts.
2020-03-30 20:05:38 +11:00
Mathieu Bresciani
3bd09fdcd3
EKF: fix range height sensor offset ( #787 )
...
The offset needs to be updated directly when switching to range height
2020-03-26 20:22:32 +11:00
TSC21
870ec380f1
elk_helper: use ISFINITE macro instead of isfinite()
2020-03-20 22:42:46 +01:00
bresch
20c3db69e4
Terrain Est: Add sensor aiding bitmask
...
This adds the ability to select range finder and/or optical flow fusion for
terrain estimate.
2020-03-19 17:53:30 +01:00
bresch
f38388cdab
YawEst: simplify AHRS accelerometer gain computation
...
Replace the multiple if-else statements by a generic equation.
- For a multicopter, the attenuation factor is 2 and symmetrical
- For a fixedwing, the attenuation factor is 1 if the acceleration is
positive and that centripetal correction is available and 2 otherwise.
Note that the function "sq" needs to be const in order to be used in a
const function.
2020-03-18 17:45:13 +01:00
CarlOlsson
ee5e3c479b
ekfgsf: fix formatting
2020-03-18 08:34:02 +01:00
Mathieu Bresciani
f20fc08b7d
ekf2: centralize mag covariance reset ( #693 )
...
* ekf2: centralize mag covariance reset. A complete and clean reset of the
mag states covariances is now performed through the "resetMagCov"
function only. This avoid having slight differences of implementations
across the code.
* Ekf: reset quat cov with initial uncertainty instead of zero
2020-03-17 20:07:20 +11:00
Daniel Agar
f1aa53db8a
delete attitude_fw (merged into PX4/Firmware)
...
- this was never maintained as a separate standalone project
- https://github.com/PX4/Firmware/pull/14284
2020-03-15 13:36:27 -04:00
kamilritz
975060d108
Add missing const modifier
2020-03-11 16:46:16 +01:00
kamilritz
7e20d9df14
Small style cleanup
2020-03-11 16:46:16 +01:00
Daniel Agar
580118e366
EKFGSF_yaw::updateEKF() R_prev copy safely ( #775 )
...
* EKFGSF_yaw::updateEKF() R_prev copy safely
* only copy required values (first 3)
2020-03-11 15:49:45 +01:00
kritz
9390d2065b
Run github actions also on master branch ( #774 )
2020-03-10 20:24:29 +01:00
bresch
d09473da89
Ekf control: do not set hgt mode if already set
...
If we are in a certain height mode and that we do a reset to the
same mode, there is no need to set the mode again.
2020-03-09 20:22:57 +01:00
bresch
13a7d53295
Ekf: correct wrong indentation
2020-03-09 20:22:57 +01:00
bresch
684737eab1
Ekf control: replace individual by global check of baro/GPS health
...
Use _gps_data_intermittent and _baro_hgt_faulty to know is the sensors
provide fresh data
2020-03-09 20:22:57 +01:00
bresch
320a90d146
EKF control: extract checkVerticalAccelerationHealth logic
...
This is done to reduce the size of the controlHeightSensorTimeouts
function and to clarify the logic
2020-03-09 20:22:57 +01:00
bresch
975afa6560
EKF: update csv for change indicator
2020-03-09 19:10:07 +01:00
CarlOlsson
93be6ea49a
EKF: dont print wrong reset message on baro timeout
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2020-03-09 09:06:49 +01:00
kritz
bcd3869ca2
CleanUp of the EKFGSF ( #769 )
...
* Add const modifiers
* Pass imu data as sampe
* Remove emergency reset request counter
* Improve matrix library usage
* Indentation fix
* Do not store innovation matrix for each model
* Make weights a separate vector
* EKF: Add missing alignment transfer to AHRS solutions
* EKF: Replace #define constants with static constexpr
* EKF: Move declaration for weights into GSF section
* EKF: Fix documentation error
Co-authored-by: Paul Riseborough <p_riseborough@live.com.au >
2020-03-06 19:37:35 +11:00
Paul Riseborough
4669aa6312
EKF: Add Emergency yaw recovery using EKF-GSF estimator ( #766 )
...
* EKF: Use common rate vector calculation for offset corrections
* EKF: Remove duplicate matrix entry calculations
* EKF: Create a EKF-GSF yaw estimator class
* EKF: add emergency yaw reset functionality
* EKF: remove un-used function
* EKF: Ensure required constants are defined for all builds
* EKF: Fix CI build error
* Revert "EKF: remove un-used function"
This reverts commit 93005309c7f3794414ad99c86218b3062e00bbd3.
* EKF: Replace in-lined Tait-Bryan 312 conversions with function call
Also remove unnecessary operations
* EKF: Remove unnecessary update of external vision rotation matrix
* EKF: Use const
* EKF: use const
* EKF: don't use class variable as a temporary variable
* EKF: update comments
* EKF: Improve efficiency of yaw reset
Use conversion from rotation matrix to Euler angles instead of quaternion to euler angles.
* EKF: use const
* EKF: remove un-used struct element
* EKF: more descriptive function name
* EKF: use existing matrix row operator
* EKF: remove unnecessary rotation matrix update
* EKF: Use square matrix type
* EKF: Improve protection for bad innovation covariance
* EKF: Use matrix library operations
* EKF: Replace memcpy with better alternative
memcpy bypasses compiler sanity checks and is unnecessary in this instance.
* EKF: Split EKF-GSF yaw reset function
Adds a common function to support yaw reset that can be used elsewhere.
* EKF: Use common function for quaternion state and covariance yaw reset
* EKF: Replace inlined matrix operation
* EKF: Use const
* EKF: Change accessor function name
* EKF: Use const
* EKF: Don't create unnecessary duplicate variable locations
* EKF: Remove duplicate covariance innovation inverse
* EKF: Don't create unnecessary duplicate variable locations
* EKF: Rely on geo library to provide gravity
* EKF: Improve protection from bad updates
* EKF: Reduce effect of vibration on yaw estimator AHRS
* EKF: Improve yaw estimator AHRS accuracy during manoeuvre transients
2020-03-05 21:50:52 +11:00
Paul Riseborough
8ce285cdfa
EKF: Don't allow tilt alignment if vehicle is moving excessively ( #768 )
...
Also remove unnecessary update of the _accel_lpf after alignment.
2020-03-05 21:42:45 +11:00
Mathieu Bresciani
230c865fa9
EKF: do not fuse multiple times the same height ( #767 )
...
* EKF: do not fuse multiple times the same height
The _fuse_height flag was never set to zero, hence the fusion was called
at each iteration, even if no new data is available.
The effects were: high CPU usage and virtually less measurement noise
due to multiple fusion of the same sample
Also remve unused variables
2020-03-04 10:31:22 +01:00
Paul Riseborough
b4ecfb7723
EKF: Fix sign error in earth rotation rate correction ( #763 )
...
* EKF: Fix sign error in earth rotation rate correction
Addresses issue https://github.com/PX4/ecl/issues/759
* Update change indication output
Co-authored-by: kritz <kritz@ethz.ch >
2020-03-03 20:16:49 +01:00
Daniel Agar
4fab6057a7
EKF control height fusion add switch statement for all dist sensor types
2020-03-03 11:29:07 +01:00
Kamil Ritz
7c179b39b8
Make test with Clang
2020-03-03 11:23:45 +01:00
Carl Olsson
3fa5f501ae
EKF: dont check gps_check_fail_status in velocity reset ( #761 )
...
In a velocity reset we only used the GPS measurement if _gps_check_fail_status.value was equal to zero. The value of this flag is independent of EKF2_GPS_CHECK so checks can fail even if they are not configured to have any effect.
2020-02-27 11:59:38 +01:00
Daniel Agar
71d4d22ae4
EKF: covariances() helper return const reference and fix code style
...
- PX4 astyle puts the reference with the name.
2020-02-21 11:28:44 -05:00
bresch
8b918563a2
ekf: fix angle wrapping in realignYawGPS
...
To obtain the correct difference between two angles, we need to wrap
the result between -pi and pi. Otherwise, the difference between two
angles close to 180 degrees but with opposite signs will produce a large
error.
For example if a = -179 and b = 179, b - a = 258 instead of -2 degrees
2020-02-21 13:08:30 +01:00
Daniel Agar
00872fcaa3
EKF: ImuDownSampler pass imuSample as const reference
...
- inline ImuDownSampler::getDownSampledImuAndTriggerReset()
- minor formatting and initialization cleanup
2020-02-18 13:20:52 -05:00
bresch
81c6d6655f
ekf: clean uncorrelateQuatStates function
...
As the name can be ambiguous, it gets renamed
"uncorrelateQuatFromOtherStates".
Also replace the loops storing the values and reapplying them by simply
zeroing two slices (this also saves 130B of flash).
2020-02-13 14:33:32 +01:00
Julian Kent
c6d5a74685
Update change indicator
2020-02-12 22:34:44 +01:00
bresch
05d391c785
Update test csv after functional fix
2020-02-12 22:03:22 +01:00
bresch
90ca012705
ekf_helper: restore oridinal quaternion decorrelation
...
The intent of the function "uncorrelateQuatStates()" is to uncorrelathe quaternions from the other states but not between each other as they are and should remain linked alltogether.
Clearing the quaternions to quaternion covariances introduced unstabilities in other states (especially accel biases).
2020-02-12 22:03:22 +01:00
CarlOlsson
b6420d0b79
ekf: add vehicle at rest to flags
2020-02-12 18:58:24 +01:00
Paul Riseborough
89bcebd631
EKF: Prevent covariance initialisation overwriting yaw variance
...
Also typo fix
2020-02-05 15:20:34 +01:00
Paul Riseborough
a3347b7e06
EKF: Use more conservative value for delta velocity bias process noise
...
Smaller values have resulted in bias estimation divergence under some conditions
2020-02-05 15:20:34 +01:00
Paul Riseborough
21054a4236
EKF: Fix bug causing incorrect covariance initialisation
...
The covariance initialisation should not be performed before the quaternion states are initialised.
2020-02-05 15:20:34 +01:00
Daniel Agar
ed260c4f1d
validation: remove unused vibration metric
2020-02-04 23:37:05 -05:00
kritz
e52e2b88ed
Sensor Replay ( #717 )
...
* Add primitive logging for Ekf
* Add python script to extract sensor data from ULog
* Add primitive sensor replay
* Add iris_gps data for sensor replay
* Add CI for functional change indication
* Update sensor replay flow data type
* update iris_gps_change indication
* test: Update EKF replay test documentation
Co-authored-by: Paul Riseborough <priseborough@users.noreply.github.com >
2020-02-01 20:41:12 +11:00
kamilritz
da752c9e30
Hot flow fusion fix
2020-01-28 17:19:51 +01:00
kritz
ee859e092a
Robustify timestamp checks ( #729 )
...
* Robustify timestamp checks
* Remove lowerbound on sensor timestamp
* Add tests for fusion timeouts
* Inline and const time check functions
* Rename dead_reckoning time variable
2020-01-28 20:33:16 +11:00
kamilritz
f20726d47f
Expand auto-format coverage and tiny style changes
2020-01-27 16:54:25 +01:00
kritz
fbdd75da2e
Update CONTRIBUTING.md
...
Co-Authored-By: Roman Bapst <bapstroman@gmail.com >
2020-01-27 10:42:17 +03:00
kamilritz
5d38b73072
Update description of Firmware build tests
2020-01-27 10:42:17 +03:00
bresch
e3af91c9ce
Ekf: use helper functions to centralize the checks of horizontal aiding (gps, flow, ev_pos, ev_vel)
2020-01-24 17:22:50 +04:00
kamilritz
a3e1eb9d50
Checkout to matching firmware if possible
2020-01-24 16:18:42 +03:00
kamilritz
f3d790a664
Update optical flow interface
2020-01-24 16:18:42 +03:00
RomanBapst
cafb1400fb
estimator_interface: bugfix, set range sample correctly
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2020-01-24 13:03:04 +01:00
kamilritz
df37c9bf1d
First draft of the contribution guidelines
2020-01-24 09:31:49 +01:00
kamilritz
4b0e7b2cff
Remove filtering on external vision alignment
2020-01-24 08:23:12 +01:00
kamilritz
2fe16c4ffe
Update build instructions in readme
2020-01-24 09:03:48 +03:00
kamilritz
d63e4edfd8
Fix github actions
2020-01-23 16:31:42 +01:00
kamilritz
de33885658
Update setExtVisionData interface
2020-01-23 14:50:43 +01:00
kritz
ed916c8006
Auto Formatting with clang-format-6.0 ( #727 )
...
* Add clang-format
* Auto-format AlphaFilter and RingBuffer
* Update to tab=8spaces
* Allow for 120 width
2020-01-23 20:56:10 +11:00
CarlOlsson
dbf0bd43e8
EKF: update wind covariance initialization
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2020-01-23 10:27:54 +11:00
kamilritz
37201fb071
Remove legacy imu interface
2020-01-23 09:34:07 +11:00
kamilritz
7c3a2f839b
Update range finder interface
2020-01-23 09:34:07 +11:00
kamilritz
4fb2d1b02e
Update range finder interface
2020-01-23 09:34:07 +11:00
kamilritz
9f0d8ed59e
Update mag interface
2020-01-23 09:34:07 +11:00
kamilritz
856961ba85
Update airspeed interface
2020-01-23 09:34:07 +11:00
kamilritz
b8a3ed5f09
Update baro interface
2020-01-23 09:34:07 +11:00
kamilritz
74ec80cdc7
Update gps interface
2020-01-23 09:34:07 +11:00
Paul Riseborough
a19c29e708
EKF: Rework yaw fusion to remove singularity at +-90 deg yaw
2020-01-23 09:23:56 +11:00
kamilritz
fc7e8b848b
Run github actions also on PRs from forks
2020-01-22 09:47:19 +01:00
kamilritz
29cf7884c3
Test baro downsampling
2020-01-21 10:09:48 +03:00
kamilritz
b51ea4fe39
Test dynamic pressure compensation
...
(cherry picked from commit b3d9334b5abe02f1d123519cfc74a875225eb0bd)
2020-01-21 10:09:48 +03:00
kamilritz
83b2abe434
protect against overflow
2020-01-21 10:09:48 +03:00
kamilritz
4be9ae8029
Compute the timestamp of average sample correctly
2020-01-21 10:09:48 +03:00
kamilritz
29c5954690
Move baro downsampling and dynamic pressure comp to ECL
2020-01-21 10:09:48 +03:00
kamilritz
d7d7b56519
Move mag down sampling to ECL lib
2020-01-21 09:36:02 +03:00
Matthias Grob
950e75e484
EKF_ringbuffer: minor missing space for style
2020-01-18 13:00:36 -05:00
kamilritz
26125c245d
Switch from jenkins to github actions
2020-01-17 11:02:57 -05:00
Dusan Zivkovic
011b4c2e4e
data_validator_group: add a method to get the state of the sensor with the provided index
2020-01-15 12:20:47 -05:00
bresch
0f4439d281
optical flow: inhibit flow fusion only when the terrain estimate gets invalid
2020-01-15 16:07:17 +11:00
bresch
d06dc33ded
range_finder_checks: do not override range_hgt_valid flag with rng_stuck flag
...
Thif fixes the issue where the range finder data is always set to valid
if not stuck.
2020-01-15 16:07:17 +11:00
bresch
d0fe1f032a
mag_fusion: re-introduce delay between mag reset and fusion, this was
...
dropped during the mag fusion refactor PR #662
2020-01-15 14:40:06 +11:00
Daniel Agar
250d5b8acc
TECS: remove height rate complementary filter
2020-01-15 14:28:36 +11:00
kamilritz
8f70a10565
Added missing variable initializations
2020-01-14 15:16:25 +03:00
kamilritz
5b02310f43
Test Airspeed fusion
2020-01-14 15:16:25 +03:00
kamilritz
7ed6a437c7
Add airspeed sensor to sensor_simulator
2020-01-14 15:16:25 +03:00
Tom Wang
4044abdd20
fixed output state variable name state_variance to state_variances
2020-01-10 19:57:39 +05:30
kamilritz
cd9e81539c
Expand IMU Down Sampling tests
2020-01-09 19:43:29 +11:00
kamilritz
de58ab9167
inline newly added function save 60Bytes
2020-01-09 19:43:29 +11:00
kamilritz
be11516dd6
Refactor IMU downsampling into its own class
2020-01-09 19:43:29 +11:00
kamilritz
c7e074276f
Save flash space
...
This commit saves roughly 400-500 Bytes in flash space
2020-01-09 19:43:29 +11:00
kamilritz
94484f01ce
save flash space
2020-01-08 14:36:03 +01:00
kamilritz
1b0e137b8a
Test external vision
2020-01-08 14:36:03 +01:00
kamilritz
84dcb32bd8
Extend auxVel interface to support 3d velocity
2020-01-08 14:36:03 +01:00
kamilritz
07e8e88e88
Support full vision variance
2020-01-08 14:36:03 +01:00
kamilritz
4ab3dd50c9
pass Vector by const reference
2020-01-08 09:00:31 +01:00
kamilritz
2657e4fc0c
Improve naming and white space
2020-01-08 09:00:31 +01:00
kamilritz
db73a06620
Use robust AxisAngle constructor
2020-01-08 09:00:31 +01:00
kamilritz
1fcfd394dd
Various small non-functional improvements
2020-01-08 09:00:31 +01:00
kamilritz
deeac03d6a
Clean up height reset logic booleans
2020-01-08 09:00:31 +01:00
kamilritz
cec6d76577
Raise awareness for drag variance(!=stdDev) bug
2020-01-08 09:00:31 +01:00
kamilritz
0b18143745
Improve readibility
2020-01-08 09:00:31 +01:00
kamilritz
3daf25763e
Remove unnecessary comments
2020-01-08 09:00:31 +01:00
kamilritz
36da8d82c8
Clean up white space
2020-01-08 09:00:31 +01:00
kamilritz
48787c0160
Improve Matrix library usage
2020-01-08 09:00:31 +01:00
kamilritz
a21a7cd5b9
Remove output argument from calcEarthRateNed
2020-01-08 09:00:31 +01:00
kamilritz
9e6d27fafb
Add missing const qualifier
2020-01-08 09:00:31 +01:00
kamilritz
066392ef02
Improve naming
2020-01-07 08:14:59 +11:00
kamilritz
f99dbd8ca3
Improve naming and brackets
2020-01-07 08:14:59 +11:00
kamilritz
1c68709949
Rename mag ambiguous mag abbreviations with magnitude
2020-01-07 08:14:59 +11:00
kamilritz
a24aaad861
CleanUp GPS drift checks
2020-01-07 08:14:59 +11:00
kamilritz
c6e3f389d2
Replace calculation of earth NED rotation vector
2020-01-07 08:14:59 +11:00
kamilritz
9f053cb8c1
Simplify covariance getters
2020-01-02 19:26:57 +11:00
Paul Riseborough
0d0f46ec1c
EKF: Don't run unnecessary makeRowColSymmetric operation
...
This operation is expensive when done to the whole covariance matrix and unnecessary after covariance prediction because we calculate the upper diagonal and copy across so it is already symmetric.
2020-01-02 19:26:57 +11:00
Paul Riseborough
166d260058
EKF: Provide auto-code output that uses (row, col) syntax for covariance matrix
2020-01-02 19:26:57 +11:00
kamilritz
92ba618f57
Improve on flash memory usage
2020-01-02 19:26:57 +11:00
kamilritz
459b76f9fd
Make covariance matrices of type matrix::SquareMatrix
...
and use functions from Matrix to reset covariances.
2020-01-02 19:26:57 +11:00
Lorenz Meier
a4a694dd87
Disable Coverage option until GCC9 is default
...
This would simplify coverage builds, but is not widely available yet.
2020-01-01 17:03:04 +01:00
Lorenz Meier
3d3267ed1f
Fix CMake configuration for coverage tests on Mac OS
2020-01-01 13:50:25 +01:00
Daniel Agar
57144beb98
gitignore update for in tree cmake builds
2019-12-31 11:18:53 -05:00
kamilritz
490c749f80
Revert if statement swap in resetMagHeading
2019-12-18 10:06:31 +01:00
kamilritz
a6bbafc7b0
Remove unnecessary initialiseCovariance
...
It is already called in reset()
2019-12-18 09:46:32 +01:00
kamilritz
ef9f1053d0
Random improvements
2019-12-18 09:46:32 +01:00
kamilritz
7d3814b1d8
Add orientation initialization tests
2019-12-18 09:46:32 +01:00
kritz
01495ede97
Clean initialiseFilter function ( #687 )
...
* Clean initialiseFilter
* Add const qualifiers
2019-12-17 13:36:28 +01:00
kritz
532c9abd4a
Expand test framework and test cases ( #685 )
...
* Fix comment
* Ekf wrapper for testing
Add utility function for accessing information in the ekf object
* Add step function for Gps sensor
* Add RangeFinder and Flow to simulated sensors
* Add first fusion logic tests
* Add units to function name
* Use EXPECT_TRUE
* Adding missing qualifiers
* Improve EXPECT_ calls
* Improve naming
2019-12-17 11:35:45 +01:00
kritz
6c25ac5731
Tilt Initialisation: Average Filter -> LowPass Filter ( #686 )
...
* Tilt Initialisation: Average Filter -> LowPass Filter
* Add _is_first_imu_sample variable
* Remove not needed comments
2019-12-17 11:01:25 +01:00
Daniel Agar
98a1aae494
EKF: use Matrix cross product
2019-12-17 09:35:08 +01:00
kamilritz
0831c158f2
Move time update to sensor base class
2019-12-16 13:40:01 +01:00
kamilritz
1832bedd13
run_seconds
2019-12-16 13:40:01 +01:00
kamilritz
39b369d90b
make ekf a shared pointer
2019-12-16 13:40:01 +01:00
kamilritz
f13f2f8452
use shared pointer
2019-12-16 13:40:01 +01:00
kamilritz
00cd720a66
Change folder name
2019-12-16 13:40:01 +01:00
kamilritz
b9dd1e54c5
Change file names
2019-12-16 13:40:01 +01:00
kamilritz
2d2edd90e3
ECL Unit Test Clean Up
2019-12-16 13:40:01 +01:00
kamilritz
6b25dbd6c7
SensorSimulator
2019-12-16 13:40:01 +01:00
kamilritz
85e0e6e89c
Remove resetStates(AndCovariances) function
2019-12-13 16:50:56 +01:00
kamilritz
64652f523b
Improve quality of comments
2019-12-12 08:48:10 +01:00
kamilritz
1bf09fd370
Remove EKF prefix from logged messages
2019-12-12 08:48:10 +01:00
kamilritz
88c4929c96
Use helper function to switch to gps height
2019-12-11 17:23:45 +02:00
kamilritz
042d9b6615
Remove dangerous _primary_hgt_source variable
2019-12-11 17:23:45 +02:00
kamilritz
66f707ede0
Remove non enterable if statement
2019-12-11 17:23:45 +02:00
kamilritz
cd030e7cd2
Remove switch to ev hgt during filter initialization
2019-12-11 17:23:45 +02:00
kamilritz
4bc6ae69ae
Remove if statement that can not be entered
2019-12-11 17:23:45 +02:00
kamilritz
6941777e17
Remove obsolete vision sample counter during initialization
2019-12-11 17:23:45 +02:00
kamilritz
181303488c
Log height innovation sensor specific
2019-12-05 20:09:34 +11:00
kamilritz
f32fce28a3
Fix gps vertical observation variance
2019-12-05 20:09:34 +11:00
kamilritz
ecd199d5d0
Fix vel pos test ratio
2019-12-05 20:09:34 +11:00
kamilritz
2df2dede2f
Fix variance vs stdDev bug
...
(cherry picked from commit 0faea89da2a3326d070a6ecca93ec52ec3e29591)
2019-12-05 20:09:34 +11:00
kamilritz
3923c5fecb
Add get*innovation* functions as overide
2019-12-05 20:09:34 +11:00
kamilritz
07e804676c
Rename IMU biases
2019-12-05 20:09:34 +11:00
kamilritz
dae8c2f8dc
Group velocity and position as a 3d vector
2019-12-05 20:09:34 +11:00
kamilritz
beedf1ce4f
Add print statement to reset vel or pos function
2019-12-05 20:09:34 +11:00
kamilritz
5c038a3b43
Add stop*Fusion function
2019-12-05 20:09:34 +11:00
kamilritz
d5dc6bb8ea
Clean get*innov* interface
2019-12-05 20:09:34 +11:00
kamilritz
86b9079bdc
Refactoring velPos fusion
2019-12-05 20:09:34 +11:00
bresch
6b5f011bc2
ekf: use PDOP instead of GDOP as the TDOP (part of GDOP) is usually not available
...
PDOP is the position dillution of precision and is given by sqrt(VDOP^2+HDOP^2)
2019-11-25 17:18:40 -05:00
Daniel Agar
362a2dfa08
remove unnecessary <cmath> include
2019-11-22 11:16:51 -05:00
RomanBapst
33a2bd0292
added python script for derivation of initial wind covariance matrix
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-11-20 16:28:34 +11:00
bresch
811ec81246
parameters: change check_mag_strength from bool to int32_t to comply with the standard interface
2019-11-11 15:29:52 +01:00
Mathieu Bresciani
c7bdf25663
[ekf] controlMagFusion refactor and mag field strength check ( #662 )
...
* ekf_control: Inhibit mag fusion when field magnitude is large
Move mag inhibition check in separate function
* ekf_control: pull out of functionalities out of controlMagFusion
- yaw abd mag bias observability checks
- mag 3D conditions
- load mag covariances
- set and clear mag control modes
* ekf_control: refactor mag heading/3D start/stop.
Move mag declination, mag 3d and mag heading fusion out of the main function
* ekf_control: extract mag yaw reset and mag declination fusion requirements
* ekf_control: use WMM in isStronMagneticField for mag fusion inhibition
- Correct units of WMM strength table
* ekf_control: extract mag_state_only functionality of AUTOFW (VTOL custom)
Also split inAirYawReset from onGroundYawReset
* ekf_control: extract mag automatic selection
- transform if-else into switch-case for parameter fusion type selection
* ekf_control: extract run3DMagAndDeclFusion, reorganize functions, fix
flag naming in Test script
* ekf_control: do not run mag fusion if tilt is not aligned.
Reset some variables on ground even if mag fusion is not running yet. It
could be that it runs later so we need to make sure that those variables
are properly set.
* ekf_control: move controlMagFusion and related functions to mag_control.cpp
* ekf control: check for validity of mag strength from WMM and falls back
to average earth mag field with larger gate if not valid
* ekf control: remove evyaw check for mag inhibition
* ekf control: change nested ternary operator into if-else if
* Ekf: create AlphaFilter template class for simple low-pass filtering
0.1/0.9 type low-pass filters are commonly used to smooth data, this
class is meant to abstract the computation of this filter
* ekf control: reset heading using mag_lpf data to avoid resetting on an outlier
fixes ecl issue #525
* ekf control: replace mag_states_only flag with mag_field_disturbed and
add parameter to enable or disable mag field strength check
* ekf control: remove AUTOFW mag fusion type as not needed This was implemented for VTOL but did not solve the problem and should not be used anymore
* ekf control: use start/stop mag functions everywhere instead of setting the flag
* ekf control: Run mag fusion depending on yaw_align instead of tilt_align
as there is no reason to fuse mag when the ekf isn't aligned
* AlphaFilter: add test for float and Vector3f
2019-11-08 16:02:59 +01:00
bresch
a6840655e8
ekf: Extract resetState from main reset and reinitialize
...
the covariances in the init function
2019-11-05 09:07:25 +01:00
bresch
bf48004fb9
ekf: move "reset" part of the init function into a separate function
...
add getter for the vehicle at rest flag
2019-11-05 09:07:25 +01:00
TSC21
7eb9118673
Jenkins: update container tags; use px4-dev-base-bionic
2019-11-03 10:29:15 -05:00
kamilritz
d76b704225
Only inlcude gtest if standalone build
2019-11-02 09:46:18 -04:00
kamilritz
7c1e38d3ad
Make it build with Firmware
2019-10-28 11:04:38 +01:00
kamilritz
d79199c863
Remove swig and python test related things
2019-10-28 11:04:38 +01:00
kamilritz
d88e242a60
pytest are replaced in gtests
2019-10-28 11:04:38 +01:00
kamilritz
71be26efc6
Port RingBuffer Test to GTests
2019-10-28 11:04:38 +01:00
kamilritz
cac5f3fd6d
GTest and Coverage cleanup and Basic EKF GTest
2019-10-28 11:04:38 +01:00
Martina Rivizzigno
fcea13eef8
add gtest, temp disable swig
...
(cherry picked from commit 4008d163d77f503e6acbd7ddc1d87ac6d479c897)
2019-10-28 11:04:38 +01:00
RomanBapst
9b4b24ee71
removed unused definition
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-24 07:55:37 +11:00
RomanBapst
0e3a0b8659
range_finder_checks: parametrised signal quality hysteresis duration
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-24 07:55:37 +11:00
RomanBapst
16d1e15b51
addressed review comments
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-24 07:55:37 +11:00
RomanBapst
6bc6f26043
range_finder_checks: set range height to valid if signal quality is non-zero
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-24 07:55:37 +11:00
RomanBapst
6299d8199c
ekf_helper: use latest validated range sample to reset height
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-24 07:55:37 +11:00
RomanBapst
00f49e62c2
cleanup checks of range finder data
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-10-24 07:55:37 +11:00
Paul Riseborough
4d37065f1b
EKF: Make use of inverse rotation function consistent with name
...
The quaternion to inverse rotation matrix function has been updated so that the rotation it produces is the inverse to that produced by the matrix library and the the inverse of the quaternion is uses. This function is now used to directly calculate an inverse rotation matrix rather than calculating the forward rotation and then transposing it.
2019-10-23 14:44:08 +03:00
Paul Riseborough
36de2b3dc1
EKF: Use matrix library for quaternion to rotation matrix conversion
2019-10-23 14:44:08 +03:00
bresch
1a4ab069c9
rate controller: add override specifiers whenever needed
2019-10-22 09:12:19 -04:00
bresch
29f71fff96
ekf: Add override specifier for all functions that override virtual functions of the estimator interface class
2019-10-22 09:12:19 -04:00
bresch
50167bfbcf
estimator interface: add deprecated functions for backward compatibility
2019-10-22 20:19:56 +11:00
bresch
b38458c2ab
Terrain estimator: formatting and remove redundant comments
2019-10-22 20:19:56 +11:00
bresch
0aef0eda59
terrain_estimator: remove dead code. Since the terrain estimator is
...
constantly reset on ground, it is not necessary anymore to fuse fake
measurements on ground if the range measurements are bad.
2019-10-22 20:19:56 +11:00
bresch
370e04ee60
terrain_est: Continuously reset terrain height on ground using known
...
clearance. This is the best estimate as we should not rely on a distance
sensor while on the ground. This also helps when the drone is carried
over as it avoids starting with a crazy downward distance for optical
flow scaling.
2019-10-22 20:19:56 +11:00
bresch
e09e3e17a1
control: rename _range_aid_enabled to _is_range_aid_suitable
...
rename rangeAidConditionsMet to checkRangeAidSuitability
2019-10-15 11:10:36 +02:00
bresch
fac69d07a3
control: refactor rangeAidConditionsMet function
2019-10-15 11:10:36 +02:00
Paul Riseborough
eae6e8f19c
EKF: Fix on ground yaw drift when using EKF2_MAG_TYPE = 4
2019-10-08 20:08:42 +11:00
RomanBapst
4e946d5bcb
implemented synthesized magnetometer Z measurement
...
- calculate a theoretical value based on the knowledge of the direction
and strength of the magnetic field vector and X/Y sensor measurements
- needs knowledge about location on earth to work
2019-10-08 20:02:16 +11:00
kamilritz
f005e0ea8f
Remove deprecated ev_innov_gate param
2019-09-27 10:00:45 -04:00
kritz
b78429aa60
Fix print statements cast error on posix firmware builds ( #647 )
2019-09-25 14:34:43 +02:00
kritz
4a38f5a2f6
Add timestamp to ECL print statements, ( #644 )
...
which is helpful for EKF replay debugging.
2019-09-25 11:24:42 +02:00
kritz
bb88d4ce5e
Undo wrong comment change
2019-09-24 08:50:29 +10:00
Kamil Ritz
562731936a
Update quaternion direction in documentation pdf
2019-09-24 08:50:29 +10:00
kamilritz
8c061fb6a4
Fixing wrong label of quaternion direction
2019-09-24 08:50:29 +10:00
Jannik Beyerstedt
fe3fec413c
fix #595 and add new all-in-one conversion script (PX4 only)
2019-09-24 08:20:16 +10:00
kamilritz
83eb326076
Missing posNED
2019-09-24 07:48:46 +10:00
kamilritz
fd6b364c11
posNED to pos and velNED to vel and add ev vel covariances to reset
2019-09-24 07:48:46 +10:00
kamilritz
4f6ca3a74c
Replace rest of spaces with tabs
2019-09-24 07:48:46 +10:00
kamilritz
cea053820d
Remove spaces with tabs
2019-09-24 07:48:46 +10:00
kamilritz
1e57c4bbec
Fix white space
2019-09-24 07:48:46 +10:00
kamilritz
10cbd79db7
Rotate external vision info in reset function if necessary
2019-09-24 07:48:46 +10:00
kamilritz
4511b9ff5e
Add missing checks for flags.ev_vel
2019-09-24 07:48:46 +10:00
kamilritz
e7d927c899
Stop using bad GPS when we have vision velocity
2019-09-24 07:48:46 +10:00
kamilritz
bd8f05567a
set vel_pos_test_ratio to zero if no fusion happens
2019-09-24 07:48:46 +10:00
kamilritz
4b30de587f
Make vel_pos innov gate variable name clearer
2019-09-24 07:48:46 +10:00
kamilritz
4237d7ccd7
Improve external vision position fusion
2019-09-24 07:48:46 +10:00
kamilritz
3e8139ff9f
Enable vision velocity fusion
2019-09-24 07:48:46 +10:00
kamilritz
149233a9ab
Add velocity observations to external vision interface
2019-09-24 07:48:46 +10:00
Matthias Grob
62a1e07512
ecl_EKF: Do not include SquareMatrix from Matrix library
...
because the template of upper_right_triangle() contains /2 and
swig fails to create a wrapper for that (suddenly)
2019-09-18 08:42:58 +02:00
Daniel Agar
eddee193d1
update matrix git tag to latest
2019-09-18 08:42:58 +02:00
Julian Kent
4c4c1f2984
Use copyTo for writing to memory blocks
2019-09-18 08:42:58 +02:00
Julian Kent
8cc8db211c
Fix copy_quaternion reference in code generation
2019-09-18 08:42:58 +02:00
Julian Kent
8d60f8ba8f
Remove direct unsafe access to matrix internal data
2019-09-18 08:42:58 +02:00
Nico van Duijn
c446ee444a
EKF: fake rng if faulty on ground
2019-09-18 10:15:37 +10:00
Andreas Antener
4f19d457c4
ekf, control: make sure mag fusion doesn't start anymore when we have GPS heading fusion active
2019-09-18 09:27:24 +10:00
Jan Brehmer
93eb1266f6
EKF: reset position when stopping GPS use and EV is active
2019-09-18 08:33:40 +10:00
Nico van Duijn
267195a11b
EKF: remove check for faulty flag in fake rng
...
This removes the check for _rng_hgt_faulty in the decision of publishing
a fake range measurement. The reason for this is that some distance sensors
don't populate the quality flag, even if they are saturated. Hence, if we
are on the ground and not moving, it is safe to publish a fake measurement
of the distance sensor and overwrite the actual sensor data.
2019-09-12 17:45:37 +10:00
Nico van Duijn
933189eac0
EKF: fix rng_faulty flag when sensor is stuck
2019-09-12 17:45:37 +10:00
Nico van Duijn
640e41cba7
EKF: change rangeSample quality to int8_t
2019-09-12 17:45:37 +10:00
Nico van Duijn
a12186c285
terrain_estimator: introduce quality metric in rng
...
This commit introduces a quality measure in the range data. It is
used to properly decide whether to initialize the HAGL estimate on
sensor data or MIN_HGT parameter, as well as in the decision of
whether a 'fake' measurement should be published on the ground to
allow for optical flow take-offs.
2019-09-12 17:45:37 +10:00
Paul Riseborough
3e05fd552e
EKF: Compensate for bad range finder data when on ground
2019-09-12 17:45:37 +10:00
bresch
3b32ee4166
Flow aiding - Reset state when flow is enabled only if it is the only
...
position/velocity aiding sensor.
Until now, it was alway resetting if the vehicle does not have gps or
external vision. This caused a reset/glitch at every stop (when range data gets
valid)
2019-09-03 09:58:33 +02:00
kamilritz
be368f3656
Update comment
2019-08-29 08:34:10 +10:00
kamilritz
c5abfe626f
remove canonicalize and adapt comments
2019-08-29 08:34:10 +10:00
kamilritz
67512d88ea
Update matrix library for CI
2019-08-29 08:34:10 +10:00
kamilritz
a2ff415fe4
Fix get frame aligning quaternion function
2019-08-29 08:34:10 +10:00
kamilritz
53eac6e94e
Canonicalize alignment quaternion
2019-08-29 08:34:10 +10:00
kamilritz
933c32c921
Enable local frame alignment also without using it
2019-08-29 08:34:10 +10:00
kamilritz
ea352a6631
Dont use mag suffix for magnitude
2019-08-29 08:34:10 +10:00
kamilritz
05196db79e
Fix alignment of local frame
2019-08-29 08:34:10 +10:00
RomanBapst
62fa464e4d
WindEstimator: added support for pre-set airspeed scale factor
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-08-08 09:15:25 +02:00
Silvan Fuhrer
a7d9c73d4d
Wind estimator: added wind_estimator_reset state (to indicate if wind estimator was reset in last fusion-cycle)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2019-08-08 09:15:25 +02:00
Silvan Fuhrer
09f29dbb07
added option to fix airspeed scaling to 1
2019-08-08 09:15:25 +02:00
Jaeyoung-Lim
d38164fc8e
Fix flag for initialization
2019-07-22 10:24:51 +02:00
bresch
e1751188fd
EKF - Initialize _deadrekon_time_exceeded to true.
...
If no sample have been received, deadrekoning and local position should be invalid.
2019-06-28 10:52:52 -04:00
Paul Riseborough
a036cf82cc
EKF: Remove use of of quaternion self product operator and fix delta rotation sign
2019-06-17 19:24:55 +10:00
Paul Riseborough
0e946f25fd
EKF: Remove use of quaternion self product operator and fix delta rotation sign error
2019-06-17 19:24:55 +10:00
CarlOlsson
ad7f7af03b
ekf: correct quaternion multiplication order
2019-06-17 19:24:55 +10:00
CarlOlsson
d6351bd7a5
EKF: update comment
2019-06-17 19:24:55 +10:00
Paul Riseborough
7612fa40ed
EKF: Don't start using GPS for height until all validity checks have passed
...
Consolidate intermittent data checks, improve variable and clarify usage.
2019-06-13 19:36:37 +10:00
Roman
cef2ba5ab9
implemented Kahan summation algorithm for adding process noise to delta
...
angle- and delta velocity bias variance
- the contribution of process noise per iteration for these states can be so
small that it gets lost if using standard floating point summation
Signed-off-by: Roman <bapstroman@gmail.com >
2019-06-11 19:28:06 +10:00
RomanBapst
0f49eb34a0
fixed method which calculates validity of terrain estimate
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2019-05-28 19:43:13 +10:00
Daniel Agar
cd34ab802d
mathlib delete floorf in favor of math.h
2019-05-28 19:42:59 +10:00
Robert de Vries
340d85afc1
EKF: fix variable names in estimator_interface.h
...
This fixes issue #566
2019-05-27 17:39:42 -04:00
Matthias Grob
90b4c7c065
mathlib: fix floorf indentation
2019-05-24 09:56:12 +02:00
Sebastian Verling
710c52980e
fixed calculation of magentic table values by using floor instead of int casting
2019-05-24 09:09:26 +02:00
Beat Küng
54ac147ae8
Ekf: add set_min_required_gps_health_time() to allow configure minimum GPS health time
...
This does not change the default of 10 seconds.
2019-05-15 09:00:24 +01:00
Roman
770cd3c5cc
added python script for terrain flow derivation (optical flow for terrain
...
height estimation)
Signed-off-by: Roman <bapstroman@gmail.com >
2019-05-15 17:16:36 +10:00
Roman
c085d7295d
addressed review comments
2019-05-15 17:16:36 +10:00
Roman
8673ab0346
terrain estimator: constrain terrain state properly
...
Signed-off-by: Roman <bapstroman@gmail.com >
2019-05-15 17:16:36 +10:00
Roman
fbb51147b7
implemented use of optical flow for terrain estimation
...
Signed-off-by: Roman <bapstroman@gmail.com >
2019-05-15 17:16:36 +10:00
Hamish Willee
a27a43eafa
Fix up link to EKF docs
2019-05-01 00:36:29 -05:00
Mohammed Kabir
3f691891c4
EKF: control: stop vision yaw fusion on timeout
2019-04-22 12:56:24 +10:00
Martina
c4492b17c1
do not reset yaw if vehicle on ground
2019-04-09 20:50:37 +10:00
Julian Oes
14227eaf1d
CMakeLists.txt: fix cmake warning
...
This removes the cmake warning:
implicitly converting 'string' to 'STRING' type.
2019-04-08 09:54:47 -04:00
Paul Riseborough
f97f0b6ea3
EKF: Remove unnecessary code
...
_flt_mag_align_start_time is set on initial alignment and will always be >0 before this check can run
2019-04-08 06:57:17 +10:00
Paul Riseborough
43b5e26fe4
EKF: Fix bug causing continual yaw reset when EKF2_MAG_TYPE = 2
2019-04-08 06:57:17 +10:00
Roman
f95cd4b358
ground effect: removed dependency on local position
...
Signed-off-by: Roman <bapstroman@gmail.com >
2019-03-19 13:14:57 +11:00
CarlOlsson
7845ff4360
EKF: increase wind process noise scaler to 0.5
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-19 13:10:12 +11:00
CarlOlsson
32ca6f7030
ekf: scale wind process noise with low pass filtered height rate
2019-03-19 13:10:12 +11:00
CarlOlsson
938c8ad9ad
EKF: use hagl estimate if valid for when to trigger yaw reset on takeoff
2019-03-19 13:04:54 +11:00
Hamish Willee
8b4ae48c69
README: Fix link to EKF/ECL tuning guide
2019-03-18 10:21:10 -04:00
Carl Olsson
f0889c1760
EKF: fixed some comment typos
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-18 10:20:33 -04:00
Todd Stellanova
6e77b197c7
Add DataValidatorGroup tests, add more DataValidator tests ( #592 )
2019-03-15 00:09:47 -04:00
Daniel Agar
a892ececf8
cmake add ECL_TESTS option only enabled in standalone build
2019-03-12 23:29:30 -04:00
Paul Riseborough
fabd216ca5
EKF: Documentation edits
2019-03-13 08:14:23 +11:00
CarlOlsson
8d6e8ae078
EKF: update get_mag_decl_deg()
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-13 08:14:23 +11:00
CarlOlsson
2b17ced405
EKF: Clean up use of magnetometer declination. Before the innovation was not zero in fuseDeclination()
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-13 08:14:23 +11:00
CarlOlsson
1d91785a8e
EKF: correct quaternion order
2019-03-12 19:07:55 +11:00
CarlOlsson
000aa0de5d
EKF: do not update the newest attitude estimate in initialiseFilter(). Is is now done in alignOutputFilter()
2019-03-12 19:07:55 +11:00
CarlOlsson
96c5c14041
EKF: Change the EKF initialization to
...
1) init tilt
2) init yaw
3) init tilt uncertainty
4) init yaw uncertainty
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-12 19:07:55 +11:00
CarlOlsson
ea259d358d
EKF: initialize the newest attitude estimate to a valid quaternion
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-12 19:07:55 +11:00
CarlOlsson
6cf512f103
EKF: Also update the newest and oldest quaternion estimate in
...
alignOutputFilter()
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-12 19:07:55 +11:00
CarlOlsson
78122b20a6
EKF: fix the rotation direction of the buffered attitude solutions
...
in alignOutputFilter()
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-12 19:07:55 +11:00
CarlOlsson
56b6b7a778
EKF: cleanup use of _mag_filt_state
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-12 19:07:55 +11:00
CarlOlsson
37339de57c
EKF: remove unused variable
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-03-12 19:07:55 +11:00
Todd Stellanova
6c759e0e9f
Initial unit tests for DataValidator ( #588 )
2019-03-09 14:47:13 -05:00
Nuno Marques
4e0e68e905
Ekf: add more useful methods to interface with the covariances ( #543 )
2019-03-09 11:57:35 -05:00
Daniel Agar
a85d3a43ed
attitude_fw remove unused
2019-03-05 17:26:19 -05:00
Daniel Agar
c66f7f4a09
EKF drop unused timestamp from collect_gps() and pass data by const reference
2019-03-05 17:26:19 -05:00
Freek van Tienen
78b899c72d
Add Paparazzi compatibility ( #580 )
...
This adds support for the paparazzi autopilot to use this library as EKF.
The header order change has to be done in order to have std.h included to get certain defines at the start of the estimator_interface.h.
2019-03-05 12:41:21 -05:00
Daniel Agar
5cd331055f
cmake standalone build pin PX4/Matrix to commit
...
- https://github.com/PX4/Matrix/commit/6b0777d815cd64902eb0575d56ec52f53aebb4a0
2019-03-05 12:35:37 -05:00
Daniel Agar
1378ec1797
EKF mag_fusion avoid unnecessary double promotion
2019-02-08 08:24:24 -05:00
Carl Olsson
54ab8191e3
EKF: add method to get the terrain variance
2019-02-06 08:49:16 -05:00
Daniel Agar
c5554cae96
EKF tests update SWIG usage and use latest containers
2019-02-03 18:27:00 -05:00
Paul Riseborough
dd58e69549
EKF: Ensure FW yaw alignment method is used on first in-air reset
2019-01-31 09:53:57 -05:00
Paul Riseborough
3accab1ac5
EKF: protect declination fusion from badly conditioned earth field estimates
...
Fusion with large initial magnetometer biases errors can result in the the NE earth field states reducing in magnitude and effectively flipping sign.
EKF: Move declination state limiting into a separate function
EKF: Limit NE mag states after each 3-axis mag fusion
EKF: Fix bug in mag field strength look-up scale factor
2019-01-31 09:53:57 -05:00
Paul Riseborough
7bddbd1cc5
EKF: Update cleaned up autocode fragment with sign error fix and missing LD
2019-01-31 09:53:57 -05:00
Paul Riseborough
fe378fd761
EKF: Prevent unwanted declination fusion when re-starting 3-axis fusion
2019-01-31 09:53:57 -05:00
Paul Riseborough
bd1647a7fb
EKF: Rework use of fuseDeclination()
...
Simplify calling so that it is only called in two ways:
1) Immediately before 3-axis mag fusion if not called since the last earth field covariance reset so that the earth field declination information can be formed.
2) Immediately after 3-axis mag fusion otherwise.
2019-01-31 09:53:57 -05:00
Paul Riseborough
d52f53635b
EKF: Save mag field covariance data before reset
2019-01-31 09:53:57 -05:00
Paul Riseborough
82ce7a83a5
EKF: Save mag field covariance information on startup
2019-01-31 09:53:57 -05:00
Paul Riseborough
708c79eb8f
EKF: Ensure mag field state covariance data is always available for re-use
...
Prevents use of _saved_mag_ef_covmat and _saved_mag_bf_variance before being initialised or when stale.
2019-01-31 09:53:57 -05:00
Paul Riseborough
8839e4e1f4
EKF: Don't discard declination certainty information when resuming 3-axis fusion.
...
In the case where the EKF is switching between 3-axis and heading fusion, off-diagonal elements containing the correlation between N,E components of the earth field were being lost on each switch event. These elements contained information about the declination uncertainty and should be preserved.
2019-01-31 09:53:57 -05:00
Paul Riseborough
25148e1b45
EKF: Prevent rapid changes in declination estimate after a reset
...
Ensures that each time the earth field covariance and variance data is reset, that the off-diagonal elements containing earth field declination angle certainty is restored.
2019-01-31 09:53:57 -05:00
CarlOlsson
6e7c119b31
EKF: limit yaw variance increase to 0.01 rad^2 to prevent a badly conditioned covariance matrix
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-01-31 09:53:57 -05:00
CarlOlsson
0896f7b9bd
EKF: Also fill in lower part of covariance matrix in increaseQuatYawErrVariance()
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-01-31 09:53:57 -05:00
Paul Riseborough
4b3140e5f7
EKF: Fix rebase error
2019-01-31 09:53:57 -05:00
Paul Riseborough
911d4d8f49
EKF: Fix sign error in increaseQuatYawErrVariance function
2019-01-31 09:53:57 -05:00
Paul Riseborough
a0b9cb002e
EKF: Use consistent method for recording completion of in-flight yaw alignment
2019-01-31 09:53:57 -05:00
Paul Riseborough
ef5a87c1d4
EKF: Rework quaternion yaw reset.
...
Use a new method that preserves the roll and pitch information and adds the uncertainty for yaw only.
Ensure that correlation information to non-quaternion states is removed when a reset occurs to prevent fusion of subsequent observations (e.g. GPS) causing incorrect yaw.
2019-01-31 09:53:57 -05:00
Paul Riseborough
fc2a089823
EKF: Add function to un-correlate quaternion states
...
This is necessary after a quaternion reset to prevent incorrect attitude corrections with subsequent observation fusions.
2019-01-31 09:53:57 -05:00
Paul Riseborough
bce1b96d17
EKF: Add function enabling yaw variance to be increased
2019-01-31 09:53:57 -05:00
Paul Riseborough
bf1f3a224e
EKF: Derive equations enabling yaw variance to be increased
2019-01-31 09:53:57 -05:00
Daniel Agar
81eabc1903
Jenkins update all containers to latest tag 2019-01-28
2019-01-31 08:06:00 +11:00
Daniel Agar
a5e6191ba7
EKF add clarity brackets to avoid potential confusion
...
- fixes https://github.com/PX4/ecl/issues/555
2019-01-30 09:15:53 -05:00
Anna Dai
721f5e61a5
increase optical flow buffer to imu buffer length
2019-01-17 10:23:15 +11:00
Anna Dai
44200e9649
add GPS drop out case to GPS fusion logic
...
EKF waits 10s after GPS signal is lost before setting GPS control status flag to false. As the position information given by the alternative position sources drifts from the last GPS position, the controller over corrects.
With this update, the time horizon until GPS control flag set to false is reduced and only alternative position source is used for estimation.
tested with optical flow as position souce
log from as is https://review.px4.io/plot_app?log=d624af5e-dde4-40ab-ba5b-a693a49f5a36
log with update https://review.px4.io/plot_app?log=13ed6dc3-22dd-43f8-b898-4add41d60439
2019-01-17 10:23:15 +11:00
CarlOlsson
8a813c57ec
EKF: fix comment typo
2019-01-14 09:57:44 +11:00
CarlOlsson
472f2286b7
EKF: initialize covariances before we reset the heading in order to preserve the yaw uncertainty
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-01-14 09:57:44 +11:00
CarlOlsson
490888285d
EKF: Remove flag prefix
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-01-13 23:48:46 +01:00
CarlOlsson
d223680197
EKF: add flt_mag_align_complete to control_status flags
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2019-01-13 23:48:46 +01:00
Daniel Agar
b920910483
replace <cfloat> with <float.h>
...
- <cfloat> isn't available in the NuttX c++ library
2019-01-06 12:09:05 -05:00
Paul Riseborough
c032126745
EKF: Fix bug causing incorrect yaw variance value to be used
...
This bug causes the variance of the Z axis rotation vector uncertainty to not be reset to the correct value.
2019-01-04 11:01:06 +01:00
Paul Riseborough
48d83f3bcb
EKF: Fix vulnerability to ground level mag anomally when using heading fusion ( #544 )
...
Previously, the reset of the yaw when climbing above 1.5m was not performed until 3-axis fusion was enabled. This could result in loss of navigation depending on the value of EKF2_MAG_TYPE and the flight profile.
2019-01-03 09:41:55 -05:00
Hamish Willee
4822bf8386
Fix links to moved files in readme
2018-12-10 03:34:53 +01:00
CarlOlsson
1a969aed07
EKF: use low pass filtered mag measurements for heading initialization
2018-12-05 10:08:11 +01:00
Roman
27f7846495
optical flow: fixed sign in calculation of optical flow sensor velocity
...
- the velocity of the optical flow sensor relative to the IMU expressed in
body frame is the cross product of the angular velocity with the vector
from IMU to the sensor. If we use the angular velocity stored in the flow
sample struct we need to use a negative sign as that angular velocity
follows the opposite sign convention.
Signed-off-by: Roman <bapstroman@gmail.com >
2018-12-04 01:26:40 +11:00
Paul Riseborough
c49ab760c7
EKF: Allow EKF to start without using mag data when not using earth frame data
2018-11-15 09:03:03 +11:00
Daniel Agar
572710ed27
EKF add typed Quatf getter
2018-11-14 22:50:39 +01:00
CarlOlsson
8a2e512c2d
terrain_estimator: add vehicle_variance_scaler
2018-11-15 08:38:48 +11:00
Paul Riseborough
acde4ebcc3
EKF: fix comment
2018-11-15 07:16:31 +11:00
Paul Riseborough
df571202c5
EKF: Fix bug preventing saved declination being used for first alignment
2018-11-15 07:16:31 +11:00
Paul Riseborough
4657a9cd21
EKF: Ensure yaw gets reset when declination is set
2018-11-15 07:16:31 +11:00
Roman
68a3cbc368
addressed review comment
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-11-13 08:42:28 +11:00
Roman
a74b7ef60b
3D only mag fusion: make sure _flt_mag_align_complete is set
...
- _flt_mag_align_complete was not set when choosing pure 3D mag fusion.
one effect of this was that the declination used in the filter was not
the one calculated from the magnetic field states.
Signed-off-by: Roman <bapstroman@gmail.com >
2018-11-13 08:42:28 +11:00
jie.zhang
10a0fef7b7
EKF/control: remove unnecessary yaw_align update
2018-10-17 15:50:00 -04:00
Daniel Agar
8bbaf898a5
EKF add new simple setIMUData() interface ( #512 )
2018-10-17 15:30:25 -04:00
Paul Riseborough
e6cd6eff87
EKF: Fix bug preventing use of flow sensors without gyros
...
The handling of invalid flow data when on ground is performed in controlOpticalFlowFusion() where it is able to handle flow sensors that don't publish gyro data.
2018-10-11 07:12:54 +11:00
Daniel Agar
2c3a064942
README.md update Jenkins build status icon and url
2018-09-18 20:16:29 -04:00
Paul Riseborough
f240eaa5b0
EKF: Fix test script
2018-09-19 06:32:43 +10:00
Paul Riseborough
5cb228e1b3
EKF: Remove duplicate line
2018-09-19 06:32:43 +10:00
Paul Riseborough
0220f469b0
EKF: Use more generic variable name for bad yaw fusion flag
...
This flag now reports on fusion of data that is not from a magnetometer.
2018-09-19 06:32:43 +10:00
Paul Riseborough
eb52f7c410
EKF: Remove implicit conversion and use single precision trig operator
...
Double precision accuracy is not required for this operation.
2018-09-19 06:32:43 +10:00
Paul Riseborough
6847acb72e
EKF: Add protection for undefined GPS antenna array heading offset
2018-09-19 06:32:43 +10:00
Paul Riseborough
d1f3f4c916
EKF: Use #define function for isfinite check
2018-09-19 06:32:43 +10:00
Paul Riseborough
91f886cb5e
EKF: Add support for use of GPS heading data.
...
Heading data is assumed to be from a dual antenna array at a specified yaw angle offset in body frame, but with the heading data already corrected for antenna offset. The offset is required to apply the correct compensation for combined rotations and to determine when the yaw observation has become badly conditioned.
2018-09-19 06:32:43 +10:00
Paul Riseborough
af60e6bbc8
EKF: Add derivation for for dual antenna yaw observations
2018-09-19 06:32:43 +10:00
Paul Riseborough
342c3ab202
EKF: Fix timeout parameter documentation and name
...
The parameter used to control the maximum dead reckoning time had 'gps' in the parameter name which was confusing because it was used for all measurement types capable of constraining horizontal velocity error growth. The parameter variable has been renamed and the documentation for it improved.
The parameter used to control the maximum time since fusing a measurement before the measurement is considered to be not contributing to aiding had misleading documentation which has been updated.
2018-09-19 06:32:43 +10:00
Dion Gonano
2354c30d81
Add vision height covariance passthrough ( #507 )
...
* Add vision height covariance passthrough
* Fix hgtErr layout
2018-09-11 06:36:13 +10:00
Kabir Mohammed
a7245229cb
EKF : Fix divergence when optical flow is not fused for a long time ( #503 )
...
* terrain_estimator : guard against case where latest range sample is newer than IMU sample
* EKF : control : correct detection of no optical flow fusion over a time period
2018-09-03 14:26:43 +10:00
Paul Riseborough
b861594d0b
EKF: enable optical flow use to bootstrap
2018-09-01 14:49:45 +02:00
Daniel Agar
3c74dc2ce1
ECL_Controller base needs virtual destructor
2018-08-30 12:07:25 -04:00
Daniel Agar
0d39072a6d
EKF add missing header guards
2018-08-30 12:07:25 -04:00
Kabir Mohammed
a6a1edbe3f
EKF : Fix type of flow data navigation variable ( #499 )
2018-08-30 18:26:17 +10:00
Paul Riseborough
a53ad9c261
EKF: Add missing optical flow ground motion protection
...
Motion compensated optical flow rates are supposed to be zeroed if reported flow quality is below the minimum threshold value when on ground.
The comments and logic have been amended to be consistent and make the design intent clearer.
2018-08-28 21:31:50 +02:00
dakejahl
56b8bb08a1
added a checking for range_aid to determine if we are relying on the range finder as our primary source of height observation ( #491 )
2018-08-24 06:42:58 +10:00
Roman
aa134d5a61
l1 position controller: make sure that a NAN roll setpoint
...
does not keep the roll setpoint state at NAN forever
Signed-off-by: Roman <bapstroman@gmail.com >
2018-08-21 16:16:33 +02:00
Daniel Agar
34cd1366b7
Jenkins update PX4BuildBot credential usage
2018-08-12 13:38:35 -04:00
Paul Riseborough
35f628e68f
EKF: Add interface to enable logging of GPS drift metrics ( #490 )
...
* EKF: Add interface to enable logging of GPS drift metrics
* EKF: Fix bug affecting rate of GPS drift publication
Also fix variable name.
2018-08-03 13:24:31 +10:00
Daniel Agar
48a17b5234
cmake ignore doxygen option when not a standalone build ( #488 )
2018-07-30 12:23:24 -04:00
Roman
4a8a3a4079
l1 controller: simpler way of doing slew rate limiting
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-26 07:54:38 +02:00
Roman
fe4e6779f3
l1 position control: added roll angle setpoint slew rate limiting
...
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-26 07:54:38 +02:00
Paul Riseborough
748446b92f
EKF: Use parameter for stuck range test threshold
...
The default has been reduced to make it suitable for low altitude optical flow navigation.
2018-07-26 07:53:39 +02:00
Paul Riseborough
628079719f
EKF: Fix inconsistency in timeout for terrain validity
...
Terrain validity is determined solely by successful range finder fusion and terrain state initialisation.
A range finder that has been declared faulty requires continuous range finder data fusion requires data to be continuous before the fault status _rng_hgt_faulty can be cleared. This will enforce the requirement for continuous data before fusion can commence.
2018-07-26 07:53:39 +02:00
Paul Riseborough
d1d49857f9
EKF: Prevent stuck range checks running without new data
2018-07-26 07:53:39 +02:00
dakejahl
80146273ba
removed if statement that would prevent the update of the _rng_hgt_faulty flag ( #480 )
2018-07-26 07:53:39 +02:00
Paul Riseborough
17d40478bb
EKF: Rework range height validity checking
...
Eliminate race condition caused by checking for data freshness using time stamps from buffer push instead than buffer pop events.
Consistent use of range data ready and range data fault flags. This achieved by ensuring that _rng_hgt_faulty is set to true for all range data faults, not just data freshness.
Include range data validity requirement in rangeAidConditionsMet() check.
2018-07-26 07:53:39 +02:00
Paul Riseborough
e0bcfeb533
EKF: Add validity boolean to mag declination accessor
2018-07-26 07:51:58 +02:00
Paul Riseborough
1e610894b9
EKF: Correct documentation and function name for declination accessor
...
The function name and documentation are misleading given the function is only a getter.
This change makes the usage clearer.
2018-07-26 07:51:58 +02:00
Paul Riseborough
4d01883f75
EKF: Disable GPS drift checks when the vehicle is moving.
2018-07-24 07:31:45 +02:00
Roman Bapst
ee85a29202
Pr opt flow ( #482 )
...
* optical flow: fixed calculation of velocity of the flow sensor relative to
the IMU
- gyroXYZ holds a delta angle and first needs to converted to a gyro rate
Signed-off-by: Roman <bapstroman@gmail.com >
* optical flow: calculate height above the ground with respect to the flow
camera
- the flow camera can be offset from the IMU which needs to be considered
Signed-off-by: Roman <bapstroman@gmail.com >
* estimator interface: fixed comment regarding optical flow sample timestamp
- the timestamp on an optical flow sample corresponds to the trailing
edge of the flow integration period
Signed-off-by: Roman <bapstroman@gmail.com >
2018-07-16 11:41:35 +10:00
Paul Riseborough
4d59c834eb
EKF: Consolidate range finder checking
...
This brings all the range finder data checks (excluding innovation consistency checks) into one place and eliminates the need to perform range checking external to the library.
The hard coded optical flow tilt limit is changed to use the same value as the range finder.
Variable names are changed to make a clear distinction between the max/min values calculated by the stuck range check and the max/min valid values for the sensor.
2018-07-12 18:20:50 +02:00
Kabir Mohammed
e1661a92c3
EKF : allow init without external vision measurements ( #464 )
2018-07-12 11:36:47 +10:00
Paul Riseborough
a0ed08967e
EKF: Add missing range validity check
2018-07-11 14:53:37 +02:00
Daniel Agar
41953ab582
EKF angle constants in degrees for readability ( #465 )
...
* EKF angle constants in degrees for readability
* EKF make FILTER_UPDATE_PERIOD_MS static constexpr and add FILTER_UPDATE_PERIOD_S
* EKF controlOpticalFlowFusion() use constants and update comments
* EKF controlMagFusion() use angle in degrees
* EKF move earth spin rate to geo and update usage
* EKF: Fix numerical constant error and clean up comments
Comments do not need to contain numerical values when the code makes these clear.
2018-07-05 08:55:22 +10:00
Daniel Agar
cebdc3d829
ekf run output predictor immediately with new IMU data ( #471 )
...
* EKF collect_imu take const imu sample and populate buffer
* EKF calculateOutputStates cleanup
* EKF add calculate_quaternion output predictor method
* EKF: update documentation
* EKF: remove unnecessary getter function
* EKF calculateOutputStates only apply dt correction to bias
* EKF pytest assert attitude validity, not update() return
* EKF: correct documentation
* EKF: Do not make attitude validity dependent on yaw alignment status
Yaw alignment could fail in flight due to temporary loss of data and yet the quaternions would still usable for stabilisation even though the absolute earth yaw angle wrt true north was uncertain.
2018-07-05 07:59:35 +10:00
Daniel Agar
114ae4116a
geo get_bearing_to_next_waypoint() small optimization
2018-06-30 21:30:35 +00:00
Daniel Agar
b26c2d62b8
geo get_distance_to_arc remove double promotion
2018-06-30 10:09:10 -04:00
Philipp Oettershagen
b3959fab2f
TECS: Do not even calculate integrator state if integrator gain is zero
2018-06-29 15:55:46 +00:00
Philipp Oettershagen
ccfba49971
TECS: Set the integrator output to zero if the gain is zero. Otherwise (e.g. after a climbout) it can happen that the integrator stays at a large constant value and thus distrubs the control loop
2018-06-29 15:55:46 +00:00
Paul Riseborough
1cba257bac
Merge branch 'master' into pr-ekfOptFlowGyro
2018-06-18 09:36:16 +10:00
Paul Riseborough
1a1106878d
EKF: Prevent timestamp jitter failing GPS data arrival check ( #462 )
...
This fixes a error condition that occurs if _time_last_gps is greater than _time_last_imu.
By checking time stamps at the fusion time horizon, we guarantee that this cannot happen because all observations must have a time stamp smaller or equal to _imu_sample_delayed.time_us before they are retrieved from the buffers.
2018-06-15 16:03:54 +10:00
Daniel Agar
4ae8242c35
validation DataValidatorGroup::get_best() nullptr check
...
- fixes Coverity CID 139448
2018-06-14 08:14:53 +02:00
Daniel Agar
c3e071e052
validation initialize all members
...
- fixes Coverity CID 260331
2018-06-14 08:14:53 +02:00
Roman
c8af315aa7
flow_fusion: corrected sign of gyro data when it is taken from the ekf
...
gyro data
Signed-off-by: Roman <bapstroman@gmail.com >
2018-06-13 21:52:42 +02:00
Paul Riseborough
c6ed2ccfcd
EKF: Fix half frame offset in flow gyro compensation.
...
The gyro data accumulation needs to be across the same integration period as the flow sensor. The previous code didn't sample the accumulation until the midpoint of the flow data had fallen behind the fusion time horizon.
This PR changes the optical flow time stamp definition so that flow data is retrieved when the leading edge of the flow accumulation period falls behind the fusion time horizon. This enables the accumulated gyro data to be sampled at the correct time. Fusion is then delayed until the mid sample time has fallen behind the fusion time horizon.
2018-06-13 16:51:42 +10:00
Paul Riseborough
48561b0c8a
EKF: Update optical flow interface documentation
2018-06-12 16:52:26 +10:00
Paul Riseborough
de7c9d85a4
EKF: Handle flow data without valid gyro data
2018-06-12 16:24:25 +10:00
elia
26dcf05d80
keep ev timeout sign always positive
2018-06-11 00:17:19 +02:00
Daniel Agar
a8b73bd139
replace geo _wrap_pi with matrix::wrap_pi
2018-06-11 00:16:17 +02:00
Daniel Agar
5c64879688
Jenkins codecov.io add flag
2018-06-09 21:12:03 -04:00
Paul Riseborough
d177e96508
EKF: Fix bug causing slow drift when high rate flow data is used
...
High rate optical flow data could make flow fusion to run every major update cycle, resulting in the calculation of bias errors in the body rates used to compensate flow data failing time validity checks and not running. This resulted in a slow drift of the nav solution if bias errors were present in the in the gyro data used for flow sensor motion compensation.
2018-06-09 22:23:55 +02:00
Paul Riseborough
ee2dc7d790
EKF: Rework optical flow selection logic
...
Fixes a race condition caused by the _is_dead_reckoning test.
Only checks flow selection when flow is available.
2018-06-09 22:23:55 +02:00
Paul Riseborough
e383b6a272
EKF: rework optical flow selection logic
...
Make use of range aiding movement check clearer.
Fix logic errors that caused rapid toggling of flow use when on ground.
2018-06-09 22:23:55 +02:00
Paul Riseborough
487e6a0901
EKF: enable user selection of auto mag free operation
...
Also modify check to not apply if EV yaw is being used.
2018-06-09 22:23:55 +02:00
Paul Riseborough
6bdbe032f9
EKF: Fallback to optical flow for all in-flight loss of navigation scenarios
2018-06-09 22:23:55 +02:00
Mohammed Kabir
b4d2b8c57d
EKF : introduce new architechture for navigation limits
2018-06-09 22:23:55 +02:00
Paul Riseborough
8a713398cb
EKF: Improve ground effect compensation
...
Start deadline at zero so that initial rotor wash effect is rejected.
2018-06-09 22:23:55 +02:00
Paul Riseborough
39697f1196
EKF: rework optical flow switching
2018-06-09 22:23:55 +02:00
Paul Riseborough
1cfe845751
EKF: rework GPS quality check
2018-06-09 22:23:55 +02:00
Paul Riseborough
99a80387ed
EKF: improve optical flow GPS quality checking
2018-06-09 22:23:55 +02:00
Paul Riseborough
7f36add241
EKF: scale GPS vertical accuracy check when using optical flow
2018-06-09 22:23:55 +02:00
Paul Riseborough
fc9f532c34
EKF: relax range finder data continuity check
2018-06-09 22:23:55 +02:00
Paul Riseborough
93c456f2b8
EKF: Improve protection against badly conditioned dVel bias covariances
...
Reduces likelihood of Z delta velocity bias learning to wrong value.
2018-06-09 22:23:55 +02:00
Paul Riseborough
225057aaf5
EKF: Fix bug preventing use of terrain estimator
2018-06-09 22:23:55 +02:00
Paul Riseborough
adb4a09beb
EKF: Fix bug causing large yaw innovations when GPS is lost
2018-06-09 22:23:55 +02:00
Paul Riseborough
f59cd0f5b0
EKF: Don't make detection of indoor operation dependent on optical flow
...
This is required because it can take several seconds for an optical flow sensor operation to be confirmed and there are also many use cases for indoor operation where no optical flow is used.
2018-06-09 22:23:55 +02:00
Paul Riseborough
1562a82dc2
EKF: Add parameter to adjust on-ground movement detector sensitivity
2018-06-09 22:23:55 +02:00
Paul Riseborough
ea9e8246ed
EKF: Improve detection of indoor flight condition
2018-06-09 22:23:55 +02:00
Paul Riseborough
565f99254c
EKF: Reduce effect of yaw gyro bias when using optical flow indoors
2018-06-09 22:23:55 +02:00
Paul Riseborough
e10798bfdf
EKF: Add on ground movement detector
2018-06-09 22:23:55 +02:00
Paul Riseborough
2d3b65231b
EKF: Reset yaw gyro bias learning when resuming use of magnetometer
...
The previous lack of yaw drift constraint will also mean that the yaw gyro bias estimate is likely to be incorrect and needs to be re-learned.
2018-06-09 22:23:55 +02:00
Paul Riseborough
8191068959
EKF: Don't start using mag if optical flow use is interrupted
...
If magnetometer use is being inhibited because an indoor condition has been detected (optical flow and poor or no GPS) and the optical flow fusion checks fail causing the EKF to stop navigating, we do not want the EKF to start using the magnetometer.
2018-06-09 22:23:55 +02:00
Paul Riseborough
4889e8432c
EKF: Don't fuse multi rotor drag if yaw angle is bad
2018-06-09 22:23:55 +02:00
Paul Riseborough
092a8d8f21
EKF: Fix GPS validity time check error
2018-06-09 22:23:55 +02:00
Paul Riseborough
0160aaa568
EKF: Don't use magnetometer with optical flow only nav if GPS checks are failing
2018-06-09 22:23:55 +02:00
Paul Riseborough
84516760c0
EKF: Use stricter GPS accuracy test when optical flow is being used
...
This adds some hysteresis to the automated optical flow selection and also reduces likelihood of bad GPS being used when operating indoors,
2018-06-09 22:23:55 +02:00
Daniel Agar
a80b3ab610
set MODULE define for each library
...
- this is needed for INFO, WARN, ERR messages when used within PX4
2018-05-27 20:08:47 +02:00
Daniel Agar
50631e5d98
geo remove use of DBL_EPSILON
...
-this doesn't seem to be (obviously?) available on qurt
2018-05-21 10:59:40 +02:00
Daniel Agar
cb63f16d48
cmake cache ECL source directory path to work with catkin ( #447 )
2018-05-17 12:01:30 -04:00
Bart Slinger
bae4b8a5e7
remove superfluous elseif ( #431 )
...
* remove superfluous elseif
* Set ev_hgt flag false when starting on baro
2018-05-11 08:38:42 +10:00
Paul Riseborough
16976d3911
Merge branch 'pr-ekfOptFlowFixes'
...
* pr-ekfOptFlowFixes:
EKF: fix bug causing height offset when GPS use stops
EKF: Don't reject saturated flow data when it is the only aiding source
EKF: Prevent flow motion check false positives
EKF: Don't assume large position uncertainty when starting optical flow nav
EKF: relax terrain update requirements for continuing optical flow use
EKF: Relax minimum required range finder measurement rate
EKF: relax optical flow on ground motion checks
EKF: range finder aiding logic fixes
EKF: Decouple range finder use criteria checking and selection
EKF: Don't auto select range finder for height when on ground.
EKF: Fix false triggering of optical flow bad motion checks
EKF: update comments
EKF: Don't use optical flow if GPS is good and the vehicle is not using range finder for height
EKF: Stop using EV for yaw when GPS fusion starts
EKF: Add persistence criteria to GPS fail check
EKF: allow GPS fallback if quality bad and alternative aiding available
EKF: always run GPS checks
2018-05-11 08:22:14 +10:00
Paul Riseborough
75e65901ae
EKF: fix bug causing height offset when GPS use stops
...
This bug causes the last vertical velocity observation to be continuously fused.
2018-05-10 10:55:56 +02:00
Paul Riseborough
e8e9e34a73
EKF: fix bug causing height offset when GPS use stops
...
This bug causes the last vertical velocity observation to be continuously fused.
2018-05-10 13:45:19 +10:00
Paul Riseborough
6cadc92285
EKF: Don't reject saturated flow data when it is the only aiding source
2018-05-10 07:11:59 +10:00
Paul Riseborough
bf902e5eca
EKF: Prevent flow motion check false positives
...
The previous implementation could false trigger if there was significant vibration below 200Hz during startup.
2018-05-09 07:47:17 +10:00
Paul Riseborough
bdf5b3e003
EKF: Don't assume large position uncertainty when starting optical flow nav
2018-05-08 08:43:56 +10:00
Paul Riseborough
e26711af7d
EKF: relax terrain update requirements for continuing optical flow use
2018-05-08 08:43:14 +10:00
Paul Riseborough
868bc01087
EKF: Relax minimum required range finder measurement rate
2018-05-08 08:43:14 +10:00
Paul Riseborough
02963a85c4
EKF: relax optical flow on ground motion checks
2018-05-08 08:43:14 +10:00
Paul Riseborough
24b005ed57
EKF: range finder aiding logic fixes
2018-05-08 08:42:29 +10:00
Paul Riseborough
0c0a6602b0
EKF: Decouple range finder use criteria checking and selection
2018-05-08 08:42:29 +10:00
Paul Riseborough
6708bec1b4
EKF: Don't auto select range finder for height when on ground.
2018-05-08 08:42:03 +10:00
Paul Riseborough
0a63052753
EKF: Fix false triggering of optical flow bad motion checks
2018-05-08 08:42:03 +10:00
Paul Riseborough
f9d4934db6
EKF: update comments
2018-05-08 08:42:03 +10:00
Paul Riseborough
82de3141f0
EKF: Don't use optical flow if GPS is good and the vehicle is not using range finder for height
2018-05-08 08:42:03 +10:00
Paul Riseborough
389786ef1b
EKF: Stop using EV for yaw when GPS fusion starts
2018-05-08 08:42:03 +10:00
Paul Riseborough
4ab78230e6
EKF: Add persistence criteria to GPS fail check
2018-05-08 08:41:15 +10:00
Paul Riseborough
67d71ca406
EKF: allow GPS fallback if quality bad and alternative aiding available
2018-05-08 08:41:15 +10:00
Paul Riseborough
bd59e381db
EKF: always run GPS checks
2018-05-08 08:40:31 +10:00
Daniel Agar
b227aca4a8
geo_lookup fix table bounds
2018-05-06 03:13:00 +02:00
Daniel Agar
e494a4e634
Jenkins set git username and email with environment variables
2018-05-05 18:11:28 -04:00
Daniel Agar
3639087ac6
cmake and Jenkins add basic address santiizer test buld
2018-05-05 16:11:04 -04:00
Daniel Agar
1fba622a80
travis-ci basic build script
2018-05-05 15:25:54 -04:00
Daniel Agar
cde2ee9b6f
cmake ignore missing-field-initializers
2018-05-05 15:25:54 -04:00
Daniel Agar
2100127304
geo: zeroing static unnecessary
2018-05-05 15:25:54 -04:00
Daniel Agar
0f12db5b2c
travis-ci enable coverity_scan
2018-05-05 15:25:54 -04:00
Daniel Agar
aceab8c82c
Jenkins upload coverage to codecov.io
2018-05-05 15:13:52 -04:00
Daniel Agar
5780cd3c6b
Jenkins create PX4/Firmware test branch and push ( #436 )
2018-05-05 14:40:15 -04:00
Daniel Agar
cf957b5831
code coverage cmake and Jenkins support
2018-05-04 01:40:23 -04:00
Daniel Agar
4e0cd45676
doxygen cmake and Jenkins support
2018-05-04 01:22:10 -04:00
Daniel Agar
372f9f430b
EKF pytest save plots to pdf
2018-05-03 22:25:36 -04:00
Daniel Agar
d6a3110918
visual studio build compatibility
2018-05-03 22:25:36 -04:00
Daniel Agar
3a61035ac2
fix and re-enable EKF pytests
2018-05-03 22:25:36 -04:00
Daniel Agar
4dabf7a1a8
Jenkins add OSX build
2018-05-03 22:25:36 -04:00
Daniel Agar
c5b2f59f57
PX4 style fixes (excluding EKF generated code)
2018-05-03 22:25:36 -04:00
Daniel Agar
e5952fadaf
cmake standalone build
2018-05-03 22:25:36 -04:00
Daniel Agar
eec71d1a10
EKF get_ekf_soln_status() fix pred_pos_horiz_abs
2018-05-03 00:12:23 -04:00
Paul Riseborough
1bd1809d6e
EKF: Fix bug causing simultaneous range and baro height fusion ( #429 )
2018-05-03 13:24:33 +10:00
Daniel Agar
a14434d6dc
EKF always fill position and velocity accuracy ( #425 )
2018-04-23 21:15:29 +10:00
Paul Riseborough
6e3403ce28
EKF: prevent race condition between global position validity and eph reporting
2018-04-21 13:04:04 -04:00
Paul Riseborough
fdabb9277f
EKF: Use consistent validity definition for global position reporting
2018-04-21 13:04:04 -04:00
Paul Riseborough
31142c0322
EKF: tighten wind variance growth check
2018-04-21 13:04:04 -04:00
Paul Riseborough
ae069b12d6
EKF: Fix bug preventing wind relative dead reckoning
2018-04-21 13:04:04 -04:00
Paul Riseborough
9747dc778d
EKF: Rework nav validity reporting
...
Remove duplicate checking for dead reckoning and consolidate into a single function.
Use separate timers to check for start of dead reckoning and check when dead reckoning has been performed for too long for the nav solution to be valid.
Allow the timeout for validity reporting to be adjusted externally.
Separate external reporting of dead reckoning from internal checks.
2018-04-21 13:04:04 -04:00
Daniel Agar
bd72f3c521
geo std pressure constants and update usage
2018-04-19 08:57:38 +02:00
Daniel Agar
02e319431b
cmake remove embedded vim settings
2018-04-11 20:50:30 -04:00
Daniel Agar
91b5bfe2bb
attitude_fw remove unused perf include
2018-04-11 20:50:30 -04:00
Paul Riseborough
02055acee2
EKF: Fix non GPS aiding data reset logic ( #418 )
...
* EKF: Move optical flow specific state reset to helper functions
* EKF: Ensure loss of optical flow aiding is handled correctly
If data is only source of aiding and has been rejected for too long - reset using flow data as a velocity reference.
If flow data is unavailable for too long - declare optical flow use stopped.
Use consistent time periods for all resets
* EKF: Ensure loss of external vision aiding is handled correctly
If data is only source of aiding and has been rejected for too long - reset using data as a position.
Don't reset velocity if there is another source of aiding constraining it.
If data is unavailable for too long, declare external vision use stopped.
Use consistent time periods for all resets.
* EKF: Update parameter documentation
Make the distinction between the no_gps_timeout_max and no_aid_timeout_max parameters clearer
* EKF: make class variable units consistent with documentation
* EKF: Don't reset states when optical flow use commences if using external vision
* EKF: Stop optical flow fusion when on ground if excessive movement is detected.
* EKF: fix terrain estimator vulnerabilities
Reset estimate to sensor value if rejected for 10 seconds
Protect against user motion when on ground.
Fix unnecessary duplication of terrain validity check and separate validity update and reporting.
* EKF: remove unnecessary Info console prints
Optical flow use information can be obtained from the estimator_status.control_mode_flags message
* EKF: fix inaccurate comment
* EKF: remove duplicate calculation from terrain validity accessor function
2018-04-09 18:35:15 +10:00
Daniel Agar
ba2b9dfdd9
update matrix lib usage
2018-03-28 17:57:51 -04:00
Daniel Agar
39b69af9bf
geo_lookup: Update geomagnetism tables.
...
Update declination table to use latest IGRF data
Add lookups for inclination and field strength
2018-03-26 21:52:11 -04:00
Daniel Agar
cd12f049fe
move geo and geo_lookup from PX4 Firmware to ECL
2018-03-26 21:52:11 -04:00
Paul Riseborough
1bb4c17c0e
EKF: Allow use of large GPS position observation noise when using other aiding sources ( #403 )
2018-03-27 11:31:37 +11:00
Paul Riseborough
8a012436f9
EKF: Fix reversion from GPS to no-aiding mode ( #412 )
...
* EKF: Do not delay reversion to no-aiding mode if parameter initiated
* EKF: Move no-aid reversion resets to helper functions
* EKF: Prevent unwanted fusion of velocity data during no aiding mode
2018-03-22 22:39:00 +11:00
Roman Bapst
95c4777b35
added airdata module which contains wind & airspeed scale estimator ( #405 )
...
* added airdata module which contains wind & airspeed scale estimator
* airdata: support gate sizes for innovation consistency checks
2018-03-21 13:06:00 -04:00
Carl Olsson
f6d23cc621
added rng_stuck to filter control status flags ( #392 )
2018-03-21 11:46:27 +11:00
Roman Bapst
7964820412
tecs.cpp: tecs initialisation fixes ( #411 )
...
- zero thrust integrator on initialisation, we already have a cruise throttle
variable
- if initialising from in_air condition set last throttle setpoint to
cruise throttle (_in_air ? throttle_cruise : 0.0f);
2018-03-21 11:25:15 +11:00
Daniel Agar
35bc2cfcd9
tecs and l1 switch to matrix math library ( #409 )
2018-03-18 21:59:41 -04:00
Daniel Agar
1bc7378414
EKF decrease synthetic sideslip interval 1s -> 150ms ( #407 )
2018-03-15 23:09:42 -04:00
Daniel Agar
341f8962d2
EKF interface add get_wind_status() ( #406 )
2018-03-14 16:41:09 -04:00
Thomas Stastny
041886a289
attitude_fw: move angular rate limits to body angular rates ( #404 )
2018-03-08 22:19:19 -05:00
Paul Riseborough
78e983073a
EKF: Fix bug in use of gps velocity noise parameter ( #401 )
...
This fixes a bug introduced by an earlier feature request PR. The parameter is supposed to define the lower limit on the observation noise.
2018-02-28 11:48:53 +11:00
ChristophTobler
cdc6efc5d6
EKF: fix rot vec calc from quat by using matrix lib
2018-02-08 10:22:55 +01:00
ChristophTobler
9238e2f1a2
EKF: fix spike handling in ev rotation calculation
2018-02-08 10:20:59 +01:00
Paul Riseborough
db5264e45c
EKF: Add missing reset for output observer vertical position derivative
...
Required to prevent large transients in value returned by get_pos_d_deriv accessor following a vertical state reset event.
2018-01-31 08:43:39 +01:00
Beat Küng
d078d68f64
Reverse the linked list of data_validator_group #2 ( #389 )
...
* Reverse the linked list of data_validator_group and maintain a first node
for search from index 0
Fixes issue PX4/Firmware#8644
* fix code style
* validator: fix shadowing of 'sibling' argument
2018-01-30 09:11:01 +11:00
ChristophTobler
337cdcc59a
init height using baro when set to ev height ( #388 )
...
this also makes sure the _baro_hgt_offset is being initialized correctly
2018-01-30 07:33:28 +11:00
Paul Riseborough
a2d6a4dded
EKF: fix indexing bug ( #387 )
...
Should use index 9 for vertical position.
2018-01-29 08:09:55 +11:00
Paul Riseborough
1ddd94f237
tecs: Remove redundant code
...
The if() statement was there as provision to do something different with the speed demand derivative limits if an abnormal condition was present, however we have no basis for assigning different limits at this point in time.
2018-01-28 22:01:28 +01:00
Paul Riseborough
f016e66ff8
Revert "EKF: Release flow speed limit with altitude gained" ( #382 )
...
* Revert "EKF: Release flow speed limit with altitude gained"
This reverts commit e70206f74b .
* Revert "fix code style"
This reverts commit 76bf70121c .
* Revert "Reverse the linked list of data_validator_group and maintain a first node"
This reverts commit 32482e7644 .
2018-01-24 20:46:48 +11:00
jay
76bf70121c
fix code style
2018-01-19 11:53:36 +01:00
lijie
32482e7644
Reverse the linked list of data_validator_group and maintain a first node
...
for search from index 0
Fixes issue PX4/Firmware#8644
2018-01-19 11:53:36 +01:00
ChristophTobler
cdbca91e79
EV height reset ( #379 )
...
* fix typo
* EKF: use baro if it was reset to baro from ev
* EKF: set vert_pos_reset if resetting to ev hgt
otherwise the position controller will not reset the setpoint -> leading to unwanted altitude changes
2018-01-15 20:15:56 +11:00
Andreas Antener
9e16e51d3a
attitude_fw: constrain integrator properly to prevent building it up over the specified maximum
2018-01-13 16:17:01 +01:00
Daniel Agar
c8ab806120
EKF pytest temporarily disable
2018-01-05 02:39:02 -05:00
Daniel Agar
ae641020dd
EKF run pytest quick and plot
2018-01-05 02:39:02 -05:00
Daniel Agar
ec0d907d5a
update README build badge (travis-ci -> jenkins)
2018-01-05 02:39:02 -05:00
Daniel Agar
7df4e0f8eb
reenable pytest with px4-dev-ecl
2018-01-05 02:39:02 -05:00
Daniel Agar
f407954207
initial jenkins configuration
2018-01-05 02:39:02 -05:00
Lorenz Meier
dd9ea86fd6
Update README.md
...
Added link to tuning guide.
2018-01-04 08:50:34 +01:00
Paul Riseborough
76763adb5c
Merge pull request #374 from PX4/pr-ekfInitFix
...
EKF: Prevent possible /0 due to incorrect initial values
2018-01-04 08:15:08 +11:00
Paul Riseborough
0f047504d4
EKF: Prevent possible div 0 due to incorrect initial values
...
Gate size class variables should not be initialised to zero, because it will cause a /0 error if fuseVelPosHeight() is called before they are set to their respective parameter values.
2018-01-04 07:47:03 +11:00
Daniel Agar
f0862210c7
EKF initialize _hvelInnovGate
...
- fixes CID 139550
2018-01-03 08:07:28 +01:00
Paul Riseborough
bdbc05cf91
Merge pull request #372 from PX4/pr-tecs_init
...
TECS initialize throttle integrator at cruise if in air
2017-12-28 09:09:14 +11:00
Paul Riseborough
a39c376c26
Merge pull request #371 from CarlOlsson/pr-push_beta_test_ratio
...
ekf: return beta test ratio in get_innovation_test_status
2017-12-28 08:29:15 +11:00
Daniel Agar
8320c8ba14
TECS initialize throttle integrator at cruise if in air
2017-12-21 16:29:14 -05:00
CarlOlsson
5c8b22b43f
ekf: return beta test ratio in get_innovation_test_status
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2017-12-18 15:48:36 +01:00
Paul Riseborough
e70206f74b
EKF: Release flow speed limit with altitude gained
...
When GPS use is gained whilst flying using optical flow data, the sudden release of the speed limit is unannounced to the operator and can cause unexpected acceleration.
This patch releases the speed limit as height is gained, but does not reduce it when the vehicle descends, unless GPS use is lost.
2017-12-12 01:26:44 +00:00
CarlOlsson
dea0c8bb6a
tecs: fixed some typos
2017-12-08 00:31:12 -05:00
Paul Riseborough
83b765f707
EKF: Don't print navigation lost message on startup
2017-12-03 23:02:02 +00:00
Daniel Agar
e3da71c89d
Ekf initialize all fields
2017-11-26 16:50:16 -05:00
Andreas Antener
ee57908911
Provide access to FW integrators
2017-11-26 15:33:34 +01:00
Paul Riseborough
22a6abbca2
Merge pull request #365 from PX4/pr-ekfBugFix
...
EKF: Fix vel pos innovation handling bug
2017-11-24 14:46:11 +11:00
Paul Riseborough
89be63d6c2
EKF: Fix vel pos innovation logging bug
2017-11-24 14:25:44 +11:00
Paul Riseborough
882f4d44e5
Merge pull request #362 from PX4/pr-ekfAuxVelFuse
...
EKF: Add additional velocity interface to use landing beacon data
2017-11-21 11:55:43 +11:00
Paul Riseborough
b0ad8269a5
EKF: enable separate monitoring of aux velocity innovations
2017-11-21 11:18:09 +11:00
Paul Riseborough
2a57fd858d
EKF: clean up reset of fusion flags
2017-11-21 11:18:09 +11:00
Paul Riseborough
8e30c2666d
EKF: Add support auxiliary velocity observation
...
This enables the EKF to use an additional NE velocity measurement. This can be used to improve position hold stability when landing using a beacon system for positioning by fusing the beacon velocity estimates.
2017-11-21 11:18:09 +11:00
Paul Riseborough
bd8f30752a
Merge pull request #351 from PX4/ekfGndEffectComp-wip
...
EKF: Protect against ground effect induced static pressure rise
2017-11-20 09:14:26 +11:00
Paul Riseborough
a2b24fa960
EKF: Protect against ground effect induced static pressure rise during landing and takeoff.
...
Apply a dead-zone to the vertical position innovation if using baro for height and if in the ground effect region during and just after takeoff.
Method needs to be activated externally.
Turns off automatically after 10 seconds or if specified height gained.
2017-11-17 21:41:31 +11:00
Paul Riseborough
c8d459eecd
Merge pull request #360 from dagar/pr-ekfObsBufAlloc
...
EKF RingBuffer allocation minor improvements + print memory usage
2017-11-17 08:38:57 +11:00
Paul Riseborough
3479542ae5
Merge pull request #359 from PX4/pr-ekfObsBufAlloc
...
EKF: Reduce memory usage
2017-11-17 08:09:37 +11:00
Daniel Agar
d9c8af54bd
EKF add print_status() with memory usage
2017-11-16 14:11:34 -05:00
Daniel Agar
75d1ed894c
EKF simplify RingBuffer allocation check
2017-11-16 13:09:17 -05:00
Paul Riseborough
af7004ef01
EKF: report observation buffer allocation errors
2017-11-16 20:04:46 +11:00
Paul Riseborough
d785a19c0a
EKF: delay final allocation of observation buffers until required
2017-11-16 19:47:04 +11:00
Paul Riseborough
f54f1d467f
Merge pull request #358 from PX4/pr-ringbuffer_copies
...
EKF RingBuffer avoid unnecessary copying
2017-11-16 13:37:36 +11:00
Paul Riseborough
7c8fcf7628
EKF: Clarify use of *= operator for quaternions
2017-11-16 11:52:19 +11:00
Daniel Agar
ed9a394029
EKF RingBuffer avoid copying
2017-11-15 18:08:51 -05:00
Paul Riseborough
44eaa076db
Merge pull request #356 from PX4/pr-ekfMiscUpdate
...
EKF: Remove redundant code
2017-11-16 07:05:18 +11:00
Paul Riseborough
2b20c52c4d
EKF: Remove redundant code
2017-11-15 22:03:17 +11:00
Paul Riseborough
cfdab732d1
EKF: Update parameter description
2017-11-15 21:28:11 +11:00
Paul Riseborough
16154423c8
matlab: update optical flow derivation
...
Support use of sensors with arbitrary orientation in body frame
2017-11-15 11:16:19 +11:00
Paul Riseborough
cc651ac472
Merge pull request #354 from PX4/ekfMagYawReset-wip
...
Prevent loss of navigation accuracy after in-flight mag yaw alignment
2017-11-13 07:32:23 +11:00
Paul Riseborough
72a7ab2c25
EKF: Improve resistance to bad initial mag offset
...
When magnetic field states have been reset in-flight using a single sample, the magnetic field states are not used to constrain heading drift for a period after the reset. This period has been shortened from 10 to 5 seconds which is enough time to average out the effects of measurement noise (the original concern). The shorter time has enabled the previous practice for RW vehicles of using magnetic heading in that time period to constrain yaw drift to be discontinued. This is necessary becasue while magnetic heading is being used, it fights the yaw corrections obtained from GPs observations and lengthens the time required to recover from a bad mag calibration.
2017-11-13 07:05:56 +11:00
Paul Riseborough
df9f48d2d3
EKF: Fix build error
2017-11-13 07:05:56 +11:00
Paul Riseborough
44c50ab2df
EKF: Correct magnetic yaw measurement using learned mag biases
...
Don't apply bias corrections when biases are being learned to avoid possible circular data dependency.
2017-11-13 07:05:56 +11:00
Paul Riseborough
c70363c501
EKF: Don't fuse heading if FW and waiting for mag states to stabilise
...
Doing so is a bad idea because bad mag data can drag the yaw angle away from the reset value and lead to rejection of GPS.
2017-11-13 07:05:56 +11:00
Paul Riseborough
279fc836f7
EKF: Always reset covariance matrix terms when doing vel pos state reset
...
If state errors were large before the reset, then failure to reset the covariance matrix terms can result in incorrect fusion of position and velocity measurements after the reset due to inconsistencies in the covariance matrix.
2017-11-13 07:05:56 +11:00
Paul Riseborough
141264fe63
EKF: Add method to set diagonals in covariance matrix
2017-11-13 07:05:56 +11:00
Paul Riseborough
32de90b9ef
EKF: Add method to zero covariance terms
2017-11-13 07:05:56 +11:00
Paul Riseborough
f3e34eddc9
EKF: do not attempt to align FW yaw using GPS method if on ground
2017-11-13 07:05:56 +11:00
Paul Riseborough
8f27d3fc54
EKF: don't reset quaternion states unnecessarily
...
When performing the initial in-flight mag yaw reset for RW vehicle, do not reset the quaternion states and corresponding variances unless there has been a change in yaw angle large enough to cause problems with navigation.
This is because the state estimates after a reset are more vulnerable to transient sensor errors, so a reset should be avoided if possible.
2017-11-13 07:05:56 +11:00
Paul Riseborough
9e47b6e1b6
EKF: don't reset quaternions unnecessarily
...
When performing the initial in-flight magnetic field reset for fixed wing vehicles, resetting the quaternion states and their corresponding covariances should be avoided unless yaw errors are large, because state estimates are vulnerable to transient sensor errors immediately following a reset.
2017-11-13 06:55:02 +11:00
Paul Riseborough
29d383edbf
EKF: Allow mag field estimates to stabilise before use
2017-11-13 06:55:02 +11:00
Paul Riseborough
363edf5eb9
EKF: Fix yaw reset for fixed wing
...
Ensures that a complete reset of velocity and position states will always be performed if yaw has had to be reset using GPS velocity.
Ensures that the yaw_align status cannot be set to false once the filter has aligned.
2017-11-13 06:55:02 +11:00
Paul Riseborough
7852c0ed03
Merge pull request #312 from PX4/pr-ekfExtVisQuat
...
EKF: Enable operation with arbitrary External Vision reference frame
2017-11-12 08:35:39 +11:00
Paul Riseborough
5fd006ca48
EKF: remove redundant code
2017-11-11 07:06:01 +11:00
ChristophTobler
368248fe6d
Merge pull request #353 from PX4/pr-expo_int_cast
...
EKF: use uint64_t cast for XeY to avoid float casting of variables
2017-11-08 11:54:39 +01:00
ChristophTobler
e388e59f32
EKF: use uint64_t cast for XeY to avoid float casting of variables
...
The default type for XeY is float
2017-11-08 11:40:26 +01:00
Paul Riseborough
bba3f70a0e
EKF: reduce prediction time step from 12 to 8 sec
...
Reduces susceptibility to incorrect estimation of acceleration bias during sustained yaw rate.
Requires an increase in RAM allocation of 837 Bytes to allow for the longer IMU and output predictor buffers that can be created.
2017-11-02 09:27:33 +01:00
Paul Riseborough
01d68ef67c
EKF: Enable use of rotated external nav estimates
2017-11-01 08:33:57 +11:00
Paul Riseborough
f921b2de5c
Merge pull request #348 from PX4/pr-ekfAddImuBiasReset
...
EKF: Add method to enable the IMU bias states to be reset externally
2017-10-30 15:55:52 +11:00
Paul Riseborough
063533afae
EKF: Add method to enable the IMU bias states to be reset externally
2017-10-26 10:41:39 +11:00
Paul Riseborough
cd2ca57ec2
Merge pull request #339 from PX4/ekfPosCtrlLimits-wip
...
Ekf pos ctrl limits wip
2017-10-23 06:57:23 +11:00
Daniel Agar
22a51c6afd
PX4_ISFINITE -> ISFINITE
2017-10-22 20:37:40 +02:00
Daniel Agar
9e13a2cb21
tecs move initialization
2017-10-22 20:37:40 +02:00
Daniel Agar
31a8e047d7
tecs one line setters and group
2017-10-22 20:37:40 +02:00
Daniel Agar
4f2d571c89
tecs fix code style
2017-10-22 20:37:40 +02:00
Paul Riseborough
79995b2c15
Create total energy control system implementation
...
This is a new, clean and streamlined variant of the mathematical derivation I created a few years ago.
2017-10-22 20:37:40 +02:00
Daniel Agar
9eb860fabd
travis-ci fix gcc and clang compilation jobs ( #344 )
...
- allow the python testing to fail without failing the entire build
2017-10-22 12:19:11 -04:00
Paul Riseborough
e10ec59058
EKF: Use consistent test for navigation validity reporting
...
This will enable controller to take advantage of non-inertial dead reckoning.
2017-10-20 14:44:38 +11:00
Paul Riseborough
19074fdd9e
EKF: Use consistent time limit for inertial dead reckoning test
2017-10-20 14:44:38 +11:00
Paul Riseborough
55a2dc94df
EKF: handle air data fusion covariance reset consistently
...
Both the sideslip and airspeed fusion should not be resetting covariances for states they do not modify.
2017-10-20 14:44:37 +11:00
Paul Riseborough
0d32128701
EKF: Use dead-reckoning status to determine if air data should modify non-wind states
2017-10-20 14:44:37 +11:00
Paul Riseborough
e4ffe199ed
EKF: fix bug in sideslip fusion activation
2017-10-20 14:44:37 +11:00
Paul Riseborough
59f1c3e19e
EKF: Update dead-reckoning definition
...
Use of air data to navigate should be classified as dead-reckoning because neither ground relative velocity or position is observed directly and errors grow faster.
2017-10-20 14:44:37 +11:00
Paul Riseborough
a2dcd5b9b6
EKF: Consolidate no aiding reset logic
2017-10-20 14:44:37 +11:00
Paul Riseborough
929c5c2b37
EKF: enable gps fusion flag to be false while fusing air data
2017-10-20 14:44:37 +11:00
Paul Riseborough
204a218ee6
EKF: Allow dead-reckoning using air data
2017-10-20 14:22:06 +11:00
ChristophTobler
f5fd90533a
fix gps and flow flag handling
...
gps flag was not turning false if there was flow
only reset states if we were relying on that sensor only
2017-10-20 14:22:06 +11:00
Paul Riseborough
9857fb9eb6
EKF: publish control limits for optical flow navigation
2017-10-20 14:22:06 +11:00
Paul Riseborough
afa8844eb7
Merge pull request #341 from CarlOlsson/fix/fw_yaw_align2
...
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-20 14:05:52 +11:00
CarlOlsson
2e03084d34
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-19 16:49:54 +02:00
Paul Riseborough
61e0c04811
Merge pull request #338 from CarlOlsson/fix/fw_pos_reset
...
EKF: Fix bug when resetting position and velocities for fw due to som…
2017-10-18 07:02:34 +11:00
CarlOlsson
c81cdfa1ce
EKF: Fix bug when resetting position and velocities for fw due to something else than bad yaw estimate
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2017-10-17 15:08:09 +02:00
Paul Riseborough
410697cb0c
Merge pull request #337 from CarlOlsson/fix/comment
...
EKF: fixed comment
2017-10-17 21:15:06 +11:00
CarlOlsson
8c83167857
EKF: fixed comment
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2017-10-17 11:41:55 +02:00
Paul Riseborough
32b795ee10
EKF: Add readme file to EKF documentation directory
2017-10-13 21:46:41 +11:00
Paul Riseborough
8dd4800a2c
EKF: Add preliminary documentation for filter mathematics
2017-10-13 21:34:49 +11:00
Paul Riseborough
a34bba87fc
Merge pull request #322 from PX4/pr-ekfMagFusionMode
...
EKF Add mag fusion mode for VTOL
2017-10-13 07:27:54 +11:00
Paul Riseborough
dbff89fbcb
EKF: Fix error preventing selection of MAG_FUSE_TYPE_AUTOFW
2017-10-12 19:54:35 +11:00
Paul Riseborough
6f7f05fdc0
EKF: Move MAG_FUSE_TYPE_AUTOFW control to the expected place
2017-10-12 14:50:23 +11:00
Paul Riseborough
e834522f62
EKF: Use fixed wing status flag in MAG_FUSE_TYPE_AUTOFW logic
2017-10-12 14:50:23 +11:00
Paul Riseborough
7b4c957ad4
ekf2: Add new mag fusion mode
...
Adds a mode where mag fusion is only used update the field estimates
2017-10-12 14:50:23 +11:00
Paul Riseborough
9c65968c3d
Merge pull request #334 from PX4/pr-ekf_minor_flow_fix
...
ekf: fix optical flow bugs
2017-10-12 09:14:29 +11:00
Paul Riseborough
68bad48598
Merge pull request #330 from CarlOlsson/pr-add_get_wind_vel_var
...
EKF: added get_wind_velocity_var function
2017-10-12 09:12:54 +11:00
Paul Riseborough
4db23b7b2e
EKF: Don't report terrain estimate invalid immediately when HAGL observations fail checks
2017-10-12 08:26:04 +11:00
Paul Riseborough
1119a9b0ac
EKF: Enable optical flow reversion to work if flow data is lost
...
Also improve reporting.
2017-10-12 08:02:54 +11:00
ChristophTobler
cdf6e6cd36
EKF: use delta_time to avoid division by zero
2017-10-11 15:15:06 +02:00
Paul Riseborough
d293c4231d
EKF: Protect against divide by zero caused by invalid optical flow
2017-10-11 21:54:47 +11:00
Paul Riseborough
ab9b8e1964
EKF: Prevent bad optical flow quality causing loss of aiding when on ground
2017-10-11 21:22:33 +11:00
ChristophTobler
b7e589b98a
EKF: only fuse optical flow if terrain is valid
2017-10-10 17:51:56 +02:00
ChristophTobler
81a64c0479
ekf: fix flow direction when on ground
2017-10-10 14:39:44 +02:00
ChristophTobler
6cb99ce8a8
ekf: add function to get in air status
2017-10-03 22:36:33 +02:00
CarlOlsson
8200e4b218
EKF: added get_wind_velocity_var function
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com >
2017-10-02 14:47:56 +02:00
Paul Riseborough
705f93d0bf
Merge pull request #327 from CarlOlsson/parameterize_max_rng_tilt
...
EKF: Parameterize maximum angle for rng fusion
2017-10-02 17:08:34 +11:00
CarlOlsson
0a7c3ecbc6
EKF: Parameterize maximum angle for rng fusion
2017-09-26 20:53:48 +02:00
Paul Riseborough
160e4d69c1
Merge pull request #323 from PX4/pr-ekfQuatMultOrder
...
EKF: use hamiltonian convention for quaternion multiplication order
2017-09-21 07:49:35 +10:00
Paul Riseborough
4411c7fd1c
Merge pull request #325 from PX4/pr-ekfFlowGyroBias
...
EKF: Fix bug in accumulation of IMU data for flow sensor gyro bias
2017-09-14 18:47:46 +10:00
Paul Riseborough
1d3e8edc46
EKF: Fix bug in accumulation of IMU data for flow sensor gyro bias calculation
2017-09-14 18:34:11 +10:00
Paul Riseborough
3b3326e250
Merge pull request #326 from TSC21/fix_travis
...
travis: install python3.5 for trusty in order to run pip3
2017-09-14 18:32:31 +10:00
TSC21
571a0f7da7
travis: use pyenv in order to force pip3 version
2017-09-14 09:22:09 +01:00
TSC21
7affb42f22
travis: install python3.5 for trusty in order to run pip3
2017-09-14 09:08:11 +01:00
Paul Riseborough
dd5b8525c3
EKF: Use hamiltonian convention for quaternion product order
2017-08-31 11:14:02 +02:00
Paul Riseborough
b57b5e869d
matrix: Use hamiltonian convention for quaternion product
2017-08-31 11:14:01 +02:00
Paul Riseborough
b0300b9723
Revert "attitude_fw delete unused and cleanup"
...
This reverts commit 25bd3ac5e6 .
2017-08-30 16:23:40 +02:00
Paul Riseborough
1531269f92
Merge pull request #319 from PX4/pr-attitude_fw-cleanup
...
attitude_fw delete unused and cleanup
2017-08-28 09:48:49 +02:00
Daniel Agar
25bd3ac5e6
attitude_fw delete unused and cleanup
2017-08-26 17:44:24 -04:00
Paul Riseborough
fac292fef9
Merge pull request #321 from dagar/pr-ekf_formatting
...
EKF trivial code style cleanup
2017-08-26 18:17:23 +10:00
Daniel Agar
99ba1c3745
EKF trivial code style cleanup
2017-08-25 10:09:11 -04:00
ChristophTobler
89236ef275
Merge pull request #314 from PX4/pr-check_stuck_rng
...
Pr check stuck rng
2017-08-21 07:54:06 +02:00
Peter Dürr
305a95aef9
Integrate Python-based tests and benchmark into Travis
...
* Unfortunately, due to the SWIG dependency, we need sudo to install on
Travis (conflicts when adding with debian-sid source prevent using addons)
which means we cannot use the container-based infrastructure anymore.
* Building the Python bindings requires g++5 (at least with -Werr set).
* When building the Python bindings on Travis, the numpy includes are not found
by cmake, so they have to be added separately by running a Python process with
`numpy.get_include()`
* The build script now (somewhat clumsily) depends on the RUN_PYTEST environment
variable. If it is set to anything other than "", it will make the tests and
run tests and benchmarks
2017-08-14 12:02:03 +02:00
Peter Dürr
15c8c24418
Fix time units on plots
...
* Time in plots was of by a factor of 1e3 due to wrong conversion from us.
2017-08-14 12:02:03 +02:00
Peter Dürr
b29067a188
Better handle Python dependencies
...
* Add requirements.txt file with required Python packages
* Read requirements.txt from CMakeLists.txt to check dependencies and alert the
user if necessary.
2017-08-14 12:02:03 +02:00
Peter Dürr
bb5719a0da
Add Python wrapper to ecl and use it to test functionality
...
* Add SWIG interface definition (and external numpy interface) to ecl classes
* Add section in CMakeLists.txt to build Python bindings and execute
Python-based tests
* Write (property-based) tests that show the basic functionality of the Python
bindings and the EKF (using pytest and hypothesis libraries)
* Write minimal benchmark for the EKF update (using benchmark plugin for pytest)
* Add plotting utilities to analyze tests
* Add lint script to keep the Python scripts clean
2017-08-14 12:02:03 +02:00
Peter Dürr
5988900044
Add getters for a few private variables of the EstimatorInterface
...
* For testing it is useful to have access to more internal states
* For the same reason I also promote the const FILTER_UPDATE_PERIOD_MS to
public
2017-08-14 12:02:03 +02:00
Peter Dürr
a2ed0a76f9
Make the destructor of EstimatorInterface virtual
...
* This is a sane choice (and should arguably always be done for classes with
virtual methods to avoid undefined behavior)
* It is required for wrapping the EstimatorInterface with SWIG (without virtual
destructor, deriving from the EstimatorInterface leads to
-Werror=delete-non-virtual-dtor).
2017-08-14 12:02:03 +02:00
Paul Riseborough
9cf0948bcf
matlab: add derivation for air data error equations
2017-08-12 20:59:41 +10:00
Paul Riseborough
3983ac23fa
Merge pull request #316 from PX4/pr-ekfTrueAirspeed
...
EKF: Add true airspeed accessor
2017-08-11 08:18:04 +10:00
Paul Riseborough
967720a9d7
Merge pull request #313 from PX4/pr-ekfYawReset
...
EKF: Improve in-flight mag error detection, recovery and isolation for fixed wing
2017-08-08 20:59:49 +10:00
Paul Riseborough
35ffd55481
EKF: Fix incorrect use of double precision operation
2017-08-07 10:34:19 +10:00
Paul Riseborough
cc5db74d1b
EKF: Add true airspeed accessor
2017-08-07 09:19:48 +10:00
ChristophTobler
8ecec58292
Check for stuck range finder measurements in terrain estimator
2017-07-31 17:59:44 +02:00
ChristophTobler
7252284628
Add check for stuck range finder measurements
2017-07-31 17:59:16 +02:00
ChristophTobler
41f4b62cdb
fix indentation
2017-07-31 17:58:03 +02:00
Paul Riseborough
596b8220e2
EKF: Output mag sensor isolation warning first time only
2017-07-31 19:39:07 +10:00
Paul Riseborough
ce806768b7
EKF: Improve in-flight mag error detection, recovery and isolation for fixed wing
2017-07-31 19:39:07 +10:00
Paul Riseborough
c230663b68
Merge pull request #309 from PX4/pr-ekfYawFusion
...
EKF: Improve efficiency of yaw fusion for External Vision
2017-07-31 19:37:15 +10:00
Paul Riseborough
ba5de96fcb
Merge pull request #311 from PX4/pr-ekfExtVis
...
EKF: Add ability to use EV and GPS data together
2017-07-29 16:29:53 +10:00
Paul Riseborough
3ee6898710
EKF: Enable origin to be maintained when starting aiding using EV only
...
When starting aiding using EV only and commencing GPS aiding later, this change means that the GPS origin is set to the local position 0,0 point rather than the current vehicle position. This avoids large changes in local position when GPs aiding starts.
2017-07-29 15:31:34 +10:00
Paul Riseborough
e08da1c599
EKF: Add ability to use EV and GPS data together
...
Fuse external vision data using a relative position odometry method when GPS data is also being used and enable both GPOS and EV data to be fused on the same time step.
2017-07-26 18:06:18 +10:00
Paul Riseborough
74d1955dfa
Merge pull request #310 from PX4/pr-ekfFixComments
...
EKF: Correct units in comments
2017-07-26 16:28:44 +10:00
Paul Riseborough
f3909244f0
EKF: Correct units in comments
2017-07-25 09:17:18 +10:00
Paul Riseborough
33e8d5923f
matlab: Allow replay to handle late start GPS data in log
...
Also minor fix to comments.
2017-07-24 16:34:50 +10:00
Paul Riseborough
e18f92d9c2
matlab: Improve conversion of APM log data
...
Allow file conversion to work with unequal length GPS and GPA data.
Allow file conversion to work if range, flow and odometry data is not present.
2017-07-24 16:33:12 +10:00
Paul Riseborough
20584ee997
EKF: Improve efficiency of heading fusion calculations when using EV heading
...
Moves calculation only required for mag heading fusion into the if (_control_status.flags.mag_hdg) branch
When using EV yaw, the observed yaw angle is calculated directly from the EV quaternions using derived expressions from references in code comments.
2017-07-21 10:56:14 +10:00
Paul Riseborough
df34b43c00
Merge pull request #308 from PX4/pr-ekfDoxygen
...
EKF: Update documentation and make compatible with Doxygen
2017-07-21 10:55:18 +10:00
Paul Riseborough
5aeeebf7ac
matlab: Fix derivation for 321 Euler rotation sequence
2017-07-21 10:48:54 +10:00
Paul Riseborough
26b5f26891
matlab: Add scripts to calculate rotation conversions for 321 or 312 Euler sequences
2017-07-21 10:22:17 +10:00
Paul Riseborough
aec01ce59c
EKF: Update class variable documentation and make compatible with Doxygen
2017-07-20 20:16:42 +10:00
Paul Riseborough
627f8184b3
Merge pull request #307 from PX4/pr-constrain_vpos
...
constrain _terrain_vpos to be a minimum of _params.rng_gnd_clearance …
2017-07-20 17:35:35 +10:00
ChristophTobler
61a7991693
constrain _terrain_vpos to be a minimum of _params.rng_gnd_clearance larger than _state.pos(2)
2017-07-20 08:29:11 +02:00
Paul Riseborough
9b6e1ab2a7
Merge pull request #306 from PX4/revert-305-revert-303-pr-get_terr_valid
...
Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos""
2017-07-19 17:54:18 +10:00
Paul Riseborough
e1fe5b2229
Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos""
2017-07-19 17:52:35 +10:00
Paul Riseborough
13f8d949bd
Merge pull request #305 from PX4/revert-303-pr-get_terr_valid
...
Revert "Split get_terrain_vert_pos() into valid and get_vpos"
2017-07-19 17:34:03 +10:00
Paul Riseborough
c887b02f21
Revert "Split get_terrain_vert_pos() into valid and get_vpos"
2017-07-19 17:33:48 +10:00
ChristophTobler
a59cf894d2
Merge pull request #303 from PX4/pr-get_terr_valid
...
Split get_terrain_vert_pos() into valid and get_vpos
2017-07-17 17:29:20 +02:00
ChristophTobler
e429ecab17
check if terrain valid instead of initialized
2017-07-17 16:43:23 +02:00
ChristophTobler
eae0522dc2
split into get_terrain_valid and get_terrain_vert_pos
2017-07-17 16:42:42 +02:00
ChristophTobler
c42f820072
Merge pull request #295 from PX4/pr-rng_aid_hagl_hyst
...
rng aid: use hysteresis with lower hagl check
2017-07-17 16:05:45 +02:00
ChristophTobler
517fe8a71f
rng aid: use hysteresis with lower hagl check
2017-07-17 13:36:51 +02:00
ChristophTobler
9da9aa632d
Merge pull request #298 from PX4/pr-fix_rng_offset
...
init rng offset with ground clearance param when on ground to avoid n…
2017-07-17 13:33:10 +02:00
Paul Riseborough
18e81eba31
Merge pull request #300 from nicolaerosia/ekf2-dt
...
sensor_combined stores deltas in usec instead of seconds
2017-07-17 07:25:27 +10:00
Nicolae Rosia
5277141166
sensor_combined stores deltas in usec instead of seconds
...
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com >
2017-07-16 20:50:16 +03:00
Paul Riseborough
e2a5e57e14
matlab: Update replay scripts
...
Miscellaneous fixes and tuning changes.
Add plotting of Euler angle uncertainties.
2017-07-16 12:56:02 +10:00
ChristophTobler
8ed61ac052
init rng offset with ground clearance param when on ground to avoid noisy init
2017-07-13 17:43:19 +02:00
ChristophTobler
667517a9b6
Merge pull request #301 from PX4/pr-fix_hagl_valid
...
return hagl valid false if update was rejected
2017-07-13 17:28:53 +02:00
ChristophTobler
d2945abd85
return hagl valid false if update was rejected
2017-07-13 14:17:48 +02:00
Paul Riseborough
d69cc3d7c8
Merge pull request #293 from PX4/pr-fixExtVisionFallback
...
EKF: Allow fallback to non-aiding mode if external vision fusion is lost
2017-07-13 20:45:24 +09:00
Paul Riseborough
9ee35e38df
EKF: Don't fallback when optical flow is lost if external vision data is being used
2017-07-13 20:21:41 +09:00
Paul Riseborough
1bb576c197
EKF: Allow fallback to non-aiding mode if external vision is lost.
2017-07-13 20:21:41 +09:00
Paul Riseborough
7a17f74910
Merge pull request #297 from ursa-drone/vispos_fix
...
Fixed vision position fusion bug
2017-07-12 22:15:54 +09:00
Isaac
f96685267e
Fixed vision position fusion bug
2017-07-10 13:44:51 +10:00
Paul Riseborough
ec2b54fde7
EKF: Ensure normal yaw alignment using mag is performed if GPS method is not
2017-07-08 11:13:40 +02:00
Paul Riseborough
d446f66105
EKF: Add a fixed wing mode with setter function
2017-07-08 11:13:40 +02:00
Paul Riseborough
f064915889
EKF: Enable planes to recover from bad mag data at start of flight
...
Adjusts yaw by the amount of the error between GPS and EKF course if innovations are large.
2017-07-08 11:13:40 +02:00
Paul Riseborough
48a42dfb5b
Merge pull request #288 from PX4/pr-ekfDelVelBiasFix
...
EKF: Improve protection against covariance instability in delta velocity bias states
2017-07-04 08:57:32 +10:00
Paul Riseborough
929f205a00
EKF: Changes arising from code review
2017-07-04 08:12:15 +10:00
Paul Riseborough
7b5f55303a
EKF: Prevent covariance instability in delta velocity bias state estimation
2017-07-03 21:04:07 +10:00
Paul Riseborough
eb1e73ec81
Merge pull request #283 from PX4/ekf_matrix_cleanup
...
EKF matrix typedef cleanup
2017-07-03 21:02:24 +10:00
Paul Riseborough
ae118940b1
Merge pull request #292 from PX4/pr-use_baro_align
...
use baro for the ekf alignment if range finder is primary height source
2017-07-03 20:31:16 +10:00
Paul Riseborough
dfbc9de48e
Merge pull request #291 from PX4/pr-ekfWindEstBugFix
...
EKF: Fix bug affecting wind estimation for planes
2017-07-01 11:06:58 +10:00
ChristophTobler
ed8fa16678
use baro for the ekf alignment if range finder is primary height source
2017-06-30 10:28:57 +02:00
Paul Riseborough
73ef95b37f
Merge pull request #289 from PX4/pr-height_fixes
...
Pr height fixes
2017-06-30 12:31:26 +10:00
Paul Riseborough
59edccca4a
EKF: Fix bug in wind estimation for fixed wing
2017-06-30 10:32:54 +10:00
Paul Riseborough
ba4a311771
EKF: Update comments for wind estimation logic
2017-06-30 10:32:23 +10:00
Paul Riseborough
8e0cd1bc39
EKF: Add parameter to set initial and max allowed wind uncertainty
...
This enables the initial uncertainty to be set based on application and also ensures that the max allowed growth in wind state variance is consistent with the initial uncertainty specified.
2017-06-30 10:31:16 +10:00
ChristophTobler
e1274ad28a
move faultiness check above pop_first_older_than() and check independent of range aid to switch back to original sensor if available
2017-06-29 17:07:58 +02:00
ChristophTobler
0d9e535acb
Use baro if reset to baro from gps and vice versa
2017-06-29 17:07:42 +02:00
ChristophTobler
4a4b0fa604
remove setting rng faulty in ev mode because not checked
2017-06-29 10:01:16 +02:00
ChristophTobler
066c641d61
range aid: switch to baro/gps even if rng aid conditions met and rng faulty
2017-06-29 09:47:02 +02:00
ChristophTobler
2f382c8e0e
if hgt mode is range, switch to baro if range is faulty
2017-06-29 09:47:02 +02:00
ChristophTobler
e4f36215cb
if in range aid mode, check faultiness that otherwise would never change back
2017-06-29 09:47:02 +02:00
ChristophTobler
e800de88b6
remove duplicate
2017-06-29 09:47:02 +02:00
Paul Riseborough
42b2469a46
matlab: fix comment error in file conversion utility
2017-06-29 10:41:42 +10:00
Paul Riseborough
70ece4df17
matlab: Add references for coning and skulling correction method
2017-06-28 15:27:59 +10:00
Paul Riseborough
8ccc45b26b
matlab: Fix bug in replay plotting
2017-06-27 16:41:26 +10:00
Paul Riseborough
3e99898d47
matlab: Update readme file for the replay and improve optical flow tuning
2017-06-26 15:23:30 +10:00
Paul Riseborough
c1829d8e9a
matlab: fix bugs and add replay of PX4 optical flow test data
2017-06-26 14:48:03 +10:00
Paul Riseborough
233c4b49c5
matlab: Add derivation of observation Jacobians used by the terrain estimator
2017-06-20 16:01:30 +10:00
Daniel Agar
c44488fdb8
EKF matrix typedef cleanup
2017-06-19 11:10:01 -04:00
Paul Riseborough
9303db85eb
matlab: remove project specific code from mag cal comparison script
2017-06-17 17:35:07 +10:00
Paul Riseborough
edeed770b7
matlab: fix alignment bugs
2017-06-17 11:46:36 +10:00
Paul Riseborough
7f1cca5b28
Merge pull request #244 from PX4/pr-rangeAid
...
Pr range aid
2017-06-16 17:47:21 +10:00
ChristophTobler
6f5cffafec
fix type of range_aid parameter: int -> int32_t
2017-06-15 10:14:59 +02:00
ChristophTobler
1fed209804
fix formatting
2017-06-15 09:10:43 +02:00
Roman
5036967343
barometer does not special height sensor offset because a barometer
...
offset from the local origin is calculated if the primary source for
height is not baro
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Roman
c5d464b821
make range sensor height offset computation more robust
...
- when switching to range finder use the current terrain estimate as
height sensor offset, otherwise spikes in the range measurements could lead
to a wrong offset
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Roman
182ea43445
fixed baro offset calculation
...
- do not subtract the height sensor offset variable when computing the
baro offset from the local origin. The baro height offset is calculated
when baro is not fused and so the height sensor offset used in that case
is associated to another sensor and has nothing to do with the baro.
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Roman
39983a7d55
range aid: added hysteresis for switching in and out of range aid
...
- prevents rapid switching
- added innovation consistency check for using range aid
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Roman
1b92c9b5b3
ekf_helper: fixed resetting height using range finder
...
- take range sensor offset wrt to IMU into account
- use projection to earth Z axis
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Roman
3778f0921a
ekf: enable range finder to be used for estimating height even if it's not
...
the primary height source
- moved height control into single function in order to decide which sensor
should be used for estimating height
- under certain conditions allow to use the range finder to estimate height
even if it's not the primary height source
- fixed a bug where the delta time for the baro offset calculation was always
zero
- use methods to set height control flags to reduce code duplication and
to prevent bugs
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Roman
36bffd2571
ekf: calculate the delta time between consecutive baro measurments
...
(used for calculating filtered baro offset when primary height source
is not baro)
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Roman
a0ab5cf0d7
ekf vel_pos_fusion: added height sensor offset to range innovation calculation
...
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Roman
a1e67396f4
ekf: added methods for setting control height flags
...
Signed-off-by: Roman <bapstroman@gmail.com >
2017-06-15 09:10:43 +02:00
Paul Riseborough
d6decb3c84
Merge pull request #277 from PX4/pr-ekfBufferParam
...
EKF: Add a parameter to enable setting of a minimum buffer length
2017-06-15 07:34:21 +10:00
Paul Riseborough
c48b879843
Merge pull request #276 from CarlOlsson/feature/only_update_mag_states
...
EKF: Add feature to use the mag to only update the mag states
2017-06-14 11:04:14 +10:00
CarlOlsson
b255d4a53a
fixed typos
2017-06-12 18:13:22 +02:00
Paul Riseborough
97eb17a62f
Merge pull request #265 from PX4/pr-ekfOutputObserver
...
EKF: add option to output velocity as time derivative of position
2017-06-12 19:01:54 +10:00
Paul Riseborough
fed4a9bc5a
EKF: add vertical position derivative output
...
Add calculation of a vertical position derivative to the output predictor. This will have degraded tracking relative to the EKF states, but the velocity will be closer to the first derivative of the position and reduce the effect inertial prediction errors on control loops that are operating in a pure velocity feedback mode.
Move calculation of IMU offset angular rate correction out of velocity accessor and into output predictor.
Provide separate accessor for vertical position derivative.
2017-06-12 10:45:46 +10:00
Paul Riseborough
16c7041f4a
EKF: Add a parameter to enable setting of a minimum buffer length to handle large sensor timing jitter
2017-06-12 09:33:34 +10:00
Paul Riseborough
a17879ab91
matlab: miscellaneous EKF replay script file improvements
...
Save APM and PX4 data into separate directories and level plots accordingly
2017-06-10 13:29:20 +10:00
Paul Riseborough
3a7a66d360
matlab: improve EKF simulation fusion control
...
Add ability to start before GPS checks pass.
Add ability to turn GPS fusion off and on during replay.
Add ability to turn Optical Flow fusion off and on during replay.
Add ability to turn Visual Odometry fusion off and on during replay.
Convert miscellaneous constants to parameters
2017-06-10 13:02:42 +10:00
Paul Riseborough
dabf129daf
matlab: Update EKF replay script files
...
Add automatic save of output results
2017-06-05 20:53:16 +10:00
Julien Lecoeur
d0b4f1e225
Use binary operator~ instead of logical operator!
2017-06-05 01:07:52 +08:00
Julien Lecoeur
c323b64742
Fix -Werror=int-in-bool-context on GCC 7
2017-06-05 01:07:52 +08:00
Daniel Agar
3e197fdded
EKF tests remove extra semicolon
2017-06-05 01:06:41 +08:00
Daniel Agar
e7ed32fb82
attitude_fw remove extra semicolons
2017-06-05 01:06:41 +08:00
Daniel Agar
6ed8512ff4
EKF parameters use int32_t ( #279 )
2017-06-03 17:16:29 -04:00
Paul Riseborough
8351e13c70
Matlab: update readme file and provide link to sample data set
2017-06-03 13:22:08 +10:00
Paul Riseborough
9f61622044
Matlab: Improve efficiency of odometry derivation
2017-06-03 12:39:24 +10:00
Paul Riseborough
510b8763ea
Matlab: Add basic implementation of EKF to support development testing
2017-06-03 12:39:24 +10:00
CarlOlsson
871ebb251b
EKF: Changed get_control_mode to coyp 32 bits
2017-06-01 11:02:56 +02:00
CarlOlsson
a1308482fd
EKF: Reset the mag states to the field state variance when switching from the inhibit mag mode to standard mode
2017-05-31 10:18:40 +02:00
CarlOlsson
be16406b35
EKF: Add feature to use the mag to only update the mag states
2017-05-26 11:29:21 +02:00
Paul Riseborough
05c3c46f83
ekf2: changes arising from code review
2017-05-17 08:59:01 +02:00
Paul Riseborough
394dd95cba
EKF: Don't do magnetic field estimation without earth frame measurements
...
Use horizontal acceleration to check if yaw is observable independent of the magnetometer.
Use rotation about the vertical to check if mag raises are observable.
If neither yaw of mag biases are observable, save the magnetic field variances and switch to magnetic yaw fusion.
Use the last learned declination when using magnetic yaw fusion so that the yaw reference remains consistent.
When yaw or biases become observable, reinstate the saved variances and switch back to 3D mag fusion.
2017-05-17 08:59:01 +02:00
Paul Riseborough
20db74eca8
Revert "EKF: Add parameter control of individual IMU axis delta velocity bias estimation"
...
This reverts commit 9c31632e2b .
2017-05-15 16:38:17 +10:00
ChristophTobler
47973a4820
run terrain estimator after control fusion modes. Otherwise _range_data_ready will never be true and fuseHagl() will never run
2017-05-15 07:42:51 +02:00
Paul Riseborough
9c31632e2b
EKF: Add parameter control of individual IMU axis delta velocity bias estimation
...
Add a bitmask parameter to control bias learning for individual axes. This is achieved by setting the disabled states to zero together with their corresponding covariances.
Minor cleanup of the covariance prediction comments.
Removal of unnecessary variable copy operations.
Replace index operations to initialise covariance to zero with the more efficient memset.
2017-05-11 07:51:37 +02:00
Daniel Agar
87fdee440b
EKF estimator_interface coverity fix 139419
2017-04-29 11:48:15 +02:00
Daniel Agar
b3f8fd19e0
EKF estimator_interface coverity fix 140490, 140491
2017-04-29 11:48:15 +02:00
Paul Riseborough
5ee0ed5a0d
EKF: Increase sensitivity and add tuning of bad accel checks
2017-04-29 11:47:38 +02:00
Paul Riseborough
e35921534d
EKF: fix reporting of optical flow fusion errors
2017-04-29 11:46:39 +02:00
Paul Riseborough
5112ffca90
EKF: Adjust default time delay params and clean up formatting
2017-04-27 07:34:42 +02:00
Paul Riseborough
8a2c5c1ad2
Merge pull request #266 from dagar/valgrind
...
ekf2 initialization fixes
2017-04-25 17:38:17 +10:00
Daniel Agar
3919d60f66
ekf2 initialization fixes
2017-04-24 18:56:50 -04:00
Paul Riseborough
c62bdcbdb2
Merge pull request #264 from PX4/pr-ekfBuildErrorFix
...
EKF: remove clang build error message
2017-04-18 19:29:16 +10:00
Paul Riseborough
c3f966f53e
EKF: remove clang build error message
2017-04-18 19:22:59 +10:00
Paul Riseborough
d47c372872
Merge pull request #263 from PX4/pr-ekfBuildErrorFix
...
EKF: Fix travis clang build error
2017-04-18 17:12:51 +10:00
Paul Riseborough
1e393530ed
EKF: Fix travis clang build error
2017-04-18 17:06:31 +10:00
Paul Riseborough
c607941e2f
EKF: Allow external setting of air density for multi-rotor drag fusion
2017-04-16 13:07:12 +02:00
Paul Riseborough
3758c5a09d
EKF: down-sample drag specific force data
2017-04-16 13:07:12 +02:00
Paul Riseborough
9f48c0505b
EKF: improve covariance stability when estimating wind
2017-04-16 13:07:12 +02:00
Paul Riseborough
5cf31e439d
EKF: Add specific drag fusion tuning parameters
2017-04-16 13:07:12 +02:00
Paul Riseborough
465b145929
EKF: Add multi-rotor drag model for wind estimation
2017-04-16 13:07:12 +02:00
Paul Riseborough
b07acd8cf3
Merge pull request #254 from PX4/pr-ekfAccelErrorHandling
...
EKF: improve recovery from bad IMU accel data
2017-04-12 21:39:14 +10:00
Paul Riseborough
0d7e7e9d81
EKF: Don't use EKF origin in GPS drift check calculation
...
The GPS drift calculations need to be able to run independently of the EKF origin.
2017-04-12 13:11:34 +02:00
Paul Riseborough
7b996c5972
EKF: Increase measurement error allowance for accelerometer clipping
2017-04-07 16:37:27 +10:00
Paul Riseborough
f0bbbc8dc6
EKF: Add reporting of bad accel status
2017-04-07 08:47:13 +10:00
Paul Riseborough
2f2ac5be43
EKF: Improve protection against severe IMU accel errors
...
Use vertical velocity and position innovation failure to detect bad accelerometer data caused by clipping or aliasing which can cause large vertical acceleration errors and loss of height estimation. When bad accel data is detected:
1) Inhibit accelerometer bias learning
2) Force fusion of vertical velocity and height data
3) Increase accelerometer process noise
2017-04-07 08:47:13 +10:00
Paul Riseborough
a1a5734443
Merge pull request #259 from PX4/pr-ekfBugFix
...
EKF: Protect against covariance prediction and update errors
2017-04-06 16:30:07 +10:00
Paul Riseborough
bef7325884
EKF: protect covariance prediction from delta time errors
...
Allow time step to vary by a factor of 2 to allow for jitter.
2017-04-06 13:34:37 +10:00
Paul Riseborough
fa07536314
EKF: Prevent rounding errors causing bad conditioned covariance matrix
...
The previous practice of relying on the off-diagonals being zero caused problems with conditioning of the magnetometer fusion on one flight. By storing the variances when the learning inhibit becomes active and ensuring that the rows and columns in the covariance matrix for the inhibited states are always zero, the observed numerical conditioning error has been eliminated for replay of the problem flight log .
2017-04-06 13:34:37 +10:00
Paul Riseborough
8f6c51e10e
Merge pull request #257 from PX4/pr-ekfBugFix
...
EKF: Do not move EKF origin when performing GPS checks
2017-04-01 08:07:49 +10:00
Paul Riseborough
710b2bcb9f
EKF: Do not move EKF origin when performing GPS checks
...
Doing so can casue large jumps in GPS position and innovation check errors after landing and also reduces the effectiveness of pre-flight innovation consistency checks.
2017-03-31 16:19:30 +11:00
Paul Riseborough
6d9b556b04
Merge pull request #255 from PX4/pr-ekfBugFix
...
EKF: fix bugs preventing preflight checks passing
2017-03-21 07:27:43 +10:00
Paul Riseborough
a1ff219380
EKF: Extend range of conditions over which we run GPS quality checks
...
Previously GPS quality checks were only run until the EKF origin was set. This meant that they could not be used by other pre-flight checks.
This change ensures that checks will always be run when the vehicle on-ground or not using GPS to enable use by external preflight checks.
2017-03-21 07:57:23 +11:00
Paul Riseborough
ed2938c8a4
EKF: fix bug causing bad accel bias status to latch
2017-03-21 07:57:23 +11:00
Paul Riseborough
2426f1dd3a
EKF: remove use of memset to initialise variable
...
When using a union of flags and integer value it is safer to initialise the value to 0 rather than memset the flags because the flags may not define all bits in the integer.
2017-03-21 07:57:23 +11:00
Paul Riseborough
9ddfd66d01
EKF: Fix bug in accelerometer bias learning inhibit
...
This bug caused X and Y delta velocity bias state variance to be reset to the same value as the Z axis when learning was inhibited.
Documentation has also been updated.
2017-03-16 09:34:05 +01:00
Paul Riseborough
040639837e
EKF: Use common timeout test for reporting deadreckoning
...
Use a parameter to set the time-out threshold
Use a class variable for the time-out flag
Clean up comments
2017-03-15 07:57:38 +01:00
Paul Riseborough
6ac7e2f807
EKF: report conservative position errors when failing innovation checks
2017-03-15 07:57:38 +01:00
Paul Riseborough
21e7734149
EKF: fix compile error
2017-03-14 13:00:54 +01:00
Paul Riseborough
f7cae7f3ab
EKF: improve compatibility with ARM cross compiler
...
This change removes the following compiler error when building using the ARM cross compiler.
/Users/paul/src/Firmware/src/lib/ecl/EKF/ekf_helper.cpp:45:12: error: 'std::abs' has not been declared
using std::abs;
2017-03-12 22:55:23 +01:00
Paul Riseborough
9bb54ccc08
EKF: don't accept GPS data without a 3D lock
2017-03-10 10:15:53 +01:00
Paul Riseborough
588b27bde7
EKF: inhibit accelerometer bias learning if manoeuvre levels are excessive
...
This prevents bad scale factors and other errors associated with rapid manoeuvres corrupting the accelerometer bias estimates.
2017-03-10 10:14:06 +01:00
Paul Riseborough
5fb24c3032
EKF: Reduce EKF prediction delta time jitter
...
Make the target EKF rate an integer multiple of the IMU rate. This slightly increases the average prediction time step for the EKF from just over 10msec to 12msec, but the variation reduces significantly which makes filter tuning more deterministic.
Improve the algorithm used to adjust the collection time criteria to reduce jitter in the correction.
2017-03-10 10:14:06 +01:00
Paul Riseborough
324fe3b0c7
EKF: Add accel bias estimation fault to reporting
2017-03-10 10:14:06 +01:00
Paul Riseborough
b51abf4aff
EKF: Add console notification for accel bias covariance reset
2017-03-10 10:14:06 +01:00
Paul Riseborough
8511754094
EKF - detect and fix badly conditioned accel bias covariance values.
2017-03-10 10:14:06 +01:00
Paul Riseborough
cf31945038
EKF: Fix use of incorrect timestamp
...
This was incorrectly using the IMU (1/250 sec) timestamp instead of the EKF (1/100 sec) value.
The corresponding accelerometer limit has been made a parameter and adjusted to match previous behaviour.
2017-03-10 10:14:06 +01:00
Paul Riseborough
879ad1fd2c
Merge pull request #231 from pickledgator/ev_hgt_counter_fix
...
height counter update for ev primary height source
2017-03-10 14:18:35 +11:00
Paul Riseborough
092cc52838
EKF: Remove out of date comment
2017-03-10 14:18:13 +11:00
Paul Riseborough
e4a4427991
Revert "EKF: fix compile error"
...
This reverts commit 6db552717d .
2017-03-10 07:38:02 +11:00
Paul Riseborough
6db552717d
EKF: fix compile error
2017-03-07 21:13:45 +11:00
Paul Riseborough
a02a046f5e
EKF: Clean up auto-code files for body frame velocity measurements
2017-03-06 09:01:46 +11:00
Paul Riseborough
e569578cf9
EKF: add derivation for body frame velocity measurements
2017-03-04 15:32:10 +11:00
Daniel Agar
eb4f5ecbb9
cmake add all EKF sources ( #243 )
...
- trivial cmake cleanup
- travis-ci build with both gcc and clang
- update matrix to latest (matches PX4)
- closes #240
2017-02-27 00:46:48 -05:00
Daniel Agar
507f48a147
geo NULL to nullptr ( #242 )
2017-02-25 15:27:00 -05:00
Paul Riseborough
0d77470efc
EKF: Use conservative reporting of velocity errors when aiding is lost
2017-02-25 21:17:01 +01:00
Paul Riseborough
8070691aa4
EKF: Add accessor function for velocity accuracy
2017-02-25 21:17:01 +01:00
Paul Riseborough
d6abf3f2e4
EKF: add accessor function for local position accuracy
2017-02-25 21:17:01 +01:00
Paul Riseborough
b7d0b3c4d0
EKF: Improve naming of WGS-84 accuracy accessor function
2017-02-25 21:17:01 +01:00
Paul Riseborough
d22599b440
EKF: Add reporting of inertial dead-reckoning status
2017-02-25 21:17:01 +01:00
Roman
7e2597ec28
update range sensor angle parameters in case they have changed
...
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-22 14:12:05 +01:00
Roman
aa53f45f15
terrain estimator: removed unused hrt dependancy
...
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-22 14:12:05 +01:00
Roman
6480fcc3d5
terrain estimator: fixed computation of filtered time since last range update
...
- do not use hrt to compute delta time
- limit filter state
- do not use static variables
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-22 14:12:05 +01:00
Paul Riseborough
6561edb9a5
EKF: Clean up terrain estimation functionality.
...
This is a functionally equivalent. It moves all of the code for the terrain estimator into a single function call from the main filter update, making it clear that it is independent of the main filter.
2017-02-22 14:12:05 +01:00
devbharat
8004e9fe7e
EKF: Make range finder data continuous check more robust
...
Use a filtered arrival time delta to determine if range data is continuous
2017-02-22 14:12:05 +01:00
Paul Riseborough
d94068b88a
EKF: Simplify calculation of height above terrain observation variance
...
The tilt compensation being applied previously was based on a flat earth geometric model assuming perfect tilt knowledge which reduces the effect of range errors on height error as the vehicle tilts. however in the real world, variations in terrain gradient and uncertainty in vehicle tilt and sensor alignment tend to increase height error with tilt, so the adjustment of observation variance with tilt has been removed given we do not have a valid mathematical model on which to base it.
2017-02-22 14:12:05 +01:00
Paul Riseborough
3dadc98b43
EKF: enable scaling of range observation variance with height
2017-02-22 14:12:05 +01:00
Paul Riseborough
cf9c8de167
EKF: Add arbitrary pitch offset for range sensor
2017-02-22 14:12:05 +01:00
devbharat
d9688fae7d
EKF: Simplify terrain position validity check
...
Remove the relative accuracy check that was false triggering close to ground
2017-02-22 14:12:05 +01:00
Paul Riseborough
af26ade1ce
EKF: Use norm for vector length everywhere
2017-02-22 14:12:05 +01:00
Paul Riseborough
6e5a9aabe1
Merge pull request #234 from PX4/pr-optFlowUpdates
...
EKF: optical flow improvements
2017-02-22 09:00:48 +11:00
Andreas Antener
66b8f7ec5b
Removed obsolete fields from ECL control data
2017-02-12 11:40:14 +01:00
Andreas Antener
5363e8d307
Wheel controller: use library function to wrap pi
2017-02-12 11:40:14 +01:00
Daniel Agar
674ab3f81b
attitude_fw fix style
2017-02-12 11:40:14 +01:00
Roman
f22ad30ef3
removed turn compensation flag form control data since it's obsolete
...
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Roman
e1f9874c82
wheel controller: fix computation and scaling of integrator
...
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Roman
c4cc02b3f2
yaw controller: fix bug where roll for turn coordination was constrained
...
wrongly
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Roman
391b6dfd00
yaw controller: for now do not do turn compensation when inverted and use
...
the roll setpoint as limit for turn compensation
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Roman
66b7773059
yaw controller: deactivate lateral acceleration control for now but
...
put comment of how to do it properly
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Roman
f300877db4
yaw controller: computed desired yaw rate based on coordinated turn constraint
...
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Roman
4057defa53
pitch controller: removed turn offset compensation form pitch controller
...
- turn compensation is included in the desired yawrate
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Roman
55401ec1b0
fw attitude control: compute integrator correctly
...
- I gain was applied wrongly, such that the integrator value was depending
direcly on the I gain. This made the integrator value jump when the gain
was changed
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Roman
ac7fc30ea7
fw attitude controllers: restructuring in order to allow acro flight mode
...
- split rate control into body rate control and euler rate control
- this allows standard attitude control but also direct rate control
of all three axes
- allow activation/deactivation of turn compensation
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-12 11:40:14 +01:00
Daniel Agar
2750961be6
c++11 initialization cleanup ( #237 )
2017-02-05 13:05:10 -05:00
Daniel Agar
7883085e4a
clang-tidy readability-simplify-boolean-expr ( #235 )
2017-02-02 00:17:43 -05:00
Daniel Agar
47b8ef258b
clang-tidy performance-type-promotion-in-math-fn ( #236 )
2017-02-02 00:17:08 -05:00
Paul Riseborough
bcf7cac5d9
EKF: remove hardcoded limit on optical flow time delta
...
Allow for up to 50% lost data.
2017-01-18 06:06:45 +11:00
Paul Riseborough
3fb7effb0c
EKF: Allow optical flow use when on-ground with poor data quality
2017-01-18 06:06:45 +11:00
Paul Riseborough
21270bb06a
EKF: Use last known position when resuming OF aiding
2017-01-17 08:58:01 +11:00
Lorenz Meier
453bde73f8
ECL: Simplify / correct estimator interface
2017-01-15 10:17:41 +01:00
Roman
c5a55d97aa
initialise data members properly
...
- dot not use memset for struct with non POD types
Signed-off-by: Roman <bapstroman@gmail.com >
2017-01-15 10:02:31 +01:00
Paul Riseborough
1465adca2f
EKF: Improve use of memcpy
...
Changes made to remove Coverity scan errors
2017-01-15 10:02:31 +01:00
Paul Riseborough
26a06567bb
EKF: add missing initialisation for class variables
2017-01-15 10:02:31 +01:00
Paul Riseborough
f999729d70
EKF: fix incorrect use of memcpy
2017-01-15 10:02:31 +01:00
Paul Riseborough
b536382ae1
EKF: remove dead code
2017-01-15 10:02:31 +01:00
Paul Riseborough
6358bbd257
EKF: remove self assignment
2017-01-15 10:02:31 +01:00
Paul Riseborough
3b61528f0f
EKF3: initialise default value for EV fusion gate
2017-01-15 10:02:31 +01:00
Paul Riseborough
9ddcba3ed0
EKF: remove un-used variable
2017-01-15 10:02:31 +01:00
Daniel Agar
d668a2d798
clang-tidy performance-unnecessary-value-param
2017-01-14 16:26:25 -08:00
Daniel Agar
a7cdef6c5c
clang-tidy modernize-redundant-void-arg
2017-01-14 16:24:45 -08:00
Nic
ec1a14bc6b
height counter needs to be updated with ev counter value when our primary height source is set to ev
2017-01-05 21:47:13 -08:00
Paul Riseborough
3c4c09593f
EKF: Rationalise console messages
...
Combine the observation action buffer and alignment messages
Ensure all data timeout messages are warnings.
Use consistent terminology.
2016-12-28 10:39:47 +01:00
Paul Riseborough
934890c2df
EKF: Add validity flag to ekf origin reporting
...
Flag is false until the origin has been initialised
2016-12-28 00:56:09 +01:00
Dennis Mannhart
b154ce9c33
Fixed include for snapdragon
2016-12-23 10:22:25 +01:00
Lorenz Meier
9618adb542
Simplify switch logic for validator
2016-12-21 08:10:08 +01:00
Lorenz Meier
6f78ef4084
Update validator to provide correct response for single sensor usage
2016-12-17 20:44:46 +01:00
Lorenz Meier
aad3a2b751
Validator: Trim down printing and do not reset init state
2016-12-17 17:39:55 +01:00
Lorenz Meier
75520641a5
Make the equal value threshold configurable
2016-12-17 15:25:29 +01:00
Lorenz Meier
00dbffe11d
Validator whitespace fixes
2016-12-17 13:45:28 +01:00
Lorenz Meier
bf8a9a3d09
EKF: Whitespace fixes
2016-12-17 13:45:28 +01:00
Lorenz Meier
6282c72d2e
Validation: Whitespace fixes
2016-12-17 13:45:28 +01:00
Lorenz Meier
10c6ae77ae
Attitude fw yaw: Initialize yaw rate properly
2016-12-17 13:45:28 +01:00
Daniel Agar
983c44088f
fw att fix pitch feedforward constrained roll
2016-11-27 12:34:12 +01:00
Paul Riseborough
a776b2c549
EKF: Fix bug preventing reset to GPS position when using optical flow
2016-11-26 10:28:58 +01:00
Paul Riseborough
460c9e5250
EKF: Don't try to fuse air data if not in normal aiding mode
...
Taking off before passing GPS checks would cause airspeed or sideslip to be fused when the filter was still using a constant position assumption. This would cause large airspeed innovations, invalid wind estimates and degrade filter performance after GPS was gained and position and velocity was reset.
2016-11-26 10:28:58 +01:00
Paul Riseborough
5ad329b641
EKF: Fix variable names to match convention
2016-11-07 22:23:12 +11:00
Paul Riseborough
afd6e54b2a
EKF: Allow for worst case timing jitter when setting observation buffer length
2016-11-07 11:50:16 +11:00
Paul Riseborough
403424d55d
EKF: fix cross compiler build errors
2016-11-07 09:38:44 +11:00
Paul Riseborough
d5b398ddb1
EKF: Minimise data buffer lengths
...
Saves RAM and reduces output predictor errors by using the smallest data buffer length that meets time delay and update rate requirements.
2016-11-07 09:06:45 +11:00
Paul Riseborough
750a8874c1
EKF: Improve recovery and reporting for badly conditioned sideslip fusion
...
Do not reset the entire covariance matrix if we are only using sideslip fusion to update wind states.
Improve reporting.
2016-11-05 12:19:01 +01:00
Paul Riseborough
6c7703d485
EKF: Update tuning for synthetic sideslip fusion
...
Used value that worked well for replay of flight logs
2016-11-05 12:19:01 +01:00
Paul Riseborough
f76a2a5ff7
EKF: fix bug in sideslip fusion and reduce RAM usage
...
The bug meant the Y velocity (state index 5) covariance was not being updated correctly when sideslip was being used to constrain velocity drift (extended GPS loss).
The rework of the covariance update to reduce RAM follows the same pattern as adopted for other fusion processes
2016-11-05 12:19:01 +01:00
Paul Riseborough
951c8b77af
EKF: Improve wind state reset logic
...
Enables wind estimation without an airspeed sensor and enables synthetic sideslip to be used with an airspeed sensor for improved wind state estimation.
Wind states and covariances are reset differently depending on whether airspeed is available.
2016-11-05 12:19:01 +01:00
Paul Riseborough
2fedbc8a18
EKF: Refresh sideslip fusion auto-code and improve covariance update efficiency
2016-11-05 12:19:01 +01:00
Paul Riseborough
352b4ca177
EKF: Allow sideslip fusion with airspeed fusion
2016-11-05 12:19:01 +01:00
Paul Riseborough
fb6f4be453
EKF: don't allow sideslip fusion to affect non-airspeed states if not deae-reckoning
2016-11-05 12:19:01 +01:00
CarlOlsson
a9182259a5
fixed bug in beta fusion
2016-11-05 12:19:01 +01:00
CarlOlsson
0e3ae4b323
fixed issue with the covariance update in synthetic sideslip fusion
2016-11-05 12:19:01 +01:00
CarlOlsson
e1d9d503e3
updated logic of when to fuse beta. Now synthetic sideslip measurements are fused after 5 seconds of cruise flight with airspeed sensor activated
2016-11-05 12:19:01 +01:00
CarlOlsson
dec686afd7
updated parameters
2016-11-05 12:19:01 +01:00
CarlOlsson
5205a8198b
added function to control when to fuse beta
2016-11-05 12:19:01 +01:00
CarlOlsson
f5d0228cd5
include ecl.h
2016-11-05 12:19:01 +01:00
CarlOlsson
beb90f008d
adopted code for upstream changes
2016-11-05 12:19:01 +01:00
CarlOlsson
b7a4a1358f
added sidelip_fusion.cpp
2016-11-05 12:19:01 +01:00
CarlOlsson
12aeaafbd3
adopted estimator_interface.h
2016-11-05 12:19:01 +01:00
CarlOlsson
c8e3c24150
adopted ekf_helper.cpp
2016-11-05 12:19:01 +01:00
CarlOlsson
8f6c75bb0b
adopted ekf.h
2016-11-05 12:19:01 +01:00
CarlOlsson
15768f6f93
adopted ekf.cpp
2016-11-05 12:19:01 +01:00
CarlOlsson
738414d36e
adopted common.h
2016-11-05 12:19:01 +01:00
CarlOlsson
6c9cc5691c
adopted EKF/CMakeLists
2016-11-05 12:19:01 +01:00
CarlOlsson
daf44dcd67
adopted CMakeLists
2016-11-05 12:19:01 +01:00
Paul Riseborough
283c328c23
Merge pull request #212 from PX4/pr-ekfCriticalBugFix
...
EKF: Fix bug causing repeated resets if GPS sensor disconnected
2016-11-05 09:43:24 +11:00
Paul Riseborough
8aee45dd96
EKF: Fix bug causing repeated resets if GPS sensor disconnected
2016-11-05 09:36:06 +11:00
Paul Riseborough
2bc50489fd
Merge pull request #210 from PX4/remove_KH
...
EKF: reduce KH to only the elements that are really needed, and merge the loops
2016-11-05 09:24:13 +11:00
Beat Küng
07c6aabd98
EKF: reduce KH to only the elements that are really needed, and merge the loops
2016-11-02 10:26:40 +01:00
Paul Riseborough
1b59a89a18
EKF: save some stack memory
2016-11-02 09:06:06 +01:00
Beat Küng
f472324ae8
DataValidatorGroup: remove the assert
...
(avoid crashes in flight)
2016-11-01 22:49:20 +01:00
Beat Küng
25cb400da9
EKF: remove Ekf::KHP and move KHP to the methods where it's used
...
Everywhere where KHP is used, it is first completely reset, thus making
it unnecessary to keep it as a class member.
This saves 2.3KB RAM.
Stack sizes don't need changing, since there is already a function
Ekf::predictCovariance(), which needs around 3KB of stack and is called
close to where the fuse* functions are called.
2016-11-01 22:49:20 +01:00
Beat Küng
227938d263
DataValidatorGroup: add add_new_validator() to dynamically add new validators
2016-11-01 22:49:20 +01:00
Beat Küng
ded3b1a690
DataValidatorGroup: fix memory leak, delete all DataValidator's in destructor
2016-11-01 22:49:20 +01:00
Beat Küng
b870f92e1c
DataValidator: use 32bit timeout instead of 64bit, saves memory
2016-11-01 22:49:20 +01:00
Paul Riseborough
d07692e87e
Merge pull request #204 from PX4/pr-gpsReset
...
ekf reset: more granular reset / timeout strategy for gps fusion
2016-10-26 06:52:10 +11:00
Paul Riseborough
79df7e8889
EKF: Reduce effect of bad airspeed when other aiding data available
2016-10-25 08:34:41 +02:00
Paul Riseborough
968cfae632
EKF: Fix bug preventing fallback from GPS mode if GPS is lost
2016-10-25 08:32:01 +11:00
Roman
63cf3d50be
ekf gps reset: do not bother checking for need of reset if gps is not
...
available
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-24 11:45:36 +02:00
Roman
c5f750dcca
ekf reset: more granular reset / timeout strategy for gps fusion
...
- if both gps position and velocity measurements are rejected for 7 seconds
do a reset
- if only gps position measurements are rejected then wait for 14 seconds
as we still have velocity measurements to constrain the drift in position
- introduced ecl internal parameter for the timeout
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-24 11:40:12 +02:00
Roman Bapst
65de4962b5
Merge pull request #203 from PX4/pr-ekfVibeReporting
...
EKF: Add IMU vibration calculation and reporting
2016-10-19 13:32:53 +02:00
Paul Riseborough
b10b0184c5
EKF: Add IMU vibration calculation and reporting
...
Add calculation and reporting of IMU delta angle and velocity coning and high frequency vibration
2016-10-19 21:46:55 +11:00
Roman
17c195d1cd
ekf2 height reset: do not apply height change to height state twice (bug)
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-18 07:58:19 +02:00
Paul Riseborough
1093e6d789
EKF: fix documentation error
2016-10-13 22:37:14 +02:00
Roman
f80b3481a4
reset the newest output sample for all possible resets
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-12 08:54:38 +02:00
Roman
238d947239
proper handling of position and velocity reset
...
- position reset method was returning before the actual delta values
were written and applied to the output buffer
- apply reset delta also to the output sample which was already taken out
from the output buffer, otherwise the complementary filter solution is
offset from the ekf solution
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-12 08:54:38 +02:00
Paul Riseborough
79b1d3018d
EKF: Fix magnetometer innovation test ratio reporting bug
2016-10-12 08:51:45 +02:00
Lorenz Meier
394bfdc935
Update README.md
...
Fix prerequisites.
2016-10-08 11:00:52 +02:00
Daniel Agar
0d02bb2612
ecl attitude_fw fix excessive body fixed turn offset
...
-limit body fixed turn offset contrained roll to possible
roll setpoint range
-fixes #181
2016-10-06 09:03:48 +02:00
James Goppert
7dbb43f2cd
Update matrix.
2016-10-06 09:03:10 +02:00
Paul Riseborough
352750e5d1
EKF: publish ekf solution status summary data
2016-10-06 09:02:29 +02:00
Paul Riseborough
007e73379f
EKF: Improve reporting of position error
2016-10-06 09:02:29 +02:00
Paul Riseborough
744b79c1b2
EKF: Publish innovation test ratios
2016-10-06 09:02:29 +02:00
Paul Riseborough
5ab90048e1
Merge pull request #184 from PX4/pr-rngDelayFix
...
fixed computation of range measurement timestamp
2016-10-04 09:13:19 +11:00
Paul Riseborough
b29174d86b
Merge pull request #193 from PX4/pr-haglInit
...
Pr hagl init
2016-10-04 08:21:15 +11:00
Paul Riseborough
5702c2d51b
Merge pull request #186 from priseborough/pr-ekfOutputPredictor
...
EKF: Improve Output Predictor Tracking
2016-10-04 07:47:34 +11:00
Paul Riseborough
b5ba4f280f
EKF: reduce output predictor velocity time constant
2016-10-03 14:13:07 +11:00
Paul Riseborough
65762e5998
EKF: publish output predictor tracking errors
2016-10-03 14:13:07 +11:00
Paul Riseborough
c81f9f1dba
EKF: Reduce output predictor tracking errors
...
Implements a PI tracking loop
2016-10-03 14:13:07 +11:00
Julian Oes
4fefe5c6c6
cmake: stack size args cleanup
2016-09-28 08:23:18 +02:00
Julian Oes
616aeb9ad7
ekf_helper: fix forgotten return value
2016-09-27 16:36:29 +02:00
Julian Oes
fd403b733d
CMakeLists: don't always optimize for size
...
Going forward the optimization flags should be set for a platform,
rather than for each individual module.
2016-09-27 16:35:35 +02:00
Roman
c6e1d97176
terrain estimator: initialise with projection
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-09-20 14:09:42 +02:00
Roman
cc05db4985
terrain estimator: pass initialisation return value correctly
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-09-20 14:07:50 +02:00
Roman
d53f532079
fixed computation of range measurement timestamp
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-09-17 11:41:12 +02:00
Paul Riseborough
7240fc78fe
Merge pull request #183 from CarlOlsson/cont_wind_estimation
...
Fix wind state and wind variance initialization
2016-08-23 19:55:22 +10:00
James Goppert
eab57b0187
Merge pull request #189 from PX4/revert-188-matrix_update
...
Revert "Update matrix."
2016-08-18 12:29:41 -04:00
James Goppert
e5b74f511f
Revert "Update matrix."
2016-08-18 12:29:31 -04:00
James Goppert
90f6bd7f3d
Merge pull request #188 from PX4/matrix_update
...
Update matrix.
2016-08-18 12:06:20 -04:00
James Goppert
1daea6c1a3
Update matrix.
2016-08-18 11:58:31 -04:00
CarlOlsson
8d60da1442
removed old wind initialization
2016-08-11 15:26:21 +02:00
CarlOlsson
51c8715638
fixed issue with airspeed never fused
2016-08-11 15:26:21 +02:00
Paul Riseborough
d1d56d9e5e
EKF: Add logic to to control wind state estimation
2016-08-11 15:26:21 +02:00
Paul Riseborough
75bec44b94
EKF: add function to initialise wind states
2016-08-11 15:26:21 +02:00
Paul Riseborough
6dff2df28e
EKF: Add method to reset wind state covariances
...
Set variances in polar coordinates and rotate into cartesian frame
2016-08-11 15:26:21 +02:00
Paul Riseborough
eff9af549f
scripts: derive conversion from polar to cartesian wind state covariance
2016-08-11 15:26:21 +02:00
Paul Riseborough
a9894d7e8c
EKF: improve efficiency of airspeed fusion
...
Don't compute array entries where the result will be zero
2016-08-11 15:26:21 +02:00
Roman Bapst
df0f8fed45
fixed wrong condition on which gps height would be fused ( #180 )
...
- this solves the issue where height innovations would jump
between two regimes
Signed-off-by: Roman <bapstroman@gmail.com >
2016-08-05 14:45:48 +02:00
Youssef Demitri
168d9add76
added getter function for wind states
2016-07-22 12:33:41 +02:00
Beat Küng
73b8ac954d
ekf_helper.cpp: remove unused includes
...
This fixes a compile error with GCC 5.2.0 and cross-compilation:
/usr/arm-none-eabi/include/c++/5.2.0/arm-none-eabi/armv7e-m/fpu/bits/error_constants.h:122:27: error: 'ENOTSUP' was not declared in this scope
not_supported = ENOTSUP,
The problem was that the #include <iomanip> was taken from the host system,
which conflicts with includes from NuttX (NuttX has only basic C++ STL
support)
2016-07-15 12:50:11 +02:00
Lucas De Marchi
2240eb6b4f
Move __STDC_FORMAT_MACROS to build system ( #174 )
...
__STDC_FORMAT_MACROS changes the behavior of inttypes.h to allow
defining format macros for printf-like functions. It needs to be defined
before any include is done, otherwise due to include chains and header
guards it may not take effect.
Instead of defining it everywhere it is used, let the PX4 build system
to deal with it.
2016-07-10 16:29:51 +02:00
georgehines
4f8ffb3420
promote to float (for internal representation) before scaling by format multiplier ( #175 )
2016-07-10 11:13:18 +02:00
Paul Riseborough
a2d866520a
EKF: perform innovation check in all axes before fusing 3D mag data ( #171 )
...
Perform the innovation consistency check on all axes first and exit if any axis fails. Reduces the likelihood of bad magnetometer data corrupting the attitude estimates.
2016-07-07 16:46:30 +02:00
Beat Küng
5e0a229ee8
data_validator cleanup: use dimensions variable, use static for some constants ( #167 )
2016-06-30 13:28:01 +02:00
Paul Riseborough
0cc0008927
Merge pull request #166 from georgehines/matlab-log-import
...
add double support
2016-06-30 17:21:37 +10:00
Paul Riseborough
eaae95fdc4
Merge pull request #160 from priseborough/pr-ekf2Improvements
...
EKF: clean up fusion control logic
2016-06-30 17:18:14 +10:00
Paul Riseborough
f5e9ea1626
EKF: Prevent potential divide by zero
2016-06-30 17:06:32 +10:00
Paul Riseborough
eb2afc522d
EKF: fix bug preventing use of baro as a backup height source
2016-06-30 17:06:32 +10:00
Paul Riseborough
573f252b73
EKF: fix bug preventing GPS use as a backup height source
2016-06-30 17:06:32 +10:00
Paul Riseborough
5f9752cac8
EKF: Improve function names
2016-06-30 17:06:32 +10:00
Paul Riseborough
7bc9217f00
EKF: Clean up control of observation fusion
...
All the decision for a sensor are made within a specific function for that sensor and when there is data to process at the fusion time horizon.
Information and warning messages are improved.
2016-06-30 17:06:32 +10:00
Beat Küng
9a95898414
gps_message: remove time_usec_vel from struct (unused)
2016-06-27 10:12:23 +02:00
George Hines
f467e714bd
add double support
2016-06-23 09:24:11 -07:00
Roman Bapst
1b394460a3
fix comment about filter bias states
...
Signed-off-by: Roman Bapst <roman@px4.io >
2016-06-21 14:13:47 +02:00
Roman Bapst
bec1a6831e
added method to get gyro bias
...
Signed-off-by: Roman Bapst <roman@px4.io >
2016-06-21 14:13:47 +02:00
Lorenz Meier
74a77b45b2
Add DOI
2016-06-12 11:51:54 +02:00
Paul Riseborough
16bdbebdc6
Merge pull request #161 from PX4/pr-resetFix
...
do not return early in velocity reset method
2016-06-08 17:23:09 +10:00
Roman
703fb4e31b
do not return early in velocity reset method otherwise
...
some code will not be executed
2016-06-08 07:51:18 +02:00
Paul Riseborough
928a7dd059
Merge pull request #157 from PX4/pr-ekf2ResetInterface
...
Change state reset information interface
2016-06-08 14:18:31 +10:00
Paul Riseborough
2024252d65
Merge pull request #158 from CarlOlsson/act_ars_off_by_default
...
activate tas fusion, off by default
2016-06-08 14:17:31 +10:00
Paul Riseborough
e72788bd0f
Merge pull request #159 from priseborough/pr-ekf2MagBugFix
...
EKF: Fix critical bugs in mag fusion and yaw reset
2016-06-08 14:11:47 +10:00
Paul Riseborough
f26aca55a1
EKF: Fix bug in quaternion covariance initialisation function
...
The covariances between quaternion and non-quaternion states were not being updated
2016-06-08 13:23:30 +10:00
Paul Riseborough
b3baab64f2
EKF: Updates to 3-axis mag fusion auto-code
...
The code fragments for the magnetometer fusion have been refreshed from the auto-coder.
Explicit floating point types used for constants.
The 3x24 observation Jacobian has been replaced with a 1x24 that is updated each axis iteration to save memory.
2016-06-08 12:56:59 +10:00
Paul Riseborough
21168f9929
EKF: fix bug in 3-axis mag fusion innovation test
...
The fault flag was not being set after an innovation test failure resulting in fusion of the failed measurement
2016-06-08 11:58:33 +10:00
Paul Riseborough
99b34f0df4
EKF: Only reset necessary terms when mag fusion covariance reset required
...
Only the quaternion and mag fusion state covariances are used in the mag fusion calculations.
2016-06-08 11:58:33 +10:00
Paul Riseborough
381d99aed6
EKF: Inform console of serious fusion numerical errors
2016-06-08 11:58:33 +10:00
Paul Riseborough
dbfe8c0242
EKF: remove approximation in mag fusion innovation variance calculation
...
The covariance was not being updated with the observation from one axis before the innovation variance was calculated for the next axis. This results in greater weighting on measurements for subsequent axes.
2016-06-08 11:58:33 +10:00
Paul Riseborough
79228352e9
EKF: Reset mag and wind state variances to 'reasonable' values
...
If an in-flight reset is required, we do not want these variances going to zero as that will significantly delay recovery
2016-06-08 11:58:33 +10:00
Paul Riseborough
34ffffa021
EKF: Prevent use of non time-stamped invalid data during initialisation
...
Fixes bad height initialisation seen intermittently with snapdragon
2016-06-08 11:56:07 +10:00
CarlOlsson
eded0a8f7e
activate tas fusion, off by default
2016-06-07 13:49:17 +02:00
Paul Riseborough
3c84d37175
Merge pull request #156 from PX4/fix_printfs
...
EKF: use ECL printfs everywhere
2016-06-07 09:45:00 +10:00
Paul Riseborough
081e17729c
EKF: delay commencement of 3D mag fusion until clear of ground
...
Wait until enough height has been gained to be clear of ground based magnetic anomalies. Failure to do so can result in incorrect earth field initialisation.
2016-06-06 21:59:46 +10:00
Roman Bapst
670c6ca019
change state reset information interface for more convenient handling
...
on firmware side
2016-06-06 13:22:20 +02:00
Paul Riseborough
f08aee0a7d
EKF: Fix covariance index bug
2016-06-04 00:36:07 +10:00
Julian Oes
ab0ac05b47
ecl.h: guard PX4 defines with ifdef
2016-06-02 16:29:55 +01:00
Julian Oes
b8e2f79005
EKF: correct include paths
2016-06-02 16:29:22 +01:00
Julian Oes
ecfd8c867a
EKF: use ECL printfs everywhere
...
- Changes all printfs to ECL printfs
- Add ECL_ERR.
- Include ecl.h where needed.
- Add forgotten pragma once.
2016-06-02 16:07:26 +01:00
Paul Riseborough
8bfdb0430c
Merge pull request #150 from PX4/pr-ekf2StatusReporting
...
EKF: Publish full reset and innovation consistency check status data
2016-06-02 07:17:49 +10:00
Paul Riseborough
6a55d908c5
EKF: replace reset event times with event counters
...
Using a 64bit integer was unnecessary given it was only being used to detect a new reset event.
2016-06-01 17:13:00 +10:00
Paul Riseborough
70f76e1a6c
EKF: publish innovation consistency check fail status
2016-06-01 17:13:00 +10:00
Paul Riseborough
e371a303a9
EKF: publish the quaternion reset event
2016-06-01 17:13:00 +10:00
Paul Riseborough
81ca167da8
EKF: align output observer to EKF states on startup
2016-06-01 17:13:00 +10:00
Paul Riseborough
3ec9221c18
EKF: update output observer and capture reset event for EV yaw resets
2016-06-01 17:13:00 +10:00
Paul Riseborough
9ec09f5f4e
EKF: update output observer and capture reset event for magnetic heading resets
2016-06-01 17:13:00 +10:00
Paul Riseborough
2b0d5c28f0
EKF: capture full quaternion change for reset events
2016-06-01 17:13:00 +10:00
Paul Riseborough
b2e432e211
EKF: publish position and velocity reset data
2016-06-01 17:13:00 +10:00
Paul Riseborough
733862f649
EKF: move the reset status struct to the Ekf class
...
This protects it from being modified externally
2016-06-01 17:13:00 +10:00
Paul Riseborough
aca0336392
EKF: update vertical position and velocity reset capture
...
Use reset event struct members instead of separate variables
2016-06-01 17:13:00 +10:00
Paul Riseborough
0605c88ecc
EKF: capture horizontal position reset events
2016-06-01 17:13:00 +10:00
Paul Riseborough
e3a1b4a3b3
EKF: capture velocity reset events
2016-06-01 17:13:00 +10:00
Paul Riseborough
4237269fab
EKF: add struct to capture state reset events
2016-06-01 17:13:00 +10:00
Paul Riseborough
65da9173b9
EKF: capture innovation checks and reset events in separate variables
...
rename the innovation check status class variable and remove the reset flags from it.
2016-06-01 17:13:00 +10:00
Paul Riseborough
79705da7e6
EKF: make output predictor states consistent with position reset
2016-06-01 17:13:00 +10:00
Paul Riseborough
54d90261d5
EKF: make output predictor states consistent with velocity reset
2016-06-01 17:13:00 +10:00
Paul Riseborough
52229da089
EKF: capture optical flow innovation test failures
2016-06-01 17:13:00 +10:00
Paul Riseborough
d80e71a499
EKF: capture HAGL innovation test failures
2016-06-01 17:13:00 +10:00
Paul Riseborough
8125717bf5
EKF: remove un-used airspeed health class variable
...
Airspeed rejection now is captured in _sensor_fault_status
2016-06-01 17:13:00 +10:00
Paul Riseborough
388e500180
EKF: remove un-used magnetometer health class variable
...
replaced by _sensor_health_status
2016-06-01 17:13:00 +10:00
Paul Riseborough
cf489f4248
EKF: capture airspeed innovation test failures
2016-06-01 17:13:00 +10:00
Paul Riseborough
e7690bd8f8
EKF: capture magnetometer innovation test failures
2016-06-01 17:13:00 +10:00
Paul Riseborough
3fb449295e
EKF: capture yaw innovation test failures
2016-06-01 17:13:00 +10:00
Paul Riseborough
52f6eea52b
EKF: capture position and velocity innovation test failures
2016-06-01 17:13:00 +10:00
Paul Riseborough
aea827aa8a
EKF: ensure filter fault status is initialised
2016-06-01 17:13:00 +10:00
Paul Riseborough
106482b078
EKF: add structure to capture innovation test failures and state resets
2016-06-01 17:13:00 +10:00
Paul Riseborough
654093cae1
Merge pull request #155 from PX4/pr-ekf2AlignmentNoiseFilterInit
...
EKF: Initialise alignment noise filters using valid data
2016-05-28 09:12:15 +10:00
Paul Riseborough
70c40d695d
EKF: Initialise alignment noise filters using valid data
...
Don't initialise the states for the alignment data noise filters until the buffers have been flushed
2016-05-28 09:04:26 +10:00
Paul Riseborough
35bb6cc6e9
Merge pull request #154 from PX4/pr-ekf2AlignmentBufferFlush
...
EKF: Ensure bad initial data is flushed from buffers before use
2016-05-28 08:41:24 +10:00
Paul Riseborough
c905684c12
EKF: Ensure bad initial data is flushed from buffers before using data to perform alignment
2016-05-28 08:28:57 +10:00
Paul Riseborough
9557f64248
Merge pull request #153 from PX4/pr-ekf2ExternalVision
...
EKF: external vision bug fixes
2016-05-27 18:57:41 +10:00
Paul Riseborough
ad02818b3d
EKF: Improve height reset for external vision
...
reset to measurement closest in time to fusion time horizon
2016-05-27 14:00:50 +10:00
Paul Riseborough
98c0b74a71
EKF: Initialise height correctly when using external vision data
...
If EV height selected ensure switch to correct height mode as soon as EV data is received
The 0 height datum is not at the initialisation position, so the height state needs to be reset to the measurement on startup
2016-05-27 13:59:14 +10:00
Paul Riseborough
9f81b8f09e
EKF: provide reset protection for external vision height
2016-05-27 13:15:53 +10:00
Paul Riseborough
1b6c5bbafd
EKF: Enable height source to be selected independent of EV aiding
2016-05-27 13:14:52 +10:00
Paul Riseborough
00bada8f25
EKF: Clean up logic for horizontal position fusion
...
Remove reference to optical flow fusion mode
Simplify logic flow for selection of observation noise
Remove unnecessary conditional statement
2016-05-27 11:29:10 +10:00
Paul Riseborough
6f412a73b4
EKF: Use correct height gate when using external vision
2016-05-27 11:24:53 +10:00
Paul Riseborough
e41524ac9d
EKF: remove unused variables
2016-05-27 11:21:04 +10:00
Paul Riseborough
53030b9297
Merge pull request #152 from PX4/pr-ekf2FixObsDataHandling
...
EKF: Fix vulnerability to loss of observations due to high input data rates
2016-05-26 21:44:10 +10:00
Paul Riseborough
7dd123094f
EKF: correct documentation
2016-05-26 21:42:56 +10:00
Paul Riseborough
d5b5cb5899
EKF: improvements to observation collection
...
Remove unnecessary function calls
Remove un-used functions
Apply a consistent maximum safe data rate check for all observation inputs
2016-05-26 13:27:08 +10:00
Paul Riseborough
e2d9e19a5d
Merge pull request #148 from PX4/pr-ekf2OutputPredictor
...
EKF2 provide alternative output velocity prediction
2016-05-24 08:46:33 +10:00
Paul Riseborough
9f0b9909e7
Merge pull request #149 from PX4/pr-ekf2FixUnwantedGpsUse
...
EKF: prevent unwanted GPS use
2016-05-24 08:45:18 +10:00
Paul Riseborough
5a40aa2c1a
EKF: prevent unwanted GPS use
2016-05-24 07:55:09 +10:00
Paul Riseborough
90d65071c1
EKF: Add output predictor processing option
...
Setting the velocity tracking tine constant to a negative number causes the output predictor to use a different method of correcting the velocity which provides a velocity output that is kinematically consistent with the position output.
This may improve height controller performance under some circumstances
2016-05-23 07:47:10 +10:00
Paul Riseborough
30917430e2
EKF: inline ring buffer functions used repeatedly
...
These functions get called 30 times each per output prediction cycle
2016-05-23 07:43:59 +10:00
Paul Riseborough
c8c2d6d963
Merge pull request #145 from CarlOlsson/small_fix
...
Deleted second update of transformation matrix
2016-05-23 07:40:58 +10:00
Carl Olsson
0fafc49a49
fixed typos ( #147 )
2016-05-22 17:40:43 +02:00
Carl Olsson
dbe2513d48
updated logic of calculation of body field variance ( #146 )
2016-05-22 17:39:25 +02:00
CarlOlsson
eb70aca2e8
deleted second update of transformation matrix
2016-05-22 16:03:30 +02:00
Paul Riseborough
4c5252269c
Merge pull request #142 from PX4/pr-ekf2ImproveHeadingReset
...
EKF: Improved heading reset
2016-05-21 22:38:26 +10:00
Paul Riseborough
ae5071f668
EKF: Improve heading reset
...
Improves reset of quaternion covariance matrix after a heading reset by preserving variance in roll and pitch and resetting yaw variance to the measurement variance.
2016-05-21 19:30:15 +10:00
Paul Riseborough
4b279a8836
Merge pull request #144 from waltjohnson/master
...
Addressed C99 compiler issues of initializing variables in header and…
2016-05-20 07:37:24 +10:00
waltjohnson
a9ca8c294c
Generalized isfinite() in similar form as done in ekf.cpp https://github.com/PX4/ecl/blob/e3b9800cac459e7c279395c18191a872f465f848/EKF/ekf.cpp#L45-L52
2016-05-19 10:34:16 -06:00
waltjohnson
6eaa00e3f9
isfinite() is not part of the math class, rather the math.h header file.
2016-05-19 10:07:45 -06:00
waltjohnson
7c158aa59b
Addressed C99 compiler issues of initializing variables in header and unused included statements.
2016-05-19 09:58:18 -06:00
Paul Riseborough
f5e2dabc2b
Create CONTRIBUTING.md
2016-05-19 18:14:33 +10:00
Paul Riseborough
e3b9800cac
Merge pull request #138 from pickledgator/evTesting
...
EV testing
2016-05-19 12:56:41 +10:00
Paul Riseborough
867bc8c601
Merge pull request #139 from PX4/pr-ekf2Alignment
...
EKF: Improve angular alignment consistency
2016-05-18 21:23:31 +10:00
Paul Riseborough
c1b02eaa91
EKF: Don't use 3-axis magnetometer fusion until the tilt is aligned
2016-05-18 21:06:45 +10:00
Paul Riseborough
aaac867da8
EKF: Adjust tilt alignment threshold
2016-05-18 20:34:12 +10:00
Paul Riseborough
e272d5f003
EKF: Use consistent position noise values during alignment
2016-05-18 20:11:08 +10:00
Paul Riseborough
b9a3712ccb
EKF: record yaw alignment event during initialisation to allow heading fusion to start early
...
This ensures bad yaw gyro biases are compensated for early, rather than waiting for the tilt alignment to fully converge before fusing heading.
2016-05-18 19:25:19 +10:00
Paul Riseborough
94a63ec9d5
EKF: don't interfere with quaternion covariances during tilt alignment
2016-05-18 19:25:19 +10:00
Paul Riseborough
22fba0fc6e
EKF: don't initialise filter without EV data if we are relying on it
2016-05-18 19:25:19 +10:00
Nic
1b16f3575a
added ev_pos flag check to valid_lpos, disable fake gps when ev_pos is valid
2016-05-17 21:07:04 -07:00
Paul Riseborough
50ba26a434
Merge pull request #134 from PX4/pr-ekf2Alignment
...
EKF: Improved tilt alignment control
2016-05-18 12:34:22 +10:00
Paul Riseborough
e4b2e9c93d
EKF: Improve yaw alignment
...
Uses best conditioned of 321 or 312 Euler sequence to calculate initial yaw angle.
Allows alignment of yaw angle using external vision data
2016-05-18 12:16:16 +10:00
Paul Riseborough
57b2a256f7
EKF: Improve initialisation of quaternion covariances
...
Convert uncertainty in initial rotate vector into quaternion covariances using symbolic toolbox derived expressions.
Enable setting of initial angle uncertainty via a parameter
2016-05-17 12:47:20 +10:00
Paul Riseborough
a4728bc748
EKF: derive auto-code for quaternion state covariance initialisation
2016-05-17 12:28:58 +10:00
Paul Riseborough
88860d0307
EKF: Enable tuning for IMU switch on bias errors
2016-05-17 11:17:24 +10:00
Paul Riseborough
1540e937b1
EKF: Improve tilt alignment monitoring
...
Convert quaternion covariances into an angular alignment variance vector and discard the z component so that yaw uncertainty does not affect the result.
2016-05-17 11:17:24 +10:00
Paul Riseborough
6ca8a36782
EKF: Add matlab derivation for calculation of rotation vector variance
2016-05-17 10:56:19 +10:00
Paul Riseborough
d5046b078e
Merge pull request #106 from PX4/pr-visionSupport
...
EKF: add support for external vision data
2016-05-16 07:32:46 +10:00
Paul Riseborough
c955bfbf93
EKF: fix previous merge error
2016-05-15 20:36:51 +10:00
Paul Riseborough
920d83d68c
EKF: Fix bugs preventing use of external vision yaw data
2016-05-14 21:56:41 +10:00
Paul Riseborough
13c3a95bc1
EKF: Add missing line returns
2016-05-14 21:17:30 +10:00
Paul Riseborough
59eb9eb3db
EKF: fix shadow declaration arising from rebase
2016-05-14 21:17:30 +10:00
Paul Riseborough
172f4be594
EKF: Fix bug in calculation of terrain observation variance
2016-05-14 21:17:29 +10:00
Paul Riseborough
b985e58333
EKF: clean up control function
...
With the addition of new observation types, the control function has become too large and needed be broken up into separate functions
2016-05-14 21:17:29 +10:00
Paul Riseborough
f4a0f69f6e
EKF: print to console when starting EV fusion
2016-05-14 21:17:29 +10:00
Paul Riseborough
349c731375
EKF: remove PX4 dependant text output
2016-05-14 21:17:29 +10:00
Paul Riseborough
ac9b7a3df6
EKF: Ensure use of EV aiding inhibits use of other height sources
2016-05-14 21:17:29 +10:00
devbharat
cf1df5861a
Undid hack in ecl. Handled yaw missalignment on the vision side.
2016-05-14 21:17:29 +10:00
devbharat
d16f413b55
Hack to fix external vision pos offset compensation
2016-05-14 21:17:29 +10:00
devbharat
d3bad9fdb0
Correct height fusion flag when using sensor other than baro
2016-05-14 21:17:29 +10:00
devbharat
6d20a426e0
Reset time_last_ext_vision
2016-05-14 21:17:29 +10:00
devbharat
b681c9a5d0
Added external vision noise parameters etc and position offset
2016-05-14 21:17:29 +10:00
devbharat
ff8f03b5dd
Added compensation for VI sensor offset. Check sign.
2016-05-14 21:17:29 +10:00
Paul Riseborough
e917d6c7f2
EKF: Add fusion of external yaw data
2016-05-14 21:17:29 +10:00
Paul Riseborough
37a09c61bc
EKF: Don't use delayed data to start EV aiding
2016-05-14 21:17:29 +10:00
Paul Riseborough
25f1d1d766
EKF: Add fusion of external vision 3D pos data
2016-05-14 21:17:29 +10:00
Paul Riseborough
81469d6621
EKF: Add position, height and velocity reset for EV aiding
2016-05-14 21:17:29 +10:00
Paul Riseborough
3a0fcd03d7
EKF: Add interfaces and variables to use ext vision data
2016-05-14 21:17:29 +10:00
Paul Riseborough
7afd015b49
Merge pull request #129 from PX4/pr-ekf2OutputFilterTracking
...
EKF: Improve output observer position and velocity tracking
2016-05-14 15:53:19 +09:30
Paul Riseborough
c7e225124c
EKF: Improve output observer position and velocity tracking
...
Replace the delayed time feedback mechanism used by the translational states with a direct feedback method.
Time constants for velocity and position convergence can be separately adjusted with tunable parameters
The method is more computationally more expensive because it requires modification of the output buffer history but is acceptable because it only requires 6 FLOP per buffer index for a total of 30*6 = 180 FLOP
The method was not applied to the attitude states because the quaternion operations required at each buffer index would have been computationally prohibitive.
2016-05-14 12:45:29 +09:30
Paul Riseborough
627d08ecc9
Revert "EKF: Fix bug in output observer"
...
This reverts commit 03f3df7415 .
2016-05-14 12:26:46 +09:30
Paul Riseborough
03f3df7415
EKF: Fix bug in output observer
...
Bug was causing output observer state history to be stored at the the EKF, not IMU output rate and resulted in degraded tracking performance
2016-05-14 08:33:05 +09:30
Lorenz Meier
d595596c42
Merge pull request #114 from PX4/fix_linux_build
...
CMakeLists: use find_package Eigen3
2016-05-12 12:55:40 +02:00
Carl Olsson
5217b73df1
added bad_airspeed reporting ( #123 )
2016-05-12 10:06:04 +02:00
Carl Olsson
b126921894
changed airspeed innovation gate to 5 ( #119 )
2016-05-12 10:05:26 +02:00
Julian Oes
b8ccc58887
cmake: ignore more eigen warnings
2016-05-12 08:38:37 +02:00
Julian Oes
b74114a573
cmake: ignore deprecated warnings of Eigen
2016-05-12 08:27:59 +02:00
Julian Oes
07ecffc963
cmake: another try to get the module path right
2016-05-10 17:59:01 +02:00
Julian Oes
001433c660
cmake: debug output for path
2016-05-10 17:59:01 +02:00
Julian Oes
d242bb78b9
cmake: try to provide path to FindEigen3
2016-05-10 17:59:01 +02:00
Julian Oes
dcd191d734
cmake: include FindEIgen3.cmake for older cmake
2016-05-10 17:59:01 +02:00
Julian Oes
798cdfe675
build.sh: if cmake fails, don't continue with make
2016-05-10 17:59:01 +02:00
Julian Oes
37b73c7d85
README: updated build instructions, prerequisites
2016-05-10 17:59:01 +02:00
Julian Oes
fc47684942
build.sh: get path right for travis build
2016-05-10 17:59:01 +02:00
Julian Oes
54e62f1495
travis: just use libeigen3-dev
2016-05-10 17:59:01 +02:00
Julian Oes
3d28f7ecca
CMakeLists: use find_package Eigen3
...
Instead of hardcoding the Eigen3 path which only works on Mac, use
find_package(Eigen3).
2016-05-10 17:59:01 +02:00
Paul Riseborough
e91a934f07
Merge pull request #124 from PX4/pr-removeVehicleArmStatus
...
Remove reliance on vehicle arm status
2016-05-10 10:54:32 +10:00
Paul Riseborough
1a24ec5f50
EKF: remove unused flag from control status message
2016-05-10 10:45:06 +10:00
Paul Riseborough
481c624975
EKF: Remove use of vehicle arm status
...
Use single externally set in-air status for all decisions
2016-05-10 10:23:08 +10:00
Paul Riseborough
3cdf56e57c
Merge pull request #122 from CarlOlsson/airspeed_fix
...
fixed_airspeed_healthy_bug
2016-05-09 10:24:22 +10:00
Paul Riseborough
e06c0f41d7
Merge pull request #117 from PX4/ekf2AccuracyImprovement
...
EKF: Accuracy Improvements
2016-05-09 09:24:44 +10:00
CarlOlsson
ee7d7aeb8a
fixed_airspeed_healthy_bug
2016-05-08 18:30:37 +02:00
Paul Riseborough
175723f690
EKF: Allow for larger accel bias offsets on startup
2016-05-08 18:03:58 +10:00
Paul Riseborough
161ac2e051
EKF: ensure position co-variances are reset
...
When transitioning into optical flow nav from a non-aiding condition during ground operation, ensure position covariances are reset as they could be invalid.
2016-05-08 18:03:09 +10:00
Paul Riseborough
feb4db6347
EKF: protect against large IMU errors during initial tilt alignment
...
Turn off innovation consistency checks for height and synthetic position measurements until the tilt as aligned
2016-05-08 17:54:45 +10:00
Paul Riseborough
00973d6215
EKF: fix pos/vel fusion innovation variance bug
2016-05-08 17:51:47 +10:00
Paul Riseborough
2144a40a3c
EKF: redefine accelerometer bias state inhibit switch bit location
2016-05-08 16:03:21 +10:00
Paul Riseborough
724280fd1f
EKF: move calculation of optical flow observation variance into a function
...
Allows it to be used when calculating initial state variance
2016-05-08 15:40:06 +10:00
Paul Riseborough
25682dce91
EKF: Prevent badly conditioned covariance calculation when starting or resetting to optical flow
2016-05-08 10:30:40 +10:00
Paul Riseborough
c66ed7b662
EKF: Add interface method for filter fault status
2016-05-07 21:18:00 +10:00
Paul Riseborough
020b87933e
EKF: replace fault status struct with a union to facilitate logging
2016-05-07 21:11:16 +10:00
Paul Riseborough
7f5669fb2d
EKF: consolidate covariance corrections
...
Combines the forced symmetry, variance limiting and zeroing of covariances for unwanted states in the one function.
This ensures a consistent correction is applied after every covariance prediction or correction.
2016-05-07 20:29:50 +10:00
Paul Riseborough
0c6a367e1b
EKF: fix Travis build error
2016-05-07 17:45:49 +10:00
Paul Riseborough
22f0f52bf1
EKF: fix travis build error
2016-05-07 17:06:45 +10:00
Paul Riseborough
9e53ff2f80
EKF: Improve protection against bad optical flow fusion
2016-05-07 14:23:56 +10:00
Paul Riseborough
1126048a93
EKF: Improve protection against bad airspeed fusion
2016-05-07 14:23:38 +10:00
Paul Riseborough
c8d95586e7
EKF: Improve protection against bad magnetometer fusion
2016-05-07 14:23:20 +10:00
Paul Riseborough
310bd97080
EKF: Improve protection against bad pos vel fusion
2016-05-07 14:22:59 +10:00
Paul Riseborough
da9d894441
EKF: Improvements to covariance reset
2016-05-07 12:57:41 +10:00
Lorenz Meier
199c423f1f
Attitude fw: Remove builtin perf counters
2016-05-05 20:06:01 +02:00
Paul Riseborough
d9aeace6ac
EKF: tuning update
2016-05-05 21:23:03 +10:00
Paul Riseborough
f1b7e7714e
EKF: Make average update rate of EKF closer to target
...
With the EKF, the average update rate is more important than the instantaneous value as it affects tuning. This patch ensures that the EKF prediction cycle will be performed early if the previous one was late in an attempt to maintain the target update rate.
2016-05-05 21:23:03 +10:00
Paul Riseborough
1daa6c7866
EKF: update tuning defaults
2016-05-05 21:23:03 +10:00
Paul Riseborough
fc6c0c7ebf
EKF: Update covariance prediction
...
Refresh auto generated code
Make 3-axis accel fusion the default and no accel fusion the option
2016-05-05 21:23:03 +10:00
Paul Riseborough
ecaffe63af
EKF: update tuning defaults
2016-05-05 21:23:03 +10:00
Paul Riseborough
7a74d58591
EKF: reduce initial accel bias uncertainty
2016-05-05 21:23:03 +10:00
Paul Riseborough
a7d08d08fc
EKF: Relax tilt alignment check
2016-05-05 21:23:03 +10:00
Paul Riseborough
5523a4f225
EKF: Fix IMU bias compensation scale error in output filter
...
Delta angle and velocities are calculated assuming data is at the filter update rate, not the IMU update rate
2016-05-05 21:23:03 +10:00
Paul Riseborough
fd109b00ab
EKF: replace in-line code with existing function
2016-05-05 21:23:03 +10:00
Paul Riseborough
727a43764f
EKF: update initial angle alignment check
2016-05-05 21:23:03 +10:00
Paul Riseborough
bc34b14779
EKF: Initialise height state variance to a value compatible with the measurement
...
A large height state variance and small measurement variance can destabilise the filter in the first few seconds after alignment
2016-05-05 21:23:03 +10:00
Paul Riseborough
29a361d3a3
EKF: Use intuitive units for gyro and accel bias process noise
...
This also makes the tuning less sensitive to changes in the EKF update rate.
2016-05-05 21:23:03 +10:00
Paul Riseborough
799865c934
EKF: update default tuning parameters
2016-05-05 21:23:03 +10:00
Paul Riseborough
f01f4ae4b1
EKF: tidy up mag declination fusion
2016-05-05 21:23:03 +10:00
Paul Riseborough
0d31aad33a
EKF: Fix bad limit on magnetometer noise parameter
2016-05-05 21:23:03 +10:00
Paul Riseborough
7069fb7a04
EKF: refresh auto code for mag fusion
2016-05-05 21:23:03 +10:00
Paul Riseborough
ffea65e1a4
EKF: fix bug in state prediction
2016-05-05 21:23:03 +10:00
Paul Riseborough
63f093a10a
EKF: Update upper limits for state variances
...
This limiting is a last resort measure and the limiting for normal operation should be achieved by modification in the covariance prediction
2016-05-05 21:23:03 +10:00
Paul Riseborough
26a51c667d
EKF: Improve robustness to initial gyro bias errors
...
Allows for ~6 deg/sec of startup bias
2016-05-05 21:23:03 +10:00
Paul Riseborough
7530e30012
EKF: Improve IMU data collection
...
Use IMU driver published delta angle integration time to determine when enough data has been accumulated.
Perform basic first order sculling corrections on delta velocity data
Comment steps to make make method clearer
2016-05-05 21:23:03 +10:00
Paul Riseborough
f23f0b1035
EKF: fix bugs in stationary process model covariance prediction
...
Noise variance for stationary states was being overwritten by the covariance prediction operations for the kinematic states
Unwanted states could end up with non-zero covariance values
The forced symmetry operation was being applied too late to be effective
2016-05-05 21:23:03 +10:00
Paul Riseborough
a373ada858
EKF: explicitly define floating point type in hardcoded constants
2016-05-05 21:23:03 +10:00
Paul Riseborough
a189c60d33
EKF: update code fragment text files
2016-05-05 21:23:03 +10:00
Paul Riseborough
f4e84a2234
EKF: fix axis label error in comments
2016-05-05 21:23:03 +10:00
Paul Riseborough
57d3036ee7
EKF: update derivation files
2016-05-05 21:23:03 +10:00
Paul Riseborough
82da832816
EKF: tidy up Kalman gain calculations
...
Inhibiting of states is controlled via zeroing rows and columns in the covariance prediction so conditional logic in gain calculations is unnecessary.
2016-05-05 21:23:03 +10:00
Paul Riseborough
311d046a26
EKF: Enable optional activation of XY delta velocity bias estimation
2016-05-05 21:23:03 +10:00
Paul Riseborough
572c2280bd
EKF: tidy up covariance prediction
2016-05-05 21:23:03 +10:00
Paul Riseborough
54e713969d
EKF: Fix rebase error
2016-05-05 21:23:03 +10:00
Paul Riseborough
67d23948b5
EKF: preliminary re-tune
2016-05-05 21:23:03 +10:00
Paul Riseborough
03c35266ef
EKF: remove unused parameter
2016-05-05 21:23:03 +10:00
Paul Riseborough
fe9f88a8b4
EKF: test new derivation
...
Use direct attitude parameterisation
Discard scale factors
Add accel bias
2016-05-05 21:23:03 +10:00
Daniel Agar
22d18d638c
enable Wshadow
2016-05-04 19:45:40 -04:00
Paul Riseborough
c6775b5bf2
Merge pull request #118 from PX4/fix_member_init
...
ekf: initialize _terrain_var
2016-05-03 10:26:48 +10:00
Beat Küng
f2dda3c183
ekf: initialize _terrain_var, fixes access to uninitialized value
...
in PX4 Firmware, Ekf::get_terrain_vert_pos depends on it. This is the
valgrind output:
==15439== Thread 14 ekf2:
==15439== Conditional jump or move depends on uninitialised value(s)
==15439== at 0x5610087: sqrtf (in /usr/lib64/libm-2.22.so)
==15439== by 0x4D1AF0: Ekf::get_terrain_vert_pos(float*) (terrain_estimator.cpp:135)
==15439== by 0x46641F: Ekf2::task_main() (ekf2_main.cpp:655)
==15439== by 0x42BF3D: entry_adapter(void*) (px4_posix_tasks.cpp:103)
==15439== by 0x4E3C609: start_thread (in /usr/lib64/libpthread-2.22.so)
==15439== by 0x5BF7A4C: clone (in /usr/lib64/libc-2.22.so)
2016-05-02 17:35:42 +02:00
Paul Riseborough
0a6d95c6c2
Merge pull request #116 from PX4/pr-covReset
...
after a height reset zero the cross covariances for height and vertical
2016-05-01 21:44:38 +10:00
Roman
0c77ebf6bd
EKF: Reduce likelihood of bad covariance values after height resets
...
The cross terms (covariances) are now reset before the variance variance is set.
The vertical velocity state variance following a reset without GPS has been reduced.
2016-05-01 21:39:56 +10:00
Paul Riseborough
6c57bea1c3
EKF: fix bug in IMU error application timing patch
2016-04-30 15:11:12 +10:00
Paul Riseborough
6ecbefd7e4
EKF: add matlab script to test complementary filter gains
2016-04-30 11:05:03 +10:00
Paul Riseborough
15df20831a
EKF: improve output complementary filter tracking
...
Optimise for height tracking and adjust gains automatically with changes in time delay.
2016-04-30 11:03:45 +10:00
Paul Riseborough
4fa1e9c651
EKF: Fix timing errors in state prediction
...
IMU corrections were being applied at the wrong time horizon to the EKF states
IMU downsampling rotates the delta velocities into the orientation produced by the last delta angle, but this wasn't consistent with the way the state prediction was using the delta velocity data.
2016-04-30 11:02:19 +10:00
Paul Riseborough
4c9c102597
Merge pull request #115 from PX4/fix_isfinite_again
...
ekf: another stab at fixing isfinite for all
2016-04-29 09:12:59 +10:00
Julian Oes
f8a48f9cc5
ekf: now it should even compile for NuttX
2016-04-28 16:30:49 +02:00
Julian Oes
12f4d6f703
ekf: another stab at fixing isfinite for all
...
The previous solution did not work for Snapdragon, so I needed to copy
what is used in px4_defines.h.
2016-04-28 16:09:12 +02:00
Paul Riseborough
22ad87599c
Merge pull request #112 from PX4/fix_ubuntu1604_2
...
ekf: compile fix for Ubuntu 16.04
2016-04-27 21:21:04 +10:00
Julian Oes
46e207106b
ekf: use std::isfinite instead of isnan
2016-04-27 12:58:22 +02:00
Lorenz Meier
7b702ee37e
Merge pull request #105 from georgehines/matlab-log-import
...
fix a field name that I missed last time
2016-04-26 10:03:37 +02:00
Lorenz Meier
7c7945961e
Merge pull request #107 from dagar/l1_init
...
L1 initialize everything
2016-04-26 10:01:27 +02:00
Daniel Agar
fe5a337c99
l1 initialize everything
2016-04-25 14:39:11 -04:00
George Hines
9994aa7fdb
fix a field name that I missed last time
2016-04-22 17:21:47 -07:00
Paul Riseborough
42635903cd
Merge pull request #102 from priseborough/pr-ekf2HeightReset
...
EKF: Improve height reset behaviour
2016-04-23 10:04:13 +10:00
Paul Riseborough
4fcbfb5d42
EKF: correct error in comment
2016-04-23 07:55:25 +10:00
Paul Riseborough
13814681d7
Merge pull request #104 from georgehines/matlab-log-import
...
Matlab log import
2016-04-23 07:50:07 +10:00
Paul Riseborough
3e81b86280
EKF: improve height reset logic
...
Don't use failed sensors unless necessary and handle case where not height sensor is available for reset
2016-04-22 10:50:53 +10:00
Paul Riseborough
874558d194
EKF: improve detection of bad vert accel data
...
Improve ability to detect if bad vertical accel data has caused loss of height accuracy by using historical data.
2016-04-22 09:24:04 +10:00
Paul Riseborough
469a7d1711
EKF: rework height reset
...
calculate and save the amount that the vertical states have changed and the time of the change
apply the change delta to the output observer states and buffer
2016-04-22 08:43:56 +10:00
Paul Riseborough
e3365525c2
EKF: rework height reset logic
2016-04-22 08:39:24 +10:00
Paul Riseborough
421703c267
EKF: rework initialisation of height state and offsets
2016-04-22 08:38:41 +10:00
Paul Riseborough
a7417657c3
EKF: ensure fusion timeout counters are reset when required
2016-04-22 08:33:11 +10:00
Paul Riseborough
10bf05e9a6
EKF: publish the vertical position offset
2016-04-22 08:30:46 +10:00
Paul Riseborough
0de15b1b20
EKF: Add variables to monitor vertical position and height offset
2016-04-22 08:28:56 +10:00
Paul Riseborough
62c6d40f1f
EKF: Add methods to ring buffer to access specific indices
2016-04-22 08:21:36 +10:00
George Hines
59df1a3552
rename log GUI consistent with its assumptions
2016-04-21 10:58:28 -07:00
George Hines
62bdcf3e9b
supports APM dataflash logs
2016-04-21 10:54:37 -07:00
Paul Riseborough
b295f9050c
EKF: ensure GPS check status is correctly initialised
2016-04-20 21:53:15 +10:00
Lorenz Meier
9487eac505
Merge pull request #98 from priseborough/pr-ekf2StatusReporting
...
EKF: improve reporting of filter status
2016-04-20 11:44:02 +02:00
Roman Bapst
6344fa0e8c
limit maximum rates of all measurement at which they are stored into the buffers
2016-04-19 12:47:57 +02:00
Roman Bapst
00c8821006
disable airspeed fusion for now. Needs more testing and implementation of side slip fusion
2016-04-19 11:18:45 +02:00
Paul Riseborough
2fa8a11a29
EKF: replace unnecessary memcopy
2016-04-19 19:10:41 +10:00
Roman Bapst
99fc61c27c
ekf2 airspeed fusion:
...
- finished logic for fusion
- fixed bug where previous control status was set in the wrong location
2016-04-19 09:53:31 +02:00
Paul Riseborough
82920da232
EKF: strengthen checking of local position status
...
provides immediate status reporting when dropping out of optical flow mode
2016-04-19 17:38:22 +10:00
Paul Riseborough
31bf342fc1
EKF: publish GPS check status
2016-04-19 17:38:22 +10:00
Paul Riseborough
6fa13c7806
EKF: publish control mode status
2016-04-19 17:37:27 +10:00
Roman Bapst
60abf07bee
added function to return accelerometer bias
2016-04-18 17:52:16 +02:00
Roman Bapst
f32303de69
added function to return accelerometer bias
2016-04-18 17:00:17 +02:00
Lorenz Meier
3455931617
EKF init: Fix initialization statement
2016-04-17 19:29:23 +02:00
Lorenz Meier
e1ce948768
Merge pull request #97 from dagar/cmake_update
...
cmake STACK -> STACK_MAIN
2016-04-17 15:58:52 +02:00
Daniel Agar
861c13f1fe
cmake STACK -> STACK_MAIN
2016-04-16 21:46:50 -04:00
Paul Riseborough
55db3d8725
Merge pull request #94 from priseborough/pr-sensorPosComp
...
Add compensation for EKF sensor position offsets
2016-04-14 11:45:24 +10:00
Paul Riseborough
ea38aa130f
EKF: update default time delay parameter values
2016-04-14 08:53:59 +10:00
Paul Riseborough
8c55e36ca9
EKF: use common value for gravity
2016-04-12 11:14:31 +10:00
Paul Riseborough
163c08a3ac
EKF: Improve output observer documentation
2016-04-12 11:14:31 +10:00
Paul Riseborough
2dcc6e2053
EKF: Improve accuracy of state prediction
...
Use an a common estimator value for gravity
Use average orientation across update interval when rotating delta velocities
2016-04-12 11:14:31 +10:00
Paul Riseborough
5bf02517a7
EKF: Rationalise use of rotation matrices and improve efficiency
2016-04-12 11:14:31 +10:00
Paul Riseborough
e10093854a
EKF: correct outputs for IMU offset
2016-04-12 11:14:31 +10:00
Paul Riseborough
b46053415f
EKF: Compensate optical flow data for sensor position offset
2016-04-12 11:14:31 +10:00
Paul Riseborough
48b105b748
EKF: correct range finder data for sensor position offset
2016-04-12 11:14:31 +10:00
Paul Riseborough
e89dbb9f63
EKF: correct GPS data for antenna position offset
2016-04-12 11:14:31 +10:00
Paul Riseborough
3580940e10
EKF: Add sensor position offset parameters
2016-04-12 11:14:31 +10:00
Paul Riseborough
64e95910c4
Merge pull request #92 from priseborough/pr-ekf2HgtResetFix
...
EKF: Fix vulnerability in height reset
2016-04-12 11:09:06 +10:00
Paul Riseborough
006b6b58e4
EKF: fix bug in status print statement
2016-04-12 10:38:50 +10:00
Paul Riseborough
74078cde94
EKF: reset state variance when performing a height reset
...
Set vertical position and velocity variances using known sensor error characteristics if we have reset the states to the sensor readings.
2016-04-11 19:40:27 +10:00
Paul Riseborough
f4f108d57d
EKF: Reset vertical velocity when performing a height reset
2016-04-11 19:25:24 +10:00
Paul Riseborough
61b919754d
Merge pull request #90 from georgehines/matlab-log-import
...
version/toolbox compatibility
2016-04-11 05:23:50 +10:00
George Hines
941d3bca0a
changes some graphics arguments for version compatibility, adds a viewer example to the usage samples script
2016-04-07 16:39:32 -07:00
Paul Riseborough
a919088b6a
Merge pull request #89 from georgehines/matlab-log-import
...
Matlab log import
2016-04-07 15:44:04 -07:00
George Hines
684b41494e
adds estimator log viewer UI
2016-04-07 15:13:19 -07:00
George Hines
3773d5a00d
removes accidentally commited px4log test file
2016-04-07 11:59:54 -07:00
George Hines
eb41d25ff6
reduces update rate of progress display, stores message time (not TIME message) as floating point seconds, automatically extracts TIME message, updates usage samples accordingly
2016-04-07 11:58:51 -07:00
George Hines
2ad21bc8c7
adds function header comments and method attribution
2016-04-07 07:40:40 -07:00
George Hines
f6413a1924
renames test script for clarity
2016-04-07 07:32:53 -07:00
George Hines
93fde19c25
changes some cell notation for speed
2016-04-07 07:22:21 -07:00
George Hines
0e3a6e214c
completed low-overhead import script, added usage examples
2016-04-07 07:18:59 -07:00
George Hines
8c8653a1a2
initial commit of matlab px4 log importer
2016-04-06 17:12:40 -07:00
Lorenz Meier
f86ef34782
EKF: Fix error message which lied
2016-04-05 19:06:35 -07:00
Paul Riseborough
a352c2f4e3
EKF: Fix posix build error
...
Memset cannot be used on a class like this. Setting the time elements to zero achieves the desired result.
2016-04-05 18:57:21 -07:00
Lorenz Meier
6b3ad03419
Merge pull request #86 from CarlOlsson/small_airspeed_fix
...
Small airspeed fix
2016-04-05 16:38:37 -07:00
Roman Bapst
f35e78643c
Merge pull request #79 from dagar/integrator_fix
...
fw multiply integrator gain in loop
2016-04-05 22:33:29 +02:00
Paul Riseborough
430d4b1cf8
EKF: ensure data in buffers is zero at startup
2016-04-05 22:23:37 +02:00
Paul Riseborough
c6bd93ed40
EKF: Include all output files generated by derivation script
2016-04-05 22:23:37 +02:00
Paul Riseborough
470098e182
EKF: update default tuning parameters
...
Parameters needed to be changed when covariance prediction error was corrected.
The magnetic earth and body field process noise now use separate parameters to help with tuning
2016-04-05 22:23:37 +02:00
Paul Riseborough
eaf94935f0
EKF: Fix bug in initialisation of height and magnetic field
...
This prevents zero data being used to form the initial height and magnetic field.
Do not start sampling initial values until non-zero time values are retrieved from the buffer.
2016-04-05 22:23:37 +02:00
Paul Riseborough
03eac2f25e
EKF: Apply covariance prediction derivation changes
2016-04-05 22:23:37 +02:00
Paul Riseborough
ac71ec5d37
EKF: Fix scaling error in covariance prediction derivation
...
The covariance prediction derivation was using the noise 1-std value instead of the noise variance. This resulted in the values of IMU process noise required to tune not matching the observed covariance growth.
2016-04-05 22:23:37 +02:00
CarlOlsson
8678a939e2
removed reinitialization of intermediate variables
2016-04-05 14:18:47 +02:00
Roman Bapst
2632c930f7
Merge pull request #85 from CarlOlsson/add_error_reporting_tas
...
added fault status reporting
2016-04-04 18:52:06 +02:00
Roman Bapst
96b9674cb6
Merge pull request #84 from CarlOlsson/change_to_true_airspeed
...
change name to true_airspeed
2016-04-04 18:49:04 +02:00
CarlOlsson
eee6f1048f
Changed vtaspred threshold
2016-04-04 16:27:06 +02:00
CarlOlsson
3ad5b52aea
removed comment
2016-04-04 16:26:46 +02:00
CarlOlsson
616725410d
updated calculation
2016-04-04 16:26:13 +02:00
CarlOlsson
ec9902d802
added fault status reporting
2016-04-04 16:21:12 +02:00
CarlOlsson
1ea26b406a
change name to true_airspeed
2016-04-04 16:10:52 +02:00
Roman Bapst
068c29851c
Merge pull request #80 from PX4/fuse_tas_rebased
...
Fuse tas rebased
2016-03-30 17:17:05 +02:00
Roman Bapst
27b894540e
put airspeed fusion logic but don't actually call it yet
2016-03-30 17:01:03 +02:00
Roman Bapst
1b7115dec9
increased airspeed fusion rate to 12.5Hz
2016-03-30 17:01:03 +02:00
CarlOlsson
f5a9afd278
moved init
2016-03-30 17:01:03 +02:00
CarlOlsson
f990d99790
fixed bug
2016-03-30 17:01:03 +02:00
CarlOlsson
4301e1105b
added commas
2016-03-30 17:01:03 +02:00
CarlOlsson
81fc086b76
adopted ekf_interface.h
2016-03-30 17:01:03 +02:00
CarlOlsson
d440c883b5
adopted ekf_interface.cpp
2016-03-30 17:01:03 +02:00
CarlOlsson
f8878d41dc
adopted ekf_helper.cpp
2016-03-30 17:01:03 +02:00
CarlOlsson
6bb2f7638c
adopted ekf.h
2016-03-30 17:01:03 +02:00
CarlOlsson
0918fa04c7
adopted ekf.cpp
2016-03-30 17:01:03 +02:00
CarlOlsson
92abf93c8f
adopted common.h
2016-03-30 17:01:03 +02:00
CarlOlsson
0fb1e0578b
added function for fusing airspeed
2016-03-30 17:01:03 +02:00
Daniel Agar
82cf1827d4
fw multiply integrator gain in loop
2016-03-25 17:28:39 -04:00
Paul Riseborough
0ea55e25f9
Merge pull request #78 from PX4/pr-addGpsHgtOption
...
EKF: Add option to use GPS for height and improve height fall-back behaviour
2016-03-23 11:19:01 -07:00
Paul Riseborough
400a6e12ba
EKF: Ensure all data in buffers is initialised
...
This is a defensive change to prevent introduction of NaN's into the filter if data is read from the incorrect place in the buffer.
2016-03-20 15:14:16 +11:00
Paul Riseborough
064a0e4dbc
EKF: Don't use GPS to set position noise when not using GPS
2016-03-16 20:12:36 +11:00
Paul Riseborough
c23d72ba29
EKF: Ensure filter control modes are correctly initialised
2016-03-16 17:22:27 +11:00
Paul Riseborough
9f3b1351f7
EKF: Don't initialise velocity to GPS on initial alignment
...
For initial alignment the velocity and position should start at zero
2016-03-16 17:20:57 +11:00
Paul Riseborough
687fcc70be
EKF: Explicitly define type conversion for GPS height
2016-03-16 17:18:20 +11:00
Paul Riseborough
e334a5dc57
EKF: Add check for NaN's on attitude states
2016-03-16 13:43:21 +11:00
Paul Riseborough
6b2e2dba90
EKF: Add GPS height option and improve height recovery
2016-03-16 10:40:51 +11:00
Paul Riseborough
63b0cf4360
EKF: Fix baro height offset bug
2016-03-14 15:51:15 +11:00
Paul Riseborough
4bd79c9e5d
Merge pull request #76 from PX4/pr-fixRngHgtMode
...
EKF: Fix bugs preventing use of range finder as primary height source
Flight testing completed and I have checked that the other pending PR #75 rebases cleanly on it.
2016-03-14 09:46:58 +11:00
Paul Riseborough
49023f3d7e
EKF: fix travis build error
2016-03-13 21:56:28 +11:00
Paul Riseborough
7677a162aa
EKF: Don't start the output observer before the main filter has initialised
...
This prevents the possibility of output transients if alignment is delayed.
2016-03-13 21:17:51 +11:00
Paul Riseborough
d2407c3463
EKF: code style updates
2016-03-13 21:17:51 +11:00
Paul Riseborough
c58ab3e256
EKF: Enable fallback to baro alt when using range finder for height
2016-03-13 21:17:51 +11:00
Paul Riseborough
370f643f42
EKF: Enable use of range finder for primary height source
2016-03-13 18:44:34 +11:00
Lorenz Meier
699ec17cc3
Removed spurious print in wheel controller
2016-03-12 11:23:08 +01:00
Paul Riseborough
2882c53246
Merge pull request #74 from PX4/pr-optflow-reworked
...
Add fusion of optical flow LOS rate measurements
2016-03-11 11:13:03 +11:00
Paul Riseborough
109e0e6dfc
EKF: When commencing GPS aiding, don't reset local position and velocity if using optical flow
2016-03-11 11:03:43 +11:00
Paul Riseborough
26238bc2f5
EKF: Allow for change in position when defining the WGS-84 origin position
...
This allows GPS aiding to commence later in flight without step changes in local position output
2016-03-11 11:03:43 +11:00
Paul Riseborough
e0fcce1463
EKF: Make position and velocity reset publish success
...
Some users of the position and velocity reset functions will need to know if the reset has been successful.
2016-03-11 11:03:43 +11:00
Paul Riseborough
48f980b054
EKF: Fix syntax causing posix build to fail
2016-03-11 11:03:43 +11:00
Paul Riseborough
eab0ef4266
EKF: Update default process noise for terrain estimator
2016-03-11 11:03:43 +11:00
Paul Riseborough
962fd0aaf2
EKF: Adjust terrain process noise for gradient effect
2016-03-11 11:03:43 +11:00
Paul Riseborough
1a2da887ab
EKF: Fix bug in calculation of terrain estimator Kalman gain
2016-03-11 11:03:43 +11:00
Paul Riseborough
cc5512905a
EKF: prevent optical flow, GPS and baro fusion from blocking each other
2016-03-11 11:03:43 +11:00
Paul Riseborough
e9ccfdd484
EKF: Update derivation scripts and outputs
...
Work around limitation in Symbolic toolbox environment space by incrementally saving and clearing workspace
Remove vehicle vertical position from optical flow prediction equations (use range measurement instead) and regenerate auto-code
Remove legacy optical flow auto-code conversion method as it is not required now a work around for symbolic toolbox limitations has been developed
Fix out of date syntax
2016-03-11 11:03:43 +11:00
Paul Riseborough
ffebaf384f
EKF: Set initial optical flow fusion monitor outputs to zero
2016-03-11 11:03:43 +11:00
Paul Riseborough
5acd1cbac4
EKF: Make definitions of parameters clearer for external use
2016-03-11 11:03:43 +11:00
Paul Riseborough
dd1d58bab5
EKF: Remove unnecessary matrix operations from optical flow fusion
...
The updated formulation means that H_LOS[][8] is always zero, so these operations are no longer required.
2016-03-11 11:03:43 +11:00
Paul Riseborough
b3b0f1347a
EKF: Make normal GPS mode the default
2016-03-11 11:03:43 +11:00
Paul Riseborough
d97d308ca7
EKF: Add control of optical flow and range finder fusion
2016-03-11 11:03:43 +11:00
Paul Riseborough
836fe39070
EKF: Update external interface functions to support optical flow
2016-03-11 11:03:43 +11:00
Paul Riseborough
2ff338048d
EKF: Add support for range-finder fusion as primary height reference
2016-03-11 11:03:43 +11:00
Paul Riseborough
2c2850c0ce
EKF: Add functions to get position and velocity state variance
2016-03-11 11:03:43 +11:00
Paul Riseborough
32b03819ef
EKF: Add function to calculate global position validity
2016-03-11 11:03:43 +11:00
Paul Riseborough
270451e17b
EKF: Update height reset to support range finder height use
2016-03-11 11:03:43 +11:00
Paul Riseborough
dca186c6e8
EKF: Add required declarations for optical flow
2016-03-11 11:03:43 +11:00
Paul Riseborough
75b22c95ac
EKF: Add new source files to cmake
2016-03-11 11:03:43 +11:00
Paul Riseborough
122dd9c531
EKF: Add source file for optical flow LOS rate fusion
2016-03-11 11:03:43 +11:00
Paul Riseborough
82cbfafb34
EKF: Add source file for terrain vertical position estimator
...
Implements a single state Kalman filter to estimate terrain vertical position relative to the NED origin.
2016-03-11 11:03:43 +11:00
Paul Riseborough
829e0f1e65
Merge pull request #73 from mcsauder/master
...
Conversion error correction and additional function overloads to allow standalone compilation.
2016-03-11 11:02:32 +11:00
mcsauder
6a61f9ba77
Remove a define that might not be required for compilations in other scnearios outside of C99 restrictions to minimize Pull Request modifications.
2016-03-05 02:17:55 -07:00
mcsauder
115c87a0ea
Remove an include that was unnecessary.
2016-03-05 02:15:04 -07:00
mcsauder
1aee1b895a
Uncomment commented lines that removed Eigen namespaces and dependencies.
2016-03-05 02:12:26 -07:00
mcsauder
f9be23933b
Correct deg to rad conversion inversion. Add additional functionality to mathlib to allow standalone compile without Limits.cpp and Limits.hpp files from PX4.
2016-03-05 01:58:58 -07:00
Paul Riseborough
b163efeae2
Merge pull request #72 from PX4/pr-MagFusionBug
...
Fix bug in declination fusion and standardise covariance update
2016-03-05 11:34:19 +11:00
Paul Riseborough
5242af84af
EKF: Standardise covariance update and use static arrays for large matrices
2016-03-05 08:58:19 +11:00
Paul Riseborough
1414d591ce
EKF: Fix bug in declination fusion indexing
2016-03-05 08:43:33 +11:00
Daniel Agar
2108466a00
initialize ECL_L1 variables
2016-03-03 11:22:07 +01:00
Roman Bapst
b2744f965d
use in_air flag from land detector to determine if we are on the ground
2016-03-03 10:53:39 +01:00
Paul Riseborough
569886a4fc
EKF: Fix bug in velocity and position innovation consistency checks
2016-03-03 17:15:22 +11:00
mcsauder
f9e3db0504
Move variable initializations from header file to constructor to allow C99 compliance.
2016-03-02 08:42:38 +01:00
Paul Riseborough
d8627c6aaf
EKF: Reset the vertical position states if height fusion times out
2016-03-02 08:39:07 +01:00
Paul Riseborough
f7a53d69f2
EKF: Improve height reset function
...
Add a method to reset the vertical velocity to enable in-flight resets
Reset to GPS height if baro height is not available.
2016-03-02 08:39:07 +01:00
Paul Riseborough
a6da73fa83
EKF: Add missing div0 protection
2016-03-01 18:03:35 +11:00
Paul Riseborough
d5e47d21db
EKF: miscellaneous comment and format changes
2016-03-01 15:35:45 +11:00
Paul Riseborough
7c83ac4b6d
EKF: Use heading fusion as default for startup and ground operation
2016-03-01 15:35:17 +11:00
Paul Riseborough
57d4064d7b
EKF: Increase default heading observation noise
...
Improves robustness when operating in a bad magnetic field environment
2016-03-01 15:28:53 +11:00
Paul Riseborough
97df006a6a
EKF: Update direct heading fusion
...
Adds a 312 Euler rotation sequence option for magnetic heading fusion.
Switches between it and the normal 321 sequence option depending on orientation.
2016-03-01 15:25:22 +11:00
Paul Riseborough
ea29e39e5b
EKF: Updated derivation of Jacobians for direct heading measurement
...
Adds an alternative using a 312 Euler sequence.
2016-03-01 15:21:36 +11:00
Paul Riseborough
2c9a814de1
Merge pull request #64 from mcsauder/master
...
Additional filter variable initializations required to fully reset the filter variables
2016-02-26 23:06:56 +11:00
Paul Riseborough
78d6f6941c
Merge pull request #61 from PX4/pr-ImprovedAccuracyReporting
...
EKF: Improve Position Accuracy Reporting
2016-02-26 22:48:44 +11:00
Paul Riseborough
f058fc817f
Merge pull request #63 from PX4/att_reset
...
Attitude reset after heading reset
2016-02-26 22:35:14 +11:00
mcsauder
5fb48a2e7b
Merge remote-tracking branch 'upstream/master'
2016-02-25 22:51:58 -07:00
mcsauder
5fec0df70d
Additional initializations required to reset complimentary filter values if the state estimate ever diverges and requires re-initiailization.
2016-02-25 22:51:14 -07:00
Roman Bapst
9192ced7bb
do not reset output attitude state after heading reset to avoid jumps in attitude
2016-02-25 18:20:29 +01:00
Lorenz Meier
cd5857e900
Add vibration magnitude estimation
2016-02-25 16:54:24 +01:00
Paul Riseborough
cd0cac066a
EKF: Calculate and publish horizontal and vertical position accuracy
...
This calculation takes into account the uncertainty of the origin.
Dead reckoning status is also published
2016-02-25 10:38:07 +11:00
Paul Riseborough
a30830a7a9
EKF: Scale position observation noise with GPS quality
...
This allows the filter to adapt to variations in GPs quality.
The range of adjustment in observation noise is limited to the range between a lower limit set by the GPS observation noise parameter and an upper limit set by the no-aiding observation noise.
2016-02-25 10:16:32 +11:00
Paul Riseborough
5483e7a477
Merge pull request #60 from PX4/pr-ReduceMagModeSwitchKick
...
EKF: Fix Bug Causing Roll/pitch Disturbances On Mag Fusion Mode Switch
2016-02-25 09:42:18 +11:00
Paul Riseborough
f55a0bff53
EKF: Fix code style
2016-02-25 08:17:50 +11:00
Paul Riseborough
5b5bddebea
EKF: Always reset yaw and mag field states on entry into 3-axis mag fusion mode
2016-02-25 08:16:42 +11:00
Paul Riseborough
2d09a5f3ac
EKF: Don't reset yaw and mag field states when not necessary
2016-02-25 08:16:42 +11:00
Paul Riseborough
380db7ebef
EKF: Reset angle error covariance after yaw and mag field reset
...
The yaw angle could have changed by a significant amount making the correlations invalid.
Setting angle variances to zero prevents the initial kick in angles due to 3D fusion starting
2016-02-25 08:16:42 +11:00
Paul Riseborough
e938475acc
Merge pull request #59 from PX4/pr-ImprovedStartup
...
Improvements to EKF startup - partially replaces PR#57
2016-02-24 18:27:12 +11:00
Paul Riseborough
0ad5329caf
EKF: Update comments in heading fusion to clarify calculation of magnetic heading
2016-02-24 12:06:11 +11:00
Paul Riseborough
36affe3cd8
EKF: Fix bug causing incorrect initial roll when inverted
2016-02-24 11:56:12 +11:00
Paul Riseborough
016695fc3e
EKF: Reduce startup transients
...
Update initial state variance values
2016-02-24 11:48:42 +11:00
Siddharth Bharat Purohit
9c7a3f366c
Merge pull request #54 from mcsauder/master
...
Address C99 compatibility issues by relocating variable initialization. - Replaces PR#50
2016-02-23 15:53:04 -08:00
mcsauder
6613335937
Added constexpr back from const var type.
2016-02-23 16:15:52 -07:00
mcsauder
342010c113
Update c style array initialization to attempt to pass Travic CI build tests.
2016-02-23 15:52:02 -07:00
mcsauder
48e80e9e3e
Correct C style array initialization.
2016-02-23 15:16:40 -07:00
mcsauder
f9f00fa52b
Remove unnecessary include.
2016-02-23 14:00:39 -07:00
mcsauder
ccb5736353
Spaces to tab.
2016-02-23 19:58:30 -07:00
mcsauder
a4cecb1704
Match variable initialization order difference with upstream.
2016-02-23 19:57:27 -07:00
mcsauder
79d07c831f
Convert spaces to tabs to match upstream.
2016-02-23 19:53:55 -07:00
mcsauder
6c96f45f08
Remove whitespace differences with upstream for pull request.
2016-02-23 19:49:27 -07:00
mcsauder
fad1c87631
Merge upstream and resolve merge conflicts.
2016-02-23 19:29:30 -07:00
Siddharth Bharat Purohit
237ecfef1a
Add travis build check badge
2016-02-22 23:49:58 -08:00
Roman Bapst
8eb63a150d
Merge pull request #53 from bugobliterator/pr-sharedlib
...
Shared Library build
2016-02-23 08:30:46 +01:00
Paul Riseborough
35865048a2
Merge pull request #55 from PX4/pr-FixYawFusionBug
...
Fix bug in heading fusion and add new method for ground/indoor use
2016-02-21 09:41:18 +11:00
Paul Riseborough
70a3b91217
EKF: Update magnetometer fusion derivations
2016-02-20 20:09:15 +11:00
Paul Riseborough
a711632017
EKF: Add method to fuse horizontal magnetometer data
...
This method is more suitable than a raw heading measurement because it works across a full range of pitch angles.
It has been made the default for ground operation.
2016-02-20 19:45:32 +11:00
mcsauder
4ce4724105
Added variable initializations back into EstimatorInterface() constructor to resolve a runtime error that occurs with uninitialized variables.
2016-02-19 23:57:06 -07:00
Paul Riseborough
6df6ac0023
EKF: Fix sign error in heading innovation calculation and clean up
2016-02-20 11:54:53 +11:00
Paul Riseborough
90e1bd3e36
EKF: wrap compass yaw estimate
2016-02-19 16:53:55 +11:00
Paul Riseborough
7d6226eb45
EKF: Improve efficiency of yaw angle fusion
...
Use direct calculation of Kaman gains with optimised algebra
2016-02-19 16:25:01 +11:00
Paul Riseborough
7f121e81e4
EKF: Update yaw innovation calculation to match revised derivation
...
The new derivation does not use magnetic field measurements in the observation model and instead fuses in a heading measurement directly.
2016-02-19 16:18:07 +11:00
mcsauder
72243c4a84
Resolve tab/space differences with upstream master.
2016-02-18 03:28:40 -07:00
mcsauder
437f6ca5fb
Moved initialization to object constructors to allow C99 compiler compatibility.
2016-02-18 03:21:04 -07:00
Lorenz Meier
2b2c490382
Validator: Add function for 1D use of the 3D validator
2016-02-18 09:31:36 +01:00
bugobliterator
ba7f0fc9ff
EKF: add licensing information for mathlib header and src
2016-02-17 20:02:08 -08:00
bugobliterator
80632cc12c
EKF: add comments and licensing information to builder files
2016-02-17 19:55:47 -08:00
bugobliterator
e65c348905
EKF: add travis build
2016-02-17 18:51:40 -08:00
bugobliterator
a40eb7cf37
EKF: add check for existence of matrix submodule
2016-02-17 17:51:09 -08:00
Siddharth Bharat Purohit
64a7b14171
update readme to include steps to build EKF shared object
2016-02-17 17:46:48 -08:00
bugobliterator
cba5271785
add matrix submodule
2016-02-17 17:38:21 -08:00
bugobliterator
2f05f778de
ignore build directory
2016-02-17 17:34:28 -08:00
bugobliterator
263c48d089
EKF: remove dependecies and allow ekf to be built as standalone shared lib
2016-02-17 17:33:18 -08:00
Paul Riseborough
96c0e18acb
Merge pull request #49 from PX4/pr-fixMagCovariance
...
EKF: Fix magnetometer fusion and covariance handling
2016-02-18 10:22:36 +11:00
Roman Bapst
678d6f45cc
Merge pull request #52 from bugobliterator/pr-airspeed-sample-fix
...
EKF: fix time of sample receive setting
2016-02-17 22:34:30 +01:00
bugobliterator
2096e24c06
EKF: fix time of sample receive setting
2016-02-17 13:29:12 -08:00
Paul Riseborough
a679cdf1fb
EKF: Change parameter default to not fuse declination when aiding
...
Ground and flight testing has shown declination drift to not be a problem with current tuning and realistic vehicle motion.
2016-02-17 17:22:02 +11:00
Paul Riseborough
abf9476853
EKF: miscellaneous formatting and typo updates
2016-02-16 11:08:30 +11:00
Paul Riseborough
ffe1d30864
EKF: Set covariances to zero for un-used states
2016-02-16 11:08:30 +11:00
Paul Riseborough
294aca8609
EKF: Improve variance limiting for stationary states
...
Turn off the process noise if they grow too large and use the hard variance limit as a backup. This is numerically more stable than relying on a hard variance limit which does not deal with the covariances.
2016-02-16 11:08:30 +11:00
Paul Riseborough
1d40507af8
EKF: Set Kaman gains to zero for un-used states
...
This is a defensive programming technique. In theory this should not be necessary if the corresponding covariance entries are zero.
2016-02-16 11:08:30 +11:00
Paul Riseborough
69b8982043
EKF: Initialise variances to zero for un-used states
...
Setting these variances to zero makes it less likely that these states will be modified by fusion processing.
2016-02-16 11:08:30 +11:00
Paul Riseborough
d9bf4e9870
EKF: Enable control mode transitions to be detected
...
Save the previous value of the filter control modes
2016-02-16 11:08:30 +11:00
Paul Riseborough
402206a305
EKF: Fix critical bug in fusion of yaw and declination observations
...
This bug was in the derivation and resulted from use of a tan instead of an atan operator. The derivations have been reworked and the updated auto-code has been imported as part of this patch.
2016-02-16 11:08:30 +11:00
Paul Riseborough
d8afca5e7a
EKF derivations: Correct error in direct yaw and declination angle fusion
...
The atan function is now being used correctly instead of the tan function. This fixes problems with large heading errors or declination values.
The simple heading fusion has been decoupled from the magnetic field measurements. This enables external yaw measurements to be used in the future.
2016-02-16 11:08:30 +11:00
Paul Riseborough
7da40a45a4
EKF: Add control mode for wind state estimation
2016-02-16 11:08:30 +11:00
Paul Riseborough
de02aebafd
EKF: Reset covariance matrix when doing a yaw and magnetic field reset
...
The correlation terms in the covariance matrix will be incorrect after a reset, so should be zeroed
2016-02-14 22:01:53 +01:00
Paul Riseborough
dba58aa4c6
EKF: Add control logic for fusion modes
2016-02-14 22:01:53 +01:00
Paul Riseborough
22c177c951
EKF: Re-align yaw and magnetic field states when changing into GPS aiding mode
2016-02-14 22:01:53 +01:00
Paul Riseborough
c089079321
EKF: Split tilt and yaw align
2016-02-14 22:01:53 +01:00
Paul Riseborough
020cc5978e
EKF: Move calculation of declination into a separate function
2016-02-14 22:01:53 +01:00
Paul Riseborough
aa58b3e98c
EKF: Split angular alignment into tilt and yaw and use yaw and magnetic field alignment function
2016-02-14 22:01:53 +01:00
Paul Riseborough
2bbe7f9a1c
EKF: Update magnetometer fusion to use declination from the specified source
2016-02-14 22:01:53 +01:00
Paul Riseborough
83945581ed
EKF: Add function to calculate the magnetic declination to use
2016-02-14 22:01:53 +01:00
Paul Riseborough
9017e077f8
EKF: Publish the magnetic declination we wish to save for next startup
2016-02-14 22:01:53 +01:00
Paul Riseborough
0308f2f796
EKF: Add parameters to control declination source and fusion type
2016-02-14 22:01:53 +01:00
Paul Riseborough
6140d4b21f
EKF: Add function to reset yaw and magnetic field states
2016-02-14 22:01:53 +01:00
Roman
ad978c642f
estimator interface:
...
added flag for in_air status of vehicle
2016-02-14 20:43:22 +01:00
Roman
ce0ddc0207
-added comments
...
-removed unused print functions
-removed false _imu_time_last variable (correct is _time_last_imu)
2016-02-14 09:49:26 +01:00
Paul Riseborough
9d7340e187
EKF: Fix bugs in position and velocity resets
...
The position reset was not being compensated for velocity and measurement delay
The height was being reset with the position. It has been moved into a separate reset function
The maximum accepted GPS delay of 100msec was inadequate
The states was being incorrectly reset to the GPS position and Baro height on initial alignment.
2016-02-14 09:49:26 +01:00
Paul Riseborough
da1de2cc4d
EKF: Correct for sensor noise and baro offset during alignment
2016-02-14 09:49:26 +01:00
Roman Bapst
d21ce70eeb
Merge pull request #45 from CarlOlsson/move_fuse_function_to_helper
...
moved fuse function to ekf_helper.cpp
2016-02-13 08:21:28 +01:00
CarlOlsson
1e766c7510
moved fuse function to ekf_helper.cpp
2016-02-12 15:54:32 +01:00
Lorenz Meier
0a9f7e58db
Merge pull request #43 from PX4/pr-baroHeightOffset
...
Correct for sensor noise and baro offset during alignment
2016-02-10 08:02:48 +01:00
Paul Riseborough
fff2bd50f6
EKF: Fix bugs in position and velocity resets
...
The position reset was not being compensated for velocity and measurement delay
The height was being reset with the position. It has been moved into a separate reset function
The maximum accepted GPS delay of 100msec was inadequate
The states was being incorrectly reset to the GPS position and Baro height on initial alignment.
2016-02-10 15:16:05 +11:00
Paul Riseborough
40e174b81c
EKF: Correct for sensor noise and baro offset during alignment
2016-02-10 10:25:27 +11:00
Paul Riseborough
a6515543da
Merge pull request #41 from PX4/pr-magFusionUpdates
...
EKF2: Prevent declination/heading drift during non-GPS operation
2016-02-09 07:57:34 +11:00
Paul Riseborough
5ea0ef39cd
EKF: Update declination fusion logic
...
We do not need to run declination fusion if 3-axis mag fusion is not being used.
2016-02-09 07:54:24 +11:00
Paul Riseborough
47ab5ebcdd
EKF: Make PR comply with project convention for indenting
2016-02-08 15:12:38 +11:00
Paul Riseborough
cdc42c1de0
EKF: Add simple control logic for magnetic declination constraint
2016-02-08 14:18:43 +11:00
Paul Riseborough
dbb8e12948
EKF: Add fusion method to constrain declination when unobservable
...
When fusing 3-axis magnetometer data without absolute external aiding leg GPS), the declination is ultimately unobservable and the declination of the field states and the vehicle heading will slowly drift over time. To prevent this we need to fuse in a declination to constraint the NE earth field estimates.
2016-02-08 14:18:43 +11:00
Paul Riseborough
9347afe250
EKF: Use unique variable name for mag heading fusion observation Jacobian
2016-02-08 14:18:43 +11:00
Paul Riseborough
6aeccf01ff
EKF: Add missing fusion health status messages
2016-02-08 14:18:43 +11:00
Paul Riseborough
a22886544d
EKF: Add missing Kalman gain to Declination fusion autocode
2016-02-08 14:02:08 +11:00
Paul Riseborough
2c8c6efb45
EKF: Eliminate use of power function to square numbers
...
Use of the power function to square a number can be very inefficient depending on processor and compiler. Replace with an inlined function that multiplies the number by itself. This has not been put into the maths library because the use of the sq() function is peculiar to the autocode generated for the EKF and an inlined function was desired.
2016-02-08 11:11:59 +11:00
Paul Riseborough
42a943b37e
EKF: Fix text errors introduced when editing optical flow fusion autocode fragment
2016-02-07 21:49:50 +11:00
Paul Riseborough
f99256286b
Merge pull request #40 from PX4/pr-updateOpticalFlowAutoCode
...
Update EKF Optical Flow Fusion Autocode Fragments
2016-02-07 19:35:38 +11:00
Paul Riseborough
384ce06110
EKF: Add alternative code fragments for optical flow fusion
...
These fragments were generated using the inbuilt matlab symbolic toolbox autocoder and may be more efficient than the other method
2016-02-07 19:31:13 +11:00
Paul Riseborough
dba462b9f3
EKF: Improve efficiency of optical flow fusion auto generated code fragments
2016-02-07 19:29:49 +11:00
Paul Riseborough
3f81eb7d1b
EKF: fix formatting
2016-02-04 17:15:03 +11:00
Paul Riseborough
9bfc11b660
EKF: Use specific position observation noise when flying without GPS
...
A larger position uncertainty is required when flying without GPS to reduce tilt attitude estimation errors caused by vehicle manoeuvring. This needs to be tuneable to allow optimisation for different use cases (e.g. outdoor vs indoor).
2016-02-03 18:40:32 +11:00
Paul Riseborough
7de1d39ce4
EKF: Improve use of position and velocity observation noise parameters
...
Fix bug where noise parameters were not being squared when calculating the observation variance.
Use GPS reported speed accuracy to set velocity observation noise and use the parameter to set the minimum.
2016-02-03 18:15:38 +11:00
Paul Riseborough
2b1e8fe910
EKF: Update tuning parameters
...
Set conservative defaults as a baseline for tuning
Add a missing parameter for magnetometer observation noise.
Correct error in definition of magnetic heading observations noise (previous parameter defined the variance directly, not the noise).
Scale vertical GPS noise to allow for average EPV to EPH ratio.
Update documentation and display names for consistency.
2016-02-03 17:05:45 +11:00
Lorenz Meier
b21a49b3f9
EKF: Use standard C++ initializers
2016-01-31 23:24:36 +01:00
Roman
b749a7557b
fixed typos
2016-01-31 21:36:58 +01:00
bugobliterator
d79e12dfa1
EKF: fix code style
2016-01-31 00:12:16 -08:00
bugobliterator
8200ef4d17
EKF: allocate and unallocate buffer more robustly
2016-01-31 00:12:16 -08:00
bugobliterator
c6249a2825
EKF: change estimator base class name to estimation interface
2016-01-31 00:12:07 -08:00
bugobliterator
3cafedd4c1
EKF: start storing samples only when ekf is initialised
2016-01-30 12:46:01 -08:00
bugobliterator
b062bd2e38
EKF: move estimator specific variables to estimator core
2016-01-30 12:45:23 -08:00
bugobliterator
287f5eb0c2
EKF: move all estimator specific types to common header
2016-01-30 12:44:19 -08:00
bugobliterator
b05e2d825c
EKF: move estimator specific initialisations to estimator core
2016-01-30 12:42:24 -08:00
Paul Riseborough
f1b82057c0
EKF: Combine GPS velocity innovation gate parameters
...
Separate vertical and horizontal parameters for GPS velocity innovation gates are not required
2016-01-30 12:21:50 -08:00
Paul Riseborough
466a104534
EKF: additional GPS check logic
...
Improve naming of NED origin initialisation status
Add check for GPS solution type
Use GPS checks when regaining GPs in-flight
2016-01-30 12:21:39 -08:00
bugobliterator
a779d45cd0
ekf2: fix bug causing faulty imu data storage
2016-01-29 23:56:24 -08:00
bugobliterator
92dc41e885
EKF: fix typo in function declaration
2016-01-29 20:05:07 -08:00
bugobliterator
3eea6cdcc5
EKF: use namespace for structure definitions
...
will be moved to a separate file in the future
2016-01-29 20:04:21 -08:00
bugobliterator
001d621eb1
EKF: move imu data processing code to estimator core
2016-01-29 20:03:25 -08:00
bugobliterator
251996d387
ekf: move gps checks to Ekf library from estimator_base
2016-01-29 17:15:18 -08:00
Paul Riseborough
46b0e9654c
Add filter control logic
2016-01-30 09:01:48 +11:00
Paul Riseborough
9236f11c80
EKF: Add position and velocity innovation consistency checks
2016-01-28 16:33:54 +11:00
Paul Riseborough
7713cc8c20
Merge pull request #17 from priseborough/pr-addMagErrHandling
...
EKF: Add magnetometer fusion error handling
2016-01-28 13:43:57 +11:00
Lorenz Meier
f4b2c0eecf
Merge pull request #11 from mcharleb/PRIu64-fix
...
Fixed printf of uint64_t
2016-01-28 01:01:10 +01:00
Paul Riseborough
802129f384
EKF: Add magnetometer fusion error handling
2016-01-28 09:53:55 +11:00
Paul Riseborough
39eef3a2d7
EKF: Remove use of camel case variable names
...
Also fixes bug in GPS speed accuracy check that was using horizontal position accuracy variable by mistake.
2016-01-28 08:37:45 +11:00
Paul Riseborough
cc50d26601
EKF: Update comments
2016-01-28 08:13:38 +11:00
Paul Riseborough
4526cb9c4f
EKF: remove redundant variable
2016-01-28 07:50:45 +11:00
Paul Riseborough
6326433c47
EKF: Eliminate call to hrt_absolute_time()
...
This will make the library more portable
2016-01-27 19:04:31 +11:00
Paul Riseborough
94a6644684
Add comprehensive user selectable GPS checks
2016-01-25 13:07:57 +11:00
Roman
8d0022ab1e
enable estimator state and innovations data logging
2016-01-22 11:31:14 +01:00
Roman
86df68e404
added interface for parameters
2016-01-22 10:45:03 +01:00
Roman Bapst
9b7afa2600
Merge pull request #12 from nickolasrossi/master
...
fix buffer overflow in constrain of wind velocity
2016-01-20 07:27:00 +01:00
nickolasrossi
dfbbd36ff7
fix buffer overflow in constrain of wind velocity
2016-01-19 18:25:22 -08:00
Mark Charlebois
79bf35c4b3
Fixed printf of uint64_t
...
Must use PRIu64 to prevent compiler errors.
Signed-off-by: Mark Charlebois <charlebm@gmail.com >
2016-01-18 22:19:10 -08:00
Roman Bapst
2c80614e20
Merge pull request #10 from PX4/delta_ang_bias_fix
...
fix delta angle bias usage:
2016-01-14 17:10:47 +01:00
Roman
0b5c90574c
fix delta angle bias usage:
...
the delta angle bias was applied to imu data which was not coming in the same
time intervall as the filter was operating. Therefore, the delta angle bias
applied to new imu data had to be scaled correctly in order to match
the imu time interval.
2016-01-14 17:06:02 +01:00
Roman Bapst
749156d4aa
Merge pull request #7 from PX4/ekf2_fixes
...
Ekf2 fixes
2016-01-08 07:09:01 +01:00
Roman
2af5856361
initialise output height with baro
2016-01-08 06:59:10 +01:00
Roman
a41f75ffb1
use full mag fusion
2016-01-08 06:59:10 +01:00
Roman
f8354bb5e9
- do not fake vertical gps measurement as we have baro
...
- formatting
Conflicts:
EKF/ekf.cpp
2016-01-08 06:59:10 +01:00
Roman
2a88fc6cfd
initialise vertical position correctly
2016-01-08 06:42:22 +01:00
Roman
5aa5f7f8c3
use correct timestamp for measurements
2016-01-08 06:42:03 +01:00
Lorenz Meier
b542e2b49b
Merge pull request #6 from mcharleb/hexagon_support
...
Added hexagon support
2016-01-08 00:37:32 +01:00
Mark Charlebois
b8837b4dc6
Added hexagon support
...
std::to_string is not supported in the Hexagon complier
Signed-off-by: Mark Charlebois <charlebm@gmail.com >
2016-01-07 14:54:55 -08:00
Lorenz Meier
b457709bd9
Merge pull request #4 from PX4/paul-wip
...
EKF: Fix 'Dizzy on Startup' behaviour
2016-01-03 02:00:23 +01:00
Paul Riseborough
edfb7aefcc
EKF: Fix initial alignment errors
...
Use the gravity vector to estimate the initial roll and pitch angle
Use the projection of the magnetic field measurement onto the earth axis horizontal plane to calculate the initial heading
2016-01-03 00:03:03 +11:00
Lorenz Meier
52cb9d02c7
EKF: Initialize all local structs and variables
2016-01-01 12:31:36 +01:00
Lorenz Meier
7537c966f9
Merge pull request #3 from PX4/paul-wip
...
Enable use of POSCTL mode with EKF2
2016-01-01 11:41:14 +01:00
Paul Riseborough
0cb210d045
EKF: Changes required to enter POSCTL mode
2016-01-01 11:56:38 +11:00
Lorenz Meier
eda69e727f
Do not print states by default
2015-12-24 13:48:22 +01:00
Lorenz Meier
ec0189bb3c
Update README
2015-12-24 13:47:02 +01:00
Lorenz Meier
101bcdc4e1
Ignore system and temp files
2015-12-24 13:46:52 +01:00
Lorenz Meier
e2e93ca100
Update README
2015-12-24 10:25:31 +01:00
Roman
457a57c6ff
use simple heading fusion
2015-12-22 18:00:59 +01:00
Lorenz Meier
6b49e2495c
Fix field initializers
2015-12-22 17:25:08 +01:00
Lorenz Meier
8894786752
Estimator base: Fix printf formatting
2015-12-22 17:24:58 +01:00
Lorenz Meier
faf48242ed
EKF: Fix ringbuffer warnings
2015-12-22 17:24:43 +01:00
Roman
5e5d6f432a
added static gps mode and init mag state correctly
2015-12-22 11:22:17 +01:00
Lorenz Meier
21fa17c948
Fix field initializers
2015-12-21 18:56:15 +01:00
Lorenz Meier
e8273208d7
EKF: Remove excessive verbosity
2015-12-21 11:52:05 +01:00
Lorenz Meier
0da1aa54af
Ignore system and temp files
2015-12-21 11:29:57 +01:00
Lorenz Meier
155ba9f796
Estimator base: Fix printf formatting
2015-12-21 11:27:11 +01:00
Lorenz Meier
2a6e48332d
EKF: Fix ringbuffer warnings
2015-12-21 11:26:50 +01:00
Roman
f153a7cb44
added ifdef guard
2015-12-19 09:40:32 +01:00
Roman
772c1bf981
compile fw wheel controller code
2015-12-19 09:38:10 +01:00
Roman
3c7705b3f9
checked out attitude fw folder from master
2015-12-19 09:37:40 +01:00
Roman
d009118437
set stack size for ecl
2015-12-19 09:16:17 +01:00
Roman
dd171670ca
checked out validation code from master
2015-12-19 08:53:08 +01:00
Roman Bapst
c58d1df7bc
fixed cmake file
2015-12-10 16:49:42 +01:00
Roman Bapst
d233ca3990
added complementary filter for real time state estimation
2015-12-10 16:36:10 +01:00
Roman Bapst
67646a15b0
added full mag fusion
2015-12-10 09:07:00 +01:00
Roman
8de8b0eb76
prediction and vel pos heading fusion working
2015-12-09 17:47:52 +01:00
Roman
921df43d32
added tests for EKF ringbuffer
2015-12-07 22:41:11 +01:00
Roman
d90c8fd7c2
fixed bug in covariance prediction
2015-12-07 22:41:11 +01:00
Roman
cfc39bc2f9
implemented prediction of states and covariance matrix
2015-12-07 22:41:11 +01:00
Roman
16eb3b0e96
cmake: added new files for compilation
2015-12-07 22:41:11 +01:00
Roman
b52e38eb9d
fix
2015-12-07 22:41:11 +01:00
Roman
cd5db8f494
enhance ringbuffer
2015-12-06 17:07:44 +01:00
Roman
b3491bcfc3
added file with ekf helper functions
2015-12-06 13:19:25 +01:00
Roman
859502753d
added file with covariance calculations
2015-12-06 13:10:49 +01:00
Roman Bapst
144aa9c461
added base class for data storage
2015-12-05 11:08:06 +01:00
Paul Riseborough
83079e0e11
Inertial Nav EKF: add notes on use of generated code
2015-11-04 17:05:23 +11:00
Paul Riseborough
b92c99073e
Update read
2015-11-03 12:29:55 +11:00
Paul Riseborough
06e9d73268
Add derivation script files for inertial nav EKF
2015-11-03 12:24:43 +11:00
Paul Riseborough
b3bd09d5b9
Rename directory
2015-11-03 12:24:25 +11:00
Paul Riseborough
af6a196187
Add generated code for 24 state Nav Filter
2015-11-03 12:17:02 +11:00
Lorenz Meier
363b7d8c36
Adding blank folders and instructions
2015-10-27 11:12:05 +01:00
Lorenz Meier
e5743d503c
Initial import
2015-10-26 16:06:30 +01:00
Lorenz Meier
86fb72d3a3
Initial commit
2015-10-26 15:41:25 +01:00