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:
- Measurement positions are generated by rotating an axis with the second axis held fast.
- 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:
- Start angle = 0
- End angle = 360
- Number of poses = 4
- [360/4] * 3 = 270
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
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
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 |
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
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.