paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Disabling Magnetometer Heading?


From: Felix Ruess
Subject: Re: [Paparazzi-devel] Disabling Magnetometer Heading?
Date: Sun, 27 Nov 2011 10:46:55 +0100

Hi Luke,

currently you can't really use IMU_TO_BODY to set a totally different
orientation, only to correct for small errors.

> I solved the problem...  There is a small bug in the DCM body-to-IMU
> rotation implementation, when the USE_GPS flag is enabled.  The GPS heading
> (which is obviously not dependent on the orientation of the IMU) is
> incorporated into the state matrix, before it is rotated as defined by the
> body-to-IMU variables...  This of course results in an error in the reported
> heading.

Was very briefly discussed already a while ago:
http://lists.gnu.org/archive/html/paparazzi-devel/2011-10/msg00021.html

> My quick solution was to add IMU_BODY_TO_IMU_PSI to the ground_course, to
> compensate for it later being subtracted by the body-to-IMU rotation:
> float ground_course = ((float)gps.course)/1.e7 - M_PI + IMU_BODY_TO_IMU_PSI;

This only solves part of the problem, e.g. in ahrs_update_accel the
correction of centrifugal force is not correct if the imu is not
aligned with the body.
Also that quick solution only works if BODY_TO_IMU doesn't have any
siginificant rotation on phi and theta.


This can all be fixed of course, but I guess the question still is
whether to run the ahrs in body or in imu frame, both has it's
advantages and drawbacks....

Cheers, Felix



reply via email to

[Prev in Thread] Current Thread [Next in Thread]