Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AHRS does not compensate for centripetal force #9

Open
ssokol opened this issue Jul 3, 2013 · 4 comments
Open

AHRS does not compensate for centripetal force #9

ssokol opened this issue Jul 3, 2013 · 4 comments

Comments

@ssokol
Copy link

ssokol commented Jul 3, 2013

So today I took my minimu9-ahrs-based system up for a test flight and discovered that what looks good sitting at your desk doesn't always work as you expect in the real world. It seems that we need to include some additional processing to compensate for inertial factors like centripetal force. When I turned the plane the IMU initially registered the turn but quickly "leveled out" as the turn was sustained. The accelerometer sensed "down" as being perpendicular to the wings rather than gravity.

A bit of googling indicates that this kind of compensation is required for IMU / AHRS systems in fixed-wing aircraft. Apparently the magnetometer can help by indicating the rate of turn. A GPS can provide groundspeed and change in velocity values that can further assist in the correction. There appears to be several methods for doing this. There's an outline available here: http://wiki.paparazziuav.org/wiki/Subsystem/ahrs

I'm not mathematically literate enough to make my way through the complementary quaternion algorithms. Anyone feel up to the challenge? I'm more than happy to be the test pilot.

@DavidEGrayson
Copy link
Owner

Hello. The code I wrote was really just to make a cool desktop demo. All the things you mentioned might be good things to try, but I also have a suggestion: in minimu9-ahrs.cpp, try decreasing the value of the variable correction_strength. This will decrease the rate at which the algorithm uses the accelerometer to correct the readings, making the algorithm more dependent on the gyro.

@ssokol
Copy link
Author

ssokol commented Jul 3, 2013

David,

Thanks. I will give that a try.

-S

On Wed, Jul 3, 2013 at 3:30 PM, David Grayson notifications@github.comwrote:

Hello. The code I wrote was really just to make a cool demo and I did not
have a plane to test it in. All the things you mentioned might be good
things to try, but I also have a suggestion: in minimu9-ahrs.cpp, try
decreasing the value of the variable "correction_strength". This will
decrease the rate at which the algorithm uses the accelerometer to correct
the readings, making the algorithm more dependent on the gyro.


Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-20443039
.

Steven Sokol
408 Camelot Drive
Liberty, MO 64068

mobile: +1 816-806-8844
fax: +1 816-817-0441

@DavidEGrayson
Copy link
Owner

I'll probably keep this issue open because it is a nice warning to other people who might try to use this program in a plane.

@TilmanGriesel
Copy link

Same problem here, do you solved it @ssokol?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants