mcsauder
b885c920d8
Breakout header file from sensors.cpp and delete unnecessary #includes.
2022-09-15 13:09:04 -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
Hamish Willee
e6eed43648
Spelling errors ( #19935 )
2022-07-27 14:33:16 +10:00
Daniel Agar
32c6ec061e
sensors: add kconfig options to skip angular velocity and acceleration
2022-07-21 11:27:09 -04:00
Daniel Agar
2f3cb97872
sensors/vehicle_magnetometer: don't advertise vehicle_magnetometer instance if mag has been disable
...
- if using multi-EKF across all magnetometers then an instance of
vehicle_magnetometer is advertised immediately for every sensor_mag
instance
- this can become problematic if EKF2 multi-mag is enabled, but with
only 1 IMU (EKF2_MULTI_MAG) because you will be stuck with no magnetometer data
2022-07-20 01:18:19 -04:00
alexklimaj
768565ed6f
Enable GPS Blending by default
2022-07-14 10:20:59 -04:00
Daniel Agar
15223009d2
combine sensor_gps + vehicle_gps_position msgs (keeping separate topics)
2022-07-07 10:24:11 -04:00
Daniel Agar and alexklimaj
d5839e2dd5
optical flow sensor pipeline overhaul
...
- all sources of optical flow publish sensor_optical_flow
- sensor_optical_flow is aggregated by the sensors module, aligned with integrated gyro, and published as vehicle_optical_flow
Co-authored-by: alexklimaj <alex@arkelectron.com >
2022-06-20 20:56:56 -04:00
alexklimaj
4cc3e78558
Add mag bias estimator to CAN GPS units with IMUs
...
- run `sensors` hub to process sensor_mag and publish vehicle_magnetometer
- update uavcannode to use vehicle_magnetometer
2022-06-19 15:46:36 -04:00
Daniel Agar
c7cec4252c
sensors: add CONFIG_SENSORS_VEHICLE_AIRSPEED for airspeed/differential pressure
...
- disable CONFIG_SENSORS_VEHICLE_AIRSPEED on boards only used for multicopter
2022-06-17 19:31:45 -04:00
Daniel Agar
c46fa01195
sensors: add kconfig mechanism to optionally exclude sensor types
2022-06-17 19:31:45 -04:00
Daniel Agar
ce70b6f4ac
sensors/vehicle_angular_velocity: add IMU_GYRO_RATEMAX constraints
2022-06-07 15:45:47 -04:00
Daniel Agar
01f0992f49
sensors/vehicle_imu: don't bother checking IMU_GYRO_RATEMAX
2022-06-07 15:45:47 -04:00
Serhat Aksun
bc220ddb82
sensors/vehicle_magnetometer: fix multi_mode check
...
Signed-off-by: Serhat Aksun <serhat.aksun@maxwell-innovations.com >
2022-05-23 10:09:41 -04:00
mcsauder
6b0788ff46
Standardize variable naming and formatting across vehicle attitude controller files.
2022-05-21 12:22:18 -04:00
mcsauder
e8da98fd14
Add gyro clipping to mirror accel clipping monitoring instances.
2022-05-18 21:16:05 -04:00
Daniel Agar
f390f52058
drivers/differential_pressure: remove lib/drivers/airspeed dependency and cleanup
...
- split ms4525_airspeed into separate ms4515 and ms4525 drivers
2022-04-26 08:39:19 -04:00
Daniel Agar
d1d15a6f6d
differential pressure remove filters from drivers and average in sensors/airspeed
2022-04-26 08:39:19 -04:00
Daniel Agar
258f558fea
apply differential pressure calibration (SENS_DPRES_OFF) centrally
...
- remove drv_airspeed.h and ioctls
2022-04-26 08:39:19 -04:00
Daniel Agar
b4158c1b48
sensors/vehicle_imu: Integrator use 1 microsecond for minimum DT
...
- this is a more realistic minimum for the system
2022-04-13 10:36:45 -04:00
Daniel Agar
d2f1349d1a
sensors/vehicle_imu: replace coning metric with actual integrator coning correction (averaged)
...
- this saves a relatively expensive higih rate cross product and gives
better visibility into what's actually happening internally
2022-04-13 10:36:45 -04:00
Daniel Agar
bb2ea574aa
ekf2: properly reset IMU biases on calibration change (non-multi-EKF)
...
- this was working in the multi-EKF case using vehicle_imu, but missing
in sensor_combined
2022-04-11 12:23:55 -04:00
Daniel Agar
0595efbd9b
sensors/vehicle_magnetometer: publish sensors_status_mag and other minor updates to stay in sync with air data
2022-03-26 16:08:41 -04:00
Daniel Agar
0c31f63896
sensors: add baro calibration and cleanup
...
- sensor_baro.msg use SI (pressure in Pascals)
- update all barometer drivers to publish directly and remove PX4Barometer helper
- introduce baro cal (offset) mainly as a mechanism to adjust
relative priority
- commander: add simple baro cal that sets baro offsets to align with
GPS altitude (if available)
- create new sensors_status.msg to generalize sensor reporting
2022-03-26 16:08:41 -04:00
Daniel Agar
6135bb384b
cleanup module callback registration failed errors
2022-03-23 20:44:50 -04:00
Daniel Agar
f4c3084c26
init adjustments to ensure used topics are advertised early (primarily for logging)
...
- multi-EKF create each instance as soon as IMU & mag are advertised (before device id populated)
2022-03-23 16:51:16 -04:00
Daniel Agar
475bd42ab8
sensors: add 2nd static notch and migrate existing parameters
...
- new static notch filter configured via IMU_GYRO_NF1_FRQ and IMU_GYRO_NF1_BW
- existing notch parameters IMU_GYRO_NF_FREQ and IMU_GYRO_NF_BW become
IMU_GYRO_NF0_FRQ and IMU_GYRO_NF0_BW
2022-03-19 14:38:04 -04:00
Daniel Agar
3d54d25867
sensor calibration delete temperature (CAL_ACCx_TEMP, CAL_GYROx_TEMP, CAL_MAGx_TEMP)
...
- this was an experiment to casually monitor sensor offsets relative to temperature, but now that all calibration offsets can be adjusted post-flight the stored temperature can be misleading
- deleting to save a little bit of flash (and storing the temperature wasn't useful)
2022-03-12 11:38:49 -05:00
wangwwno1
aa64789792
sensors/vehicle_imu: Fix Integration Rate greater than Gyro Rate ( #19318 )
2022-03-12 11:29:23 -05:00
Jukka Laitinen
9449ed6e66
Add support for protected build in drivers, systemcmds and modules Kconfig
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-02-18 07:58:58 +01:00
Daniel Agar
97a75fc388
sensors: skip selection and failover checks during parameter update cycles
2022-02-10 09:31:23 -05:00
Daniel Agar
86f81680fb
sensors: check uORB::SubscriptionData validity before use
2022-02-08 13:19:01 -05:00
Daniel Agar
f9d87fd97a
sensors/vehicle_angular_velocity: improve error handling (especially during initial selection)
2022-02-07 12:47:02 -05:00
Daniel Agar
138ff7a316
sensors: ensure that best accel/gyro is in bounds
2022-02-02 17:14:46 -05:00
Daniel Agar
07c273fc31
sensors/vehicle_angular_velocity: print full sensor_selection if device id not found
2022-02-02 17:14:46 -05:00
Daniel Agar
ae3070bbf1
ekf2: make filter update period configurable
...
- introduces new parameter EKF2_PREDICT_US to configure the filter
update period in microseconds
- actual filter update period will be an integer multiple of IMU
2022-01-26 10:57:09 -05:00
Daniel Agar
5ded1aedcb
sensors/vehicle_angular_velocity: add IMU_GYRO_DNF_HMC to configure number of ESC RPM notch filter harmonics
2022-01-24 09:23:03 -05:00
Daniel Agar
7cb8ed3a1f
sensors/vehicle_gps_position: don't work with 64 time with 32 bit floats
2022-01-21 09:18:49 -05:00
Daniel Agar
36605bfff6
sensors: lower SENS_MAG_RATE default
...
- reduce estimator 3D mag fusion cpu load (-3% on Pixhawk4)
2022-01-19 08:51:57 -05:00
Daniel Agar
dd6b7fa98f
sensors: switch status PX4_INFO -> PX4_INFO_RAW
2022-01-18 15:00:18 -05:00
Daniel Agar
b1d2a0cc4e
sensors: simplify timestamp data validator handling
2022-01-18 14:57:18 -05:00
Daniel Agar
548b7d5ece
sensors/vehicle_imu: on calibration change don't resume in flight calibration learning immediately
2022-01-18 11:22:41 -05:00
Daniel Agar
bb1177d504
sensor_calibration: refactor and centralize calibration slot logic
...
- centralize logic for selecting a preferred calibration slot
- automatically use existing calibration slot if it exists, otherwise
find first available slot, with a preference for a requested index
- existing commander calibration methods rewrite all calibration slots
to match current sensor ordering
2022-01-12 16:16:26 -05:00
Daniel Agar
2eec7842ae
sensors/vehicle_imu: fix SENS_IMU_AUTOCAL saving logic
...
- on cycles that don't check for updated calibraton (estimated bias) we
check if there's anything valid to save (when disarmed)
2022-01-11 11:47:02 -05:00
Daniel Agar
cc1fee525a
lib/sensor_calibration: handle calibration slot change on parameter update
2022-01-10 17:16:50 -05:00
Daniel Agar
ab547bb982
sensors/vehicle_angular_velocity: RPM notch don't fully disable if first harmonic frequency drops below minimum frequency
...
- keep higher frequency harmonics enabled per ESC
- cleanup timestamp handling (timeouts, etc)
2022-01-10 14:51:29 -05:00
Daniel Agar
b58922a5d7
sensors/vehicle_angular_velocity: notch filters automatically reset on sufficient parameter change
2022-01-10 14:51:29 -05:00
Daniel Agar
7d632254be
NotchFilter push initialization/reset into filter
...
- this simplifies the reset by allowing a notch filter to reset as
needed
- improves cascade initialization, on reset each filter will reset
properly from the previous
2022-01-10 14:51:29 -05:00
Daniel Agar
d9e7315420
sensors: automatically set initial accel/gyro calibration if stable bias available
2022-01-10 10:46:37 -05:00
Daniel Agar
e731fcdbc0
sensors (accel/gyro/mag) determine if external with device id
2022-01-10 10:31:07 -05:00