Intelligens járművek 5G alapú távfelügyelete és irányítása

A kutatási projekt keretében megvalósult demonstráció az 5G hálózaton keresztül történő immerzív, „telepresence” (távoli jelenlét) jellegű járművezérlés lehetőségeit illusztrálja egy modellautó példáján keresztül.

Immerzív teleoperácó egy modellautó esetébenImmerzív teleoperáció egy modellautó esetében

Az 5G technológia használatának előnyei az alkalmazásban

A teleoperációs alkalmazásban az immerzív élmény elérése érdekében az 5G hálózat megbízhatóságára, nagy sávszélességére és alacsony késleltetésére egyaránt szükség van. Az elkészített autómodell valós idejű, élő videóképet sugároz a távoli operátor számára, illetve egy távoli vezetőfülke, amely az operátor mozdulatai alapján vezérlőjeleket küld a jármű számára. Az operátor részére az 5G hálózaton érkező videófolyam jelenti a vizuális visszacsatolást. Emiatt a késleltetés alacsony szinten tartása kritikus a biztonságos vezetés és a megfelelő vezetési élmény eléréséhez. A megfelelő telepresence élmény érdekében a vezető nem egy képernyőn, hanem egy VR-sisakban látja az élő videóképet. Annak érdekében, hogy a térérzet megfelelő legyen, egy sztereó (kétlencsés) kamerát alkalmazunk, amelyből mindkét szem számára külön-külön képet sugározunk. Ez egy hagyományos képátvitelhez képest kétszeres mennyiségű vizuális információ továbbítását jelenti a késleltetés alacsonyan tartása mellett. Az immerzív élményt szolgálja továbbá az is, hogy az operátor fejmozgásával szinkronban mozgatjuk a járművön elhelyezett kamerát, így a vezető szabadon körülnézhet, ugyanúgy, mintha magában a járműben ülne. Az operátor számára érkező vizuális visszacsatolás alacsony késleltetése egyrészt a jármű mozgása miatt (a biztonságos beavatkozás érdekében), másrészt a fejmozgás miatt (a komfortos vizuális élmény érdekében) is kiemelkedő fontosságú. Az alkalmazás sajátossága, hogy a nagy sávszélességet igénylő videókép-továbbítás az autó szempontjából uplink, a távoli vezetőfülke szempontjából downlink kommunikációs irányt jelent, tehát mindkét irány esetében szükség van a kellő sávszélesség garantált rendelkezésre állására.

Sztereó kamera, amely a vezető fejmozgásával szinkronban mozogSztereó kamera, amely a vezető
fejmozgásával szinkronban mozog

A demonstrációs platform architektúrájának bemutatása

Az alkalmazás főbb rendszerkomponenseit a következő ábra mutatja be. Központi eleme maga a távolról vezetett jármű, megfelelő számítási kapacitással rendelkező beágyazott számítógéppel ellátva, a környezet érzékelését lehetővé tevő szenzorokkal (ezek közül esetünkben a legfontosabb a kamera) és 5G kommunikációs eszközzel (5G CPE) felszerelve. A másik fő egység a virtuális vezetőfülke, amely a kormányt és a pedálokat, valamint a VR-sisakot tartalmazza. A VR-sisakban megjelenítendő képi tartalom előállításáért egy VR-képes PC (a továbbiakban VRPC) felel, az autóval való kommunikáció itt is egy 5G CPE („Customer Premises Equipment”, más néven „5G wireless router”) segítségével történik.

A demonstráció főbb rendszerkomponenseiA demonstráció főbb rendszerkomponensei

A demonstráció jelenlegi megvalósításának sajátossága, hogy az autóban lévő beágyazott számítógépnek és a virtuális vezetőfülkénél lévő PC-nek egy közös lokális hálózaton kell lennie. A mobilhálózaton ezt virtuális magánhálózat (VPN) szolgáltatás segítségével valósítjuk meg. Mind az autó, mind a VRPC egy VPN szerverhez csatlakozik mobilinterneten keresztül. A VPN szerver megvalósítható egy erre dedikált (fizikai) szervergépen, vagy akár az 5G edge cloud-ban lévő virtuális szerver formájában. Ez utóbbi megoldás előnye, hogy az autó és a vezetőfülke közötti kommunikációt biztosító szerveralkalmazás optimálisan, a felhasználókhoz fizikailag közel helyezhető el a lehető legalacsonyabb hálózati késleltetés biztosítása céljából.

Az autó

Az alábbi ábrán a modellautó felépítése látható, a legfontosabb funkcionális egységek jelölésével. Az immerzív képi élmény forrása egy Stereolabs ZED Mini1típusú sztereó kamera, amely egy három szervomotorból álló mozgató mechanizmuson (camera turret) foglal helyet.

A modellautó felépítéseA modellautó felépítése
 
Kameramozgató mechanizmus a szeretó kamerávalKameramozgató mechanizmus a szereó kamerával
 
Az autó fedélzeti irányítórendszerének központi egysége egy 4-magos Intel Core i7 processzorra épülő beágyazott számítógép (Intel NUC2), amely 8 GB RAM-mal és 480 GB SSD háttértárral rendelkezik.
 

 Intel NUC beágyazott számítógép
Intel NUC beágyazott számítógép

 Az autó a teleoperációs alkalmazáson kívül egyéb vezetéstámogató és önvezető intelligens funkciók megvalósítására is alkalmas, ennek érdekében a sztereó kamerán kívül más kamerákkal és egyéb szenzorokkal is fel van szerelve. Az intelligens funkciók megvalósításának támogatása és az Intel NUC tehermentesítése érdekében az autóban helyet kapott egy Nvidia Jetson AGX Xavier3 beágyazott számítógép is. Ez egy 8-magos ARM processzort, valamint egy 512 grafikus és 64 tenzor maggal rendelkező grafikus processzort (GPU-t) tartalmaz, amely képfeldolgozási, gépi látási és egyéb mesterséges intelligencia alkalmazások megvalósítására teszi kiválóan alkalmassá. Az Nvidia Jetson 32 GB RAM-mal és 32 GB eMMC háttértárral rendelkezik.

Nvidia Jetson AGX Xavier Developer KitNvidia Jetson AGX Xavier Developer Kit

A nagyteljesítményű beágyazott számítógépeken kívül kisebb számítási kapacitással rendelkező részegységek is helyet kaptak az irányítórendszerben. Ezek Raspberry Pi kártyaszámítógépekből és a hozzájuk kapcsolódó egyedi fejlesztésű, mikrokontroller alapú illesztőkártyákból állnak. Feladatuk az autón található szenzorok illesztése, beavatkozószervek vezérlése, valamint a tápfelügyelet. Az járművön belüli beágyazott számítógépek között egy lokális Ethernet hálózat teremt összeköttetést, az 5G mobilhálózathoz való kapcsolódást egy Hocell M110 5G CPE4 biztosítja.

Az autó irányítórendszerének funkcionális felépítése és kommunikációs összeköttetései az alábbi ábrán láthatók:

A modellautó irányítórendszerének funkcionális felépítéseA modellautó irányítórendszerének
funkcionális felépítése

A korábban említett kiegészítő szenzorok a következők:

  • 1 db fixen rögzített hátrafelé néző kamera (hagyományos, egylencsés webkamera), amellyel virtuális visszapillantó tükör funkció valósítható meg;
  • 1 db fixen rögzített RGBD kamera, amely a „hagyományos” színes (RGB – red/green/blue) videófolyamon túl mélységképet (D - depth) is készít, ezzel gépi látás alapú objektumfelismerés vagy vizuális helymeghatározás (visual odometry) valósítható meg;
  • 2 db egysugaras LIDAR, azaz lézeres távolságszkenner az autó első és hátsó lökhárítója alatt elhelyezve ütközésveszély felismerése céljából (a blokkvázlaton „front LIDAR” és „rear LIDAR”);
  • 1 db billenthető egysugaras LIDAR vagy 1 db fixen rögzített 32-sugaras LIDAR az autó tetején („top LIDAR”), amellyel navigációs alkalmazásokhoz 3D pontfelhő nyerhető ki a környezetről;
  • 10 db ultrahangos távolságérzékelő ütközésveszély detektálása céljából (az alsó LIDAR-okhoz hasonlóan, de más fizikai mérési elvet alkalmazva, így növelve az érzékelés robusztusságát).

A jelenlegi elrendezésben a mozgatható sztereó kamera (a blokkvázlaton FPV, azaz „first person view” kamera), a hátranéző kamera (a blokkvázlaton „rear camera”), valamint a két alsó LIDAR közvetlenül az Intel NUC-hoz kapcsolódik USB interfészen. Az RGBD kamera az Nvidia Jetson-hoz csatlakozik szintén USB-n, mivel a képfeldolgozáshoz szükséges gépi látási és mesterséges intelligencia algoritmusok a GPU magokon futtathatók hatékonyan. A felső LIDAR közvetlenül kapcsolódik a lokális Ethernet hálózathoz, mérési adatainak feldolgozását alkalmazástól függően az Intel NUC vagy az Nvidia Jetson is végezheti.

Az irányítórendszer alacsonyszintű feladatait 4 db Raspberry Pi kártyaszámítógép végzi, ezek közül

  • 1 db felel a kameramozgatásért, azaz 3 db szervomotor vezérléséért a VR-sisakból származó térbeli orientációs információ alapján;
  • 1 db vezérli a felső LIDAR billegtetését egy szervomotor segítségével (többsugaras LIDAR alkalmazása esetén erre nincs szükség);
  • 1 db végzi az ultrahangos távolságmérők nyers mérési adatainak feldolgozását;
  • 1 db felelős az autó alacsonyszintű irányításáért (low-level control), amely magában foglalja a kormány pozíciószabályozását, a meghajtómotorok sebességszabályozását, valamint az autó tápfelügyeletét.
 

A vezetőfülke

 

A teleoperációs mintarendszerben a felhasználó (operátor) a virtuális vezetőfülkében foglal helyet. Ez egy szimulátorülésből áll (ld. alábbi ábra), amelyre egy Logitech G920 Driving Force kormánykerék és pedál készletet5 szereltünk fel. Az immerzív vezetési élményt egy Oculus Rift S VR-sisak6 biztosítja.

Vezetőülés kormánnyal és pedálokkalVezetőülés kormánnyal és pedálokkal

VR headset: Oculus Rift S
VR headset: Oculus Rift S

A kormány-pedál készlet és a VR-sisak egy jelentős grafikus teljesítménnyel rendelkező, VR-képes PC-hez (VRPC) kapcsolódik.

Szoftverrendszer

A demonstrációs rendszer több számítógép együttműködésére épül, amelyek logikailag egy lokális hálózatra kapcsolódva kommunikálnak egymással. Az egyes számítógépek eltérő szoftveres platformra épülnek, megtalálhatók közöttük Windows és Linux operációs rendszer alatt működők is.

A VRPC szoftverrendszere

A felhasználó által közvetlenül kezelt VRPC Windows operációs rendszer alatt működik, erre vannak telepíve az Oculus Rift és a kormány-pedál játékvezérlő meghajtóprogramjai. Az immerzív vezetési élményt biztosító szoftvert Unity7 keretrendszerben valósítottuk meg. A Unity alkalmazás állítja elő a VR-sisak számára a két külön szemre érkező látványt, kezeli a VR-sisak mozgásának mérését, valamint a kormány-, sebesség- és kameramozgató parancsok kiküldését az autó felé.

A valósidejű kamerakép felbontása 2560x720 vagy 3840x1080 pixeles lehet, amely egy HD (720p) vagy Full HD (1080p) videófolyam duplájának felel meg, hiszen a sztereó kamera két lencséjének képe képkockánként összefűzve kerül továbbításra. A felbontáson túl a képkockasebesség (30 vagy 60 fps), valamint az átvitt videófolyam tömörítésének mértéke (és ezzel a képminőség) is állítható. Mindezekkel a hálózati sávszélességigény kb. 10–100 Mbit/s között változtatható, a stabilan rendelkezésre álló hálózati sávszélességtől függően. Szubjektív tesztek alapján elmondható, hogy a felhasználói élményben a kép folytonossága játssza a legfontosabb szerepet. Ha kisebb az elérhető sávszélesség, akkor érdemes kisebb felbontást és erősebb képtömörítést alkalmazni, mert a videófolyam még így is sokkal komfortosabb érzetet biztosít a VR-sisakban, mint egy nagyfelbontású, kiváló képi minőségű, de időben enyhén darabos vagy szaggatott látvány. A videófolyam tömörítését és elküldését az autó fedélzetén, valamint fogadását a VRPC‑n egyaránt egy-egy FFmpeg8 alapú program végzi.

A VR-sisakban látható fedélzeti kamerakép (egyik szem)A VR-sisakban látható fedélzeti kamerakép (egyik szem)

A VRPC-n futó FFmpeg fogadó programmodul a nyers képeket átadja a Unity alkalmazásnak, ahol a két szemre érkező kép megfelelő geometriai korrekciója és megjelenítése történik. A korrekcióra a kameralencsék torzítása miatt van szükség. Az alkalmazás egy egyszeri kalibráció során felvett paraméterhalmaz alapján végzi a jobb és bal szemre jutó képkockák geometriai (vissza)torzítását. Ez elengedhetetlen a megfelelő térérzet kialakításához, enélkül a lépés nélkül a két szem által látott kép nem illeszkedik, az objektumok duplán látszanak, a térhatás szétesik, ami túlzott szemfáradáshoz és diszkomfortérzethez vezethet. A kalibrációt minden egyes kamerapéldányra csak egyszer kell elvégezni, az elmentett paraméterek alapján a torzítást viszont minden egyes képkockára ki kell számítani.

A VR-sisakban megjelenített, vezetéstámogató információkkal kiegészített látványA VR-sisakban megjelenített, vezetéstámogató
információkkal kiegészített látvány

A kamerakép megjelenítésén túl a Unity alkalmazás lehetőséget biztosít járulékos vezetőtámogató információk megjelenítésére is a VR-sisakban, ezzel kevert valóság (mixed reality, MR) élményt létrehozva. A következő ábrán látható egy példa a virtuális elemekkel kiegészített látványra. Ezen egyrészt az ütközésveszély detektálásához használt alsó LIDAR-ok mérési pontjai láthatók a kameraképpel azonos perspektívából, másrészt az autó prediktált nyomvonala a pillanatnyi kormányszög alapján. Ezeken kívül megvalósíthatók fejlettebb vezetőtámogató funkciók és más látványelemek megjelenítése is. Például tolatás esetén megjeleníthető a hátrafelé néző kamera képe virtuális visszapillantó tükör formájában, vagy parkolóhely kiválasztásának segítése 3D vizuális elemekkel egy parkolási szituációban, vagy önvezető módban történő manőverek végrehajtásához a célpozíció kijelölése a 3D kameraképen a VR-sisak kontrollereinek segítségével közvetlenül a padlóra mutatva.

Az autó szoftverrendszere

Az autóban lévő beágyazott számítógépek (az Intel NUC, az Nvidia Jetson és a Raspberry Pi-k is) Linux operációs rendszert futtatnak. Ezen belül az autó működtetéséhez szükséges szoftverkomponensek Robot Operating System (ROS)9 segítségével kerültek megvalósításra. A ROS egy robotikai alkalmazásokra fejlesztett keretrendszer, amely komplex feladatok moduláris megvalósításához nyújt eszköztárat.

Az autó fedélzeti szoftvermoduljai és a közöttük lévő adatkapcsolatokAz autó fedélzeti szoftvermoduljai
és a közöttük lévő adatkapcsolatok

Az egyes részfunkciók külön-külön folyamatokként futtathatók Linux alatt, a ROS pedig közöttük zajló adatcserék lebonyolításáért felelős. Emellett a ROS számos egyéb támogatást nyújt szenzorjelek feldolgozásához, navigációs megoldások elkészítéséhez, adatvizualizációhoz vagy akár robotszimulációhoz. A ROS képes elosztott módon működni hálózatba kapcsolt számítógépeken. Így az autó szoftverrendszerében más-más folyamatok (ún. ROS node-ok) futnak a NUC-on, a Jetson-on és az egyes Raspberry Pi-ken, de ezek összehangoltan, egyetlen ROS alapú rendszert alkotva működnek.

Az előző oldalon látható az autó szoftverrendszerének logikai vázlata. A VRPC-vel való kommunikációért a következő modulok felelősek:

  • „Stream”: FFmpeg alapú videótömörítés és küldés RDP protokollon
  • „LLC Host”: Kormány- és sebességparancsok fogadása UDP protokollon
  • „Gimbal Host”: Kameramozgató parancsok fogadása UDP protokollon

A fentiek ROS független, az autó szempontjából a külvilág felé irányuló kommunikációs csatornákat használnak. Minden egyéb kommunikáció (az ábrán feliratokkal ellátott nyilakkal jelölve) ROS node-ként megvalósított folyamatok között zajlik az autón belül. Ezek közül említésre méltó az autonóm navigációs funkciókat megvalósítani képes „ROS-VrCarNavigation” programmodulcsoport, amely a fedélzeti LIDAR-ok mérései alapján környezeti térkép alkotására, valamint egy célpont – felhasználó általi – kiválasztása után önálló mozgástervezésre és mozgásvégrehajtásra teszi képessé az autót. Az autó navigációs rendszerében rendelkezésre álló információk a ROS 3D vizualizációs szolgáltatása segítségével megjeleníthetők (ld. alábbi ábra) akár egy második képernyőn a vezetőfülkében is, ha a videótovábbítás mellett rendelkezésre áll még további szabad sávszélesség.

Az autó navigációs rendszerében elérhető adatok vizualizációjaAz autó navigációs rendszerében elérhető adatok vizualizációja

Szintén említést érdemel a „Control Manager” modul, amely a manuális (teleoperációs) irányítóparancsok (/vrcar/manual_control) és az önvezető navigációs alrendszerből érkező mozgatóparancsok (/vrcar/move_base_control) közötti automatikus váltásokért felel. Ehhez kapcsolódik az „Obstacle Detector” modul, amely a „Control Manager” által kiválasztott irányítóparancsokat (/vrcar/raw_control) a fedélzeti szenzorok adatai alapján ütközésveszély esetén felülbírálja, és az így szűrt mozgatóparancsokat (/vrcar/filtered_control) továbbítja az autó alacsonyszintű irányító alrendszere felé, amelyet az LLC (low-level control) programmodul felügyel.

Projektben szereplő tanszéki kutatók, vezető kutató és elérhetősége:

  • Kiss Domonkos (vezető kutató)
  • Nagy Ákos
  • Kiss Ágoston
  • Hartmann Ábel
  • Kovács Viktor
  • Abonyi-Tóth Barbara

Projektben résztvevő hallgatók:

  • Balogh Bence
  • Reucsán Bence
  • Foltányi Bence
  • Láncz Gergő
  • Putnoki Roland
  • Antal Márton
  • Kondákor András
  • G. Varga Gábor
  • Szabó Norbert

Projekthez kapcsolódó publikációk:

  • Nagy, Á., and Vajk, I. „Sequential Time-Optimal Path Tracking Algorithm for Robots.” IEEE TRANSACTIONS ON ROBOTICS, Vol. 35, No 5., 2019, pp. 1253-1259,
  • Csorvási, G., and Vajk, I. „Sequential Time-Optimal Algorithm for Extended Path Tracking Problem.” ASME, Journal of Dynamic Systems, Measurement and Control, Vol. 142, No. 8, Paper No. DS-19-1267, 2020.
  • Kiss Domokos: Path Planning for Autonomous Vehicles in Narrow Environments, PhD Thesis, 2024

Projekthez kapcsolódó események:

  • ZalaZONE megnyitó ünnepség, Zalaegerszeg, 2019. május 20.
  • Vodafone Magyarország Zrt. 5G demói​ 2019-ben:
    • Nemzeti Regatta (Siófok, 2019. június 1–2.)
    • "Magyarország az 5G élvonalában” (5G Koalíció, Budapest, Várkert Bazár, 2019. június 18.)
    • X. Infotér konferencia (Balatonfüred, 2019. október 15–16.)
    • Vodafone 5G hálózat publikus indítása (Budapest, Várkert Bazár, 2019. október 17.)
  • ITU Telecom World kiállítás, Budapest, 2019. szeptember 9–12.
  • SzeBIT Szeged, 2019. november 21.
  • "Négy éves az 5G Koalíció" rendezvény, Budapest, 2021. június 28.
  • XXIII. Országos Közoktatási Szakértői Konferencia, Hajdúszoboszló, 2021. november 9-11.
  • 5G koalíció plenáris ülés, 2021. november 18.
  • Lóczy Lajos Nap, Balatonfüred, 2022. március 19.