Andrew Tridgell
698749dd92
ACM: don't pass a gps pointer to DCM
...
after discussion with Randy, we don't want ArduCopter to fall back to
GPS for yaw when the compass becomes unhealthy. So we shouldn't pass
the gps object to the DCM code at all.
2012-02-25 14:51:08 +11:00
Andrew Tridgell
f10097a6d5
AP_Param: added some comments on AP_Vector3f handling
2012-02-25 11:37:20 +11:00
Andrew Tridgell
5e2fbdb6cf
DCM: don't reset _have_initial_yaw for GPS heading unless very slow
...
wait till we reach 1m/s before we reset _have_initial_yaw. This
prevents us continually resetting the DCM matrix if our ground speed
is close to 3m/s.
2012-02-25 11:37:20 +11:00
Andrew Tridgell
9d6ac9032e
test: updated VARTest for new AP_Param vector3f handling
2012-02-25 11:37:20 +11:00
Andrew Tridgell
690dc9052a
GCS: force scalar type in copy_name()
...
this enables access to compass offsets over MAVLink
2012-02-25 11:37:20 +11:00
Andrew Tridgell
2e9105c68a
AP_Param: added special handling for Vector3f
...
We would like to be able to use Vector3f as a parameter while exposing
the individual elements of the vector as MAVLink parameters. This
change to AP_Param makes that possible, by giving AP_Vector3f a dual
personality
2012-02-25 11:37:20 +11:00
Andrew Tridgell
d6bfceef7c
SITL: added -C option to desktop mode
...
this allows running APM to stdout, which is useful for test sketches
2012-02-25 11:37:20 +11:00
Andrew Tridgell
54aa8297af
libs: removed unused library GPS_IMU
2012-02-25 11:37:20 +11:00
Andrew Tridgell
185ab5aea9
libs: removed unusued library GCS_SIMPLE
2012-02-25 11:37:20 +11:00
Andrew Tridgell
57971e0ddf
autotest: fixed xAccel calculation in fakepos.py
2012-02-25 11:37:20 +11:00
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
2012-02-25 11:37:20 +11:00
Andrew Tridgell
ab8cc3d478
DCM: use rotation_matrix_from_euler() to calculate initial yaw
...
When we first get a compass reading or we first start motion we need
to setup the DCM matrix with the right yaw. This uses
rotation_matrix_from_euler() to get a DCM matrix corresponding to our
current roll/pitch, but with the correct yaw
2012-02-25 11:37:20 +11:00
Jason Short
1e254cbca0
Compass heading added to ATT log
2012-02-24 12:11:15 -08:00
Michael Oborne
23cc9c6132
APM Planner 1.1.41
...
fix mono ssl issue
modify log download
fix param dl on arduplane 2.28 (2x nulls in param list)
fix connect cancel
mono - add more comports
more error checking on radio
2012-02-24 19:39:02 +08:00
rmackay9
57e5eee8c8
TradHeli - increase max yaw input to 45 degrees
2012-02-24 20:18:40 +09:00
Jason Short
385828824d
updated Gains for Marco's loiter test
2012-02-23 22:03:26 -08:00
Jason Short
24345d4f43
Loiter updates
2012-02-23 22:03:26 -08:00
Michael Oborne
d85596841f
APM Planner 1.1.41
...
add NaN checking/error message
add config page shortcuts - F5, ctl-s and ctl-o
add +++ passthrough on terminal
add longer delay to log download
modify param receive process.
modify connecting and param receive process - re Andrew
2012-02-24 09:38:56 +08:00
Andrew Tridgell
ddeda1c367
DCM: use rotation_matrix_from_euler() in matrix reset
...
this makes the code a bit easier to read
2012-02-24 11:54:11 +11:00
Andrew Tridgell
06f37aad75
DCM: use calculate_euler_angles() to get eulers from DCM
...
this makes the code a bit easier to understand
2012-02-24 11:52:55 +11:00
Andrew Tridgell
16ed8bc8f6
AP_Math: added rotmat <-> euler functions
...
these will make the dcm matrix manipulation easier to understand
2012-02-24 11:52:55 +11:00
Andrew Tridgell
1cd3172954
ACM: ensure update_trig() doesn't cause NAN values for cos_roll/cos_pitch
...
the DCM matrix could have a value over 1.0 for c.x due to rounding
errors
2012-02-24 11:52:55 +11:00
Andrew Tridgell
c354879f1f
Compass: ensure we don't produce NAN values for compass heading
...
this leaves the previous heading values alone if we are at a pitch of
exactly 90 or -90, at which point we can't compute a meaningful
heading
2012-02-24 11:52:55 +11:00
Andrew Tridgell
17d16bc8c6
AP_Math: added safe_sqrt() function
...
this function will never return NAN. It will return zero for negative
numbers.
2012-02-24 11:52:55 +11:00
Andrew Tridgell
bad653f230
DCM: tidy up the nan checking in DCM
...
use is_nan() on the matrix rather than just on c.x, and add
safe_asin() to the (unused) OUTPUTMODE==2 code.
2012-02-24 11:52:55 +11:00
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
2012-02-24 11:52:55 +11:00
Andrew Tridgell
502fbf6e17
AP_Math: added a safe_asin() function
...
this adds range checking to asin()
2012-02-24 11:52:55 +11:00
Andrew Tridgell
17170da96e
AP_Math: added is_nan() methods to vector3f and matrix3f
2012-02-24 11:52:55 +11:00
Jason Short
b094f6ce52
added set integrator
2012-02-23 09:38:08 -08:00
Jason Short
364afe8da0
added a constraint to D term
2012-02-23 09:14:44 -08:00
Hazy
e3c3307c09
APM Planner
...
a little bit translate
2012-02-23 16:39:16 +08:00
Andrew Tridgell
ef90f336d3
DCM: changed the sense of floating point range comparison
...
This allows us to detect NaN, otherwise NaN values were considered
'in range'
2012-02-23 11:41:26 +11:00
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
2012-02-23 08:16:08 +11:00
Andrew Tridgell
2bb58db3f7
DCM: reset more values on renorm blowup
...
when DCM blows up, we need to reset a lot more variables to ensure
that any NaN values don't persist
2012-02-23 08:16:08 +11:00
Andrew Tridgell
95ef9206dc
DCM: renorm_sqrt_count is now called renorm_range_count
2012-02-23 08:16:08 +11:00
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
2012-02-23 08:16:08 +11:00
Jason Short
c7c16a5b0f
Emile's Fixes
2012-02-22 10:27:34 -08:00
Jason Short
4483f19f85
Marco's Hexa Motors
2012-02-22 09:55:44 -08:00
Michael Oborne
eaa29d5e3b
firmware build
2012-02-23 01:06:56 +08:00
Jason Short
242f54793c
revved a version
2012-02-22 09:00:42 -08:00
Jason Short
729c824809
made timer unsigned
2012-02-21 21:49:03 -08:00
Jason Short
42b5d47f7b
commented out control mode debug print
2012-02-21 21:48:07 -08:00
Michael Oborne
ececcc6a69
ensure autoupdate works
2012-02-21 12:32:19 +08:00
Michael Oborne
56cf4f328b
APM Planner 1.1.40
2012-02-21 12:04:45 +08:00
Michael Oborne
06a1035953
APM Planner - gps lat long bug fix.
2012-02-21 11:55:36 +08:00
Michael Oborne
3bb3cbe5b6
APM Planner 1.1.39
...
fix timeout issue.
2012-02-21 07:38:06 +08:00
Michael Oborne
58d9acb92e
APM Planner - fix timeout bug
2012-02-20 23:33:04 +08:00
Michael Oborne
17c2eeb306
APM Planner 1.1.38
...
add ap param support
fix dtr
fix firmware screen on mono
misc mono fix's
mods from mandrolic - partial.
Add spanish - issue 515
new sitl images for attitude hil - issue 513
2012-02-20 19:30:47 +08:00
Michael Oborne
a3cb208468
firmware build
2012-02-20 13:24:12 +08:00
Michael Oborne
b78bca49b8
firmware build
2012-02-20 13:06:04 +08:00