Velodyne Acoustics HDL-64E S2.1 user manual APPendix f duaL tWo Point caLiBration MethodoLoGy

Models: HDL-64E S2 HDL-64E S2.1

1 43
Download 43 pages 23.68 Kb
Page 33
Image 33

aPPendix f: duaL tWo Point caLiBration MethodoLoGy

HDL-64E S2 and S2.1 User’s Manual

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:

(x - 0)

Dy = D1y + (D2 - D1y) _______

(x2 - 0)

Dx = D1x + (D2 - D1x ) (x - x1) (x2 - x1)

Where:

x1 = 2.4 m x2 = 25.04 m

D1x = corrected X distance for near point D1y = corrected Y distance for near point D2x = corrected X distance for far point D2y = 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();

[ 30 ]

Page 33
Image 33
Velodyne Acoustics HDL-64E S2.1 user manual APPendix f duaL tWo Point caLiBration MethodoLoGy