I would be extremely grateful if somebody could help me out with the following setup. I have a robot arm of x chains, where each chain element, i, at time t, is defined by length l_i(t) and quaternion q_i(t) (where the quaternion is a rotation to rotate from a previous chain element to current, for the first element it is in relation to a global up vector). I want to track the motion of each chain element in the robot arm, and think that using a constant angular velocity model would be the an ideal starting assumption. What I am looking for is how to construct his i.e how to predict q_i(t+1) from q_i(t) and w(t) (the angular velocity). and how to update w(t+1) from w(t) i.e am looking for the quaternion / angular velocity (or even acceleration) equivalent of the for simple position / velocity model x(t+1) = x(t) + v but I am definitely looking to track the quaternions rotations not the positions of the end points of the chains if possible (due to an existing framework).