fkerber
fkerber

Reputation: 1042

How to get initial orientation for calculations with gyroscope?

My question is probably very simple but it could also be the case that I am completely wrong - therefore I decided to ask. In the end I will calculate my phone's orientation with the help of data from the gyroscope sensor. I know that I should use something like Kalman filter or complementary filter to cope with gyro drift. I will do this in a second step but the problem I am asking here is the same for both approaches. So, the real question is the following:

From the gyroscope I only get angular changes (after integration). So what I need is some initial value, I can add the currently measured change to. But how do I get this starting point? Do I use accelerometer and magnetometer to determine the phone's orientation? Or this there any better way?

If it matters, I use Android for this and have an implementation to determine the phone's orientation with the help of accelerometer and magnetometer but it is very inaccurate.

Upvotes: 4

Views: 3314

Answers (1)

Ali
Ali

Reputation: 58431

Use an arbitrary orientation as inital oritentation.

Any reasonable filter has to recover from that and quickly converge to the actual orientation.

I used the filter described in the Direction Cosine Matrix IMU: Theory. I took care of the integral windup by bounding the TotalCorrection (page 27). Works like a charm!

Upvotes: 1

Related Questions