Delta Tau GEO BRICK LV User Manual

Page of 440
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
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: 
(
)
(
)
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.  
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:  
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). 
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. 
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. 
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: 
Axis-Velocity 
Q-Variable 
Axis 
Letter 
Axis-Velocity 
Q-Variable 
Axis 
Letter 
Axis-Velocity Q-
Variable 
Axis Letter 
Q11 A Q14 U  Q17 
Q12 B Q15 V  Q18 
Q13 C Q16 W Q19