Setting the measurement poses

The measurement poses are positions of the two rotary axes in which the calibration sphere is measured. There are 2 methods to set the poses:

  1. Measurement positions are generated by rotating an axis with the second axis held fast.
  2. Pose to be measured directly across all axis angles.

Enter with 2nd axis held fast

In this case, the individual poses are defined as an array. This must be executed for every rotary axis. One axis is always held fast (V.P.POS_2ND_AXIS[i]) and the second axis is measured at a number of positions between the start and end angles as defined by V.P.NUMBER_SPHERE_MEAS[i]. If the difference between the start and end angles is greater than:

[360/V.P.NUMBER_SPHERE_MEAS[i]] * [V.P.NUMBER_SPHERE_MEAS[i] - 1]

…the calculated angle is used as the end angle.

Example:

Therefore, the poses 0, 90, 180 and 270 are measured.

Parameter

Unit

Meaning

V.P.NUMBER_MEAS_PROC

-

Number of measurement processes (arrays)

V.P.MEAS_AXIS[i]

-

Axis to be measured; A=1, B=2, C=3

V.P.NUMBER_SPHERE_MEAS[i]

-

Number of measurement poses

V.P.START_ANGLE_MEAS[i]

°, degrees

Starting position of the moved axis

V.P.END_ANGLE_MEAS[i]

°, degrees

End position of the moved axis

V.P.POS_2ND_AXIS[i]

°, degrees

Position of the second rotary axis

Programing Example

prg_example

Number of measurements of single rotary axes

The programming example below shows the parameters required to set the measurement poses.

#VAR

V.P.NUMBER_MEAS_PROC

#ENDVAR

V.P.NUMBER_MEAS_PROC = 2

#VAR

V.P.MEAS_AXIS[V.P.NUMBER_MEAS_PROC]

V.P.NUMBER_SPHERE_MEAS[V.P.NUMBER_MEAS_PROC]

V.P.START_ANGLE_MEAS[V.P.NUMBER_MEAS_PROC]

V.P.END_ANGLE_MEAS[V.P.NUMBER_MEAS_PROC]

V.P.POS_2ND_AXIS[V.P.NUMBER_MEAS_PROC]

#ENDVAR

(First measurement, here A axis)

(A axis is measured in positions A-45, A0 and A45)

(C axis stands at 0)

V.P.MEAS_AXIS[0] = 1 (axis: 1: A; 2: B; 3: C - depends)

(on kinematic and variant)

V.P.NUMBER_SPHERE_MEAS[0] = 3 (number of poses to be measured)

V.P.START_ANGLE_MEAS[0] = -45 (starting angle [degrees])

V.P.END_ANGLE_MEAS[0] = 45 (end angle [degrees])

V.P.POS_2ND_AXIS[0] = 0 (position of second axis)

(during the measurement)

(Second measurement, here C axis)

(The C axis is measured in positions C0, C90, C180 and C270)

(. The A axis stands at A35)

V.P.MEAS_AXIS[1] = 3

V.P.NUMBER_SPHERE_MEAS[1] = 4

V.P.START_ANGLE_MEAS[1] = 0

V.P.END_ANGLE_MEAS[1] = 360

V.P.POS_2ND_AXIS[1] = 35

Direct input of poses

If single poses are entered directly, an array V.P.MEAS_POSE[3][number of measurement poses] must first be defined. It consists of the 3 rotation directions and the number of poses to be measured. The angles of the non-existing rotary axis must be initialised with 0.

The rotary axes are positioned in the sequence in which they were parameterised in the array.

Programing Example

prg_example

Defining the array

The next programming example describes the parameterisation of 9 poses for a BC kinematic.

#VAR

V.P.MEAS_POSE[3][9]

#ENDVAR

(A axis B axis C axis)

V.P.MEAS_POSE[0][0] = 0 V.P.MEAS_POSE[1][0] = 0 V.P.MEAS_POSE[2][0] = -45

V.P.MEAS_POSE[0][1] = 0 V.P.MEAS_POSE[1][1] = 0 V.P.MEAS_POSE[2][1] = 0

V.P.MEAS_POSE[0][2] = 0 V.P.MEAS_POSE[1][2] = 0 V.P.MEAS_POSE[2][2] = 45

V.P.MEAS_POSE[0][3] = 0 V.P.MEAS_POSE[1][3] = 0 V.P.MEAS_POSE[2][3] = 35

V.P.MEAS_POSE[0][4] = 0 V.P.MEAS_POSE[1][4] = 90 V.P.MEAS_POSE[2][4] = 35

V.P.MEAS_POSE[0][5] = 0 V.P.MEAS_POSE[1][5] = 180 V.P.MEAS_POSE[2][5] = 35

V.P.MEAS_POSE[0][6] = 0 V.P.MEAS_POSE[1][6] = 270 V.P.MEAS_POSE[2][6] = 35

V.P.MEAS_POSE[0][7] = 0 V.P.MEAS_POSE[1][7] = 45 V.P.MEAS_POSE[2][7] = 40

V.P.MEAS_POSE[0][8] = 0 V.P.MEAS_POSE[1][8] = 84 V.P.MEAS_POSE[2][8] = 40

Minimum number of poses

A minimum number of poses to be approached is required to define the kinematic parameters correctly. This minimum number depends on the kinematic and is specified in the table below:

Kinematic and variant

Structure

Minimum number of poses

Kinematic 9

CA head kinematic (Cartesian)

4 measurement poses

Kinematic 57

BC table kinematic (Cartesian)

5 measurement poses

Kinematic 58

AC table kinematic (Cartesian)

5 measurement poses

Kinematic 59

CA head kinematic (cardanic)

5 measurement poses

Kinematic 60

CB head kinematic (cardanic)

5 measurement poses

Kinematic 80

AB table kinematic (Cartesian)

A and B must each have at least 2 different values
(4 measurement poses)

Kinematic 90, variant 0

AB head kinematic (Cartesian)

4 measurement poses

Kinematic 90, variant 2

CA head kinematic (Cartesian)

4 measurement poses

Kinematic 90, variant 8

CA head kinematic (cardanic)

5 measurement poses

This minimum number must be maintained both for automatic and manual measurements.

However, there are also poses which supply no further information about the kinematic.

In addition, the effect of measurement errors on the calculation results is reduced if more poses are measured than required. Therefore, we recommend measuring more poses than the specified minimum number.,

Moreover, the measured poses should be evenly distributed along the entire motion range of the rotary axes.

Notice

notice

Notes on pose selection

In general, possible measurement errors can be averaged out more easily with a large number of poses. This reduces the risk of selecting poses which supply no further information and then lead to a measurement run without a result.

Make sure that the measurement poses cover the largest possible swivel range of the rotary axes.