Commit Graph

1419 Commits

Author SHA1 Message Date
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
2012-03-21 10:41:55 +11:00
rmackay9
24a471ff8f AC_PID - added more paranoid checking that imax is positive in constructor, operator() and load_gains methods 2012-03-20 11:51:15 +09:00
Andrew Tridgell
9f4becbacf AHRS: added AHRS specific MAVLink headers 2012-03-19 17:35:20 +11:00
Andrew Tridgell
9e6c18cca4 AHRS: added missing AP_AHRS.h 2012-03-19 17:35:20 +11:00
Andrew Tridgell
4f82134a5e DCM: use the new rotate() method from AP_Math
this allows us to use a tested and optimised rotation method
2012-03-19 17:29:02 +11:00
Andrew Tridgell
17f7292fe9 Math: added a test for the rotate() method 2012-03-19 17:29:02 +11:00
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
2012-03-19 17:29:02 +11:00
Andrew Tridgell
31e566475b Math: added zero() and identity() methods to Matrix3f 2012-03-19 17:29:02 +11:00
Andrew Tridgell
c53b320e00 Quaternion: change signs in AP_AHRS_Quaternion
thanks to Justin for the suggestion
2012-03-19 17:29:02 +11:00
Andrew Tridgell
d948a28e7c Math: change signs in quaternion library
thanks to Justin for the suggestion
2012-03-19 17:29:02 +11:00
Andrew Tridgell
af9ce0cfc9 Math: allow eulers test to build with AP_Declination library 2012-03-19 17:29:02 +11:00
Andrew Tridgell
72a761170b Math: fixed build of eulers test on SITL 2012-03-19 17:29:02 +11:00
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
2012-03-19 17:29:02 +11:00
Andrew Tridgell
8ae0ea7e37 AP_Mount: adapt library for AHRS framework 2012-03-19 17:29:02 +11:00
Andrew Tridgell
79b9be8b1a AHRS: fixup the AHRS test suite for the new framework 2012-03-19 17:29:02 +11:00
Andrew Tridgell
f8087d3c67 AHRS: adapt the quaternion library to AHRS 2012-03-19 17:29:02 +11:00
Andrew Tridgell
8dcf82b433 AHRS: adapt the DCM_HIL library to AHRS 2012-03-19 17:29:02 +11:00
Andrew Tridgell
d4bb068d5b AHRS: adapt the DCM library to the AHRS framework 2012-03-19 17:29:02 +11:00
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
2012-03-19 17:29:01 +11:00
Andrew Tridgell
55ed84526a MAVLink: rename DCM message to AHRS 2012-03-19 17:29:01 +11:00
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
2012-03-18 15:18:05 +09:00
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
2012-03-18 01:06:02 +09:00
Michael Oborne
bae5f98666 sitl cygwin mods 2012-03-15 08:16:50 +08:00
Andrew Tridgell
00c1c6f108 Quaternion: credit Justin with the initial idea of using Madgwick
thanks Justin!
2012-03-13 13:27:45 +11:00
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
2012-03-12 17:49:26 +11:00
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!
2012-03-12 17:33:15 +11:00
Andrew Tridgell
c08fd50542 AP_Declination: fixed build of test sketch 2012-03-12 17:33:15 +11:00
Amilcar Lucas
6e9ffb4249 correct small typos in comments 2012-03-11 21:30:09 +01:00
Andrew Tridgell
b337441ec5 SITL: added pgm_read_byte_far() 2012-03-11 20:59:47 +11:00
Andrew Tridgell
c1b945018b AP_Declination: fixed usage of headers 2012-03-11 20:59:47 +11:00
Adam M Rivera
b9be6ed290 AP_Declination: Updated comment.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
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>
2012-03-11 20:59:47 +11:00
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>
2012-03-11 20:59:47 +11:00
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>
2012-03-11 20:59:47 +11:00
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>
2012-03-11 20:59:47 +11:00
Andrew Tridgell
d10c4b76ad Compass: removed an incorrect comment 2012-03-11 20:07:38 +11:00
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
2012-03-11 15:37:07 +11:00
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
2012-03-11 15:37:07 +11:00
Andrew Tridgell
4bf28d499a Quaternion: update for new Quaternion interface 2012-03-11 15:37:07 +11:00
Andrew Tridgell
e8f1c5742b DCM: update for new Matrix3f interface 2012-03-11 15:37:07 +11:00
Andrew Tridgell
4d3789d11c AP_Math: update the test suite 2012-03-11 15:37:07 +11:00
Andrew Tridgell
4422486d44 AP_Math: made rotation matrices more C++
thanks to Adam for the suggestion
2012-03-11 15:37:07 +11:00
Andrew Tridgell
5c6368bad3 AP_Math: allow null pointers in Quaternion::to_euler()
this matches the Matrix3f method
2012-03-11 15:37:07 +11:00
Andrew Tridgell
16c95236c0 Quaternion: use the new quaternion API 2012-03-11 15:37:07 +11:00
Andrew Tridgell
9f0cb78f08 AP_Math: re-work quaternion functions to be more C++ like
thanks to Adam for the suggestion!
2012-03-11 15:37:07 +11:00
Andrew Tridgell
9e30b5e4a5 I2C: fixed cr/lf mess 2012-03-11 15:37:07 +11:00
Andrew Tridgell
6021daf423 OpticalFlow: adapt optical flow library to new rotation system 2012-03-11 15:37:07 +11:00
Andrew Tridgell
2ab3d2c080 OpticalFlow: fixed line endings
this library was a mixture of dos and unix line endings, which makes
for very messy editing
2012-03-11 15:37:07 +11:00
Andrew Tridgell
cb96dd975f Compass: update the compass driver to use the new vector.rotate() method 2012-03-11 15:37:07 +11:00
Andrew Tridgell
55aa43a70d Math: added a test suite for the new rotation methods 2012-03-11 15:37:07 +11:00