Paul Riseborough
fc6978e4d9
AP_NavEKF2: Fix error in parameter documentations
2015-11-18 11:39:54 +11:00
Paul Riseborough
f9cadaf15c
AP_NavEKF2: Increase resolution of innovation consistency gate parameters
...
Also adds protection against setting the gate to a number that would casue numerical errors.
2015-11-18 11:39:53 +11:00
Andrew Tridgell
08ef00b431
AP_NavEKF2: fixed build with IMU_BUFFER_LENGTH change
2015-11-18 11:33:51 +11:00
Paul Riseborough
af3507ef3c
AP_NavEKF2: Stop bad INS velocity spoiling height reset
...
We should reset the velocity as well as the height if a reasonable reset value is available.
2015-11-18 11:18:50 +11:00
Paul Riseborough
97799ef0b3
AP_NavEKF2: Ensure that GPS origin is set before using data for height
2015-11-18 11:18:50 +11:00
Paul Riseborough
b8427e5d95
AP_NavEKF2: Only allow rangefinder height option during optical flow nav
2015-11-18 11:18:50 +11:00
Paul Riseborough
c9eea98142
AP_NavEKF2: Improve terrain height estimation
...
The ad-hoc scaling of error growth has been replaced with a consistent method that uses the main nav filters published vertical velocity uncertainty and the terrain gradient assumption.
2015-11-18 11:18:46 +11:00
Paul Riseborough
d820a538d5
AP_NavEKF2: Make magnetometer data available status global
...
This assists with debugging and makes it consistent with other measurements that are buffered
2015-11-18 11:18:46 +11:00
Paul Riseborough
04228e0b3b
AP_NavEKF2: Rework selection of height measurements for fusion
...
GPS height has been added as a measurement option along with range finder and baro
Selection of the height measurement source has been moved into a separate function
Each height source is assigned its own measurement noise
If GPS or baro alt is not able to be used, it reverts to baro
When baro is not being used, an offset is continually calculated which enables a switch to baro without a height step.
2015-11-18 11:18:42 +11:00
Paul Riseborough
80bc64ee7a
AP_NavEKF2: Update parameter documentation with GPS height source option
2015-11-18 11:18:18 +11:00
Paul Riseborough
4c72a14e22
AP_NavEKF2: Add function to LPF and spike filter baro data
2015-11-18 11:18:17 +11:00
Paul Riseborough
34311bedfa
AP_NavEKF2: Add data buffers for range finder data
2015-11-18 11:18:17 +11:00
Andrew Tridgell
104a0fcc6a
PX4Firmware: submodule update
2015-11-18 10:34:13 +11:00
Andrew Tridgell
99da195e37
AP_NavEKF2: make IMU buffer length depend on main loop rate
...
this fixes a problem with Replay and baro data
2015-11-18 10:20:39 +11:00
Randy Mackay
1b29a1af46
Copter: consolidate setting of using-iterlock state
2015-11-17 09:02:31 +09:00
Andrew Tridgell
4192c3d0ad
autotest: calibrate 2nd accel in SITL for rover
2015-11-17 08:56:48 +11:00
Andrew Tridgell
f36b2e415a
AP_InertialSensor: fixed flymaple build
2015-11-17 08:52:49 +11:00
Andrew Tridgell
32ed0d58f3
AP_InertialSensor: fixed filter setup on 2nd accel/gyro
2015-11-16 17:57:36 +11:00
Andrew Tridgell
0c92331762
Copter: fixed build for SITL changes
2015-11-16 17:57:36 +11:00
Andrew Tridgell
9108179322
Plane: fixed build for SITL changes
2015-11-16 17:57:36 +11:00
Andrew Tridgell
e1cb9beeef
SITL: expose update rate to HAL_SITL
...
and fixed dataflash reference loop
2015-11-16 17:57:36 +11:00
Andrew Tridgell
95ca0b39a8
HAL_SITL: moved virtual INS sensor to AP_InertialSensor_SITL
2015-11-16 17:57:35 +11:00
Andrew Tridgell
4a768d47f3
AP_InertialSensor: created a SITL specific backend
2015-11-16 17:57:35 +11:00
Andrew Tridgell
2675edcb96
HAL_SITL: removed unused variables
2015-11-16 17:57:35 +11:00
Andrew Tridgell
ccd915eb67
AP_InertialSensor: moved raw gyro and accel logging to common code
...
this brings raw logging to non-PX4 ports
2015-11-16 17:57:35 +11:00
Andrew Tridgell
75ea8f3dc0
AP_InertialSensor: removed "have sample" logic from drivers
...
the frontend has all the information it needs, so we can simplify the
drivers some more
2015-11-16 17:57:35 +11:00
Andrew Tridgell
0e4bab74ba
AP_InertialSensor: simplify sensor backends
...
use common code for filtering and update, allowing each sensor driver
to be simpler and more consistent
2015-11-16 17:57:35 +11:00
Randy Mackay
36c0beb918
GPS_UBlox: reorder init to resolve compiler warning
...
Also removed duplicate init of noReceivedHdop
2015-11-16 15:09:17 +09:00
Jonathan Challinger
5086168b03
Copter: add RTL_SPEED parameter
2015-11-16 10:20:32 +09:00
Paul Riseborough
9b82b2200c
AP_NavEKF2: Fix plane in-flight yaw reset
...
The copter method was being used for plane and the plane method was not being run due to the change in flight status not being detected.
The plane reset method did not trigger if the EKF had already dragged the velocity states along with the GPS or could align to an incorrect heading.
The method has been reworked so that it resets to the GPS course, but only if there are inconsistent angles and large innovations.
To stop a failed magnetometer causing a loss of yaw reference later in flight, if all available sensors have been tried in flight and timed out, then no further magnetoemter data will be used
2015-11-16 09:05:42 +11:00
Paul Riseborough
e8706db382
AP_NavEKF2: Update IMU tuning parameter limits
2015-11-16 09:05:42 +11:00
Paul Riseborough
0562529729
AP_NavEKF2: Tuning changes to make attitude less sensitive to GPS and compass errors
2015-11-16 09:05:42 +11:00
Andrew Tridgell
3549c717db
Filter: removed reference to old 'Desktop' build
2015-11-16 08:06:05 +11:00
Andrew Tridgell
8f4ce7f20b
build: removed all nocore.inoflag files
...
these were APM2 specific
2015-11-16 08:05:17 +11:00
Andrew Tridgell
1ffe899a18
PID: fixed example build
2015-11-16 08:04:44 +11:00
Andrew Tridgell
9ea99cba29
HAL_Linux: fixed example build
2015-11-16 08:04:35 +11:00
Andrew Tridgell
c81d4fa07b
AP_Declination: fixed example build
2015-11-16 07:59:18 +11:00
Andrew Tridgell
a9372ad5d7
Filter: fixed example builds
2015-11-16 07:58:55 +11:00
Andrew Tridgell
6cf5e582b9
AP_Common: fixed examples build
2015-11-16 07:58:13 +11:00
Andrew Tridgell
d43ef07f98
autotest: switched examples build to navio
...
apm2 no longer supported. Navio provides good coverage of the code for
example builds
2015-11-16 07:57:57 +11:00
Michael Oborne
2f49fa1531
AP_GPS_GSOF: add second comport to base config
2015-11-15 14:56:49 +08:00
Andrew Tridgell
1a033f3b73
HAL_Linux: don't flood the link with errors on uninitialised perf counter
...
that could bring down the vehicle
2015-11-14 14:44:29 +11:00
Julien BERAUD
2f610a400a
AP_HAL_Linux: fix perf
...
Fix warning (warning: declaration of 'perf_count' shadows a member of 'this')
and check that perf is not NULL before indirection
2015-11-14 14:44:29 +11:00
Julien BERAUD
259f5f07e8
AP_NavEKF_core: fix init of perf
...
_perf_FuseOptFlow was used and not allocated
2015-11-14 14:44:29 +11:00
Randy Mackay
05246ea0c7
Copter: fix RTL compile error when rally disabled
...
Thanks to derekxm for finding this
2015-11-14 12:39:23 +09:00
Randy Mackay
731c44d053
Copter: allow terrain to be excluded from build
2015-11-14 12:38:47 +09:00
Robert Lefebvre
2b111c2bd6
Copter: fix Helicopter no-build issue
...
Conflict with another recent change to disarm counter
2015-11-14 10:32:58 +09:00
Julien BERAUD
f8f2833c88
AP_HAL_Linux: use I2C_SLAVE_FORCE in case of error
...
When there is already a driver registered on an i2c bus, the I2C_SLAVE ioctl
returns an error.
When it happens, it is better to display a warning and try to force the address.
It is especially useful on the bebop when killing the regular autopilot that uses
iio drivers to access the imu because else we would need to manually unbind the
driver in an init procedure.
I have added a warning because this error can also be resulting of another cause.
If the error is not EBUSY, then panic
If the I2C_SLAVE_FORCE ioctl fails then we panic because one of the i2c devices
won't be working properly.
2015-11-13 21:20:13 +11:00
Andrew Tridgell
9214b85cf1
Copter: fixed path for AC_InputManager for heli
2015-11-13 13:49:25 +11:00
Andrew Tridgell
cefb32566f
GCS_MAVLink: fixed corner case in MAVLink routing
...
when a GCS sends a command to a system ID that isn't our system ID,
the GCS may use a non-advertised component ID such as
MAV_COMP_ID_SYSTEM_CONTROL. Those packets should be fowarded to the
target system even though the target system has not specifically
advertised that target sysid/compid tuple.
2015-11-13 13:38:53 +11:00