Daniel Agar
ce609144b0
simulation/gz_bridge: fix implicit floating-point conversions
2022-10-09 14:11:19 -04:00
Daniel Agar
9010029e0d
lib/drivers/device: Device.hpp fully init devid
...
- constructor use available setters
2022-10-09 13:49:39 -04:00
Daniel Agar
f3964513c7
sensors: fix accel/gyro/mag calibration offset units
2022-10-09 13:02:38 -04:00
Daniel Agar
ee4821ed0a
commander: relax COM_ARM_MAG_ANG default to minimize false positives
...
- this check is mainly intended for catching blatant setup problems like a magnetometer that's mounted 90 or 180 degrees off
2022-10-09 12:41:06 -04:00
Daniel Agar
8cc39096cb
load_mon: NuttX cpuload use system times for calculation
...
- this is to minimize the impact of any load_mon scheduling jitter in the sampled load percentage
2022-10-05 14:21:38 -04:00
Daniel Agar
5f0a539633
gps_blending: fix blending init to best instance
...
- output GPS publication defaults to best input instance
- blended states are explicitly cleared and then populated with
weighted blend
2022-10-05 10:26:48 -04:00
Daniel Agar
41cda14126
ekf2: add symforce code generation helper target
2022-10-03 10:59:42 -04:00
Daniel Agar
c9441bb48a
boards: px4_fmu-v2/v3 allow optional mpu9250 probe to fail without error
2022-10-02 21:40:18 -04:00
Daniel Agar
2bd1ac005f
.gitmodules update branches master -> main
2022-10-01 12:22:22 -04:00
Daniel Agar
a27aeb30bf
mc_pos_control: fix trajectory setpoint copy
...
- trajectory_setpoint and vehicle_local_position_setpoint used to be
the same data type
- we got extremely lucky here that this didn't cause any issues due to
all the fields still aligning
2022-09-29 14:17:00 -04:00
Daniel Agar
d4e5876d4c
vehicle_imu: only reset raw accel/gyro Welford mean periodically
...
- vehicle_imu_status can publish immediately on any measured sample
rate change or sensor error increment, but the windowed mean/variance
shouldn't necessarily reset that often
2022-09-29 14:14:16 -04:00
Daniel Agar
1f7080a710
ekf2: extend sensor bias stability requirement
...
- for accel/gyro/mag estimated bias only consider them stable (valid
for calibration updates) if the value isn't changing (10% of limit) over
the validity period
2022-09-28 10:40:52 -04:00
Daniel Agar
16f8adb4b3
hysteresis: avoid subtracting unsigned integers
...
- avoid potential errors with timestamp passed in from different sources
2022-09-28 09:51:16 -04:00
Daniel Agar
7bc79b491f
sensors/vehicle_magnetometer: more granular in flight mag cal reset on parameter changes
...
- if mag calibration parameters change only reset any inflight mag cal
for the corresponding magnetometer
2022-09-26 12:42:32 -04:00
Daniel Agar
462d0af384
uORB: fix static orb_exists call for protected build
...
- unify ORBSet to maximum code coverage
2022-09-26 12:38:58 -04:00
Daniel Agar
57bdac2b26
cmake: px4_parse_function_args re-enable failure on unparsed (invalid) arguments
2022-09-24 13:48:51 -04:00
Daniel Agar
ca0465aeca
Tools/generate_board_targets_json.py: properly exclude VOXL2 for now
2022-09-24 11:27:31 -04:00
Daniel Agar
e58275e6f5
platforms/posix: restore none SITL helper target for replay
2022-09-23 19:20:01 -04:00
Daniel Agar
b7fab39165
icm20948_i2c_passthrough: PX4_ERR is reset/configure fails and check temperature for validity
2022-09-23 19:16:10 -04:00
Daniel Agar
eb2a714aa5
ak09916: PX4_ERR if reset/configure is failing after 5s
2022-09-23 19:16:10 -04:00
Daniel Agar
16b4149492
Tools/generate_board_targets_json.py exclude VOXL2 for now (dev environment not yet available to github)
2022-09-23 16:40:56 -04:00
Daniel Agar
38d332a553
ekf2: inhibit accel bias dynamically when fake position/height fusion active
...
- inhibit accel bias learning dynamically depending on the angle between an accelerometer and the vertical axis when fake position fusion is active
2022-09-22 20:32:20 -04:00
Daniel Agar
1806f0d2b4
boards: delete broken flywoo_gn-f405_rtps
2022-09-22 17:44:24 -04:00
Daniel Agar
ed16354413
boards: px4_fmu-v6x_default remove gyro_fft to save flash (will be restored later)
2022-09-22 11:36:16 -04:00
Daniel Agar
54c97db8b2
ekf2: fix covariance comment typo
2022-09-21 15:29:07 -04:00
Daniel Agar
a96187cb18
drivers/optical_flow: paw3902/paa3905 refactor into simple state machine for reset/configure/read
2022-09-20 18:59:00 -04:00
Daniel Agar
a47895e809
[DO NOT MERGE] px4_i2c_device_external hacks
2022-09-20 10:31:26 +12:00
Daniel Agar
0a5c9d4951
position_setpoint delete unused landing_gear
2022-09-19 11:16:45 -04:00
Daniel Agar
11dd924bd4
position_setpoint delete unused SETPOINT_TYPE_FOLLOW_TARGET
2022-09-19 11:16:45 -04:00
Daniel Agar
87815d8869
simulator_ignition_bridge: add simple esc_status publication
...
- ideally we'd get this from the actual joint velocity, but this is
good enough to start
2022-09-19 09:49:12 -04:00
Daniel Agar
3440f543f1
simulator_ignition_bridge: wait for first clock set before returning successfully
2022-09-16 21:37:09 -04:00
Daniel Agar
98036f93c5
msp_osd: fix module documentation
2022-09-16 18:54:14 -04:00
Daniel Agar
07c34f7446
boards: px4_fmu-v6x update bootloader
2022-09-16 12:11:25 -04:00
Daniel Agar
eaa9eae472
simulator_ignition_bridge: fix double promotions
2022-09-16 11:36:35 -04:00
Daniel Agar
085ec0e8ef
flight_mode_manager: StickAccelerationXY minimize setpoint oscillations around 0
2022-09-16 07:54:12 +02:00
Daniel Agar
ff196a7363
crsf_rc: trivial compile fixes for updated vehicle_gps_position and removed NAVIGATION_STATE_AUTO_LANDENGFAIL
2022-09-15 21:01:53 -04:00
Daniel Agar
97f239d3ab
boards/flywoo/gn-f405: fix code style
2022-09-15 20:06:01 -04:00
Daniel Agar
05850e2fc0
mavlink: eliminate timestamped_list dynamic allocation
2022-09-15 19:27:39 -04:00
Daniel Agar
5fcdffc8c0
drivers/device/nuttx/I2C: only issue I2C_RESET() if retrying, and only before the next retry
2022-09-15 18:42:30 -04:00
Daniel Agar
54b5d4c5b8
drivers/rc_input: don't allow starting on the px4io serial port
2022-09-14 21:23:30 -04:00
Daniel Agar
b8fb5dfa51
merge px4_sitl_ign into px4_sitl_default ( #20188 )
...
- for convenience merge px4_sitl_ign into px4_sitl_default, but allow simulator_ignition_bridge to quietly skip inclusion if ignition-transport isn't available
- simulator_ignition_bridge only try setting the system clock in
lockstep builds
- this simplifies usage and CI system dependencies
2022-09-10 16:18:02 -04:00
Daniel Agar
8f25acd428
sih remove gps and use standalone sensor_gps_sim
2022-09-09 18:00:50 -04:00
Daniel Agar
bfe0d71a21
sih remove baro and use standalone sensor_baro_sim
2022-09-09 18:00:50 -04:00
Daniel Agar
c5336abba2
sih remove mag and use standalone sensor_mag_sim
2022-09-09 18:00:50 -04:00
Daniel Agar
99a20646e2
simulator sih add local position ground truth and cleanup
2022-09-09 18:00:50 -04:00
Daniel Agar
355f184f06
boards/px4/fmu-v3: allow optional ms5607 startup to fail quietly (no error)
2022-09-09 17:32:18 -04:00
Daniel Agar
3f3a5f19f0
parameters: open export files O_TRUNC to discard previous data
...
- rcS parameter backup try to directly restore param (FRAM) from backup (in case SD card is removed before successful export)
- rcS parameter backup logging rearrange to capture more logging output (param_import_fail.txt)
- posix rcS try to keep param backup and restore roughly in sync with NuttX rcS
- tinybson fix debug printf format
- param_export_internal ensure file descriptor positioned at 0 (precaution)
2022-09-09 16:20:16 -04:00
Daniel Agar
9d1aeb6aa7
platforms/posix: cleanup macos legacy
2022-09-09 13:05:06 -04:00
Daniel Agar
b45daac0e8
commander: fix angular velocity validity
...
- vehicle_angular_velocity timestamp can be newer than saved now
2022-09-09 09:14:09 -04:00
Daniel Agar
15fece7e14
delete SYS_CTRL_ALLOC
2022-09-09 09:14:09 -04:00
Daniel Agar
13f9eabd70
delete unused actuator_controls_3
2022-09-09 09:14:09 -04:00
Daniel Agar
55be169e18
delete remaining PWM_MAIN/PWM_AUX/PWM_EXTRA parameters
2022-09-09 09:14:09 -04:00
Daniel Agar
4ec9e2f216
uavcan: delete unused ESC idle and soft_stop
2022-09-09 09:14:09 -04:00
Daniel Agar
bdec17a9d4
drivers/pwm_out_sim: add perf counters (sync with drivers/pwm_out)
2022-09-09 09:14:09 -04:00
Daniel Agar
baa05b2631
drivers/pwm_out: remove custom module boilerplate (dual output bank handling)
2022-09-09 09:14:09 -04:00
Daniel Agar
ce337a3d80
delete unused PWM IOCTLs
2022-09-09 09:14:09 -04:00
Daniel Agar
bcdd2203d3
delete systemcmds/motor_test and msg/test_motor.msg
2022-09-09 09:14:09 -04:00
Daniel Agar
72efe84b80
delete MOT_ORDERING
2022-09-09 09:14:09 -04:00
Daniel Agar
a7bbcd5b04
delete lib/mixer and mixer_module static mixing
2022-09-09 09:14:09 -04:00
Daniel Agar
0019ffbea6
delete drv_mixer.h
2022-09-09 09:14:09 -04:00
Daniel Agar
d3312f955f
delete systemcmds/pwm
2022-09-09 09:14:09 -04:00
Daniel Agar
5dd1e5a018
delete systemcmds/mixer
2022-09-09 09:14:09 -04:00
Daniel Agar
cac9c51ac8
ROMFS: purge old mixing system
...
- SYS_USE_IO is now off by default (enabled by default per board)
2022-09-09 09:14:09 -04:00
Daniel Agar
d996af4647
ekf2: pass gpsSample around where required
...
- this minimizes potential misuse accessing _gps_sample_delayed and
makes the dependency clear
2022-09-05 10:27:19 -04:00
Daniel Agar
7bbdc220f5
ekf2: initialiseFilter() simplify mag heading init and resetQuatStateYaw
...
- most of resetQuatStateYaw doesn't apply to initial heading init, so
removing the special case keeps it simple
2022-09-02 08:46:10 -04:00
Daniel Agar
5dfd2f39ef
boards/cubepilot/cubeorange: initialize all I2C pins immediately
2022-09-01 20:46:09 -04:00
Daniel Agar
e93a3a2a3a
ak09916: enable retries and reset perf count
2022-09-01 20:45:20 -04:00
Daniel Agar
f66b5ce204
simulation: ignition bridge allow IMU or pose callbacks to update system time if newer than clock
...
* requires HRT lockstep changes to eliminate offset (PR #20146 )
2022-09-01 20:42:21 -04:00
Daniel Agar
c52f2143d2
posix lockstep remove HRT offset and use full sim time
2022-09-01 20:40:37 -04:00
Daniel Agar
3da0293369
simulator_ignition_bridge: init error handling
2022-09-01 18:54:59 -04:00
Daniel Agar
5cb44a521c
ekf2: estimator interface handle sample time with signed integers
...
- this prevents unsigned integer overflow if the timestamp is smaller
than the configured delay (mostly a simulation edge case)
2022-09-01 09:47:29 -04:00
Daniel Agar
1948c5057a
ekf2: handle all time on delayed horizon (except for newest sample checks)
...
- a growing number of samples come into the backend with the time
already delayed (sensor's interrupt setting timestamp sample)
- if the incoming timestamp is already delayed then the new data checks
(relative to latest IMU) can be slightly wrong
- handle almost all timestamps and checks on delayed time horizon,
except for explicit checks of new samples
- isRecent() and isTimedOut() helpers use delayed time
- add new isNewestSampleRecent() used for checking the incoming
timestamp of the incoming (adjusted) data
2022-08-31 08:52:30 -04:00
Daniel Agar
9b0b0d1168
ekf2: update test change indication csv
2022-08-25 15:55:45 -04:00
Daniel Agar
2786239ca6
Jenkinsfile: HIL remove delete airframe from test
2022-08-25 09:48:49 -04:00
Daniel Agar
4040e4cdf2
simulation organization and cleanup
...
- new modules/simulation directory to collect all simulators and related modules
- new Tools/simulation directory to collect and organize scattered simulation submodules, scripts, etc
- simulation module renamed to simulator_mavlink
- sih renamed to simulator_sih (not a great name, but I wanted to be clear it was a simulator)
- ignition_simulator renamed to simulator_ignition_bridge
- large sitl_target.cmake split by simulation option and in some cases pushed to appropriate modules
- sitl targets broken down to what's actually available (eg jmavsim only has 1 model and 1 world)
- new Gazebo consistently referred to as Ignition for now (probably the least confusing thing until we fully drop Gazebo classic support someday)
2022-08-25 09:10:03 -04:00
Daniel Agar
b58f70726f
ekf2: scale delta angle and delta velocity bias to particular IMU sample
2022-08-23 21:06:13 -04:00
Daniel Agar and Jaeyoung-Lim
cfc579542e
new Ignition Gazebo simulation interface architecture ( #20057 )
...
- much simpler direct interface using Ignition Transport
- in tree models and worlds
- control allocation output configuration, no more magic actuator mapping to mavlink and back
- currently requires no custom Gazebo plugins (keeping things as lightweight and simple as possible)
Co-authored-by: Jaeyoung-Lim <jalim@ethz.ch >
2022-08-22 10:58:19 -04:00
Daniel Agar and Kabir Mohammed
1c72f86761
Update src/drivers/imu/analog_devices/adis16470/ADIS16470.cpp
...
Co-authored-by: Kabir Mohammed <kabir@corvus-robotics.com >
2022-08-16 08:40:43 -04:00
Daniel Agar
49d87f1907
adis16470: fix accel and gyro scaling
2022-08-16 08:40:43 -04:00
Daniel Agar
7f2fea1cca
mpu9250: try all I2C addresses if not manually specified
2022-08-09 13:06:40 -04:00
Daniel Agar
7c809f034d
replay: ReplayEkf2 disable parameter auto save
...
- not needed and silences a startup error
2022-08-08 21:27:47 -04:00
Daniel Agar
34dee09b74
ekf2: replay fixes, don't use HRT for timeout checks
...
- this interferes with current ekf2 replay where the latest IMU sample
is effectively the current timestamp
2022-08-08 21:27:47 -04:00
Daniel Agar
1c49a4349f
ekf2: force skip multi-EKF config if replay is enabled
2022-08-08 21:27:47 -04:00
Daniel Agar
66b55d9d0a
ekf2: fix yaw estimator velocity accuracy
...
- additionally require GPS speed accuracy is within EKF2_REQ_SACC
2022-08-08 21:27:01 -04:00
Daniel Agar
0bce1ef573
drivers/imu: new TDK IIM-42652 IMU support
2022-08-08 13:51:39 -04:00
Daniel Agar
bce4237963
move ekf2 Matrix helper utilities to mathlib
2022-08-05 09:58:07 -04:00
Daniel Agar and Mathieu Bresciani
dfdfbbfa9c
msg/vehicle_odometry.msg: simplify covariance handling and update all usage ( #19966 )
...
- replace float32[21] URT covariances with smaller dedicated position/velocity/orientation variances (the crossterms are unused, awkward, and relatively costly)
- these are easier to casually inspect and more representative of what's actually being used currently and reduces the size of vehicle_odometry_s quite a bit
- ekf2: add new helper to get roll/pitch/yaw covariances
- mavlink: receiver ODOMETRY handle more frame types for both pose (MAV_FRAME_LOCAL_NED, MAV_FRAME_LOCAL_ENU, MAV_FRAME_LOCAL_FRD, MAV_FRAME_LOCAL_FLU) and velocity (MAV_FRAME_LOCAL_NED, MAV_FRAME_LOCAL_ENU, MAV_FRAME_LOCAL_FRD, MAV_FRAME_LOCAL_FLU, MAV_FRAME_BODY_FRD)
- mavlink: delete unused ATT_POS_MOCAP stream (this is just a passthrough)
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2022-08-04 12:55:21 -04:00
Daniel Agar
41d9c3dd2a
ekf2: add AUX velocity aid src status
...
- also includes velocity and position helpers for using estimator aid
source status messages that will later be used for GPS, EV, etc
2022-07-29 12:02:31 -04:00
Daniel Agar
a397c09e59
ekf2: use estimator_aid_src for all yaw sources (mag, gnss, ev)
2022-07-29 11:20:48 -04:00
Daniel Agar
9ed861e0a3
lib/mixer_module: split functions into separate headers
...
- this arguably improves visibility/discoverability
2022-07-28 08:08:58 +02:00
Daniel Agar
38c02ea29a
wind_estimator: cmake add symforce generation helper target (wind_estimator_generate_airspeed_fusion)
2022-07-27 08:19:40 -04:00
Daniel Agar
32c6ec061e
sensors: add kconfig options to skip angular velocity and acceleration
2022-07-21 11:27:09 -04:00
Daniel Agar
70e95812e7
ekf2: reset mag_lpf (by zeroing _mag_counter) when resetting mag bias (or changing mags)
...
- so that there's new filtered data avaiable for reset
2022-07-21 09:24:28 -04:00
Daniel Agar
ecdade3638
ekf2: mag in air reset fall back to regular resetMagHeading() if realignYawGPS() fails
2022-07-21 09:24:28 -04:00
Daniel Agar
05133aed27
ekf2: clear test ratios, flags, etc when stopping mag fusion
2022-07-21 09:24:28 -04:00
Daniel Agar
65a587e56a
ekf2: mag fusion don't update all states if mag_fault or mag_field_disturbed
2022-07-21 09:24:28 -04:00
Daniel Agar
a41a0e7e80
ekf2: resetMagHeading() split out simple init case
2022-07-21 09:24:28 -04:00
Daniel Agar
9efadad06a
ekf2: move checkMagFieldStrength() to magFieldStrengthDisturbed() const method
2022-07-21 09:24:28 -04:00
Daniel Agar
a7f573e150
ekf2: delete isStrongMagneticDisturbance()
2022-07-21 09:24:28 -04:00
Daniel Agar
e6e27e694e
ekf2: delete isYawResetAuthorized()
2022-07-21 09:24:28 -04:00