Andrew Tridgell
f07e4dee52
AP_AHRS: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
b53496d470
AP_AHRS: choose the best accelerometer at each drift correction step
...
this greatly reduces the impact of aliasing on accelerometers by
choosing the accelerometer that produces the smallest error term in
DCM. The difference can be quite dramatic on the Pixhawk.
2014-02-27 09:41:28 +11:00
Andrew Tridgell
0b45d2bc06
AP_AHRS: removed the AHRS_GPS_DELAY parameter
...
the best value has turned out to be 1, and tweaking it has not turned
out to be useful, so this simplifies the code in preparation for
adding the anti-aliasing handling with multiple accelerometers
2014-02-27 08:57:44 +11:00
Jonathan Challinger
f321a5f241
AP_AHRS: Change airspeed_estimate to const in children of AP_AHRS
...
Allows roll/pitch controllers to use DCM's airspeed estimate. Thanks to Kevin Hester for assistance in finding this.
2014-02-25 18:49:16 +11:00
Andrew Tridgell
eedd88c2ec
AP_AHRS: give zero lat/lng and baro alt if no position yet in DCM
2014-02-15 09:25:40 +11:00
Andrew Tridgell
25ef0d5a7b
AP_AHRS: don't allow get_velocity_NED() and get_relative_position_NED() without EKF
...
this avoids some linking issues, plus the functions are inaccurate
without EKF
2014-02-15 05:48:24 +11:00
Andrew Tridgell
c62ccce9d8
AP_AHRS: make estimate_wind() public
...
this avoids it linking into copter
2014-02-15 05:48:24 +11:00
Paul Riseborough
08267cea87
AP_AHRS: Scheduling for yaw gain to reduce atitude errors in turning flight
2014-02-15 05:48:22 +11:00
Andrew Tridgell
5d43a1d704
AP_AHRS: added inertial nav interfaces to AHRS
2014-02-15 05:48:16 +11:00
Andrew Tridgell
392995ef84
AP_AHRS: make AHRS handle altitude
...
AHRS now holds the home position
2014-02-15 05:29:47 +11:00
Randy Mackay
6946d68318
AHRS_DCM: call update_trig
2014-02-08 18:16:42 +09:00
Paul Riseborough
f2c2811ef3
AP_AHRS & AP_Math: fixed bug in use of AHRS_TRIM parameters
2014-01-19 07:19:43 +11:00
Andrew Tridgell
baa4ecc2ea
APA_AHRS: update for compass API change
2013-12-09 17:34:07 +11:00
Andrew Tridgell
b248cc0868
AP_AHRS: fixed a build warning
2013-11-23 21:44:56 +11:00
Andrew Tridgell
6ed493b10f
AP_AHRS: added attitude_reset() method for HIL_SENSORS
2013-11-23 18:50:56 +11:00
Andrew Tridgell
4f871c87f1
AP_AHRS: detect and try to cope with bad accels
2013-11-07 13:54:16 +11:00
Andrew Tridgell
02d6f012ce
AP_AHRS: added accel sum delay buffer to account for GPS lag
2013-11-04 21:21:42 +11:00
Andrew Tridgell
d31e557983
AP_AHRS: save memory and reduce pointer references
...
use a refence for ins, and don't save gyro and accel between updates
2013-11-04 21:21:37 +11:00
Andrew Tridgell
cb52b6f367
AP_AHRS: removed limit on normalisation of accel reference vectors
...
this could lead to a bias in the accel drift correction
2013-11-04 21:20:41 +11:00
Andrew Tridgell
31eaaada62
AP_AHRS: removed vertical G limit on GPS velocity correction
...
this limit could lead to a bias in the accel drift correction, and is
frequenctly exceeded
2013-11-04 21:20:41 +11:00
Andrew Tridgell
a7931b1581
AP_AHRS: fixed wrapping bug in GPS based heading error
...
this bug could cause the GPS based yaw to use an expensive reset far
too often
2013-11-04 21:20:41 +11:00
Andrew Tridgell
17b27a47de
AP_AHRS: prevent GPS yaw resets on compass errors
...
when we switch from compass heading to GPS heading we don't want to
trigger a sudden GPS yaw reset
2013-11-04 21:20:41 +11:00
Andrew Tridgell
d305dd5946
AP_AHRS: debounce the GPS/compass consistency test
...
we will only consider the compass inconsistent with GPS if it is off
for more than 2 seconds
2013-10-23 09:40:42 +11:00
Andrew Tridgell
587fb58720
AP_AHRS: fixed license text
...
APM is under GPL, not LGPL
2013-08-30 13:01:32 +10:00
Andrew Tridgell
0d36832b82
AP_AHRS: use const reference not pointers for locations
...
this makes life easier for the new AP_Mission library
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:24:12 +10:00
Andrew Tridgell
ec73fadc45
AP_AHRS: added true airspeed support in AHRS
...
use true airspeed for wind calculations, and allow other drivers to
ask for the current ratio
2013-07-22 12:50:01 +10:00
Randy Mackay
0325ad5d0d
AP_AHRS: use rotateXY for speed
...
Saves 0.1ms at 100hz
2013-07-20 18:00:36 +09:00
Andrew Tridgell
086e8f80dc
AP_AHRS: fixed spin rate gain conversion from degrees to radians
...
fixes issue #433
Thanks Jurgen!
2013-07-13 12:36:25 +10:00
Andrew Tridgell
279f6d00f0
AP_AHRS: changes for GPS field changes
2013-07-10 14:04:22 +10:00
tobias
1bf135b36f
AP_AHRS: make some more functions const
2013-07-08 12:07:50 +10:00
Andrew Tridgell
7d42a0562d
AP_AHRS: cope better with large GPS yaw changes
...
this should cope better with bungee launches when using only GPS for
yaw.
2013-06-25 12:44:26 +10:00
Andrew Tridgell
14628990e6
AP_AHRS: make wind estimation configurable
...
rover doesn't want it
2013-05-24 11:21:42 +10:00
Andrew Tridgell
6f1cee6406
AP_AHRS: fixed position estimate with 2D fix or low satellite count
...
we should still use the GPS for position fixes when we have a low
number of satellites, but we should stop using it for velocity
estimates and attitude correction.
2013-05-07 10:52:14 +10:00
Randy Mackay
ceda7d26b0
AHRS: add correct_centrifugal and flags structure
2013-05-06 15:32:06 +09:00
Andrew Tridgell
38fc0e61c6
AP_AHRS: optimise yaw drift correction
...
use new vector2 cross product, and factor out the z component of a dcm
mul_transpose() to reduce the number of floating point operations for
a yaw drift correction cycle
2013-05-05 13:51:45 +10:00
Randy Mackay
ee2daf25b6
AHRS: perf improvement by caching declination vector
2013-05-05 12:58:43 +10:00
Andrew Tridgell
943a1d8c8d
AP_AHRS: added AHRS_GPS_MINSATS option
...
if the number of visible satellites is below AHRS_GPS_MINSATS then
don't use the GPS for acceleration correction for attitude
2013-05-05 12:48:01 +10:00
Andrew Tridgell
ba83950fc4
libraries: replace constrain() with constrain_float()
...
this makes the type much more obvious. Thanks to Tobias for the
suggestion.
2013-05-02 10:25:40 +10:00
Andrew Tridgell
f5d6fb6216
AP_AHRS: added _kp gain reduction for catapult launch
...
this should reduce the tendency of aircraft to nose down hard on
initial launch at high g
2013-04-28 14:47:59 +10:00
Andrew Tridgell
fd2cd0d1c2
DCM: fixed formatting
2013-04-23 08:57:44 +10:00
jschall
610069e729
DCM: fixed airspeed bug
...
we incorrectly went via the wind estimate when we had a working airspeed sensor
2013-04-23 08:57:44 +10:00
Andrew Tridgell
a4d25f5a82
AHRS: removed AHRS_BARO_USE option
...
this option has caused users too much trouble. The vertical velocity
is too noisy from the baro
2013-04-15 10:52:31 +10:00
Andrew Tridgell
8459da202c
AP_AHRS: prevents compass flyaways for plane and rover
...
this switches to the GPS for yaw if the compass has dragged us off by
more than 45 degrees from the GPS heading, and the wind speed is less
than 80% of the ground speed.
2013-03-29 13:48:25 +11:00
Randy Mackay
24044dc0c4
AHRS: add support for GPS fix type 2D
2013-03-27 11:41:43 +09:00
James Bielman
5631f865b2
Update floating point calculations to use floats instead of doubles.
...
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell
3ac3aeb1b1
AHRS: fixed build on ARM
2013-01-02 14:45:09 +11:00
rmackay9
1c08f176ea
AP_AHRS: add get_accel_ef method to return earth frame accelerometer values for use in ArduCopter's inertial nav and accel based throttle
2013-01-02 09:11:25 +11:00
Andrew Tridgell
ceb3f577d8
libraries: use new math functions
2012-12-20 14:53:22 +11:00
Andrew Tridgell
8b6ad6d559
SITL: removed SITL_debug()
...
not needed any more
2012-12-20 14:51:36 +11:00
Andrew Tridgell
5840ded767
AHRS: removed constrain() defines
2012-12-20 14:51:34 +11:00