Simulating existing kinematics

With Universal Kinematics (ID91), most kinematic transformations can be simulated from the ISG kinematics library. For example, this can compensate incorrect axis positions, see Section “Programming modes”.

The programming example below shows how to simulate a CA head kinematic (KIN9) with the universal kinematics.

The syntax shown in the examples is available as of Version V3.00; for Builds V2.11.2xxx the syntax must be converted analogously (see Programming or description of the kinematic chain).

Example

Simulation of the kinematic ID 9 with universal kinematics

# Kinematic ID
trafo[1].id 91
# Tool points in Z direction
trafo[1].zero_orientation[0]          0
trafo[1].zero_orientation[1]          0
trafo[1].zero_orientation[2]          1
# Zero position of the tool
trafo[1].zero_position[0]          54000
trafo[1].zero_position[1]        -395000
trafo[1].zero_position[2]        -950000
# 5 axes (XYZCA)
trafo[1].number_of_axes   5
# X axis
trafo[1].axis[0].type                  1
trafo[1].axis[0].orientation[0]        1
trafo[1].axis[0].orientation[1]        0
trafo[1].axis[0].orientation[2]        0
trafo[1].axis[0].point[0]              0
trafo[1].axis[0].point[1]              0
trafo[1].axis[0].point[2]              0
# Y axis
trafo[1].axis[1].type                  1
trafo[1].axis[1].orientation[0]        0
trafo[1].axis[1].orientation[1]        1
trafo[1].axis[1].orientation[2]        0
trafo[1].axis[1].point[0]              0
trafo[1].axis[1].point[1]              0
trafo[1].axis[1].point[2]              0
# Z axis
trafo[1].axis[2].type                  1
trafo[1].axis[2].orientation[0]        0
trafo[1].axis[2].orientation[1]        0
trafo[1].axis[2].orientation[2]        1
trafo[1].axis[2].point[0]              0
trafo[1].axis[2].point[1]              0
trafo[1].axis[2].point[2]              0
# C axis
trafo[1].axis[3].type                  2
trafo[1].axis[3].orientation[0]        0
trafo[1].axis[3].orientation[1]        0
trafo[1].axis[3].orientation[2]        1
trafo[1].axis[3].point[0]         610000
trafo[1].axis[3].point[1]         195000
trafo[1].axis[3].point[2]              0
# A axis
trafo[1].axis[4].type                  2
trafo[1].axis[4].orientation[0]        1
trafo[1].axis[4].orientation[1]        0
trafo[1].axis[4].orientation[2]        0
trafo[1].axis[4].point[0]              0
trafo[1].axis[4].point[1]         165000
trafo[1].axis[4].point[2]        -700000
# Axis sequence in the kinematic chain
trafo[1].chain[0]                      0
trafo[1].chain[1]                      1
trafo[1].chain[2]                      2
trafo[1].chain[3]                      3
trafo[1].chain[4]                      4
# CA programming mode
trafo[1].programming_mode             17
# RTCP mode, angles are directly programmed
trafo[1].rtcp                          1