Orientation Interpolation for CP Movements

In the case of CP movements such as MC_MoveLinearAbsolute, MC_MoveLinearRelative, MC_MoveCircularAbsolute, or MC_MoveCircularRelative, any target orientation of the tool can be specified by means of the target position of the movement. The consequence is that the orientation of the tool is converted to the target orientation during the path movement with the tip of the tool traveling on the path. For the orientation interpolation, it does not make any difference in which coordinate system the target orientation was given, either in axis coordinates (ACS) or machine coordinates (MCS).

The following image shows a linear interpolation with the simultaneous orientation interpolation. The red arrow indicates the direction of the tool at the start and end points. The dashed red line indicates how the tool is positioned at some locations during interpolation.

The function blocks mentioned above for path movements have the OrientationMode input. This input defines how the start orientation is passed to the target orientation.

Example 1: Great circle interpolation

Consider a gantry having a C-axis with a value range of -360° to 360°. The start orientation is C=179°, and the target orientation is C=-175°. The great circle interpolation moves the C-axis of the ZYZ Euler angle (A,B,C) proportionally to the traveled distance on the path from 179° in the positive direction past 180° to 185°, which corresponds to -175°. In this case, it travels a total angle of 6°.

Example 2: Axis orientation interpolation

Consider again the gantry having a C-axis with a value range of -180° to 180°. The start orientation is C=179°, and the target orientation is C=-175°. The axis interpolation moves the C-axis of the gantry proportionally to the traveled distance on the path from 179° in the negative direction past 0° to -175°, traveling a total angle of 354°. (If the great circle interpolation was used in this example, then an error would have occurred, because the working space of the C axis would have been exceeded.)

These two types of interpolation differ in some important characteristics.