Delta Tau GEO BRICK LV 사용자 설명서
Turbo PMAC User Manual
Setting Up a Coordinate System
265
Rotary Axis Rollover
If a rotary inverse-kinematic axis in the system has the capability to “roll over,” the inverse-kinematic
program must handle the rollover calculations explicitly. The automatic rollover capability of the A, B,
and C axes with Ixx27 is not available for inverse-kinematic axes. The key to handling rollover properly is
to take the difference between the new and the old values and make sure that this difference is in the +180
If a rotary inverse-kinematic axis in the system has the capability to “roll over,” the inverse-kinematic
program must handle the rollover calculations explicitly. The automatic rollover capability of the A, B,
and C axes with Ixx27 is not available for inverse-kinematic axes. The key to handling rollover properly is
to take the difference between the new and the old values and make sure that this difference is in the +180
o
range. This can be done in Turbo PMAC with the ‘%’ modulo (remainder) operator. This difference is
then added to the old value. Mathematically, the equations are:
then added to the old value. Mathematically, the equations are:
(
)
(
)
180
%
old
temp
new
−
−
−
=
θ
θ
θ
∆
θ
∆
θ
θ
+
= old
new
When the modulo operation is done in Turbo PMAC with a negative operand ‘-n’ (such as –180), the
result is always in the +n range.
result is always in the +n range.
For example, if the A-axis in the above example had the capability of rolling over, the line Q25=Q23-
Q24 could be replaced with:
Q24 could be replaced with:
Q25=P1/Q93+(Q23-Q24-P1/Q93)%-180
; Handle rollover cases
The value (P1/Q93) is
θ
old
, from the previous cycle of the inverse kinematics or initially from the forward
kinematics; and value (Q23-Q24) is
θ
new-temp
, both in degrees.
Velocity Calculation Flag
In every move mode other than PVT mode, Turbo PMAC sets the variable Q10 for the coordinate system
to 0 automatically as a flag to the inverse-kinematic program not to compute velocity values. If planning
to use both PVT mode and other modes, evaluate Q10 explicitly in the inverse-kinematic program (see
below).
In every move mode other than PVT mode, Turbo PMAC sets the variable Q10 for the coordinate system
to 0 automatically as a flag to the inverse-kinematic program not to compute velocity values. If planning
to use both PVT mode and other modes, evaluate Q10 explicitly in the inverse-kinematic program (see
below).
Iterative Solutions
Some robot geometries do not have closed-form inverse-kinematic solutions, and require iterative
numerical solutions. Typically these cases are handled by a looping WHILE … ENDWHILE construct in
the inverse-kinematic program. Multiple executions of the WHILE loop inside the inverse-kinematic
program do not disable blending as they would inside the main motion program (due to the double jump-
back rule), but excessive iterations can cause the calculations not to be done within the required time.
This will cause a run-time error, aborting the program automatically.
Some robot geometries do not have closed-form inverse-kinematic solutions, and require iterative
numerical solutions. Typically these cases are handled by a looping WHILE … ENDWHILE construct in
the inverse-kinematic program. Multiple executions of the WHILE loop inside the inverse-kinematic
program do not disable blending as they would inside the main motion program (due to the double jump-
back rule), but excessive iterations can cause the calculations not to be done within the required time.
This will cause a run-time error, aborting the program automatically.
Inverse-Kinematic Program for PVT Mode
The Turbo PMAC can also support the conversion of velocities from tip space to joint space in the inverse-
kinematic program to enable the use of PVT mode with kinematic calculations. With PVT-mode moves,
the position calculations are done just as for any other move mode. An additional set of velocity-
conversion calculations must also be done.
kinematic program to enable the use of PVT mode with kinematic calculations. With PVT-mode moves,
the position calculations are done just as for any other move mode. An additional set of velocity-
conversion calculations must also be done.
When executing PVT-mode moves with kinematics active (Isx50 = 1), Turbo PMAC will automatically
place the commanded axis velocity values from the PVT statements into variables Q11 – Q19 for the
coordinate system before each execution of the inverse-kinematic program. These are signed floating-
point values in the engineering velocity units defined by the engineering length/angle units and the
coordinate system’s Isx90 time units (e.g. mm/min or deg/sec). The following table shows the variable
used for each axis:
place the commanded axis velocity values from the PVT statements into variables Q11 – Q19 for the
coordinate system before each execution of the inverse-kinematic program. These are signed floating-
point values in the engineering velocity units defined by the engineering length/angle units and the
coordinate system’s Isx90 time units (e.g. mm/min or deg/sec). The following table shows the variable
used for each axis:
Axis-Velocity
Q-Variable
Axis
Letter
Axis-Velocity
Q-Variable
Axis
Letter
Axis-Velocity Q-
Variable
Axis Letter
Q11 A Q14 U Q17
X
Q12 B Q15 V Q18
Y
Q13 C Q16 W Q19
Z