I am getting quaternion data from my sensors. I use Python and Arduino. "Bone 1" is the shoulder. Bone2 is the upper arm, Bone3 is the forearm, and Bone4 is the hand. Each bone has a sensor. When I move the arm up, Bone2-4 have the same sensor readings.
Here you can see how the bones move incorrectly.
I need to subtract the value from the parent. I tried "q.rotation_difference ()", but then the bones all go in the wrong directions.
This is how it should look with an extended arm.
Does anyone know how I can calculate that?