rmackay9
6e1798b104
AP_AHRS: updated default AHRS_YAW_P to 0.2 (was 0.4)
...
This reduces the compass's default authority over the yaw direction by half
13 years ago
Andrew Tridgell
2a3af369b6
DCM: buffer omega_I changes over 10 seconds
...
this buffers up _omega_I changes in _omega_I_sum over a period of 10
seconds, applying the slope limit only when _omega_I_sum is
transferred to _omega_I.
The result is a huge improvement in the ability of _omega_I to track
gyro drift over the long term.
13 years ago
Andrew Tridgell
8e90aeea4e
AHRS: added AHRS_YAW_P parameter
...
this allows users to change the yaw gain in DCM
13 years ago
Andrew Tridgell
b549b88e5e
AHRS: fixed error_yaw reporting with 2 MAVLink connections
...
when a user first connects with USB, and later switches to the
telemetry port without restarting we were getting zero for error_yaw
in the logs, as AHRS.get_error_yaw() was being called twice.
This ensures we give the last value after the counter is reset
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
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
87c463bcc7
DCM: after some experimentation, raise the ki values a bit
...
this tracks the max gyro drift more accurately
13 years ago
Andrew Tridgell
3b2609c441
DCM: separate out the omega_yaw_P from omega_P
...
this cleans up the separation of drift rates and proportional
correction from yaw source and accelerometers, allow the yaw
to run at a different rate to the accel correction
13 years ago
Andrew Tridgell
3344869285
DCM: minor tuning based on testing my quad
13 years ago
Andrew Tridgell
045b49c4c4
DCM: removed update_DCM_fast
...
this combines the functionality of the 'fast' DCM with the normal one,
and also speeds up both the yaw drift correction and the matrix update
code
13 years ago
Andrew Tridgell
b11b571778
DCM: fixed the averaging of accel values for update_DCM_fast()
...
this should improve drift correction for ArduCopter
13 years ago
Andrew Tridgell
4031320f7c
DCM: added a small amount of gyro and accel smoothing
...
possibly not needed, but convenient to be able to test with different
values
13 years ago
Andrew Tridgell
94d0236b97
DCM: added reporting interfaces for DCM state
13 years ago
Andrew Tridgell
cc8278c1ac
DCM: got rid of _error_roll_pitch from object state
...
this can be a local error variable in common with the yaw code. This
saves 12 bytes in the object.
13 years ago
rmackay9
5026b5c192
AP_DCM - fixed small compiler warning to do with order of parameters in constructor
13 years ago
Andrew Tridgell
55e33c3359
DCM: tidy up use of error_course and in_motion
...
in_motion is not a good name now it is also used for the compass
The error_course and heading component values don't need to be part of
the DCM object, they can be on the stack to reduce the memory usage a bit
13 years ago
Andrew Tridgell
c8e6d03c67
DCM: added matrix recovery on reset
...
when we get a bad DCM error we can recover a matrix corresponding to
the current attitude, making it more likely that the aircraft will be
able to recover
13 years ago
Andrew Tridgell
57ffd00b69
DCM: range check the matrix before calculating pitch
...
The asin() in the pitch calculation can only take values between -1
and 1. This change ensures that the value is in range, and if it isn't
then we force a normalization. If that fails we reset the matrix
13 years ago
Andrew Tridgell
156d98cb9f
DCM: remove the taylor expansion optimisation for renormalisation
...
The sqrt() costs about 44usec on a 2560, which is small enough for us
not to worry about the speed.
This also changes the range of values where we declare a blowup to
much less likely, which means we can cope with larger delta_t glitches
13 years ago
Randy Mackay
ed19c25a97
Arduino 1.0 - changed all #includes of "WProgram.h", "wiring.h" and "WConstants.h to "Arduino.h".
...
Modified FastSerial's write function to return size_t (number of bytes written).
13 years ago
Andrew Tridgell
0147c7b6c6
DCM: added matrix_reset() method
13 years ago
Jason Short
fa7f39ba20
Access to _clamp val. May want to make a private member and write accessor.
13 years ago
Doug Weibel
e3ab1b0353
Add an accessor for the DCM drift correction integrator to monitor performance
...
Also made the get_health accessor an inline function.
13 years ago
Andrew Tridgell
9314dcaa89
DCM: re-work the DCM to use the new IMU/ADC features
...
this gives us higher resolution DCM calculations, with much more
accurate timing of the update delta time.
14 years ago
Amilcar Lucas
f08cea8044
These changes were meant to be inside commit a14c06adc06b. I'm sorry but reverting stuff is not that easy
14 years ago
Amilcar Lucas
5406991831
Added support for routing any function to any of the aux. servos.
...
This is a manual merge from the APM_Camera branch.
It reverts the stuff that Oliver did not menat to do with his commit 6dcbc7f44bc0
14 years ago
Amilcar Lucas
77c798abd5
Use G_RC_AUX macro to simplify accessing the auxiliary servos
14 years ago
Jason Short
d50ed35077
Added a state machine intended to run at 250hz to the DCM. Spread load of DCM out to lower CPU.
14 years ago
jasonshort
5e163c6052
added ki_Yaw private variable and accessors.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2778 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
418a4b3903
removed redundant FP calcs for speed up.
...
added ability to alternate normalization and drift correction. Not fully implemented, needs further testing.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2691 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
595266152b
Added dynamic setting of kp_rollpitch, ki_rollpitch, kp_yaw.
...
Added three constants for kp_rollpitch, (high, med -default, low)
Functionally equivalent to prior version.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2550 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok
71604405f4
Re-order initialisers to suppress warnings
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2072 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
aa598b575a
APO merge.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1935 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
deweibel@gmail.com
92bf4c4e0a
Add method definition for set_centripetal()
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1756 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
deweibel@gmail.com
195b695011
Fix imu_health metric
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1728 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
7ca9081238
DCM needs a reference to a pointer so that we can change the GPS under it during init.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1662 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
DrZiplok@gmail.com
bf59d7abc7
Update for changes to AP_IMU
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1343 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
deweibel
1da23bc3c0
Fix bug in transposed DCM matrix accessor
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1134 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
7945937874
added ability to get the transpose of the DCM
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1116 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
21634dad19
Added AP_DCM_HIL class.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1103 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
2f2aaa88fd
Added dynamic setting of compass
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1010 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
james.goppert
110685f880
Updated DCM library.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@996 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
93206020cb
Moved Health to DCM, Centripetal correct
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@988 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
275624358d
boolean to disable centrifugal correction.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@987 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago
jasonshort
d209f3d59e
update - See ArducopterMega in Branch for implementation details
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@986 f9c3cf11-9bcb-44bc-f272-b75c42450872
14 years ago