priseborough
e9a3eca751
msg: add velocity accuracy reporting to local position topic
2017-05-03 08:37:14 +02:00
priseborough
d0d2c9dcba
msg: add velocity accuracy reporting to global position topic
2017-05-03 08:37:14 +02:00
Paul Riseborough
9983bf2364
ekf2: fix errors in publishing of local position origin validity flags
2017-05-01 17:23:11 +02:00
Paul Riseborough
7c068e83d8
msg: correct definitions for local position origin validity flags
2017-05-01 17:23:11 +02:00
Paul Riseborough
1843061376
Tools/ecl_ekf: Improvements to ecl log analysis scripts
...
Fix error in scaling of population high frequency vibration metrics
Add histograms for delta angle and velocity bias data
Fix variable descriptions
2017-04-21 08:34:19 +02:00
Paul Riseborough
2a34bde0e9
Tools/ecl_ekf: Update EKF log analysis
...
Add assessment of IMU bias and mag field estimation
Reduce warning false positives by adjusting thresholds and eliminating use of peak value plots for output observer monitoring
Clear each figure after saving to reduce memory usage
2017-04-21 08:34:19 +02:00
Paul Riseborough
ed9a9b772e
ekf2: minimum change required to use updated ecl library
2017-04-21 08:34:19 +02:00
Paul Riseborough
dad2419b21
ecl: Update EKF version
...
Miscellaneous bug fixes and improvements including:
More conservative reporting of velocity and position accuracy when aiding is lost
Separate reporting of accuracy for local and global position
Detection and recovery from badly conditioned accel bias states and covariance values
Logic to prevent high manoeuvre levels causing bad acceleration bias learning
Reduce sensitivity of covariance prediction to timing jitter
Continue reporting of GPS quality until the later of airborne or checks pass
Add ability to perform wind estimation for multi-rotors using a specific force drag model
2017-04-21 08:34:19 +02:00
Paul Riseborough
bf06066010
Tools: Add scripts for ecl EKF log file analysis
2017-02-20 07:53:07 +01:00
Paul Riseborough
ed5c8913ad
events: update documentation for polyfit algorithm
2017-02-20 07:53:07 +01:00
Paul Riseborough
72633ad4c8
events: update documentation for polyfit algorithm
2017-02-16 22:17:47 +01:00
Paul Riseborough
1f4155c208
events: fix code style issues
2017-02-12 09:21:37 +01:00
Paul Riseborough
9858b0b491
sensors: Add calibration control parameters to QGC list
2017-02-12 09:21:37 +01:00
Paul Riseborough
36f83e46ee
events: abort calibration if starting temperature is too high
2017-02-12 09:21:37 +01:00
Paul Riseborough
22c8c59829
Thermal Calibration - add parameter required to control max starting temperature
2017-02-12 09:21:37 +01:00
Paul Riseborough
93a70c2d0b
systemlib: Fix parameter name error
2017-02-12 09:21:37 +01:00
Paul Riseborough
f3d30564ed
events: don't start baro calibration until specified temperature achieved
2017-02-12 09:21:37 +01:00
Paul Riseborough
e75f2b9cf7
events: don't start accel calibration until specified temperature achieved
2017-02-12 09:21:37 +01:00
Paul Riseborough
cdf80a868a
events: don't start gyro calibration until minimum temperature achieved
2017-02-12 09:21:37 +01:00
Paul Riseborough
c901c4b39e
Thermal Calibration - add parameter required to control minimum starting temperature
2017-02-12 09:21:37 +01:00
Paul Riseborough
693cc4a533
Update SYS_CAL_TEMP parameter name and description
...
We will be adding another parameter to set min starting temp, so this name needs to be made less generic.
Fixes typographical errors in the description
2017-02-12 09:21:37 +01:00
Paul Riseborough
b36e65fd6d
events: Improve consistency of console messages
2017-02-02 23:54:06 +01:00
Paul Riseborough
9e219fba0c
events: make required temp rise for calibration adjustable
2017-02-02 23:54:06 +01:00
Paul Riseborough
4ff5e7c5ab
systemlib
2017-02-02 23:54:06 +01:00
Paul Riseborough
8001db257c
ROMFS: enable auto start of thermal calibration
2017-02-02 23:54:06 +01:00
Paul Riseborough
8aa91512e9
systemlib: Add parameters to control thermal calibration startup behaviour
2017-02-02 23:54:06 +01:00
Paul Riseborough
f86347f1e2
Tools: Enable offline calibrator to handle less than 3 inertial sensors
2017-02-02 23:54:06 +01:00
Paul Riseborough
4d163eebb9
events: Add accelerometer and baro thermal calibration
2017-02-02 23:54:06 +01:00
Paul Riseborough
f0c456dd54
events: give gyro cal unique names in preparation for other sensor types
2017-02-02 23:54:06 +01:00
Paul Riseborough
7d8ce9ab9c
sensors: Fix bug in temperature offset calculation
2017-02-01 08:40:23 +01:00
Paul Riseborough
0a447e9a93
Tools: update instructions for off-board calibrator
2017-02-01 08:40:23 +01:00
Paul Riseborough
e78c5155a2
Tools: update calibration instructions
2017-02-01 08:40:23 +01:00
Paul Riseborough
253683af5f
drivers: Don't require driver level gyro offsets to be non-zero
2017-02-01 08:40:23 +01:00
Paul Riseborough
bdbc4f4d65
commander: fix bug in gyro calibration
...
If the same gyro data was contained in two uORB instances, the thermal offset coefficient was being corrected twice.
TODO should fix what was causing data from the same sensor to appear on two uORB topics.
2017-02-01 08:40:23 +01:00
Paul Riseborough
6e841f6cbd
commander: fix bugs in handling of thermal compensation during access cal
2017-02-01 08:40:23 +01:00
Paul Riseborough
06f280e021
Tools: reinstate original offline calibrator to unblock testing
...
Refactored calibrator is not working.
2017-02-01 08:40:23 +01:00
Paul Riseborough
f9b75e68c9
Tools: Change sign convention used by thermal calibrator
...
The flight code assumes corrections have the same sign as the sensor bias error and are subtracted from the raw reading
2017-02-01 08:40:23 +01:00
Paul Riseborough
c00c638b77
Remove IMU calibration parameter checks
2017-02-01 08:40:23 +01:00
Paul Riseborough
fb774bef67
commander: enable accel cal to adjust thermal compensation parameters
2017-02-01 08:40:23 +01:00
Paul Riseborough
bdd3b094a7
sensors: report mapping from uORB to compensation parameter index
2017-02-01 08:40:23 +01:00
Paul Riseborough
8b1a5461c4
sensors: Update documentation
2017-02-01 08:40:23 +01:00
Paul Riseborough
ba9e8741c0
msg: Add mapping from uORB index to compensation parameter index
...
This mapping is required so other applications can use the correct compensation data, even if the uORB ordering changes.
2017-02-01 08:40:23 +01:00
Paul Riseborough
f2f5034832
sensors: prevent high frequency updating of sensor corrections
...
The use of a float to integer cast was causing high frequency reporting when the float value was close to the rounding boundary.
2017-02-01 08:40:23 +01:00
Paul Riseborough
62694d92d2
commander: rework IMU cal for compatibility with temperature compensation
2017-02-01 08:40:23 +01:00
Paul Riseborough
add298c0b5
mc_att_control: use legacy offset and scale definition (+2 squashed commits)
...
Squashed commits:
[f81a8b0] mc_att_control: remove unnecessary initialisers
[f3d3f48] mc_att_control: accommodate changes to sensor_correction topic
2017-02-01 08:40:23 +01:00
Paul Riseborough
170bc91587
sensors: fix bug in thermal compensation temperature limit (+2 squashed commits)
...
Squashed commits:
[2df1d9e] sensors: change definition of sensor offset and scale factor to match legacy code
[089e103] sensors: publish thermal corrections for all sensors
2017-02-01 08:40:23 +01:00
Paul Riseborough
1dd9a10260
msg: publish thermal corrections for all sensors
2017-02-01 08:40:23 +01:00
Paul Riseborough
7e21aaf0c9
Tools: Add script file to generate sensor thermal compensation parameters
2017-01-21 11:48:03 +01:00
Paul Riseborough
d8c046e47c
ROMFS: add thermal calibration logging mode
2017-01-21 11:48:03 +01:00
Paul Riseborough
3a029e58c7
logger: Add mode for thermal calibration logging
...
Logs the IMU and baro data at 10Hz
2017-01-21 11:48:02 +01:00
Paul Riseborough
1d66d4b051
sensors: Allow for difference in temperature readings across sensors
...
We need to track the temperature change in each sensor instance individually when using it as basis for publication.
2017-01-21 08:31:56 +01:00
Paul Riseborough
eac6dfed3c
mc_att_control: Sync attitude loops to gyro data
...
Sync the attitude controller to the raw gyro data to remove the latency in the rate loops caused by the sensor and estimator modules.
Attitude data latency will increase as it will be from the previous EKF update, however attitude loops are less latency sensitive.
Thermal compensation and bias data will be from the previous frame.
2017-01-19 19:24:52 +01:00
Paul Riseborough
b2113b9abe
cmake: Reduce flash size for px4fmu-v2 build
...
Removes Iridium SBD support
2017-01-19 19:24:52 +01:00
Paul Riseborough
edbe68f833
posix drivers: use orb instance as surrogate sensor ID for simulated IMU
2017-01-19 19:24:52 +01:00
Paul Riseborough
e84a189380
drivers: use driver class instance as surrogate sensor ID for gyro and accelerometer
2017-01-19 19:24:52 +01:00
Paul Riseborough
60c12aaa36
msg: change sensor device ID's to signed integers
...
Required to use driver class instance as surrogate sensor ID
2017-01-19 19:24:52 +01:00
Paul Riseborough
0485c2b94a
sensors: add baro pressure temperature compensation and reporting
2017-01-19 19:24:52 +01:00
Paul Riseborough
c21b4aaf2e
posix drivers: Populate baro device ID
...
TODO - use unique HW ID
2017-01-19 19:24:52 +01:00
Paul Riseborough
0ba31b521c
uavcan: Populate baro device ID
...
TODO - use unique HW ID
2017-01-19 19:24:52 +01:00
Paul Riseborough
677616ed83
mavlink: Populate baro device ID
...
TODO - use unique HW ID
2017-01-19 19:24:52 +01:00
Paul Riseborough
5e53a5425a
drivers: Populate baro device ID
...
TODO - use unique HW ID
2017-01-19 19:24:52 +01:00
Paul Riseborough
137bd73ea1
msg: add reporting of baro sensor corrections
...
Also improve documentation
2017-01-19 19:24:52 +01:00
Paul Riseborough
c2fc283fdb
sensors: Update single axis temp comp method to 5th order
...
This allows future use with baro sensors that require a higher fit order
2017-01-19 19:24:52 +01:00
Paul Riseborough
6a78df7fa0
ekf_att_pos_estimator: Publish control state gyro bias
2017-01-19 19:24:52 +01:00
Paul Riseborough
f8cef1e9ab
attitude_estimator_q: populate control state gyro bias data
...
Populate with zeros.
TODO provide estimate.
2017-01-19 19:24:52 +01:00
Paul Riseborough
27e6f07485
ekf2: publish control state gyro bias data
2017-01-19 19:24:52 +01:00
Paul Riseborough
28488cfcd0
msg: add gyro biases to control state message
2017-01-19 19:24:52 +01:00
Paul Riseborough
da87e3eb0a
posix drivers: Populate device ID in sensor topics for simulated IMU
2017-01-19 19:24:52 +01:00
Paul Riseborough
961474f430
posix drivers: Populate device ID in sensor topics for mpu9250
2017-01-19 19:24:52 +01:00
Paul Riseborough
1009550262
posix drivers: Populate device ID in sensor topics for mpu6050
2017-01-19 19:24:52 +01:00
Paul Riseborough
48f81f24e1
posix drivers: Populate device ID in sensor topics for lsm9ds1 sensor
2017-01-19 19:24:52 +01:00
Paul Riseborough
7c9e9f31e1
drivers/mpu9250: Populate device ID in sensor topics
2017-01-19 19:24:52 +01:00
Paul Riseborough
5177866b54
drivers/mpu6500: Populate device ID in sensor topics
2017-01-19 19:24:52 +01:00
Paul Riseborough
ddda5eccd6
drivers/mpu6000: Populate device ID in sensor topics
2017-01-19 19:24:52 +01:00
Paul Riseborough
cfaef7f433
drivers/lsm303d: Populate device ID in sensor topics
2017-01-19 19:24:52 +01:00
Paul Riseborough
14e2ea78b3
drivers/l3gd20: Populate device ID in sensor topic
2017-01-19 19:24:52 +01:00
Paul Riseborough
9014443d77
drivers/bmi160: Populate device ID in sensor topics
2017-01-19 19:24:52 +01:00
Paul Riseborough
f12820755f
msg: Add device ID to sensor_baro topic
2017-01-19 19:24:52 +01:00
Paul Riseborough
6a160ecad3
msg: Update documentation for gyro and accel sensor topics
2017-01-19 19:24:52 +01:00
Paul Riseborough
63f032832f
Add prototype IMU temperature compensation
...
Enabled using TC_A_ENABLE and TC_G_ENABLE parameters
Disabled by default.
IMU offsets and scale factors for selected sensor published to sensor_correction topic
TODO Parameter storage method is cumbersome
2017-01-19 19:24:52 +01:00
Paul Riseborough
9599f58c5d
msg: add uORB topic for IMU sensor corrections
2017-01-19 19:24:52 +01:00
Paul Riseborough
4f1b748786
msg: Fix documentation errors in sensor_combined
2017-01-19 19:24:52 +01:00
Paul Riseborough
94ce6e12c1
sensor: update default flow sensor rotation
...
The SENS_FLOW_ROT parameter is used in the px4flow and mavlink receiver to perform the rotation from sensor frame to body frame.
2016-12-30 10:39:10 +01:00
Paul Riseborough
3787fafdff
px4flow: update default rotation and documentation
...
The driver performs the rotation from sensor frame to body frame.
The recommended installation default is with the Y sensor axis pointing forward.
2016-12-30 10:39:10 +01:00
Paul Riseborough
eca2aeccf9
position_estimator_inav: Make optical flow data conversions consistent with uORB interface
2016-12-30 10:39:10 +01:00
Paul Riseborough
92f5211f55
local_position_estimator: Make optical flow data conversions consistent with uORB interface
2016-12-30 10:39:10 +01:00
Paul Riseborough
ae55c8d87c
msg: Clarify sign conventions for optical flow message
2016-12-30 10:39:10 +01:00
Paul Riseborough
da6d4398e9
px4fmu: publish mixer saturation data to uORB
2016-12-13 16:14:15 +01:00
Paul Riseborough
ca6f67fd3b
tap_esc: publish mixer saturation status to uORB
2016-12-13 16:14:15 +01:00
Paul Riseborough
8b55c8ec55
systemlib mixer: Add public method for multi_rotor saturation status
2016-12-13 16:14:15 +01:00
Paul Riseborough
eb67686b11
mc_att_control: Improve integrator wind-up protection
...
Use reporting from the motor mixer to only restrict integrator growth when it will result in increased saturation of the control axis concerned.
Enable absolute integrator limits to be set by parameter
2016-12-13 16:14:15 +01:00
Paul Riseborough
efb7131186
px4io: improve multi-rotor motor saturation status reporting
2016-12-13 16:14:15 +01:00
Paul Riseborough
57a6faf8a2
px4iofirmware: remove unused defines
2016-12-13 16:14:15 +01:00
Paul Riseborough
c4ccfeae0d
mixer: improve multirotor motor limits reporting
2016-12-13 16:14:15 +01:00
Paul Riseborough
3835e8cd79
msg: improve multirotor_motor_limits reporting
2016-12-13 16:14:15 +01:00
Paul Riseborough
1fbc688757
Commander: Fix pre-flight EKF check errors
2016-12-09 17:58:23 +01:00
Paul Riseborough
81dc20ea86
logger: add preflight sensor check messages
2016-11-19 15:12:08 +01:00
Paul Riseborough
983cfb8fdd
commander: Add preflight checking for EKF health and IMU sensor consistency
2016-11-19 15:12:08 +01:00
Paul Riseborough
55bf6b4974
sensors: Calculate and publish pre-flight IMU sensor consistency metric
...
If a single sensor is fitted, the calculation is not performed and zero values are published.
If dual IMU's are fitted, the vector length difference between the primary IMU and the second sensor is output for the angular rates and accelerations. The vector difference is low pass filtered before the length is taken.
If three IMU's are fitted, the vector length is calculated for both alternative sensors and and the maximum values output.
Fourth and subsequent IMU's are ignored.
2016-11-19 15:12:08 +01:00
Paul Riseborough
c07f7b5659
msg: Add topic for pre-flight sensor checks
2016-11-19 15:12:08 +01:00