from looking at the docs I think I may have found your issue
public static void rotateM (float[] m, int mOffset, float a, float x, float y, float z) Added in API level 1
Rotates matrix m in place by angle a (in degrees) around the axis (x, y, z).
Parameters:
- m source matrix
- mOffset index into m where the matrix starts a angle to rotate in degrees
- x X axis component
- y Y axis component
- z Z axis component
Matrix.rotateM(mRotationMatrix, 0, angle, 0, 0, 0.1f);
looks like this function is meant to rotate around an axis and your passing the axis of ( 0,0,0.1f ) when you probably mean to be rotating this object around its local origin
local origin rotation:

rotation around world point:
this would very probably change position, thus ruining your interpolation
