Hello everyone,
I am actually doing some tests with the MPU6050 in order to get the position and orientation of an object in space (it’s part of my bachelor thesis).
By looking at Jeff Rowberg’s work, i’ve seen that the function “dmpGetQuaternion” is able to directly get the quaternions, which can be transformed to angles (Eulor or Yawpitchroll) with some formulas. It also has a function to get X, Y and Z acceleration components.
My questions are the following :

How is it possible that the DMP (Digital Motion Processing) is able to directly give the angle components, while it doesn’t give position nor velocity components, but only acceleration ? From what I understood, the gyro gives velocity components, so there has to be some math done by the DMP in order to get angle components… or am I missing something?

Does anybody know how the reference axis behave ? I’m note sure to understand how does Gimbal lock occur inside the MPU6050. I’ve read that it happens when 2 axis align, and it causes the loss of 1 degree of freedom. But how exactly can 2 axis be aligned ? Do they not move together ?
Thank you very very very much to anybody able to help me with those questions.
Cheers !