Popis samopopisného formátu xml - formát záznamu
================================================
Každý záznam má časové razítko (timeStamp) jako unsigned long long, přičemž
hodnota je dle UNIX času. Dále souřadnicový systém nechť je pravotočivý, tj.
x ve směru jízdy robota, y v příčném směru (z má obvyklý význam).
Kompas
------
alpha = kurz ve stupních (jako na běžném kompasu)
Lidar
-----
Mode = provozní mód lidaru.
LidarMountingHeight = výška lidaru od povrchu země (tj. od silnice)
lidarAngle = aktuální úhel naklopení (tj. pod jakým úhlem dopadají paprsky na povrch). 0 stupňů = přímo rovně dopředu.
data = raw hodnoty v cm změřené senzorem, tj. délky jednotlivých vržených paprsků po první překážku
// Mody lidaru - počet hodnot ve scanu.
0 = 100 stupňů po 1 stupni (40 .. 140 tj. 90 +- 50 stupňů)
1 = 100 stupňů po 0.5 stupně (40 .. 140 tj. 90 +- 50 stupňů)
2 = 100 stupňů po 0.25 stupně (40 .. 140 tj. 90 +- 50 stupňů)
3 = 180 stupňů po 1 stupni (0 .. 180 tj. 90 +- 90)
4 = 180 stupňů po 0.5 stupně (0 .. 180 tj. 90 +- 90)
int SCLidarFrame::modeCount_[] = {101, 201, 401, 181, 361};
// Vrati aktualni uhel paprsku v rad dle modu lidaru (úhel v rovině rozmítání;
// směr jízdy má hodnotu PI/2).
double SCLidarFrame::getAngle(long index) const
{
// mode_ jest provozní mód lidaru.
switch(mode_) {
case 0: return MathFc::degToRad(40 + index);
case 1: return MathFc::degToRad(40 + 0.5 * index);
case 2: return MathFc::degToRad(40 + 0.25 * index);
case 3: return MathFc::degToRad(index);
case 4: return MathFc::degToRad(0.5 * index);
}
return 0.0;
}
Kamera
------
Index = číslo snímku (frame) v příslušejícím videozázanamu.
Rotační optický enkodér (ODOMETR)
---------------------------------
v = rychlost v m/s (spíše orientační)
s = ujetá dráha v metrech.
ImplCount = počet "tiků" (používá se pulsní encodér z myši)