I have a robot wrist with a non-typical joint configuration that I have been trying to come up with kinematics equations for. Not sure if there is a common name for it but I have not been able turn anything up during my searches.
In short, it consists of 4 slew bearings with the middle pair being inclined at 22.5 degrees and geared together. Rotating the center section 0 - 180 degrees bends the wrist along the Y axis from 0 - 90 degrees. Joint 1 is a revolute joint where the wrist connects to the arm and joint 3 connects to the end effector.
The main issue I am having is that as joint 2 travels through its range of motion, part of the wrist "bend" is not in the XZ plane. I have been trying to come up with an equation for joint 1 angle as a function of joint 2 that would counter the out-of-plane tilt.
My current attempt is using the Rodrigues Rotation formula with unit vector in direction of axis A to calculate a rotation matrix as function of joint 2 angle. I then multiplied an X direction unit vector through this rotation matrix and came up with the following vector:
(0.146 - 0.854 * cos(theta), -0.924 * sin(theta), 0.354 - 0.354 * cos(theta))
I then calculated the angle of this vector from the x axis with atan2(Y, X) thinking that would be my joint 1 rotation but that did not cancel the rotation.
I have also attempted this using transformation matrices from frame of A to joint 1 but the result was also not correct.
Any ideas on what I am missing here?