Andrew Tridgell
adcc20e4d3
Quaternion: credit Justin with the initial idea of using Madgwick
...
thanks Justin!
2012-03-13 13:27:45 +11:00
Andrew Tridgell
36e92bf4ba
Quaternion: update for new Quaternion interface
2012-03-11 15:37:07 +11:00
Andrew Tridgell
18fcb14335
Quaternion: use the new quaternion API
2012-03-11 15:37:07 +11:00
Andrew Tridgell
89b4a9f4ed
Quaternion: use gyro drift value from sensor driver
2012-03-10 10:34:34 +11:00
Andrew Tridgell
fd74414884
Quaternion: go back to the full update_MARG()
...
the separate drift controller is too erratic on yaw hold to be usable
at the moment
2012-03-10 10:34:34 +11:00
Andrew Tridgell
ad21913605
Quaternion: make the quaternion test more generic
...
works with DCM too
2012-03-10 10:34:33 +11:00
Andrew Tridgell
a889135e78
Quaternion: update to get_gyro_drift() interface
2012-03-10 10:34:33 +11:00
Andrew Tridgell
e0cc9c93a1
Quaternion: removed some unused variables
2012-03-10 10:34:33 +11:00
Andrew Tridgell
9e07fa3af6
DCM: removed the limit on linear acceleration
...
we get linear accelerations of more than 1g when turning corners
2012-03-10 10:34:33 +11:00
Andrew Tridgell
ab1aec0f77
Quaternion: minor tuning
2012-03-10 10:34:33 +11:00
Andrew Tridgell
8b37790bd1
Quaternion: code cleanups and added comments
2012-03-10 10:34:32 +11:00
Andrew Tridgell
e2b2c9181e
Quaternion: bumb up gyro drift limit to match DCM
2012-03-10 10:34:32 +11:00
Andrew Tridgell
8ad6b5f4d1
Quaternion: separate out drift correction from main updates
2012-03-10 10:34:32 +11:00
Andrew Tridgell
d11aab610d
Quat: test patch for michael
2012-03-10 10:34:31 +11:00
Andrew Tridgell
a954f68f27
Quaternion: added NaN paranoid checking
...
this is for Michael to run
2012-03-10 10:34:30 +11:00
Andrew Tridgell
89a10c584d
Quaternion: added more numerical safety in the quaternion code
...
prevent infinities from creeping in and prevent large drift changes
2012-03-10 10:34:30 +11:00
Andrew Tridgell
f71311fdc0
Quaternion: fix the gyro bias in centripetal and remove smoothing
...
the centripetal code needs to take account of the current gyro
bias.
It turned out that the accel and gyro smoothing was causing
significant control lag, and we're better off just letting the
quaternion code handle it via its own smoothing parameters
2012-03-10 10:34:30 +11:00
Andrew Tridgell
e445a455d0
Quaternion: use GPS to correct for linear acceleration
...
this gives much better pitch estimates. We should do this with the
airspeed sensor if available.
2012-03-10 10:34:30 +11:00
Andrew Tridgell
1ea1b500a6
Quaternion: don't update if we have a very long deltat
...
this can be caused by stopping the system in a debugger
2012-03-10 10:34:30 +11:00
Andrew Tridgell
2f5a4cdc4a
Quaternion: added in reporting of gyro drift and rp/yaw errors
2012-03-10 10:34:29 +11:00
Andrew Tridgell
7d9c4094a2
Quaternion: tweak the quaternion gains a bit
2012-03-10 10:34:29 +11:00
Andrew Tridgell
de1cfc8e34
Quaternion: drop the gyro drift rates down
...
this should allow us to cope with noise more readily
2012-03-10 10:34:29 +11:00
Andrew Tridgell
73594199c8
AP_Quaternion: fixed build on Arduino 1.0
2012-03-10 10:34:29 +11:00
Andrew Tridgell
a85ba80246
AP_Quaternion: added DCM compatibility interfaces
...
useful for getting the code going quickly
2012-03-10 10:34:29 +11:00
Andrew Tridgell
4a277f9871
fixed deltat in quaternion
2012-03-10 10:34:28 +11:00
Andrew Tridgell
fb23c617fa
Quaternion: added an AP_Quaternion library
...
this is for experimenting with the Madgwick quaternion system, to see
if it is more or less noise sensitive than DCM
2012-03-10 10:34:28 +11:00