Daniel Agar
0742d356f5
ekf2: more conservative clipping checks for bad_acc_clipping fault status ( #23337 )
...
- track accel clipping count per axis
- only set bad_acc_clipping fault_status if at least one axis is
clipping continuously or if all have been clipping at warning level
- Note: this doesn't impact the clipping projections that boost the
accel process noise, pause bias estimation, and skip gravity fusion
on a per sample basis
2024-06-28 16:45:08 -04:00
Daniel Agar
30b854da35
ekf2: verbose logging control (new EKF2_LOG_VERBOSE)
...
- new parameter EKF2_LOG_VERBOSE to enable (currently enabled by default)
- force advertise topics immediately (based on EKF2_LOG_VERBOSE and per aid source configuration)
- logger optionally log all estimator topics at minimal rate
2024-06-27 01:10:57 -04:00
Daniel Agar
78fd9a15f8
flight_mode_manager: delete unused avoidance waypoint
2024-06-27 01:08:16 -04:00
Daniel Agar
338bcc6ca3
ekf2: disable EKF2_EV_CTRL and EKF2_AGP_CTRL by default
2024-06-26 17:10:28 -04:00
Daniel Agar
30ce560e3a
ekf2: mag control reset filtered test ratio on start (if aligning yaw)
2024-06-20 13:41:54 -04:00
Daniel Agar
dcb1103299
ekf2: move estimator_status test ratios to filtered values
2024-06-20 13:41:54 -04:00
Daniel Agar
741c7ab610
Update submodule GPS drivers to latest Wed Jun 19 00:38:26 UTC 2024
...
- GPS drivers in PX4/Firmware (e5d44cc1ba691f075bc2bce52dea7ec88af9e6cd): https://github.com/PX4/PX4-GPSDrivers/commit/0b79ec4dbe3e5ac5925c011067e7e294033a0a32
- GPS drivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/a41210ede8c2d22dd8e9fdcf388fca927c1fc5e1
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/0b79ec4dbe3e5ac5925c011067e7e294033a0a32...a41210ede8c2d22dd8e9fdcf388fca927c1fc5e1
a41210e 2024-06-18 Daniel Agar - sbf: fix code style
2024-06-18 21:03:27 -04:00
Daniel Agar
e33ba810e9
boards: px4_fmu-v5x_test disable differential_drive module to fix flash overflow
2024-06-18 18:48:13 -04:00
Daniel Agar
69a4a11c7f
boards: cuav/nora disable modules to fix flash overflow
2024-06-18 18:47:42 -04:00
Daniel Agar and PX4 BuildBot
81f26be846
Update submodule GPS drivers to latest Tue Jun 18 12:39:32 UTC 2024
...
- GPS drivers in PX4/Firmware (c29d189788090f6994e488f65789a8fe6b835d8d): https://github.com/PX4/PX4-GPSDrivers/commit/d92cf3a2b2704d5509b651bfca33cdfea3a7a18a
- GPS drivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/0b79ec4dbe3e5ac5925c011067e7e294033a0a32
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/d92cf3a2b2704d5509b651bfca33cdfea3a7a18a...0b79ec4dbe3e5ac5925c011067e7e294033a0a32
0b79ec4 2024-04-12 Thomas Frans - sbf: fix issue with automatic base config in QGC
5810dac 2024-04-12 Thomas Frans - style: add editorconfig file for consistent style
915024c 2024-03-26 Julian Oes - sbf: fix subsequent init in QGC
3ea1d76 2024-03-04 Julian Oes - sbf: don't foget to configure RTCM
c6da592 2024-03-04 Julian Oes - sbf: don't change baudrate of USB port
Co-authored-by: PX4 BuildBot <bot@px4.io >
2024-06-18 13:55:02 -04:00
Daniel Agar
8b9900cce3
mc_pos_control: new velocity low pass and notch filter (optional, disabled by default)
...
- MPC_VEL_LP: new velocity first order low pass filter (off by default)
- MPC_VEL_NF_FRQ/MPC_VEL_NF_BW: new velocity notch filter (off by default)
- MPC_VELD_LP: existing velocity derivative low pass filter, but I've dropped the remaining controllib usage
2024-06-18 11:47:19 -04:00
Daniel Agar
206488b844
ekf2: innovation sequence monitoring for all aid sources
...
- add new 'innovation_filtered' and 'test_ratio_filtered' fields to
estimator_aid_source topics
2024-06-17 15:30:42 -04:00
Daniel Agar
f9160853fa
rc_update: purge deprecated RC switch parameters
...
- these are old RC switch configuration parameters that haven't been used for
years, but were hardcoded into old versions of QGC
- RC_MAP_RATT_SW, RC_MAP_POSCTL_SW, RC_MAP_ACRO_SW, RC_MAP_STAB_SW, RC_MAP_MAN_SW deleted
-
2024-06-17 12:03:13 -04:00
Daniel Agar
c0d6b67633
matrix: Vector2/Vector4 override ops so specific Vector type is returned
...
- mirrored from Vector3
2024-06-14 10:53:27 -04:00
Daniel Agar
783cf9aede
vscode: cmake default status bar visibility
...
- this is important for setting the active PX4 configuration
2024-06-14 10:52:19 -04:00
Daniel Agar
fb659ae200
ekf2: stopMagFusion() reset yaw_align if mag heading was active
...
- we also need to clear mag_aligned_in_flight
2024-06-06 10:08:20 -04:00
Daniel Agar
bfe3c86aeb
ekf2: merge mag yaw angle observability into heading consistency
...
- the additional hyteresis logic for "yaw angle observable" was
needed when it controlled time dependent mag_3d
2024-06-06 10:07:31 -04:00
Daniel Agar
157f7cf40b
simplify world_magnetic_model interface (degrees in, degrees out)
...
- this hopefully helps avoid accidental mis-use
- try to clarify units everywhere
2024-06-04 09:14:36 -04:00
Daniel Agar
5fa3b9d86a
lib/world_magnetic_model: fetch_noaa_table.py refactor and scaling improvements
...
- upate to NOAA grid API to build WMM table in one pass
- refactor declination/inclination/totalintensity table printing to
shared method
- compute scaling factor to maximize resolution
2024-06-04 09:14:36 -04:00
Daniel Agar
f3d152741c
boards: sky-drones_smartap-airlink_default disable gyro_fft module to save flash
2024-05-29 20:38:49 -04:00
Daniel Agar
b36f47535e
boards: px4_fmu-v6c_default disable gyro_fft module to save flash
2024-05-29 20:38:49 -04:00
Daniel Agar
a80c96e575
boards: px4_fmu-v5x_test disable payload_deliverer module to save flash
2024-05-29 20:38:49 -04:00
Daniel Agar and bresch
d359f6236e
ekf2: symforce zero more efficiently ( #23133 )
...
- increase symforce CppConfig zero_initialization_sparsity_threshold so
that a Matrix setZero() call is performed instead of individually zeroing
Co-authored-by: bresch <brescianimathieu@gmail.com >
2024-05-17 11:20:30 +02:00
Daniel Agar
bb5dfc7d51
integrationtests: mavros/mission_test.py bump yaw_error_std threshold (heading init is delayed, but not wrong)
2024-05-17 11:19:04 +02:00
Daniel Agar
5173830718
ekf2: mag fusion don't update all states or tilt by default
...
- cleanup some of the legacy mag flags
2024-05-17 11:19:04 +02:00
Daniel Agar
bfc39cf341
ekf2: mag control always populate estimator aid src
2024-05-17 11:19:04 +02:00
Daniel Agar
95ae5a657d
ekf2: merge mag_3d_control + mag_control
2024-05-17 11:19:04 +02:00
Daniel Agar
224d6f2fa7
ekf2: ekf_helper.cpp remove duplicate method comments (comment on declaration only, not definition)
2024-05-02 17:40:58 -04:00
Daniel Agar
c1fc893cca
ekf2: move gyro/accel/wind covariance reset helpers to covariance.cpp
2024-05-02 17:40:58 -04:00
Daniel Agar
63c2ea33c1
ekf2: move Ekf::resetQuatStateYaw() to yaw_fusion.cpp
2024-05-02 17:40:58 -04:00
Daniel Agar
1ca4056b6a
ekf2: delete unused Ekf::resetImuBias()
2024-05-02 17:40:58 -04:00
Daniel Agar
6b3b66619b
ekf2: move baro dynamic pressure compensation to aid_sources/barometer
2024-05-02 17:40:58 -04:00
Daniel Agar
4f0eb72fc9
ekf2: move IMU down sampler to imu_down_sampler/
2024-05-02 17:40:58 -04:00
Daniel Agar
58637d3825
ekf2: move terrain estimator and derivation to terrain_estimator/
2024-05-02 17:40:58 -04:00
Daniel Agar
58de8cbb77
ekf2: move fake_height, fake_pos, zero_innovation_heading to aid_sources/
2024-05-02 17:40:58 -04:00
Daniel Agar
49c782bad9
ekf2: move bias estimators to bias_estimtor/
2024-05-02 17:40:58 -04:00
Daniel Agar
e262fde4dc
ekf2: move aux global position fusion to aid_sources/aux_global_position
2024-05-02 17:40:58 -04:00
Daniel Agar
b8d46e60a5
ekf2: move mag fusion to aid_sources/magnetometer
2024-05-02 17:40:58 -04:00
Daniel Agar
3f6c3e0649
ekf2: move output predictor to output_predictor/
2024-05-02 17:40:58 -04:00
Daniel Agar
24fdd696cb
ekf2: move range finder files to aid_sources/range_finder
2024-05-02 17:40:58 -04:00
Daniel Agar
3dbd3f8a1a
ekf2: move airspeed fusion file to aid_sources/airspeed
2024-05-02 17:40:58 -04:00
Daniel Agar
789b2b3d8a
ekf2: move sideslip fusion file to aid_sources/sideslip
2024-05-02 17:40:58 -04:00
Daniel Agar
eb8ee74066
ekf2: move baro height file to aid_sources/barometer
2024-05-02 17:40:58 -04:00
Daniel Agar
de178b1435
ekf2: move gravity fusion file to aid_sources/gravity
2024-05-02 17:40:58 -04:00
Daniel Agar
78f2ccbb60
ekf2: move optical flow files to aid_sources/optical_flow
2024-05-02 17:40:58 -04:00
Daniel Agar
fcf94e7670
ekf2: move GNSS files to aid_sources/gnss
2024-05-02 17:40:58 -04:00
Daniel Agar
31ae5b77fe
ekf2: move drag_fusion file to aid_sources/drag
2024-05-02 17:40:58 -04:00
Daniel Agar
c3fb0b1090
ekf2: move auxvel file to aid_sources/auxvel
2024-05-02 17:40:58 -04:00
Daniel Agar
b5d1e87368
ekf2: move EV files to aid_sources/external_vision
2024-05-02 17:40:58 -04:00
Daniel Agar
c64104e9f1
sensors/vehicle_angular_velocity: silence gyro selection fallback warning (PX4_WARN -> PX4_DEBUG)
...
- this warning was to catch any potential errors in sensor selection
relative to what's actually available, we don't need to complain
about initial selection before the EKF selector is available
2024-05-02 11:53:31 -04:00
Daniel Agar
33234f4dc0
drivers/ins/vectornav: add missing sensor_gps velocity magnitude
2024-05-01 20:40:28 -04:00
Daniel Agar
b6da0b141d
ekf2: GPS yaw only invalidate yaw_align if stopping due to fusion failure
2024-04-29 21:04:21 -04:00
Daniel Agar
eb59bb9de9
simulation/gz_bridge: eliminate implicit float conversion
2024-04-24 15:51:30 -04:00
Daniel Agar
bfb04ddd19
CMakeLists: install_python_requirements allow --break-system-packages
2024-04-22 12:11:53 -04:00
Daniel Agar
0a7689f323
drivers/optical_flow/paa3905: fix RegisterRead udelay
2024-04-18 20:57:37 -04:00
Daniel Agar
2a328615ed
drivers/optical_flow/paw3902: fix RegisterRead udelay
2024-04-18 20:57:37 -04:00
Daniel Agar
ec3ceae45e
ekf2: move yaw_estimator and derivation to dedicated folder
2024-04-18 15:14:59 -04:00
Daniel Agar
78bbb66568
delete SYS_MC_EST_GROUP
...
- introduce per module parameters (EKF2_EN, LPE_EN, ATT_EN)
- add basic checks to prevent EKF2 + LPE running simultaneously
2024-04-15 16:06:08 -04:00
Daniel Agar
c024ea396a
boards/px4/fmu-v5x: remove legacy rover_pos_control to reduce flash usage
2024-03-22 15:17:03 -04:00
Daniel Agar
34c19b2e5a
boards/px4/fmu-v5x: default remove systemcmds/sd_stress to save flash
2024-03-20 12:35:34 -04:00
Daniel Agar and Mathieu Bresciani
35532609c9
mathlib: utilities refactor float to function template (for optional double precision usage)
...
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2024-03-20 11:10:37 -04:00
Daniel Agar
a1cce7e961
uxrce_dds_client: optimizations and instrumentation
...
- skip ping session if data flowing bidirectionally
- add perf counters for loop time and interval
- skip blocking poll if there's input data to read
2024-03-12 16:22:26 -04:00
Daniel Agar
b115d3cd44
uxrce_dds_client: refactor init to retry indefinitely
...
- move init from UxrceddsClient to init() method so that retry is
possible for both serial and UDP init
2024-03-12 16:22:26 -04:00
Daniel Agar
1c741836c0
sensors/vehicle_imu: sensor update loop limit iterations
2024-03-06 21:19:38 -05:00
Daniel Agar
8b6c70e0f2
sensors/vehicle_angular_velocity: sensor update loop limit iterations
2024-03-06 21:19:38 -05:00
Daniel Agar
1fc38aab92
sensors/vehicle_air_data: sensor update loop limit iterations
2024-03-06 21:19:38 -05:00
Daniel Agar
2bf1eeb003
sensors/vehicle_acceleration: sensor update loop limit iterations
2024-03-06 21:19:38 -05:00
Daniel Agar
87960c04d8
mag_bias_estimator: sensor update loop limit iterations
2024-03-06 21:19:38 -05:00
Daniel Agar
d96970a2b9
sensor/vehicle_magnetometer: sensor update loop limit iterations
...
- place upper bound to prevent looping indefinitely (high publish rate, etc)
2024-03-06 21:19:38 -05:00
Daniel Agar
8001132d33
ekf2: ZeroGyroUpdate move to fuseDirectStateMeasurement
2024-02-26 12:32:59 -05:00
Daniel Agar and Matthias Grob
b2b7439060
ROMFS: respect kconfig for including romfs files (airframes, etc) ( #22571 )
...
* ROMFS: respect kconfig for including romfs files (airframes, etc)
* ROMFS: only add R1 airframe with differential drive control
* ROMFS: adapt to differential drive module renaming
---------
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2024-02-23 15:40:00 +01:00
Daniel Agar
506c60c471
ekf2: declination fusion don't use uninitialized parameter (EKF2_MAG_DECL)
2024-02-21 09:45:44 -05:00
Daniel Agar
8243b4f474
ekf2: move vel/pos reset helpers
2024-02-20 13:16:24 -05:00
Daniel Agar
22b957696d
ekf2: velocity/position fusion helper minor consistency cleanup
2024-02-20 13:16:24 -05:00
Daniel Agar
c338891677
ekf2: split vel_pos_fusion.cpp
2024-02-20 13:16:24 -05:00
Daniel Agar
c4c41c49e5
ekf2: move fuseVelPosHeight() -> fuseDirectStateMeasurement()
...
- don't bother keeping bad_vel_{N,E,D} and bad_pos_{N,E,D} fault status bits
2024-02-20 13:16:24 -05:00
Daniel Agar
021dd0d0af
ekf2: fix EV height bias predict call
...
- needs to be called every iteration
2024-02-20 11:47:53 -05:00
Daniel Agar
1032dd3470
ekf: fix measurementUpdate comment typo
2024-02-19 09:41:49 +01:00
Daniel Agar
8dc3975456
ekf2: only populate gnss pos aid src status if ref initialized
...
- this is a minor logging improvement when plotting the position from the beginning of the log (often a replay session)
2024-02-15 13:13:10 -05:00
Daniel Agar
b8714f8980
ROMFS: rc.simulator EKF2 setup specific to gazebo classic
2024-02-13 11:14:44 -05:00
Daniel Agar and PX4 BuildBot
5f589bdda3
Update submodule GPSDrivers to latest Mon Feb 12 12:39:19 UTC 2024
...
- GPSDrivers in PX4/Firmware (17ff40898c683e1fe96ff9e2d2790594d188f872): https://github.com/PX4/PX4-GPSDrivers/commit/3393191fbb842f8e13a3f296218efec832640112
- GPSDrivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/f48cc01d31607baa4963bde090f530b44df3de12
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/3393191fbb842f8e13a3f296218efec832640112...f48cc01d31607baa4963bde090f530b44df3de12
f48cc01 2024-02-08 Julian Oes - ubx: separate config for jamming monitor
bc72f55 2024-02-08 Julian Oes - sbf: simplify odd define
Co-authored-by: PX4 BuildBot <bot@px4.io >
2024-02-12 08:58:21 -05:00
Daniel Agar and PX4 BuildBot
1d70e32551
Update world_magnetic_model to latest Wed Jan 24 11:14:20 UTC 2024
...
Co-authored-by: PX4 BuildBot <bot@px4.io >
2024-01-26 09:08:51 -05:00
Daniel Agar
4e0967889c
ekf2: add verbose print status (moved out of DEBUG_BUILD)
2024-01-24 21:49:26 -05:00
Daniel Agar and PX4 BuildBot
bc9ea95359
Update submodule GPSDrivers to latest Thu Jan 25 00:39:33 UTC 2024
...
- GPSDrivers in PX4/Firmware (12af7ff9904b2fdde39513c56a3e084eb23bcc7a): https://github.com/PX4/PX4-GPSDrivers/commit/63990d218ec35ea965d634af6a79d3155561b743
- GPSDrivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/836b24c10e0ccd0067500f367686acac6d34882d
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/63990d218ec35ea965d634af6a79d3155561b743...836b24c10e0ccd0067500f367686acac6d34882d
836b24c 2023-12-11 bedaberner - ubx: fixed wrong mapping of ubx-sat-nav used parameter
Co-authored-by: PX4 BuildBot <bot@px4.io >
2024-01-24 21:48:40 -05:00
Daniel Agar and bresch
51155f7a29
ekf2: treat inhibited states as "consider states" and remove conservative covariance matrix fixes ( #22597 )
...
When a state stops to be estimated it becomes a "consider state". Its value and variance are frozen but its covariance with other states continue to evolve normally.
- removes conservative accel bias variance limiting
- force symmetry is skipped after fusion of NED vel/pos (a direct measurement)
---------
Co-authored-by: bresch <brescianimathieu@gmail.com >
2024-01-24 14:14:09 -05:00
Daniel Agar
2c81c9fdea
boards: px4/fmu-{v5*,v6*} add dedicated rover board variants (eg px4_fmu-v6x_rover)
2024-01-24 14:06:49 -05:00
Daniel Agar
bf7da6430d
ekf2: consolidate LPOS & GPOS accuracy methods
2024-01-22 12:34:08 -05:00
Daniel Agar and bresch
ed0d26de8a
ekf2: improve attitude estimation without horizontal aiding
...
- fake_pos only if at rest or tilt variances becomes large
- fake pos: don't run when grav fusion is enabled
- gravity fusion enabled by default
- gravity: only fuse when accel norm and lpf norm are consistent
Co-authored-by: bresch <brescianimathieu@gmail.com >
2024-01-17 10:27:25 -05:00
Daniel Agar
c3ae7b28c0
matrix: adjust printing for if symmetric (lower triangular only)
2024-01-16 10:20:21 -05:00
Daniel Agar
64f28c4c07
ekf2: delete unused gps error norm field
2024-01-12 10:14:32 -05:00
Daniel Agar
8a031677d5
ekf2: verbose debug print status include state variances
2024-01-11 11:53:20 -05:00
Daniel Agar
4cb293020a
ekf2: remove sensor sample uORB::Subscription missed perf counters
...
- these served their purpose, but are no longer useful
- still worth keeping the IMU subscription missed perf count to catch any scheduling issues
2024-01-11 11:52:29 -05:00
Daniel Agar
855bf8f0d2
.gitmodules set gz submodule branch
2024-01-11 11:07:33 -05:00
Daniel Agar
8bcba6128a
ekf2: fix resetGlobalPosToExternalObservation whitespace
2024-01-11 10:59:56 -05:00
Daniel Agar and bresch
d45c3d3407
ekf2: verbose (DEBUG_BUILD) print status with Matrix improved print
...
* ekf2: verbose print status
* matrix/Matrix improve print output
* bold diagonal elements, print ring buffer entry size
* print in scientific notation when >= 10 to respect max size
---------
Co-authored-by: bresch <brescianimathieu@gmail.com >
2024-01-10 09:46:04 -05:00
Daniel Agar
6495f40ee4
delete old top level config files (dot files, CI, etc)
2024-01-04 11:18:56 -05:00
Daniel Agar
b0566cd8aa
posix: cmake INSTALL make new GZ models/worlds optional for now
...
- the entire posix install package needs to be reviewed and tested
2023-12-18 11:49:53 -05:00
Daniel Agar
4b25fad862
lib/timesync: relax warnings
...
- double required max consecutive counts
- don't continuously complain about round trip time (RTT) unless
there's been at least one acceptable round trip (latency < 100 ms)
2023-12-16 16:36:36 -05:00
Daniel Agar
7fa6f4e32f
boards: px4/fmu-v6x add dedicated multicopter build
2023-12-16 16:29:52 -05:00
Daniel Agar
808fd67fcb
Tools/setup: macos.sh add python-tk for kconfig gui (boardguiconfig)
2023-12-16 16:29:07 -05:00