Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Setting Up the Servo Loop 
185 
PMAC Compensation Tables
2D (Planar) compensation tables
e.g. 
∆z = f(x,y)
Column motor span in counts
Row motor span in counts
Target motor
DEFINE COMP 15.20, #1, #2, #3, 20000, 15000
Table # of rows
Table # of columns
Row motor
Column motor
 
Note:  
3D compensation may be achieved in Turbo PMAC through the use of the 
kinematic subroutines, which can be used to compute the corrections 
algorithmically.  The correction equations would be fit to the observed 
measurements, probably through a least-squares fit on polynomial equations.  
Refer to the section on kinematics algorithms in the Setting up a Coordinate 
System section of this manual for details.  Note that both the correction equations 
(the inverse kinematics) and their inverse (the forward kinematics) must be 
entered. 
Kinematic equations can also be used for 1D and 2D compensation if algorithm, 
rather than table-based, compensation is desired.  Corrections for all motors in the 
coordinate system must be done in the same kinematic algorithm.  By 
parameterizing the algorithm coefficients, the corrections can be made dynamically 
adjustable (as a function of temperature, for example). 
Using Desired vs. Actual Position 
The position compensation tables can use either the desired position or the actual position of the source 
motors to compute their corrections.  In most applications it does not matter which is used, but if the 
source and target motors are the same, the gain of the motor is very high, and there are significant 
corrections, use of actual position can affect the servo loop performance, effectively changing loop gains 
as a function of position.  Use of desired position is recommended in these cases.  See below for an 
explanation of how to specify use of desired position. 
Note that in either case, the table is a function of raw (uncorrected) motor position.  Since the entire 
purpose of the table is to permit command moves to be made to corrected positions, if the target motor is 
the same as the source motor, at a certain commanded numerical position value, the correction will not in 
general be the same as at the raw position of the same numerical value. 
Multiple Tables per Motor 
A motor may provide the source data for any of the position compensation tables; it may also be the target 
of any of the position compensation tables, with the correction of each table to the target motor’s being 
additive.  For example, it is possible to have both a repeating fine compensation table for a motor for 
cyclic errors such as sensor eccentricity, and a non-repeating coarse table.  Also, corrections may be 
applied to a motor both as functions of its own position and another motor’s position.