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 Agar and igalloway
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 Agar and Paul 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 Agar and Matthias 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 Agar and Alex 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