Interpolation with 3 degrees of orientation freedom
If the chosen kinematic model has 3 degrees of orientation freedom, a given orientation in space can be represented by several tuples of gimbal angles RotZ/RotY/RotX. The interpolation of RotZ/RotY/RotX is ambiguous with 3 degrees of orientation freedom and leads to the loss of one degree of orientation freedom because of the gimbal lock. Therefore, orientation in robots with 3 degrees of orientation freedom in space is directed towards the target orientation by the shortest path. The interpolation to the target orientation is limited to < 180° for unambiguous execution of the motion in a motion command.
The orientation reached during interpolation is output with a possible tuple of the gimbal angles RotZ/RotY/RotX. The angles change during the interpolation because there are no continuous paths for all orientation changes. The gimbal angles RotZ/RotY/RotX are not unambiguous, so the software limit switches RotZ/RotY/RotX are not checked and therefore cannot be set in the configuration.
The partial specified target of RotZ/RotY/RotX is problematic at the beginning of a program or after a change of the coordinate system. The reason is that, in general, it is not known with which gimbal angles the orientation is represented at the beginning or after the change, and the coordinates not specified would therefore not be unambiguous.
If the assignment SET_ABS_REL_POS is set to "relative" as TargetPos, the target coordinates are relative to the last target coordinates. Also relative RotZ/RotY/RotX refer to the values of the last motion command and do not represent a homogeneous coordinate transformation. This is the case irrespective of the number of degrees of orientation freedom. With 3 degrees of orientation freedom, however, the relative specification of RotZ/RotY/RotX at the beginning of a program or after a change of the coordinate system is problematic, since in general it is not known with which gimbal angles the orientation is represented at the beginning or after the change and therefore the reference values for the relative coordinates are not unambiguous.
It is therefore recommended to specify all 3 values absolute at the first command in a program and after changing the coordinate system, i.e. all 3 coordinates explicitly or a pose variable with the setting TargetPos "Absolute".
The information in this section does not refer to the XYZ coordinates. It also does not refer to RotZ/RotY/RotX if there are less than 3 degrees of orientation freedom in the kinematic model.