Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Agar 45968c614e airspeed_selector: fix aspd typos 2023-07-17 20:37:46 -04:00
Daniel Agar c0a56ce268 airspeed_selector: fix groundspeed typos 2023-07-17 20:37:46 -04:00
Daniel Agar d9ae2ed7ac ekf2: regenerate yaw estimator symforce
- remove underscore uppercase variable naming that can be problematic
2023-06-19 21:00:25 -04:00
Daniel Agar 6535cc758e ekf2: fuse mag update last heading fuse time if updating all states
- handle synthetic z special case
2023-05-26 08:48:08 -06:00
Daniel Agar bb0f2875a9 ekf2: disable multi-EKF across mags by default (H7 & SITL) for now
- re-enable once the estimator selector respects configured mag
priority (at least initially) or is otherwise able to automatically
prefer an external mag over internal
 - for SITL disabled because the full matrix of esitmator instances
(IMUs X mags) was too many topics for logger currently
2023-05-19 18:35:57 -06:00
Daniel Agar bcf87b4b35 Tools/HIL/test_airframes.sh remove gps stop (not present everywhere) 2023-05-19 10:35:26 -04:00
Daniel Agar 8222cbca2c ekf2: last range sensor simple timestamp protection
- sanity check againist potential timestamp issues with incoming
distance_sensor data
2023-05-09 12:02:42 -04:00
Daniel AgarandPX4BuildBot f0bea542d5 Update world_magnetic_model to latest (#21533)
* Update world_magnetic_model to latest Mon May  1 11:14:06 UTC 2023
* [AUTO COMMIT] update change indication

Co-authored-by: PX4BuildBot <PX4BuildBot@users.noreply.github.com>
2023-05-01 08:59:55 -04:00
Daniel Agar b8b80e409f boards: px4_fmu-v5x_test remove drivers/telemetry to save flash 2023-04-27 20:14:26 +02:00
Daniel Agar 5b0b46ff55 boards: px4_fmu-v5x_default disable LPE and ATTQ to save flash 2023-04-27 20:14:26 +02:00
Daniel Agar a11cced4b2 drivers/ins/vectornav: fix attitude (quaternion) and GPS packet extract 2023-04-17 11:18:00 -04:00
Daniel Agar 1234aae3df gimbal: output RC fix actuator_controls_2 -> gimbal_controls regression (#21460)
- small typo introduced in https://github.com/PX4/PX4-Autopilot/pull/20837
2023-04-11 22:03:42 +02:00
Daniel Agar 0fa0e2f583 drivers/ins/vectornav: comment out redefined and remove -Wno-error 2023-04-06 14:06:57 -04:00
Daniel Agar cbc067f235 boards: include INS drivers by default on PX4 FMU (eg VectorNav VN-100, VN-200, VN-300) 2023-04-06 14:06:57 -04:00
Daniel Agar 13487c654d ROMFS: add SITL generic iris airframe (SYS_AUTOSTART 10016) for backwards compatibility (airsim, etc) (#21410) 2023-04-01 20:41:33 +02:00
Daniel Agar 4d9369dc67 Update world_magnetic_model to latest Fri Mar 24 11:14:06 UTC 2023 2023-03-24 09:39:26 -04:00
Daniel Agar cc2b367c0b drivers/uavcannode: fix typo (hydrometer->hygrometer) 2023-03-23 22:06:55 -04:00
Daniel Agar 32a5bd32ad ekf2: add kconfig option to enable/disable range finder fusion (and terrain estimator) 2023-03-21 11:25:34 -04:00
Daniel Agar 0784901a66 ekf2: add kconfig option to enable/disable optical flow fusion 2023-03-21 11:25:34 -04:00
Daniel Agar 1524bd39b5 .gitignore: ignore generate top level log/ folder (colcon) 2023-03-20 11:06:12 -04:00
Daniel Agar 4363b09421 ekf2: add kconfig option to enable/disable external vision fusion 2023-03-20 10:12:17 -04:00
Daniel Agar d47f96f1a5 ekf2: add kconfig option to enable/disable AUX velocity fusion 2023-03-20 10:12:17 -04:00
Daniel Agar 4270a303ab ekf2: add kconfig option to enable/disable airspeed and sideslip fusion 2023-03-20 10:12:17 -04:00
Daniel Agar 98ff1afc19 ekf2: add kconfig option to enable/disable GNSS yaw 2023-03-20 10:12:17 -04:00
Daniel Agar 8b2205810b ekf2: add kconfig option to enable/disable baro compensation 2023-03-20 10:12:17 -04:00
Daniel Agar fe0e3acf09 ekf2: add kconfig option to enable/disable drag fusion 2023-03-20 10:12:17 -04:00
Daniel Agar 6ec2b902cc ROMFS: only copy bootloader binary if systemcmds/bl_update included 2023-03-16 09:43:56 -04:00
Daniel Agar f0a95f9572 ekf2: add new kconfig option for multi-EKF
- disabled if flash constrained or memory constrained
2023-03-15 09:32:47 -04:00
Daniel Agar 19a2b4ec31 ekf2: GNSS yaw only reset test ratio for new samples
- otherwise external test ratio monitoring could trigger a false positive
2023-03-14 21:49:24 -04:00
Daniel AgarandMatthias Grob 9be8f81d75 flight_mode_manager: StickAccelerationXY protect from NAN velocity reset
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-03-10 08:17:20 -05:00
Daniel Agar 435c799f57 uORB: print more decimal places for float32 and float64 2023-03-10 07:39:34 +01:00
Daniel Agar b3cc945a5a ekf2: merge runOnGroundYawReset() + runInAirYawReset() into unified magReset() 2023-03-09 09:08:27 -05:00
Daniel Agar c1f244a6fd ekf2: decrease EKF2_MAG_YAWLIM default 0.25 -> 0.2 rad/s (#21264) 2023-03-09 09:07:54 -05:00
Daniel Agar 60b85c2e1a mavlink: add kconfig option to disable UAVCAN parameter bridge
- depends on DRIVERS_UAVCAN
2023-03-08 19:30:06 -05:00
Daniel Agar 4dda5a97d8 ekf2: mag_3d check mag bias variance before allowed to update all states (orientation) 2023-03-08 15:12:48 -05:00
Daniel Agar d45aeae1de ekf2: add and share centralized method to clear inhibited state Kalman gains 2023-03-07 13:27:57 -05:00
Daniel Agar 3fac85369e ekf2: gps control use adjusted velocity and position for reset 2023-03-06 09:03:39 -05:00
Daniel Agar 74130d7f71 ucdr msg template add timestamp protections
- if timestamp (or timestamp_sample) unpopulated fill it with current hrt_absolute_time()
 - if using provided timestamp don't allow it to exceed current hrt_absolute_time()
2023-03-02 09:52:53 -05:00
Daniel Agar bde194fb12 simulation/gz_bridge: local_position_groundtruth include heading (#21224) 2023-03-01 18:44:31 +01:00
Daniel Agar b5a6d6db0d ekf2: fix controlEvYawFusion() yaw reset 2023-02-24 16:59:59 -05:00
Daniel Agar a06a635da3 drivers/inv/vectornav: fix official vectornav library NuttX support
- vectornav library (libvnc) fixed for NuttX
   - open serial port O_NONBLOCK (like __APPLE__)
   - set serial port baud rate with cfsetspeed (like __APPLE__)
 - vectornav backend thread increase stack and run at higher priority (SCHED_FIFO)
2023-02-24 16:59:38 -05:00
Daniel Agar 98263de17b ekf2: move aux vel helpers to auxvel_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar a199df78cc ekf2: move mag control helpers to mag_control.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar c20e4e4421 ekf2: move stopFlowFusion() to optical_flow_control.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar 3a317ec18c ekf2: move gps helpers to gps_control.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar 9ec3f30ae1 ekf2: move gps buffer pop to controlGpsFusion()
- controlGpsFusion() now owns yaw estimator update
2023-02-22 09:08:33 -05:00
Daniel Agar a867bb7d88 ekf2: let controlAirDataFusion() update yaw estimator TAS 2023-02-22 09:08:33 -05:00
Daniel Agar 60856ebe62 ekf2: move range buffer pop to controlRangeHeightFusion() 2023-02-22 09:08:33 -05:00
Daniel Agar 08f111f694 ekf2: consolidate airspeed fusion logic and helpers
- pass new airspeed sample around when available
 - can't completely eliminate _airspeed_sample_delayed until resetWind()
called from sideslip fusion is updated
2023-02-22 09:08:33 -05:00
Daniel Agar 241cee2bb7 ekf2: move airspeed buffer pop to controlAirDataFusion 2023-02-22 09:08:33 -05:00
Daniel Agar 0711a34d0e ekf2: move flow buffer pop to controlOpticalFlowFusion 2023-02-22 09:08:33 -05:00
Daniel Agar ed8cef6cf0 ekf2: move controlAuxVelFusion control.cpp -> auxvel_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar b4e845d7c0 ekf2: move controlDragFusion control.cpp -> drag_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar c08a387c5a ekf2: move controlBetaFusion control.cpp -> sideslip_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar d61b8c21b2 ekf2: move controlAirDataFusion() control.cpp -> airspeed_fusion.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar d840f7f39f ekf2: move controlGpsYawFusion() control.cpp -> gps_control.cpp 2023-02-22 09:08:33 -05:00
Daniel Agar b3eb563db4 boards: cubepilot_cubeorange_test restore sd_bench (used on test rack) 2023-02-13 23:53:54 -05:00
Daniel Agar 2ea25804a1 ekf2: allow filter init with only IMU (#21041)
- if mag enabled heading init is now pushed to controlMagFusion()
2023-02-13 22:07:15 -05:00
Daniel AgarandMathieu Bresciani a18e07e525 drivers/imu/bosch/bmi088: add more time between configure and FIFO_READ
- new FIFO_RESET state used to give the sensor more time after successful configuration before sampling begins

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2023-02-13 21:01:50 -05:00
Daniel Agar 1134d5338f boards: sky-drones_smartap-airlink_default disable modules to save flash 2023-02-13 20:58:17 -05:00
Daniel Agar 4d95150e18 boards: px4_fmu-v4pro_test disable gyro_fft to save flash 2023-02-13 20:56:19 -05:00
Daniel Agar 299cb32aa8 boards: nxp_fmuk66-v3_test disable gyro_fft to save flash 2023-02-13 20:55:06 -05:00
Daniel Agar bc5f4f8377 boards: mro ctrl-zero-h7 and pixracer disable modules to save flash 2023-02-13 20:53:52 -05:00
Daniel Agar 70a7edbcd0 boards: cubepilot_cubeorange_default disable SIH simulator to save flash 2023-02-13 20:47:26 -05:00
Daniel Agar b14e0c21b6 boards: px4_fmu-v2_default disable sensors/vehicle_airspeed and sensors/vehicle_optical_flow to save flash 2023-02-13 20:45:28 -05:00
Daniel Agar 7b3befded5 ekf2: disable new gravity fusion by default 2023-02-07 13:57:10 -05:00
Daniel Agar 661eb2adb4 lib/sensor_calibration: BiasCorrectedSensorOffset() don't incorporate thermal offsets
- the thermal offsets are an optional correction applied to the raw data, so when updating an existing calibration offset with new learned bias we don't want this incorporated
2023-02-06 15:09:07 -05:00
Daniel Agar 04d3e549f5 ekf2: resetQuatStateYaw() set _time_last_heading_fuse 2023-02-03 10:03:09 -05:00
Daniel Agar 66ad7fd06c ekf2: include 0 timestamp checks in helpers (isTimedOut(), isRecent(), etc)
- EKF isTimedOut(), isRecent(), and isNewestSampleRecent() need to handle the case where the timestamp has never been set
 - reset() more thoroughly reset fields (mainly impacts unit tests)
2023-02-03 10:00:51 -05:00
Daniel Agar 264a99fb77 ekf2: new EKF2_IMU_CTRL parameter and gyro bias inhibit mechanism
- EKF2_AID_MASK accel bias inhibit moves to EKF2_IMU_CTRL
2023-02-03 09:52:24 -05:00
Daniel Agar f668ea5aa6 ekf2: RingBuffer add reset method 2023-02-03 08:49:44 -05:00
Daniel Agar e3d73cd837 ekf2: mag control reset mag_lpf on first sample 2023-02-02 16:12:09 -05:00
Daniel Agar 2be701f902 platforms/nuttx: cmake debug pass GDB path and set RTOS plugin file extension 2023-01-30 20:19:38 -05:00
Daniel Agar 47215bb625 lib/wind_estimator: symforce codegen remove reserved identifier naming
- from the C standard, "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use"
2023-01-30 09:24:32 -05:00
Daniel Agar efe1d43550 ekf2: symforce codegen remove reserved identifier naming
- from the C standard, "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use"
2023-01-30 09:24:32 -05:00
Daniel AgarandPX4 BuildBot 8da993c30e Update world_magnetic_model to latest Sat Jan 28 11:14:05 UTC 2023
Co-authored-by: PX4 BuildBot <bot@px4.io>
2023-01-28 11:41:03 -05:00
Daniel Agar 0bdec5bcc0 cmake: nuttx fix jlink-nuttx dependency 2023-01-25 09:06:35 -05:00
Daniel Agar 64c2ec5eea simulation/gz_bridge: remove cmake CONFIGURE_DEPENDS
- PX4 build system simulation targets are optional and no longer
strictly required
2023-01-24 13:58:30 -05:00
Daniel Agar 9cb6de8010 simulation: relax jmavsim java requirements (finding vecmath.jar) 2023-01-24 13:56:24 -05:00
Daniel Agar 3b543c7700 mavlink: serialize mavlink generation to prevent broken output
- let uAvionix generation fully complete before generating CONFIG_MAVLINK_DIALECT
2023-01-24 13:49:28 -05:00
Daniel Agar 7c9dcd1985 drivers/uavcan: silence noisy libuavcan cmake version deprecation warning for now
- keep drivers/uavcannode cmake in sync with drivers/uavcan
2023-01-22 14:48:43 -05:00
Daniel Agar 1b46028fd3 mavlink: generate mavlink quiet by default (stdout redirected to log file) 2023-01-22 14:45:41 -05:00
Daniel Agar 3f842f01a0 simulator/gz_bridge: split actuator outputs for ESCs and servos (#20979)
- existing SIM_GZ outputs -> SIM_GZ_EC (ESCs)
 - new SIM_GZ_SV for servos (not fully implemented)
2023-01-21 14:44:09 -05:00
Daniel Agar a93ef657d1 HIL/test_airframes.sh allow 'gps' and 'mavlink' status to fail
- we're only looking for debug info if/when things go wrong later
2023-01-21 11:38:39 -05:00
Daniel Agar fb000e874f boards: px4_fmu-v5_debug quiet RTC debug errors
- test rack CUAV v5 plus is producing false positives (in this particular situation) that are failing the overall testing
2023-01-21 11:14:28 -05:00
Daniel Agar 6b13fb8b86 HIL/test_airframes.sh check mavlink and gps status before stopping all
- occasionally these fail on the test rack (cube orange), so try to
gather more information
2023-01-21 11:06:23 -05:00
Daniel Agar 1aa8ec4537 drivers: initial VectorNav (VN-100, VN-200, VN-300) support 2023-01-20 19:09:30 -05:00
Daniel Agar bd9d09663f commander: avoid uint64 timestamp implicit float conversions
- 64 bit time in microseconds stored in a 32 bit float quickly becomes problematic
 - fixes https://github.com/PX4/PX4-Autopilot/issues/20944
2023-01-19 17:48:40 -05:00
Daniel Agar 3822ef1519 boards: update all in tree bootloaders 2023-01-19 17:25:39 -05:00
Daniel Agar 9d7c4b8273 boards: ark_can-flow_default disable sensors/vehicle_acceleration to save flash 2023-01-18 22:58:19 -05:00
Daniel Agar ffa9d61065 boards: px4_sitl_default include gz_bridge by default 2023-01-18 22:56:17 -05:00
Daniel Agar 2b5722786b cmake: fix and update packaging 2023-01-18 22:51:12 -05:00
Daniel Agar 967c37ac17 boards: mro_pixracerpro_default disable examples/fake_gps to save flash 2023-01-18 21:44:09 -05:00
Daniel Agar 6a64e74ef3 icm42688p: fix register bank selection
* icm42688p: clear INT_CONFIG1 INT_ASYNC_RESET for proper INT1/INT2 pin operation
2023-01-18 11:08:03 -05:00
Daniel Agar 95300d5637 ekf2: refactor output predictor to class
- refactor all EKF backend output predictor pieces into new OutputPredictor class
 - output states are now calculated immediately with new high rate IMU rather than after EKF update
 - IMU delayed sample is passed as around as control data to avoid storing an extra copy and make the requirement clear
2023-01-18 10:59:34 -05:00
Daniel Agar 71d916dbcd ekf2: PreFlightChecker fix vel_ne_innov_lpf index 2023-01-17 13:03:38 -05:00
Daniel Agar 6991ac014c rename 'gazebo' simulation to 'gazebo-classic' (#20936)
- use `gazebo-classic` everywhere consistently referring to the original Gazebo (eg version 9,10,11)
   - additional `gazebo_*` helper targets added for compatibility, but warn about deprecation and tell you the new target naming
 - use `gz` everywhere when referring to Gazebo (aka Ignition Gazebo or new Gazebo)
2023-01-15 11:36:12 -05:00
Daniel Agar 6605378d0d boards: px4_fmu-v6c_default disable systemcmds/serial_test to save flash 2023-01-14 19:24:47 -05:00
Daniel Agar 30a240a7a4 boards: modalai_fc-v2_default disable examples/fake_gps to save flash 2023-01-14 19:23:19 -05:00
Daniel Agar 52b9b9ba2f simulation: restore 'gazebo' alias for 'gazebo_iris'
- only create helper targets if Gazebo 11 found on system
2023-01-14 17:03:18 -05:00