Commit Graph

3337 Commits

Author SHA1 Message Date
Doug Weibel
622217357c Bug fix for compass.
This is a fix for an interesting bug when a DCM matrix reset was added to the ground start.  This bug only showed up if (A) a ground start were performed after an air start or due to use of the "Calibrate Gryo" action, (B) if the current orientation were sufficiently different from 0/0/0, and (C.) if the particular magnetometer had sufficiently large offsets.  Why did resetting the DCM matrix to 0/0/0 pitch/roll/yaw at ground start cause a bug?  The magnetometer offset nulling determines the proper offsets for the magnetometer by comparing the observed change in the magnetic field vector with the expected change due to rotation as calculated from the rotation in the DCM matrix.  This comparison is made at 10Hz, and then filtered with a weight based on the amount of rotation to estimate the offsets. Normally it would take considerable time at normal in-flight rotation rates for the offset estimate to converge. 

If a DCM matrix reset occurs when the offset nulling algorithm is up and running, the algorithm sees the DCM reset as a instantaneous rotation, however the magnetic field vector did not change at all.  Under certain conditions the algorithm would interpret this as indicating that the offset(s) should be very large.  Since the "rotation" could also have been large the filter weighting would be large and it was possible for a large erroneous estimate of the offset(s) to be made based on this single (bad) data point.

To fix this bug methods were added to the compass object to start and stop the offset nulling algorithm.  Further, when the algorithm is started, it is set up to get fresh samples.  The DCM matrix reset method now calls these new methods to stop the offset nulling before resetting the matrix, and resume after the matrix has been reset.
2012-01-12 14:44:24 -07:00
analoguedevices
c00bcc58d9 Eliminated second instance of APM2 #defines 2012-01-12 20:38:41 +00:00
Jason Short
33fe4db3fc R10 2012-01-11 22:41:51 -08:00
Jason Short
464038b3ea New Loiter control 2012-01-11 22:41:51 -08:00
Jason Short
2566f1fb95 New Loiter Gains for new Loiter methods 2012-01-11 22:41:51 -08:00
Jason Short
55cb0ad476 moved to verify_land 2012-01-11 22:41:51 -08:00
Jason Short
7978a2a21a attempting to force down without using Manual boost. 2012-01-11 22:41:51 -08:00
Doug Weibel
6f9c6a3b8e Adding comments for global variables 2012-01-11 12:37:43 -07:00
Michael Oborne
2677476b91 APM Planner 1.1.20
add ac2 land Mode
add xplane 10 support
add disconnect verify
2012-01-12 01:33:42 +08:00
Andrew Tridgell
a6e87915eb desktop: floating point precision changes from Justin Beech 2012-01-11 21:31:59 +11:00
Jason Short
db1fafaaec R9 2012-01-10 23:46:08 -08:00
Jason Short
22ebe00773 comma 2012-01-10 23:45:33 -08:00
Jason Short
1e1e36e649 Tweaks 2012-01-10 23:43:44 -08:00
Jason Short
f43c29e840 fixed type error 2012-01-10 23:43:44 -08:00
Jason Short
ecaf5ac461 sensorSign swicth 2012-01-10 23:43:44 -08:00
Jason Short
7933492fec Switched to set_next_WP for mode switches 2012-01-10 23:43:44 -08:00
Jason Short
30f5ecda54 Fixed Type Error 2012-01-10 23:43:44 -08:00
Jason Short
ed903c6cd3 Fixed type error 2012-01-10 23:43:44 -08:00
Jason Short
36516161b5 Climb rate control 2012-01-10 23:43:44 -08:00
Jason Short
78925d57c2 added set_new_altitude call() 2012-01-10 23:43:44 -08:00
Jason Short
0c9dc11ac1 Added ending for auto landing 2012-01-10 23:42:27 -08:00
Jason Short
7d4067a6ed updated climb rate control
Land detector
2012-01-10 23:42:27 -08:00
Jason Short
f683371508 added set_new_altitude call 2012-01-10 23:42:27 -08:00
Jason Short
581657ab7a climb rate control 2012-01-10 23:42:26 -08:00
Jason Short
439c15f3fc Added climb rate control
removed unused vars
2012-01-10 23:42:26 -08:00
Jason Short
56de5d58c5 Added altitude 2012-01-10 23:42:26 -08:00
Jason Short
c385db412e Added altitude change flags 2012-01-10 23:42:26 -08:00
Jason Short
d7d04f67e4 AP Rangefinder had some bad characters in it. Converted and cleaned the text files. 2012-01-10 23:42:26 -08:00
Jason Short
9cbfcac802 Made timer unsigned 2012-01-10 23:42:26 -08:00
Jason Short
9d1b1dba77 Added comments 2012-01-10 23:42:26 -08:00
Jason Short
5b00928b15 added location error calc to get better data. Otherwise we'll be 1 GPS read off. 2012-01-10 23:42:26 -08:00
Jason Short
0744179970 Added comments
moved out failsafe check. otherwise the reporting was erroneous.
2012-01-10 23:42:26 -08:00
Jason Short
5d28e97339 Moved failsafe check to more logical place 2012-01-10 23:42:26 -08:00
Jason Short
f240888b49 added #if to wind compensation code 2012-01-10 23:42:26 -08:00
Pat Hickey
7961021895 ArduCopter motors_y6: rewrite CH_ macros with MOT_ macros 2012-01-09 22:06:49 -08:00
Pat Hickey
397aef9c2a ArduCopter motors_y6: rewrite loop in terms of motors 2012-01-09 22:06:49 -08:00
Pat Hickey
2f11c3f17a ArduCopter motors_tri: rewrite CH_ macros with MOT_ macros
* Third Tricopter motor was on CH_4, so it is called MOT_4. This
  will be changed in a subsequent commit.
2012-01-09 22:06:49 -08:00
Pat Hickey
757471c3a3 ArduCopter motors_octa_quad: rewrite remainder from CH_ macros to MOT_ macros 2012-01-09 22:06:48 -08:00
Pat Hickey
ee7356c1a7 ArduCopter motors_octa_quad: rewrite loop in terms of motors 2012-01-09 22:05:01 -08:00
Pat Hickey
f8aa1456cc ArduCopter motors_octa: rewrite remainder from CH_ macros to MOT_ macros 2012-01-09 21:57:02 -08:00
Pat Hickey
ad5c31cd38 ArduCopter motors_octa: rewrite janky loops to use ch_of_mot
* Previously the loop was written over channels, now it is over motors
* the correct channel for that motor is determined by ch_of_mot.
* ch_of_mot is defined correctly based on the config_channels macros.
2012-01-09 21:57:02 -08:00
Pat Hickey
f055cbc720 ArduCopter motors_hexa: rewrite remainder from CH_ macros to MOT_ macros. 2012-01-09 21:57:02 -08:00
Pat Hickey
2cf935e2d2 ArduCopter motors_hexa: rewrite janky loops to use ch_of_mot
* Previously the loop was written over channels, now it is over motors
* the correct channel for that motor is determined by ch_of_mot.
* ch_of_mot is defined correctly based on the config_channels macros.
2012-01-09 21:57:02 -08:00
Pat Hickey
b8b6e3c25b ArduCopter: add ch_of_mot lookup to motors.pde 2012-01-09 21:57:02 -08:00
Pat Hickey
87735fef24 ArduCopter test.pde: translate from CH_ to MOT_ notation 2012-01-09 21:57:02 -08:00
Pat Hickey
20b0e4cd33 ArduCopter setup.pde: translate from CH_ to MOT_ notation 2012-01-09 21:57:02 -08:00
Pat Hickey
38c2a052be ArduCopter radio.pde: translate CH_ to MOT_ outputs 2012-01-09 21:57:02 -08:00
Pat Hickey
8d4db05f50 Rename ArduCopter/config_motors.h to config_channels.h 2012-01-09 21:57:02 -08:00
Pat Hickey
b22920c0ea ArduCopter: Change TRI_FRAME yaw servo output to CH_TRI_YAW define 2012-01-09 21:57:02 -08:00
Pat Hickey
ccff9041f8 ArduCopter Camera.pde: changed from CH_n to CH_CAM_ notation. 2012-01-09 21:57:02 -08:00