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)