Table of Contents

Autonomy Software Stack

Tüüpiline autonoomia tarkvarapakk on jaotatud hierarhilisteks kihtideks, millest igaüks vastutab teatud funktsioonide alamhulga eest – alates madala taseme anduri juhtimisest kuni kõrgetasemelise otsuste tegemise ja sõidukipargi koordineerimiseni. Kuigi rakendused on erinevates valdkondades (maapealne, õhust, merest) erinevad, jääb põhiline arhitektuuriloogika sarnaseks:

See kihiline disain ühtib tihedalt nii robootikaraamistikega (ROS 2) kui ka autotööstuse arhitektuuridega (AUTOSAR Adaptive).

 The SCOR Model Typical Autonomy Software Stack
Figure 1: Tüüpiline autonoomia tarkvarapakk (kohandatud allikatest 1) 2)).

Joonisel 1 on kujutatud peamised tarkvarakihid ja nende funktsioonid.

Riistvara abstraktsioonikiht (HAL) HAL pakub standardset juurdepääsu riistvararessurssidele. See teisendab riistvaraspetsiifilised üksikasjad (nt andurite sideprotokollid, pingetasemed) tarkvaraga juurdepääsetavateks API-deks. See funktsioon sisaldab tavaliselt järgmist:

HAL tagab teisaldatavuse — tarkvaramoodulid jäävad teatud riistvaramüüjate või konfiguratsioonide suhtes agnostiliseks 3).

Operatsioonisüsteem (OS) ja virtualiseerimiskiht OS-i kiht haldab riistvararessursse, protsesside ajastamist ja protsessidevahelist suhtlust (IPC), samuti reaalajas töötamist, hoiatusi ja päästikute tõstmist, kasutades valvekoera protsesse. Siin on andmetöötluse paralleelsus üks võtmeid ressursside tagamisel ajakriitiliste rakenduste jaoks. Autonoomsed süsteemid kasutavad sageli:

Time-Sensitive Networking (TSN) laiendused ja PREEMPT-RT plaastrid tagavad missioonikriitiliste ülesannete deterministliku ajastamise 4).

Autonoomia luurekiht See on virnas otsuste tegemise tuum. See koosneb mitmest omavahel seotud alamsüsteemist:

Alamsüsteem Funktsioon Näidistehnikad / Tööriistad
Taju Tuvastage ja klassifitseerige objekte, sõiduradasid, maastikku või takistusi. CNN-id, LiDAR-i segmenteerimine, andurite liitmine.
Lokaliseerimine Hinnanguline asukoht globaalse või kohaliku kaardi suhtes. SLAM, GNSS, visuaalne odomeetria, EKF.
Planeerimine Arvutage teostatavad, ohutud teed või käitumisviisid. A*, D*, RRT*, käitumispuud.
Ennustus Esitage keskkonnakäitumise prognoos. Tavaliselt annab see ka sisemise dünaamika prognoosi. Korduvad närvivõrgud, Bayesi järeldus.
Otsuste tegemine Valige tegevused missiooni eesmärkide ja konteksti alusel. Lõpliku olekuga masinad, tugevdusõpe.

Need komponendid interakteeruvad vahevara kaudu ja töötavad kas servaarvutites (pardal) või pilvepõhistes süsteemides laiendatud töötlemiseks 5).

Rakendus- ja pilvekiht Virna ülaosas asub rakenduskiht, mis laiendab autonoomiat üksikutest sõidukitest kaugemale:

Sellised raamistikud nagu AWS RoboMaker, NVIDIA DRIVE Sim ja Microsoft AirSim ühendavad pilvarvutusega pardal autonoomia.

Andmevoog autonoomia tarkvarapinus

Autonoomiasüsteemid toetuvad andmekonveieritele, mis liigutavad teavet kihtide vahel reaalajas.

 Data Flow in an Autonomy Software Stack
Figure 2: Andmevoog autonoomia tarkvaravirnas

Iga etapp sisaldab tagasisideahelaid, et tagada vigade parandamine ja ohutusjärelevalve 6) 7).

Näidisrakendused

ROS-i 2-põhine virn (uuringud ja prototüüpimine)

AUTOSAR adaptiivne platvorm (autotööstus)

MOOS-IvP (mereautonoomia)

Hübriid pilveserva arhitektuur

Kihtide koostoime näide – autonoomne sõiduk

 Simplified Interaction Example
Figure 3: Lihtsustatud interaktsiooni näide

See suletud ahelaga andmevahetus tagab reaalajas reageerimise, tugeva vigade taastamise ja moodulitevahelise sidususe.

1) , 7)
Raj, A., & Saxena, P. (2022). Software architectures for autonomous vehicle development: Trends and challenges. IEEE Access, 10, 54321–54345
2)
AUTOSAR Consortium. (2023). AUTOSAR Adaptive Platform Specification. AUTOSAR
3)
Lee, E. A. & Seshia, S. A. (2020). Sissejuhatus manussüsteemidesse: A Cyber-Physical Systems Approach (3. väljaanne). MIT Press.
4)
Baruah, S., Baker, T. P., & Burns, A. (2012). Real-time scheduling theory: A History perspective. Real-Time Systems, 28(2)–1), 5101–3). Keskvara / sidekiht Vahevara kiht toimib autonoomia virna andmete selgroona. See haldab sidet hajutatud tarkvaramoodulite vahel, tagades reaalajas, usaldusväärse ja skaleeritava andmevoo. Mõnes mainitud arhitektuuris on vahevara arhitektuuri keskne eripära. Populaarsed vahevaratehnoloogiad:
  • ROS 2 (robotite operatsioonisüsteem 2): kasutab DDS-i (andmejaotusteenus) modulaarseks avaldamise-tellimise suhtluseks.
  • DDS (Data Distribution Service): tööstusstandardile vastav vahevara reaalajas QoS-põhiseks andmevahetuseks.
  • CAN, Ethernet, MQTT: kasutatakse sõidukisiseseks ja väliseks suhtluseks.
  • Logi- ja telemeetriasüsteemid (ROS-kotid, DDS-salvestid).
  • Vigade tuvastamise ja taastamise mehhanismid.
  • QoS (Quality of Service) konfiguratsioon ribalaiuse ja latentsusaja haldamiseks.
Juht- ja täitmiskiht Juhtkiht muudab kavandatud trajektoorid täiturmehhanismi käskudeks, säilitades samal ajal sõiduki stabiilsuse. See sulgeb tagasisideahela käsu ja anduri vastuse vahel. Peamised moodulid:
  • Madala taseme juhtimine: PID-, LQR- või MPC-kontrollerid juhtimiseks, gaasipedaaliks, pidurdamiseks või tõukejõuks.
  • Kõrgetasemeline juhtimine: teisendab trajektooriplaanid reaalajas seadeväärtusteks.
  • Oleku hindamine: kasutab Kalmani filtreid või vaatlejaid kontrollihälvete korrigeerimiseks.
Ohutuskriitilistes süsteemides kasutatakse ohtlike tingimuste vältimiseks sageli üleliigseid kontrollereid ja jälgimissõlmi ((Broy, M. et al. (2021). Automotive Software and Hardware Architectures with AUTOSAR. Springer
5)
LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436–444.
6)
Thrun, S. (2010). Toward robotic cars. Communications of the ACM, 53(4), 99–106
8)
Benjamin, M. R., Curcio, J. A., & Leonard, J. J. (2012). MOOS-IvP autonoomiatarkvara mererobotite jaoks. Journal of Field Robotics, 29(6), 821–835
9)
Wang, L., Xu, X., & Nee, A. Y. C. (2022). Digital twin-enabled integration in production. CIRP Annals, 71(1), 105–128