Commit Graph

25356 Commits

Author SHA1 Message Date
Andrew Tridgell 0e14992b34 DataFlash: hide direct EK2/EK3 logging
should call Log_Write_EKF and let it choose the types
2016-12-19 08:07:14 +11:00
Andrew Tridgell 4cf509a693 Plane: fixed EKF3 logging 2016-12-19 08:07:14 +11:00
Andrew Tridgell 1c3fefa150 Tracker: fixed EKF3 logging 2016-12-19 08:07:14 +11:00
Andrew Tridgell 0266cb61e0 Rover: fixed EKF3 logging 2016-12-19 08:07:14 +11:00
Andrew Tridgell bebc7e4519 Replay: removed EKF_ENABLE parameter 2016-12-19 08:07:13 +11:00
Andrew Tridgell e71ee51a9c autotest: removed use of EKF_ENABLE parameter 2016-12-19 08:07:13 +11:00
Andrew Tridgell f3ee9fe9bd travis: split up jobs to keep below time limit 2016-12-19 08:07:13 +11:00
Andrew Tridgell b7081f42cd waf: exclude some files from ROMFS
no need to include oreoled on FMUv2 as its Solo only
2016-12-19 08:07:13 +11:00
Andrew Tridgell a8280262a6 PX4NuttX: update gitignore 2016-12-19 08:07:13 +11:00
Andrew Tridgell 979c3a6270 mk: support px4-v3 with make
I really wish we didn't still need this!
2016-12-19 08:07:13 +11:00
Andrew Tridgell 0870e02584 AP_AHRS: fixed example build 2016-12-19 08:07:13 +11:00
Andrew Tridgell 29bc07f410 AP_HAL: setup for building ucavcan on FMUv3 but not FMUv2
save a lot of flash space on FMUv2
2016-12-19 08:07:12 +11:00
Andrew Tridgell bc304a21a2 travis: test build FMUv3 2016-12-19 08:07:12 +11:00
Andrew Tridgell 321cad640c waf: trim PX4 config to reduce firmware size
removed unused drivers
2016-12-19 08:07:12 +11:00
Andrew Tridgell 95b848f2b6 waf: fixes for FMUv3 2016-12-19 08:07:12 +11:00
Andrew Tridgell 67b97b21db AP_BoardConfig: switched to always using in-tree sensors 2016-12-19 08:07:12 +11:00
Andrew Tridgell da2638e424 PX4Firmware: submodule update
added FMUv3
2016-12-19 08:07:12 +11:00
Andrew Tridgell 74a871576c waf: added FMUv3 to build 2016-12-19 08:07:12 +11:00
Andrew Tridgell bd0a0510ed AP_HAL: define FMUv3 2016-12-19 08:07:11 +11:00
priseborough 60ebe97e10 AP_InertialSensor: remove unused EKF1 include 2016-12-19 08:07:11 +11:00
priseborough 509709ce9d AP_Motors: remove unused EKF1 include 2016-12-19 08:07:11 +11:00
priseborough 453ced4a38 AP_GPS: remove unused EKF1 include 2016-12-19 08:07:11 +11:00
priseborough bb29c74e52 AP_NavEKF: remove EKF1 2016-12-19 08:07:11 +11:00
priseborough a222ebfaa5 README: remove EKF1 2016-12-19 08:07:11 +11:00
priseborough 809bfc1154 GCS_MAVLink: replace call to EKF1
Return hagl from primary EKF
2016-12-19 08:07:11 +11:00
priseborough f70cc3cf34 AP_InertialNav: remove EKF1 2016-12-19 08:07:10 +11:00
priseborough 6d086e0c31 AP_Mount: remove EKF1 2016-12-19 08:07:10 +11:00
priseborough 78f89e0663 AP_Beacon: Update parameters for EKF3 testing 2016-12-19 08:07:10 +11:00
priseborough 33a7c682a3 AP_AHRS: Add EKF3 and remove EKF1 2016-12-19 08:07:10 +11:00
priseborough 38ad778ff1 make.inc: Add EKF3 and remove EKF1 library from make.inc files 2016-12-19 08:07:10 +11:00
Andrew Tridgell 35bed59bd4 Tools: Add EKF3 and remove EK1 2016-12-19 08:07:10 +11:00
priseborough 2facebff80 Rover: Add EKF3 and remove EKF1 2016-12-19 08:07:10 +11:00
priseborough 38a0e8a6ae ArduPlane: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Andrew Tridgell c3b9dbf5c8 ArduCopter: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Andrew Tridgell 33943de4a0 AntennaTracker: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Andrew Tridgell b00ec26957 DataFlash: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Andrew Tridgell 75688c8342 AP_OpticalFlow: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
priseborough 7202acc1b5 AP_NavEKF3: Default EKF3 to off
Will revert this and set EKF2 to off by default after testing is completed on all platform types
2016-12-19 08:07:09 +11:00
priseborough 39969e7d8e AP_NavEKF3: added EKF3 for EKF experimentation
AP_NavEKF3: Implement same maths as PX4/ecl EKF

Replace attitude vector states with quaternions
Remove gyro scale factor states
Add XY accel delta velocity bias estimation
Initial tuning
Add GPS body frame offset compensation

AP_NavEKF3: Fix bugs and consolidate aiding switch logic

Switching in and out of aiding modes was being performed in more than one place and was using two variables.
The reversion out of GPS mode due to prolonged loss of GPS was not working.
This consolidates the logic and ensures that PV_AidingMode is only changed by the setAidingMode function.

AP_NavEKF3: prevent multiple fusion mode changes per filter update

AP_NavEKF3: Update tuning defaults

AP_NavEKF3: Fix bug causing switching in and out of aiding
If the GPS receiver was disconnected and no data received, then then the gpsGoodToAlign check did not get a chance to run and becasue it was previously true the EKF would switch back into aiding.
This prevents this by ensuring that gpsGoodToAlign defaults to false when the check is not being performed.
An additional check has also been dded to ensure that there is GPS data to fuse before we declare ready to use GPS.

AP_NavEKF3: Fix bug preventing planes recovering from bad magnetometers
This bug created a race condition whereby if the EKF had to reset the yaw to the GPS ground course to recover from a bad magnetometer, the new heading could be over-written by the bad magnetic heading when the plane reached the height for the scheduled reset.

AP_NavEKF3: Improve switch-over to backup magnetometer
When switching over to a back up magnetometer, ensure that the earth field estimate are reset. Otherwise mag earth field estimates due to the previous failed mag could cause data from the new mag to be rejected.

AP_NavEKF3: enable automatic use of range finder height

AP_NavEKF3: Fix bug in handling of invalid range data

AP_NavEKF3: Fix height drift on ground using range finder without GPSAP_NavEKF3:

AP_NavEKF3: Handle yaw jumps due to core switches

AP_NavEKF3: Enable simultaneous GPS and optical flow use

AP_NavEKF3: fix console status reporting

AP_NavEKF3: send messages to mavlink instead of console

This allows the GCS to better handle the display of messages to the user.

AP_NavEKF3: replace deprecated function call

AP_NavEKF3: Compensate for sensor body frame offsets

AP_NavEKF3: Fix bug in median filter code

AP_NavEKF3: save some memory in the position offsets in EKF3

We don't need to copy that vector3f for every sample. A uint8_t does the job

AP_NavEKF3: Add fusion of range beacon data

AP_NavEKF3: Bring up to date with EKF2

AP_NavEKF3: Misc range beacon updates

AP_NavEKF3: Add mising accessors

AP_NavEKF3: remove duplicate include

AP_NavEKF3: Prevent NaN's when accessing range beacon debug data

AP_NavEKF3: Update range beacon naming

AP_NavEKF3: updates

AP_NavEKF3: miscellaneous changes

AP_NavEKF3: misc updates

AP_NavEKF3: misc range beacons updates

AP_NavEKF3: add missing rover default param
2016-12-19 08:06:47 +11:00
Andrew Tridgell ab05472e0e AP_AHRS: added EKF3 for EKF experimentation
Conflicts:
	libraries/AP_AHRS/AP_AHRS_NavEKF.cpp
2016-12-18 10:28:04 +11:00
priseborough fd8916ef38 DataFlash: fix Baro 3 labels 2016-12-18 10:28:04 +11:00
priseborough cd669738a5 AP_Beacon: fix SITL param error 2016-12-18 10:28:04 +11:00
priseborough fe69d9a0ea AP_NavEKF2: remove duplicate include 2016-12-18 10:28:04 +11:00
priseborough a8f3a374e2 AP_NavEKF2: replace sqrt function calls with sqrtf
Prevents compiler errors and un-wanted use of double precision types
2016-12-18 10:28:04 +11:00
Lucas De Marchi b0ddf81687 Remove stdbool.h include for C++ sources
This header is not needed in our C++ sources.
2016-12-16 11:38:52 -08:00
Andrew Tridgell 790d186c6c AP_Compass: switched to unified Invensese driver for AK8963 2016-12-16 12:31:34 +11:00
Andrew Tridgell 65b9b86099 AP_InertialSensor: unify MPU6000 and MPU9250 drivers
make a single AP_InertialSensor_Invensense driver. This avoids a lot
of duplication and will save time as new varients are added
2016-12-16 12:31:34 +11:00
Randy Mackay c846cc249d Copter: fix heli pos-hold run-up-complete issue 2016-12-15 19:00:21 +09:00
murata 0f486aeecb AC_Fence: shorten calculation of return value 2016-12-15 10:42:48 +09:00
Tom Pittenger b7b56b94a3 Plane: convert landing.complete to landing.is_complete() 2016-12-14 04:32:30 -08:00