Transformation between axis values and Cartesian coordinates

Normally, Universal Kinematics is used to describe a serial kinematic. Here, one axis includes all other axes that follow it in the kinematic chain.

However, it is possible to redirect the control of motions by using force-shaping mechanical components.

Example: Two parallel X axes generate an XZ movement across a spline. B is a reference point on the spline.

If both axes move the same distance to the right, then B does so too and the Z height of B is maintained.

f both axes move towards each other, the spline is pushed upwards.

Because of the symmetry of the spline, the Cartesian X coordinate of B is the average of both axis values plus an appropriate constant, i.e.

the Z coordinate of B, on the other hand, is dependent on the distance between the two axis values. Therefore, if appropriate constants are used for the rise of the spline leg and an optional offset, the following applies

If there is also a Y axis on the machine, the relationship between the Cartesian coordinates and axis values can be written in matrix form as follows:

The matrix and the offset vector can be specified in the channel parameter trafo[].linkage (P-CHAN-00295).

Example

example

Transformation between axis values and Cartesian coordinates

# Kinematic ID

trafo[0].id                                91

# Activate transformation

trafo[0].linkage_mode                     1

# Matrix, first line

trafo[0].linkage[0][0]                         0.5

trafo[0].linkage[0][1]                         0.5

trafo[0].linkage[0][2]                         0

# Matrix, second line

trafo[0].linkage[1][0]                          0

trafo[0].linkage[1][1]                          0

trafo[0].linkage[1][2]                          1

# Matrix, third line, example m = 0.71

trafo[0].linkage[2][0]                           0.71

trafo[0].linkage[2][1]                          -0.71

trafo[0].inkage[2][2]                            0

# Offset vector, example C = 1120000, D = -750000

trafo[0].linkage[0][3]                            1120000

trafo[0].linkage[1][3]                            0

trafo[0].linkage[2][3]                           -750000

Notice

notice

The parameters trafo[].axis[].orientation[] (P-CHAN-00292) describe the Cartesian system and are therefore retained.
In the example, the axis orientations for X1 and X2 are not defined in parallel. However, X1 points in the X direction and X2 in the Z direction.