Bevezetés gyakorlat¶
A gyakorlat során meg fogunk ismerkedni az önvezető járművek jellemző tulajdonságaival és a rögzített adatok jellegzetességeivel.
Foxglove Studio / Lichtblick Suite¶
Bevezetésképpen nézzük egy önvezető jármű jellemző adatait. Példaképp célszerű az egyetemünk egyik ilyen járművével készült adatokat vizsgálni. Foxglove Studio-t vagy Lichtblick Suite-t fogunk használni, hiszen telepítés nélkül, vagy ~150MB méretű telepíthető állományként is hozzáférhető, valamint képes vizualizálni a számunkra fontos adatokat. A vizsgált adatok hasonló képet fognak mutatni:

Órán a K:\ meghajtóról (\\fs-kab.eik.sze.hu\C100\kozos\GKNB_AUTM078_Autonóm_robotok_és_járművek_programozása), otthon a zöld gombot használva töltsük le a fent vizualizált rosbag .bag / .mcap fájlt és a Foxglove Studio layout-ot:
MCAP letöltése 553 MB Layout letöltése
cd /mnt/c/temp
mkdir /mnt/c/temp # ha nem létezne
rsync -avzh --progress /mnt/kozos/measurement_files/lexus3-2024-04-05-gyor.mcap /mnt/c/temp/
rsync -avzh --progress /mnt/kozos/measurement_files/lexus01foxglove.json /mnt/c/temp/
Tip
A https://jkk-research.github.io/dataset oldalról további példa adatokat lehet letölteni.
A Foxglove Studio / Lichtblick Suite bemutatása¶
Amíg az .mcap töltődik, röviden bemutatjuk a Foxglove Studio programot. A Foxglove Studio egy nyílt forráskódú, robotikai adatokat vizualizáló és hibakereső eszköz. Egész pontosan a v1.87.0-ig bezárólag nyílt forráskódu volt, a v2.0.0-tól pedig ingyenesen használható, de zárt forráskódú. Elérhető számos módon:
- önálló asztali alkalmazásként futtatható
- böngészőben hozzáférhető
- saját domainen, önállóan hostolható
A natív robotikai eszközök (mint például az ROS ökoszisztéma részei) általában csak Linux rendszeren támogatottak, de a Studio asztali alkalmazás Linuxon, Windows-on és macOS-en is működik. Akár az ROS stack más operációs rendszeren fut, a Studio képes kommunikálni a robottal zökkenőmentesen.

A Studio gazdag vizuális elemeket és hibakereső panelokat kínál - interaktív diagramoktól, 3D vizuális elemekig, kameraképektől, és diagnosztikai adatfolyamokig. Legyen szó valós idejű robotkövetésről, vagy .bag / .mcap fájlban történő hibakeresésről, ezek a panelok segítenek a különböző, általános robotikai feladatok megoldásában.
A Lichtblick Suite a Foxglove-hoz hasonló, egész pontosan a Foxglove v1.87.0 verziójának folytatása, továbbra is nyílt forráskóddal. A Lichtblick a Foxglove-hoz hasonlóan asztali alkalmazásként futtatható, és a Studio-hoz hasonlóan támogatja a .bag / .mcap fájlokat, valamint a valós idejű adatvizualizációt.
Ezek a panelok ezután egyedi elrendezésekben konfigurálhatók és összeállíthatók a projekt egyedi igényeinek és munkafolyamatainak megfelelően.
Foxglove Studio / Lichtblick Suite telepítése¶
Lichtblick Latest All platform
Az egytemi Nissan mérésadatainak leírása¶
ROS rendszerben (de más hasonló robotikai megoldásokban is) az egyes adatok topic-okba szerveződve vannak publikálva. Egy topic lehet például egy szenzor kimenete, egy szabályzó bemenete, vizualizációs marker stb. A topicoknak típusuk van, rengeteg előre definiált típus létezik, de létrehozhatunk sajátot is, ha ezek nem lennének elegek. Példaképp pár előre definiált típus:
sensor_msgs/Image- Tömörítés nélküli képi információ, jellemzően a kamerától jön, de lehet feldolgozott adat, amin például jelölve vannak a gyalogosok is.sensor_msgs/CompressedImage- Tömörített képi információ.std_msgs/String- Egyszerű szöveges üzenettípus.std_msgs/Bool- Egyszerű bináris üzenettípus.geometry_msgs/Point- XYZ 3D pont.geometry_msgs/Pose- 3D pont és a hozzá tartozó orientáció.
Ahogy látszik, a típusok különböző kategóriákba esnek, úgy mint: std_msgs, diagnostic_msgs, geometry_msgs, nav_msgs, sensor_msgs stb. Nézzük, milyen típusú üzenetek találhatók a letöltött fájlban:
| Topic | Típus | Hz | Szenzor |
|---|---|---|---|
| /gps/duro/current_pose | geometry_msgs/PoseStamped |
10 | Duro GPS (UTM) |
| /gps/duro/imu | sensor_msgs/Imu |
200 | Duro GPS |
| /gps/duro/mag | sensor_msgs/MagneticField |
25 | Duro GPS |
| /gps/nova/current_pose | geometry_msgs/PoseStamped |
20 | Novatel GPS (UTM) |
| /gps/nova/imu | sensor_msgs/Imu |
200 | Novatel GPS |
| /left_os1/os1_cloud_node/imu | sensor_msgs/Imu |
100 | Ouster LIDAR |
| /left_os1/os1_cloud_node/points | sensor_msgs/PointCloud2 |
20 | Ouster LIDAR |
| /right_os1/os1_cloud_node/imu | sensor_msgs/Imu |
100 | Ouster LIDAR |
| /right_os1/os1_cloud_node/points | sensor_msgs/PointCloud2 |
20 | Ouster LIDAR |
| /velodyne_left/velodyne_points | sensor_msgs/PointCloud2 |
20 | Velodyne LIDAR |
| /velodyne_right/velodyne_points | sensor_msgs/PointCloud2 |
20 | Velodyne LIDAR |
| /cloud | sensor_msgs/PointCloud2 |
25 | SICK LIDAR |
| /scan | sensor_msgs/LaserScan |
25 | SICK LIDAR |
| /zed_node/left/camera_info | sensor_msgs/CameraInfo |
30 | ZED kamera |
| /zed_node/left/image_rect_color/compressed | sensor_msgs/Image |
20 | ZED kamera |
| /vehicle_status | autoware_msgs/VehicleStatus |
100 | CAN adatok |
| /ctrl_cmd | autoware_msgs/ControlCommandStamped |
20 | Referencia sebesség és kormyánszög |
| /current_pose | geometry_msgs/PoseStamped |
20 | Aktuális GPS |
| /tf | tf2_msgs/TFMessage |
500+ | Transform |
Házi feladat¶
Házi feladat
Otthon reprodukáljuk a gyakorlatot, és vizsgáljuk meg a letöltött adatokat a Foxglove Studio segítségével. A vizsgálat során a következő kérdésekre keressük a választ:
- Méterben kifejezve milyen távolságokra találhatóak az objektumok a járműtől?
- Milyen sebességgel halad a jármű?
- Milyen irányban halad a jármű?