Velodyne HD HDL-64E S2 Betriebsanleitung Seite 25

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 28
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 24
A P P E N
D
[ 22 ]
I
X
C
:
C
O O R
D
I
N A
T
E
C
A L
C
U
L A
T
I
O N A L G O R
I
T
H M
S
A M P L E
C
O
D
E
H
D
L
-
32
E
U
s
e
r
s
M
a
nu
a
I
Coordinate Calculation Algorithm Sample Code
After removing all the correction parameters except vertical correction,
the calculation code is:
firingData::computeCoords(guintl6 laserNum, boost::shared_ptr<CalibrationDB> db,
GLpos_t &pos)
{
guintl6 idx = laserNum % VLS_LASER_PER_FIRING;
boost::shared_ptr<CalibrationPoint> cal = db->getCalibration(laserNum);
if (data->points[idx].distance == O) {
coords[idx].setX(O.O);
coords[idx].setY(O.O);
coords[idx].setZ(O.O);
return;
}
float distance = db->getDistLSB() * (float)data->points[idx].distance;
II Get measured distance, distancel
float cosVertAngle = cal->getCosVertCorrection();
float sinVertAngle = cal->getSinVertCorrection();
float cosRotAngle = rotCosTable[data->position];
float sinRotAngle = rotSinTable[data->position];
float xyDistance = distance * cosVertAngle; II Convert to X-Y plane
coords[idx].setX(xyDistance * sinRotAngle + pos.getX()IVLS_DIM_SCALE);
II Calculate X coordinate
coords[idx].setY(xyDistance * cosRotAngle + pos.getY()IVLS_DIM_SCALE);
II Calculate Y coordinate
IICalculate Z coordinate
coords[idx].setZ(distance * sinVertAngle + pos.getZ()IVLS_DIM_SCALE);
}
Seitenansicht 24
1 2 ... 20 21 22 23 24 25 26 27 28

Kommentare zu diesen Handbüchern

Keine Kommentare