Notes on parameterisation

The Universal Kinematic can be parameterised by

.

Notice

All the various parameterisation options use the same memory location. This must be observed for read and write access.

Below is an example of a comparison of the two parameterisation options via V.G. variables.

V.G.KIN[91].ZERO_ORIENTATION[0]       =    V.G.KIN[91].PARAM[0]
V.G.KIN[91].ZERO_ORIENTATION[1]       =    V.G.KIN[91].PARAM[1]
V.G.KIN[91].ZERO_ORIENTATION[2]       =    V.G.KIN[91].PARAM[2]
V.G.KIN[91].ZERO_POSITION[0]          =    V.G.KIN[91].PARAM[3]
V.G.KIN[91].ZERO_POSITION[1]          =    V.G.KIN[91].PARAM[4]
V.G.KIN[91].ZERO_POSITION[2]          =    V.G.KIN[91].PARAM[5]
V.G.KIN[91].NUMBER_OF_AXES            =    V.G.KIN[91].PARAM[6]
V.G.KIN[91].AXIS[0].TYPE              =    V.G.KIN[91].PARAM[7]
V.G.KIN[91].AXIS[0].ORIENTATION[0]    =    V.G.KIN[91].PARAM[8]
V.G.KIN[91].AXIS[0].ORIENTATION[1]    =    V.G.KIN[91].PARAM[9]
V.G.KIN[91].AXIS[0].ORIENTATION[2]    =    V.G.KIN[91].PARAM[10]
V.G.KIN[91].AXIS[0].POINT[0]          =    V.G.KIN[91].PARAM[11]
V.G.KIN[91].AXIS[0].POINT[1]          =    V.G.KIN[91].PARAM[12]
V.G.KIN[91].AXIS[0].POINT[2]          =    V.G.KIN[91].PARAM[13]
V.G.KIN[91].AXIS[1].TYPE              =    V.G.KIN[91].PARAM[14]
V.G.KIN[91].AXIS[1].ORIENTATION[0]    =    V.G.KIN[91].PARAM[15]
V.G.KIN[91].AXIS[1].ORIENTATION[1]    =    V.G.KIN[91].PARAM[16]
V.G.KIN[91].AXIS[1].ORIENTATION[2]    =    V.G.KIN[91].PARAM[17]
V.G.KIN[91].AXIS[1].POINT[0]          =    V.G.KIN[91].PARAM[18]
V.G.KIN[91].AXIS[1].POINT[1]          =    V.G.KIN[91].PARAM[19]
V.G.KIN[91].AXIS[1].POINT[2]          =    V.G.KIN[91].PARAM[20]
V.G.KIN[91].AXIS[2].TYPE              =    V.G.KIN[91].PARAM[21]
V.G.KIN[91].AXIS[2].ORIENTATION[0]    =    V.G.KIN[91].PARAM[22]
V.G.KIN[91].AXIS[2].ORIENTATION[1]    =    V.G.KIN[91].PARAM[23]
V.G.KIN[91].AXIS[2].ORIENTATION[2]    =    V.G.KIN[91].PARAM[24]
V.G.KIN[91].AXIS[2].POINT[0]          =    V.G.KIN[91].PARAM[25]
V.G.KIN[91].AXIS[2].POINT[1]          =    V.G.KIN[91].PARAM[26]
V.G.KIN[91].AXIS[2].POINT[2]          =    V.G.KIN[91].PARAM[27]
V.G.KIN[91].AXIS[3].TYPE              =    V.G.KIN[91].PARAM[28]
V.G.KIN[91].AXIS[3].ORIENTATION[0]    =    V.G.KIN[91].PARAM[29]
V.G.KIN[91].AXIS[3].ORIENTATION[1]    =    V.G.KIN[91].PARAM[30]
V.G.KIN[91].AXIS[3].ORIENTATION[2]    =    V.G.KIN[91].PARAM[31]
V.G.KIN[91].AXIS[3].POINT[0]          =    V.G.KIN[91].PARAM[32]
V.G.KIN[91].AXIS[3].POINT[1]          =    V.G.KIN[91].PARAM[33]
V.G.KIN[91].AXIS[3].POINT[2]          =    V.G.KIN[91].PARAM[34]
V.G.KIN[91].AXIS[4].TYPE              =    V.G.KIN[91].PARAM[35]
V.G.KIN[91].AXIS[4].ORIENTATION[0]    =    V.G.KIN[91].PARAM[36]
V.G.KIN[91].AXIS[4].ORIENTATION[1]    =    V.G.KIN[91].PARAM[37]
V.G.KIN[91].AXIS[4].ORIENTATION[2]    =    V.G.KIN[91].PARAM[38]
V.G.KIN[91].AXIS[4].POINT[0]          =    V.G.KIN[91].PARAM[39]
V.G.KIN[91].AXIS[4].POINT[1]          =    V.G.KIN[91].PARAM[40]
V.G.KIN[91].AXIS[4].POINT[2]          =    V.G.KIN[91].PARAM[41]
V.G.KIN[91].AXIS[5].TYPE              =    V.G.KIN[91].PARAM[42]
V.G.KIN[91].AXIS[5].ORIENTATION[0]    =    V.G.KIN[91].PARAM[43]
V.G.KIN[91].AXIS[5].ORIENTATION[1]    =    V.G.KIN[91].PARAM[44]
V.G.KIN[91].AXIS[5].ORIENTATION[2]    =    V.G.KIN[91].PARAM[45]
V.G.KIN[91].AXIS[5].POINT[0]          =    V.G.KIN[91].PARAM[46]
V.G.KIN[91].AXIS[5].POINT[1]          =    V.G.KIN[91].PARAM[47]
V.G.KIN[91].AXIS[5].POINT[2]          =    V.G.KIN[91].PARAM[48]
V.G.KIN[91].CHAIN[0]                  =    V.G.KIN[91].PARAM[49]
V.G.KIN[91].CHAIN[1]                  =    V.G.KIN[91].PARAM[50]
V.G.KIN[91].CHAIN[2]                  =    V.G.KIN[91].PARAM[51]
V.G.KIN[91].CHAIN[3]                  =    V.G.KIN[91].PARAM[52]
V.G.KIN[91].CHAIN[4]                  =    V.G.KIN[91].PARAM[53]
V.G.KIN[91].CHAIN[5]                  =    V.G.KIN[91].PARAM[54]
V.G.KIN[91].PROGRAMMING_MODE          =    V.G.KIN[91].PARAM[55]
V.G.KIN[91].RTCP                      =    V.G.KIN[91].PARAM[56]