rmackay9
2b2dbf2a7f
Filter - added simple LowPassFilter (simple but it's possible to make errors with simple stuff too so might as well have one)
13 years ago
rmackay9
39fd24ed14
Filter - remove obsolete warning from comments re alloc/malloc dangers
13 years ago
rmackay9
2d65ec2874
AP_Baro - change data type size of temperature's average filter to int32_t (was int16_t)
13 years ago
rmackay9
d371862fd2
AP_OpticalFlow - resolved compile error in example sketch (it could not find DCM.h but it's not required anyway)
13 years ago
Andrew Tridgell
a6d66dc45b
Math: added mul_transpose() operation
...
this is equivalent to multiplying by m.transposed(), but is more
efficient
13 years ago
Andrew Tridgell
f4d1295a4b
AHRS: fixed build of AHRS example
13 years ago
Andrew Tridgell
fe55a76335
Math: moved matrix multiple operations to .cpp file
...
this means we only link this in once, rather than for every use of
matrix multiply, which saves us some flash space
We need to be careful not to put large pieces of code in template
headers, as if the operation is used a lot, it costs us a lot of code
space
13 years ago
Andrew Tridgell
17fbb8ea26
Math: fixed the build of the eulers test in SITL
13 years ago
Andrew Tridgell
90c3d230d9
SITL: improve the simulated compass
...
this implements a much more accurate model of a compass using matrix
rotations, instead of trying to calculate components directly
13 years ago
rmackay9
24a471ff8f
AC_PID - added more paranoid checking that imax is positive in constructor, operator() and load_gains methods
13 years ago
Andrew Tridgell
9f4becbacf
AHRS: added AHRS specific MAVLink headers
13 years ago
Andrew Tridgell
9e6c18cca4
AHRS: added missing AP_AHRS.h
13 years ago
Andrew Tridgell
4f82134a5e
DCM: use the new rotate() method from AP_Math
...
this allows us to use a tested and optimised rotation method
13 years ago
Andrew Tridgell
17f7292fe9
Math: added a test for the rotate() method
13 years ago
Andrew Tridgell
c16b353ea7
Math: added rotate() method to Matrix3f
...
this is the core method used to update the DCM matrix with a gyro
vector. Moving it to AP_Math allows us to have a test for it
13 years ago
Andrew Tridgell
31e566475b
Math: added zero() and identity() methods to Matrix3f
13 years ago
Andrew Tridgell
c53b320e00
Quaternion: change signs in AP_AHRS_Quaternion
...
thanks to Justin for the suggestion
13 years ago
Andrew Tridgell
d948a28e7c
Math: change signs in quaternion library
...
thanks to Justin for the suggestion
13 years ago
Andrew Tridgell
af9ce0cfc9
Math: allow eulers test to build with AP_Declination library
13 years ago
Andrew Tridgell
72a761170b
Math: fixed build of eulers test on SITL
13 years ago
Andrew Tridgell
58a68c89d9
Math: added a function to combine standard rotations
...
this will allow us to have an overall board rotation plus a per-sensor
rotation
13 years ago
Andrew Tridgell
8ae0ea7e37
AP_Mount: adapt library for AHRS framework
13 years ago
Andrew Tridgell
79b9be8b1a
AHRS: fixup the AHRS test suite for the new framework
13 years ago
Andrew Tridgell
f8087d3c67
AHRS: adapt the quaternion library to AHRS
13 years ago
Andrew Tridgell
8dcf82b433
AHRS: adapt the DCM_HIL library to AHRS
13 years ago
Andrew Tridgell
d4bb068d5b
AHRS: adapt the DCM library to the AHRS framework
13 years ago
Andrew Tridgell
9d75ffeba1
AHRS: rename DCM and Quaternion implementions ready for AHRS class
...
this is the first step to creating a general AHRS class for ArduPilot
13 years ago
Andrew Tridgell
55ed84526a
MAVLink: rename DCM message to AHRS
13 years ago
rmackay9
01cc5fe938
AP_Baro - removed unnecessary 2 element average filtering of pressure (there is a 4 or 5 element average filter in arducopter code itself, two places is messy)
...
- also removed unused _offset_press variable
13 years ago
rmackay9
7560242721
AP_Baro - added average filter for temperature to replace broken filter
...
- added average filter (for last two values) for raw pressure
- changed some "long" to int32_t and "unsigned long" to uint32_t
13 years ago
Michael Oborne
bae5f98666
sitl cygwin mods
13 years ago
Andrew Tridgell
00c1c6f108
Quaternion: credit Justin with the initial idea of using Madgwick
...
thanks Justin!
13 years ago
Andrew Tridgell
13dac4a93a
DCM: adjust yaw kp constant down to 0.4
...
this makes the time constant for compass errors closely match the
timing of the older releases - about 10 seconds for a 1 radian change
in heading
13 years ago
Andrew Tridgell
7daaadf776
Compass: fixed the order of rotations in the compass driver
...
this should fix the massive heading issues that people have been
reporting. Please test!
13 years ago
Andrew Tridgell
c08fd50542
AP_Declination: fixed build of test sketch
13 years ago
Amilcar Lucas
6e9ffb4249
correct small typos in comments
13 years ago
Andrew Tridgell
b337441ec5
SITL: added pgm_read_byte_far()
13 years ago
Andrew Tridgell
c1b945018b
AP_Declination: fixed usage of headers
13 years ago
Adam M Rivera
b9be6ed290
AP_Declination: Updated comment.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago
Adam M Rivera
fe8c896d69
AP_Declination: Added method set_initial_location
...
This will set the declination based on lat/lon if the user has
not yet saved one to the EEPROM, OR if they have specified via the
config parameter that they want it to overwrite the declination every
3D fix.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago
Adam M Rivera
e08b50ee91
AP_Declination: Increased range of supported latitude coordinates.
...
Fixed incorrect type usage to save stack space.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago
Adam M Rivera
e22da153ec
Added AP_Declination test sketch. I will be improving the test sketch soon.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago
Adam M Rivera
d2a07b1603
Added AP_Declination library. It contains the lookup table (lat/lng -> declination) as well as a method that performs the lookup.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago
Andrew Tridgell
d10c4b76ad
Compass: removed an incorrect comment
13 years ago
Andrew Tridgell
0da64e98f8
Compass: don't save the orientation to EEPROM
...
there is no point in saving this, the value is only configurable at
compile time for now, and is always set
13 years ago
Andrew Tridgell
0ec9857689
Math: any euler angle with pitch > 90 is invalid
...
both DCM and quaternion always return pitch in the range -90 to 90
13 years ago
Andrew Tridgell
4bf28d499a
Quaternion: update for new Quaternion interface
13 years ago
Andrew Tridgell
e8f1c5742b
DCM: update for new Matrix3f interface
13 years ago
Andrew Tridgell
4d3789d11c
AP_Math: update the test suite
13 years ago
Andrew Tridgell
4422486d44
AP_Math: made rotation matrices more C++
...
thanks to Adam for the suggestion
13 years ago