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
Daniel Agar
dba2d76321
systemcmds/i2c_launcher: fix USER_I2C_LAUNCHER kconfig warning
2023-12-16 16:28:11 -05:00
Daniel Agar
f703f07399
drivers/distance_sensor: update kconfig common sensors
...
- mappydot is EOL
- LL40LS_PWM is a fairly special case that's not common
2023-12-08 13:32:23 -05:00
Daniel Agar and PX4 BuildBot
a9213e3862
Update world_magnetic_model to latest Tue Nov 28 11:14:14 UTC 2023
...
Co-authored-by: PX4 BuildBot <bot@px4.io >
2023-11-28 11:04:02 -05:00
Daniel Agar and PX4 BuildBot
5af6cf1889
Update submodule GPS Drivers to latest Tue Nov 28 00:39:22 UTC 2023
...
- GPS Drivers in PX4/Firmware (5ef3ae3f1ec5aecea5842306a63aec054eb599a9): https://github.com/PX4/PX4-GPSDrivers/commit/6e452c2c5b6a718dddc1df2a13eba4a7c729d9f2
- GPS Drivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/63990d218ec35ea965d634af6a79d3155561b743
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/6e452c2c5b6a718dddc1df2a13eba4a7c729d9f2...63990d218ec35ea965d634af6a79d3155561b743
63990d2 2023-11-22 Daniel Agar - nmea fix astyle whitespace
Co-authored-by: PX4 BuildBot <bot@px4.io >
2023-11-27 21:05:23 -05:00
Daniel Agar
56bfe41f10
drivers/ins/vectornav: publish estimator_status (only in VN_MODE 1)
2023-11-22 21:42:27 -05:00
Daniel Agar
0dbd7b9176
Jenkins compile remove obsolete target nxp_fmurt1062-v1_default
2023-11-22 11:16:22 -05:00
Daniel Agar and PX4 BuildBot
58d6d03da3
Update submodule devices to latest Sun Nov 19 12:39:11 UTC 2023
...
- GPS drivers in PX4/Firmware (0f7a34a64dd69ad074b47726eedeef147fe0f700): https://github.com/PX4/PX4-GPSDrivers/commit/b443b79f57c5e89353430940af9e4511ea8eb0b8
- GPS drivers current upstream: https://github.com/PX4/PX4-GPSDrivers/commit/6e452c2c5b6a718dddc1df2a13eba4a7c729d9f2
- Changes: https://github.com/PX4/PX4-GPSDrivers/compare/b443b79f57c5e89353430940af9e4511ea8eb0b8...6e452c2c5b6a718dddc1df2a13eba4a7c729d9f2
6e452c2 2023-10-27 Robbie Drage - move NO_MKTIME compilation flags - removes dependency on tm struct being defined without MKTIME - removes unnecessary operations
Co-authored-by: PX4 BuildBot <bot@px4.io >
2023-11-19 11:49:39 -05:00
Daniel Agar
62027b0965
ekf2: remove EKF2_HGT_MODE VerifyParams() transition helpers
...
- in theory these are helpful to ensure EKF2_HGT_MODE configuration is
consistent with the relevant aid source (GPS, baro, etc), but it can
be a little awkward with users having to fight manual parameter
changes in the right order
2023-11-16 15:02:43 -05:00
Daniel Agar
3b2d766573
ekf2: purge remaining EKF2_AID_MASK references
2023-11-16 09:36:58 +01:00
Daniel Agar
1592aedc11
gitmodules add heatshrink branch
2023-11-10 17:45:47 -05:00
Daniel Agar
77baa7c24a
ekf2: EKFGSF yaw estimator always run
...
- if not in air the accel noise is doubled
- if landed don't init unless GPS velocity is non-negligible
- when inactive continue seeding with EKF gyro bias
- reset yaw estimator if GPS fusion is stopped
2023-11-07 15:48:49 -05:00