Tilting gyro's axis to improve yaw noise on low velocity UAVs

Looking through the code (and the various discussions on the web) I note that the 3axis Acc uses gravity to provide stabilisation of the gyros for pitch and roll axis, but the yaw is not compensated unless there is sufficient forward motion (detected by GPS).

Is it possible to intentionally tilt the sensor's pitch down by (say) 45' so that gravity vector can be used to smooth all gyros?

I'm a bit swamped by the maths of all this IMU stuff, but I suppose that that the reported Euler angles could be 'corrected' to report properly.


Views: 812

Reply to This

Replies to This Discussion


In the ArduIMU code, the DCM attitude and the drift correction modules are orthogonal and symmetrical in all 3 axes, and all gyros - pitch, roll and yaw are drift-corrected by the gravity vector obtained from the 3 accelerometers.

If the ArduIMU board is horizontal, then the gravity vector is coincident with the yaw vector (vertically down to the centre of the earth), and the error correction is zero for the yaw axis (error vector cross product for these two vectors is zero). But if the ArduIMU board is tilted from horizontal, the yaw gyro will be corrected for drift as your surmised.

As the yaw gyro has a drift of about 1 or 2 degrees per minute, the normal flight pattern of hobby planes (banks, climbs/dives) can keep the yaw gyro rather drift-free and locked. If the ArduIMU is connected to a PC 3d visualiser and the ArduIMU is rotated is all three axes, you would find that the yaw drift is slight over 5 minutes or more.

However, keeping the yaw gyro 'rather drift-free' or 'slightly drift-free' is of not much use for navigation, where the absolute yaw heading is required, and only GPSs or magnetometers can provide this absolute correction for yaw heading. On the other hand, if you only want the ArduIMU for stabilization of the plane to make it easier to fly, the existing code/configuration is sufficient, and you do not need to consider mounting the IMU at an angle and redoing the maths to compensate for the tilt.
Thanks for the detailed reply, it is good to know that the yaw is compensated when it happens that the board is titled by the motion of the aircraft and I agree that GPS is the way to go for navigation.

I was thinking more of the situation of a quad/helicopter in a level hover, say performing a video survey. At this time the board would be level and the yaw gyro would drift at the rate you suggest. GPS would not help as there would be no forward motion to provide a heading (in fact a noisy GPS position could just confuse the situation more).

If the board was tilted so that there was some of the gravity vector in the yaw angle, then this should be enough to help stablise the yaw from drifting.

As far as I can see there would not be a problem just taking a known tilt angle and adjusting the resultant pitch/roll/yaw from the DCM by this constant amount. The only 'downside' I can think of is that it would move the singularities, which might mean that they are more likely to be 'hit' in normal flight.


You are correct, for a quad/heli in hover, GPS is not useful for yaw stabilisation, nor is a horizontally mounted gyro/accel IMU. Yes, the tilted IMU would be a good idea in this case, and I also cannot think of a reason why it shouldn't work. I will give it a try.

You also do not have to sort through problems with singularities as the DCM avoids this issue. You wouldn't have discontinuities in the Euler angles - roll, pitch and yaw derived from DCM.

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service