Commit Graph

13457 Commits

Author SHA1 Message Date
priseborough 7ea37029b6 AP_NavEKF2: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough 4a490d522e AP_GPS: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough b5ba1d0346 AP_NavEKF3: protect against large delay values returned by the GPS library 2017-01-27 16:57:42 +09:00
priseborough be0096e812 AP_GPS: Allow the user to specify the GPS time delay
If the user sets a non-zero value of the delay it will be used in preference over the default value for that GPS type.
If the GPS type is unknown and the parameter is set to zero, then a default delay of 1 sample period will be used (eg 200ms for 5Hz).
2017-01-27 16:57:42 +09:00
priseborough 4540faf6af AP_NavEKF3: Improve waiting for GPS configuration
Do not time out and provide an escalating series of messages. We may need to adjust the time thresholds used for escalation.
Do not wait if the EKF is not using the GPS.
2017-01-27 16:57:42 +09:00
priseborough 52e8f687d9 AP_NavEKF3: fix logic bug introduced by magnetometer use changes 2017-01-27 16:57:42 +09:00
priseborough a133d55b6d AP_NavEKF3: Allow copters to fly with magnetometers disabled
Copter operation without a magnetometer is limited to constant position and relative position modes only (no GPS or range beacon fusion permitted)
Copter optical flow operation without a magnetometer is permitted.
The ability of planes to takeoff/launch without a magnetometer and align the yaw using the GPS velocity is retained.
2017-01-27 16:57:42 +09:00
priseborough 2e5ac40ef6 AP_NavEKF3: remove unnecessary stdio includes 2017-01-27 16:57:42 +09:00
priseborough 8688d1ddac AP_NavEKF3: Improve range finder selection logic
Fixes bug that could leave it locked out of range finder use.
2017-01-27 16:57:42 +09:00
priseborough 7e8f3fca53 AP_NavEKF3: Address review comments
Removes a leftover debug printf statement.
Fixes documentation errors.
Replace remaining fmaxf function calls with Ardupilot MAX function
2017-01-27 16:57:42 +09:00
priseborough b723966b8d AP_NavEKF2: Add protection against bad GPS time delay values
Prevent bad values for GPS time delay pushing the GPS time stamp outside the range of IMU data contained in the buffer. If this occurs it can prevent the GPS measurements from being fused and cause loss of navigation.
2017-01-27 16:57:42 +09:00
priseborough e2757c17c8 AP_AHRS_NavEKF: fix ekf variable naming and initialisation 2017-01-27 16:57:42 +09:00
priseborough 59ee074560 AP_NavEKF3: Remove EKF2 names 2017-01-27 16:57:42 +09:00
priseborough b862f0d7ad AP_NavEKF3: Enable use of GPS delay value from returned by the driver
Use the time delay returned by the GPS driver.
Wait long enough for the GPS configuration to be determined, but time out after 30 seconds and warn the user that a default value for time delay will be used.
2017-01-27 16:57:42 +09:00
Andrew Tridgell bdc0630ccf AP_GPS: added all_configured() function
used for EKF to tell if gps_lag is valid
2017-01-27 16:57:42 +09:00
Andrew Tridgell 5d18f3a453 AP_GPS: added backend specific get_lag() function
the ublox7 and 8 seem to produce lower lag, around 120ms. Separately
we should also look at running these at 10Hz and see if that helps.
2017-01-27 16:57:42 +09:00
priseborough 69a47d7522 AP_NavEKF3: Improve reporting of buffer allocation 2017-01-27 16:57:42 +09:00
priseborough ceb42225fd AP_NavEKF3: Ensure enough time to fill buffers when starting filter 2017-01-27 16:57:42 +09:00
priseborough a8fd1d8bcd AP_NavEKF3: fix potential time-stamping bug
Use a consistent time reference
2017-01-27 16:57:42 +09:00
priseborough 8d1733cee6 AP_NavEKF3: Use FIR filtered airspeed
Switch to use of an airspeed reading averaged across the raw sensor readings. since the last update.
This avoids use of the IIR which requires a larger time delay compensation and violates the assumption of uncorrelated noise.
The time delay parameter has been reduced to compensate for the removal of the airspeed IIR filtering.
2017-01-27 16:57:42 +09:00
priseborough 9261c34097 AP_NavEKF3: Update default GPS delay
This value is a compromise between what works best for a Ublox 6 which is around 200msec delay and the more recent 7 and 8 series receivers that are around 120msec delay.
2017-01-27 16:57:42 +09:00
priseborough ed5039823f AP_NavEKF3: Adapt sensor buffer lengths
Adapt the lengths of the IMU and observations buffers on startup to the specified time delays and update rates.
This does require the EKF to be re-started if time delays are changed.
2017-01-27 16:57:42 +09:00
priseborough 2cc48f78a7 AP_NavEKF3: Update range beacon fusion
Add innovation consistency check to alignment filter and publish alignment filter status data
2017-01-27 16:57:42 +09:00
priseborough ed0a90ae5f AP_Beacon: Apply correct conversion from Pozyx beacon earth frame
The Pozyx beacon system uses a North, West, Up axis system and the APM software uses a North, East, Down convention.
2017-01-27 16:57:42 +09:00
priseborough a02a84560f DataFlash: log 3-state range beacon estimator states for EKF3 2017-01-27 16:57:42 +09:00
priseborough 92b8c33b19 AP_NavEKF3: publish 3-state range beacon estimator states 2017-01-27 16:57:42 +09:00
priseborough 7c53573a0c AP_NavEKF3: Allow range beacon use with intermittent GPS 2017-01-27 16:57:42 +09:00
priseborough e5e4883c72 AP_NavEKF3: Fix GPS use inhibit interface documentation 2017-01-27 16:57:42 +09:00
priseborough c7e1828238 AP_NavEKF3: improve variable name 2017-01-27 16:57:42 +09:00
murata 32b60432b4 AP_Baro: Add format specification.
AP_Baro: Add format specification.
2017-01-27 18:20:22 +11:00
murata 37a55c38a1 StorageManager: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 9de6318b77 PID: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 4a60850558 GCS_MAVLink: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 474569c91b GCS_Console: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 81ef065c53 AP_RPM: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 17c62ffe4c AP_RangeFinder: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 59454b0c6f AP_Param: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 60b63bb69e AP_Parachute: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 77c402556b AP_OpticalFlow: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 3ce2ca488a AP_Notify: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 2d32211c81 AP_Mount: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 92eb179acf AP_Motors: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 9481e0d158 AP_Mission: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata aa3fb830af AP_Menu: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 0733d760f6 AP_HAL_VRBRAIN: Unify from print or println to printf.
AP_InertialSensor: Unify from print or printin to printf.
2017-01-27 18:20:22 +11:00
murata 67fdbf5c2d AP_HAL_SITL: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 3200f24106 AP_GPS: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 37873717de AP_Declination: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 50eead63cc AP_Common: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata f18b8844bf AP_BattMonitor: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00