Delta Tau GEO BRICK LV User Manual
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
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 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).
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.
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.
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.
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.