
APPENDIX F: DUAL TWO POINT CALIBRATION METHO
OLOGY
H
D
L
-
64
E
S2
and
S
2
.
I
U
s
e
r
’
s
M
a
nu
a
l
float cosRotCorrection = cal->getCosRotCorrection();
float sinRotCorrection = cal->getSinRotCorrection();
float cosRotAngle = rotCosTable[data->position]*cosRotCorrection +
rotSinTable[data->position]*sinRotCorrection;
float sinRotAngle = rotSinTable[data->position]*cosRotCorrection -
rotCosTable[data->position]*sinRotCorrection;
float hOffsetCorr = cal->getHorizOffsetCorrection()IVLS_DIM_SCALE;
float vOffsetCorr = cal->getVertOffsetCorrection()IVLS_DIM_SCALE;
; IIConvert distance to X-Y plane, formular is: xyDistance = distance * cosVertAngle
float xyDistance = distance * cosVertAngle
II Calculate temporal X, use absolute value.
float xx = xyDistance * sinRotAngle - hOffsetCorr * cosRotAngle + pos.getX();
II Calculate temporal Y, use abso
lute value
float yy = xyDistance * cosRotAngle + hOffsetCorr * sinRotAngle + pos.getY();
if (xx<0) xx=-xx;
if (yy<0) yy=-yy;
IIGet 2points calibration values,Linear interpolation to get distance
correction for X and Y, that means distance correction use different value at
different distance
float distanceCorrX = (cal->getDistCorrection()-cal->getDistCorrectionX())*(xx-
240)I(2504-240)+cal->getDistCorrectionX();
float distanceCorrY = (cal->getDistCorrection()-cal->getDistCorrectionY())*(yy-
l93)I(2504-l93)+cal->getDistCorrectionY(); IIfix in V2
.0
II Unit convert: cm converts to meter
distancel I= VLS_DIM_SCALE;
distanceCorrX I= VLS_DIM_SCALE;
distanceCorrY I= VLS_DIM_SCALE;
II Measured distance add distance correction in X.
distance = distancel+distanceCorrX;
xyDistance = distance * cosVertAngle; II Convert to X-Y plane
II Calculate X coordinate
coords[idx].setX(xyDistance * sinRotAngle - hOffsetCorr * cosRotAn
gle +
pos.getX()IVLS_DIM_SCALE);
II Measured distance add distance correction in Y.
distance = distancel+distanceCorrY;
xyDistance = distance * cosVertAngle; IIConvert to X-Y plane
II Calculate Y coordinate
coords[idx].setY(xyDistance * cosRotAngle + hOffsetCorr * sinRotAngle +
pos.getY()IVLS_DIM_SCALE);
IICalculate Z coordinate, formula is : setZ(distance * sinVertAngle +
vOffsetCorr
coords[idx].setZ(distance * sinVe
rtAngle + vOffsetCorr +
pos.getZ()IVLS_DIM_SCALE);
}
[ 31 ]
Commenti su questo manuale