Hello All,
I have developed an app which uses either rotation matrix (getrotationmatrix() or getrotationmatrixfromvector()) in conjunction with getOrientation() to determine the angle of the smartphone in relation to the global frame of reference. I am measuring the orientation of the phone while in motion. My Motorola G6 phone works flawlessly and I get consistent orientation information. My Samsung A20 and A21 phone drifts off in to la la land and never comes back on phone orientation, until the phone is stationary. Same app different phones, can anyone give me an insight as to why this happens? Is it the IMU's fault or Android's implementation on the Samsung phone? Could it be a function of the SOC or the IMU?
I am considering going to an external IMU for my app, however, I know someone has had this same experience and I am hopeful they will share what they found. I have exhausted Stack Overflow and other research. Since my app works fine on the Motorola phone, what are they doing right with their fusion?
I would appreciate any thoughts or assistance in understanding this problem.
Kind regards,
Charles Skoning
Principal Engineer
Cykelstrom Technology, LLC