EasyManua.ls Logo

Velodyne HD HDL-64E S2.1 - APPENDIX F: DUAL TWO POINT CALIBRATION METHODOLOGY; Calibration Algorithm and Formulas

Velodyne HD HDL-64E  S2.1
43 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
[ 30 ]
HDL-64E S2 and S2.1 Users Manual

D
y
= D
1y
+ (D
2
- D
1y
)
(x - 0)
_______
(x
2
- 0)
D
x
= D
1x
+ (D
2
- D
1x
)
(x - x
1
)
_______
(x
2
- x
1
)
Dual Two Point Calibration Methodology and Code Samples
Velodyne uses a dual point calibration methodology to calculate the values in the db.xml file. This section describes this calibration methodology.
The steps for the calibration are as follows:
1: Perform far point calibration at 25.04m
2: Perform near point X calibration at 2.4m
3: Perform near point Y calibration at 1.93m
4: Perform linear interpolation to get distance correction for X and Y (Nearer than 25.00m only)
The formula for the calibration value is as follows:
Where:
x
1
= 2.4 m
x
2
= 25.04 m
D
1x
= corrected X distance for near point
D
1y
= corrected Y distance for near point
D
2x
= corrected X distance for far point
D
2y
= corrected X distance for far point
Coordinate Calculation Algorithm Sample Code
firingData::computeCoords(guint16 laserNum, boost::shared_ptr<CalibrationDB> db,
GLpos_t &pos)
{
guint16 idx = laserNum % VLS_LASER_PER_FIRING;
boost::shared_ptr<CalibrationPoint> cal = db->getCalibration(laserNum);
if (data->points[idx].distance == 0) {
coords[idx].setX(0.0);
coords[idx].setY(0.0);
coords[idx].setZ(0.0);
return;
}
// Get measured distance, distance1
float distance1 = db->getDistLSB() * (float)data->points[idx].distance;
// Corrected distance by distance calibration at 25.04m
float distance = distance1+ cal->getDistCorrection();
float cosVertAngle = cal->getCosVertCorrection();
float sinVertAngle = cal->getSinVertCorrection();

Related product manuals