# 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