I'm trying out Sensor.TYPE_ROTATION_VECTOR on Android. It is supposed to use magnetfieldsensor, accelerometer and gyroscope to provide accurate rotation at all times. However, I notice enormous drift occurring on Moto G 2nd. I wonder if this is a device specific issue, or that this occurs on a lot of phones (which I would assume, although I am familiar that Moto G 2nd is a problematic case with it's gyroscope).
Is there an alternative form of sensor fusion, which is drift free (using magnetsensor)? I have tried Google Cardboard's sensor fusion as well, but it uses bias estimation, so presumably not entirely drift free (as the magnetfieldsensor is not used at this time it seems), although still A LOT better than TYPE_ROTATION_VECTOR.
A general approach consists in:
(*) In a cartesian physical world, the magnetometer should be enough, but in the earthling's universe, you need to compensate for the lack of magnetometer frequency of update, precision and external factors with the gyroscope, which provides immediate feedback.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With