Commit Graph
100 Commits
Author SHA1 Message Date
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
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
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
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
Daniel Agar b491929ad6 Jenkins: HIL tests only finish on PASSED, FAILED, or timeout 2020-11-10 16:41:13 -05:00
Daniel Agar d33a48eb24 systemcmds/topic_listener: remove excludes
- this is a bit wasteful, but we can afford it for now everywhere listener is enabled
2020-11-10 13:46:48 -05:00
Daniel Agar c8dfcf7f0d Github Actions: break up MAVSDK SITL tests
- run only 1 vehicle type per location
2020-11-10 13:11:51 -05:00
Daniel Agar 38fbb452da vscode add navio2 variant and native debug launch 2020-11-10 10:38:46 -05:00
Daniel Agar c60743b306 boards: NuttX increase file name max 32 -> 40 2020-11-08 12:51:59 -05:00
Daniel Agar bde5cadba7 ROMFS: replay automatically create replay_params.txt 2020-11-04 11:47:01 -05:00
Daniel Agar 142452f80c replay: print parameter changes and error on mismatch 2020-11-04 11:47:01 -05:00
Daniel Agarandigalloway 03aa2dd46c ROMFS: create NXP HoverGames airframe (SYS_AUTOSTART 4017)
Co-authored-by: igalloway <iaintravelgalloway@gmail.com>
2020-11-04 11:43:20 -05:00
Daniel Agar ea2fced6ad Tools/check_submodules.sh: always update if within vscode cmake configure
- the interactive portion of check_git_submodule with hang waiting for user input
2020-11-03 23:40:12 -05:00
Daniel Agar ba5ef28f23 uORB_tests: add uORB::SubscriptionMultiArray tests 2020-11-03 09:10:54 -05:00
Daniel Agar 817285ec64 commander: gyro calibration use MedianFilter 2020-11-02 12:58:46 -05:00
Daniel Agar d14deb0e5a FFT add simple median filter 2020-11-02 12:58:46 -05:00
Daniel Agar 4578b8cdcc Update submodule ecl to latest Mon Nov 2 09:57:32 EST 2020
- ecl in PX4/Firmware (f87b19f31b9918f73d336d10e68d39c659037582): https://github/commit/48a8992caf7a95e09a5e17235133894c072b96bd
    - ecl current upstream: https://github/commit/a21092804a784d012939f96cc633e7da5f5e8cde
    - Changes: https://github/compare/48a8992caf7a95e09a5e17235133894c072b96bd...a21092804a784d012939f96cc633e7da5f5e8cde

    a210928 2020-11-01 Daniel Agar - EKF: remove virtual getters from estimator_interface
2020-11-02 12:44:14 -05:00
Daniel Agar a1ef4d1469 ekf2: only advertise immediately in multi-EKF mode 2020-11-01 15:48:35 -05:00
Daniel Agar 6b9dde59d6 update ecl to latest
- fmu-v5 debug and stackcheck builds now need to be CONSTRAINED_FLASH to fit
 - delete unused holybro_durandal-v1_stackcheck build (also CONSTRAINED_FLASH)
2020-10-29 18:56:52 -04:00
Daniel Agar 81aa8a914f boards: px4_fmu-v2 disable ver command line to save flash 2020-10-29 18:56:52 -04:00
Daniel Agar d5894bea5c cmake: NuttX debug skip SVD print if not found 2020-10-29 15:07:47 -04:00
Daniel Agar 216a0eb3a0 cmake: NuttX redirect libapps build stdout to log file 2020-10-29 15:07:47 -04:00
Daniel Agar b13422dd80 gitmodules update URLs to renamed PX4 repositories 2020-10-29 15:06:59 -04:00
Daniel Agar ecb462f325 ekf2: EKF2.cpp using matrix Eulerf, Quatf, Vector3f 2020-10-29 10:22:57 -04:00
Daniel Agar d1af095c0b ekf2: don't store vehicle_status_s 2020-10-29 10:22:57 -04:00
Daniel Agar d27573b797 ekf2: don't store vehicle_land_detected_s 2020-10-29 10:22:57 -04:00
Daniel Agar 7757aeda94 ekf2: don't store sensor_selection_s copy 2020-10-29 10:22:57 -04:00
Daniel Agar db5235b074 ekf2: avoid storing message copies 2020-10-29 10:22:57 -04:00
Daniel Agar 3f9f2c6fdf ekf2: multi ekf supports up to 4 IMUs 2020-10-28 20:50:58 -04:00
Daniel Agar cf082d7f1c Github actions: SITL tests upgrade MAVSDK v0.30.1 -> v0.33.1 2020-10-28 20:26:47 -04:00
Daniel Agar b5e00cd424 NuttX upgrade branches to px4_firmware_nuttx-10.0.0+ 2020-10-28 17:25:08 -04:00
Daniel Agar 233949a377 NuttX upgrade to 10.0.0+ defconfig changes 2020-10-28 14:25:25 -04:00
Daniel Agar 2c874f1cd9 ekf2 selector fix SITL lockstep
- ekf2 selector don't register lockstep until first attitude publication
 - sensors module register lockstep component
 - enable multi-EKF2 in SITL
2020-10-28 09:42:41 -04:00
Daniel Agar 69986affbf commander: calibration restore sleep after CAL_QGC_DONE_MSG/CAL_QGC_FAILED_MSG 2020-10-27 18:54:16 -04:00
Daniel Agar 91da194bd7 sensors/vehicle_gps_position: only register callbacks once topic published
- this avoids creating unnecessary uORB device nodes for GPS instances that might never exist
2020-10-27 18:40:57 -04:00
Daniel Agar df2f26ebdf rename vehicle_visual_odometry_aligned -> estimator_visual_odometry_aligned
- saves a small amount of work for the ekf2 selector in multi-EKF mode (visual_odometry_aligned now ignored)
 - helps to distinguish the origin/purpose from vehicle_odometry and vehicle_visual_odometry
2020-10-27 12:33:39 -04:00
Daniel Agar d5e68bc05a mathlib: NotchFilter delete unused update method 2020-10-27 12:30:59 -04:00
Daniel Agar f36f8928e3 distance_sensor/vl53l1x: fix code style 2020-10-27 11:43:11 -04:00
Daniel AgarandPaul Riseborough 0f411d6820 Multi-EKF support (ekf2)
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
    - in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
 - new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
 - sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
 - existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
 - ekf2 single instance mode is still fully supported and the default

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
2020-10-27 10:56:11 -04:00
Daniel Agar d5245a22d3 logger: limit default estimator_optical_flow_vel logging 2020-10-26 14:10:25 -04:00
Daniel Agar 8435742dd5 logger: double actuator_controls_0 and vehicle_attitude_setpoint default log rate 2020-10-26 00:36:02 -04:00
Daniel Agar 6d2f592c16 logger: add vehicle_constraints to default set 2020-10-26 00:36:02 -04:00
Daniel Agar 614a0ac2a2 experimental/gyro_fft: improve peak detection, add start parameter
- add new parameter `IMU_GYRO_FFT_EN` to start
 - add 75% overlap in buffer to increase FFT update rate
 - space out FFT calls (no more than 1 per cycle)
 - increase `IMU_GYRO_FFT_MIN` default
 - decrease main stack usage
2020-10-25 23:48:21 -04:00
Daniel AgarandMatthias Grob 945c17bc3f move subsystem_info entirely into commander and remove from uORB
* HealthFlags: define bitfield using 1<<X

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2020-10-25 10:08:15 -04:00
Daniel Agar 6285e06fe2 mc_pos_control: split out header and name consistently 2020-10-23 15:06:04 -04:00
Daniel Agar 81765bc06a commander: PreFlightCheck remove HIL special cases
- skipping these sensor checks in HIL no longer makes sense as each
sensor has a normal publication (sensor_accel/gyro/etc) regardless of
simulation
2020-10-23 11:25:50 -04:00
Daniel Agar 0b74076265 msg: only include orb_test messages if PX4_TESTING enabled 2020-10-20 15:17:09 -04:00
Daniel Agar 2201424dfd micrortps_bridge: don't reuse msg_files variable (now global) 2020-10-20 11:05:47 -04:00
Daniel Agar 1eb3c59277 systemcmds/topic_listener: use msg_files list from msg/ 2020-10-20 11:05:47 -04:00
Daniel Agar 16119f0e8c mavlink debug messages disable on CONSTRAINED_FLASH boards
- mavlink messages DEBUG/DEBUG_FLOAT_ARRAY/DEBUG_VECT/NAMED_VALUE_FLOAT move to separate stream headers and don't include if CONSTRAINED_FLASH
 - mavlink receiver DEBUG/DEBUG_FLOAT_ARRAY/DEBUG_VECT/NAMED_VALUE_FLOAT handling excluded if CONSTRAINED_FLASH
 - msg: skip debug_array.msg, debug_key_value.msg, debug_value.msg, debug_vect.msg if CONSTRAINED_FLASH
2020-10-20 11:05:47 -04:00
Daniel Agar be0f884dde commander: preflight check don't read mag device_id 2020-10-19 23:01:02 -04:00
Daniel Agar b08b83ba48 logger: logged topics support up to 4 accels/baros/gyros 2020-10-19 18:30:22 -04:00
Daniel AgarandAlex Mikhalev 224be8ba24 drivers/uavcan: RGB LED support (publish uavcan::equipment::indication::LightsCommand)
Co-authored-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-10-17 12:33:09 -04:00
Daniel Agar d985887468 ekf2: use new Param<> reset method 2020-10-15 08:32:05 +02:00
Daniel Agar 7255f5feac parameters: add param_reset_no_notification()
- add reset() to Param<>
2020-10-15 08:32:05 +02:00
Daniel Agar 8d1b99be31 mavlink: telemetry status only log simple HEARTBEAT validity
* delete telemetry_heartbeat msg
 * delete unused _telemetry_status_mutex
2020-10-13 13:37:10 -04:00
Daniel Agar d71ca37087 navigator: publish navigator mission item changes for logging
- new msg navigator_mission_item for inspecting navigator mission item processing
2020-10-13 12:12:03 -04:00
Daniel Agar 34ad85557e Revert "mavlink: increase stack 2650 -> 2848 bytes (#15821)"
This reverts commit e792c46f20.
2020-10-12 20:58:35 -04:00
Daniel Agar 5c2cc53134 Revert "logger: log_writer_file increase stack 1170 -> 1472 bytes (#15765)"
This reverts commit d676e65294.
2020-10-12 20:58:35 -04:00
Daniel Agar f557fa46e8 gyro_fft improve peak finding, parameterize min/max frequencies, remove debug logging
- add min/max frequency parameters for peak detection (IMU_GYRO_FFT_MIN, IMU_GYRO_FFT_MAX)
 - remove full FFT debug logging
 - fix Quinn's second estimator
 - log sensor_gyro_fft
 - fake_gyro use PX4Gyroscope
2020-10-12 15:19:39 -04:00
Daniel Agar 0a985638e3 simulator: add inject failure messages for logging 2020-10-10 20:03:50 -04:00
Daniel Agar 76602b3a8f mavsdk_tests: longer climb (5 -> 10 seconds) in fly forward altctl/posctl tests 2020-10-10 20:03:50 -04:00
Daniel Agar da37f63bbd ROMFS: posix adjust standard vtol (1040) tuning 2020-10-10 20:03:50 -04:00
Daniel Agar 5fa1e8e8ba mavlink: stream rename GROUND_TRUTH -> HIL_STATE_QUATERNION 2020-10-10 19:49:41 -04:00
Daniel Agar cb4d974977 mavlink: move GROUND_TRUTH stream to separate file 2020-10-10 19:49:41 -04:00