====== Autonoomsete süsteemide arhitektuuri üldkontseptsioonid ====== Tarkvaraarhitektuur kujutab endast süsteemi kõrgetasemelist struktuuri, kirjeldades selle komponentide korraldust, nende suhteid ning nende disaini ja arengut reguleerivaid juhtpõhimõtteid. Autonoomsetes süsteemides määratleb arhitektuur, kuidas taju-, planeerimis- ja juhtimismoodulid interakteeruvad, et saavutada autonoomia, säilitades samas ohutuse, töökindluse ja jõudluse ((Bass, L., Clements, P., & Kazman, R. (2021). Tarkvaraarhitektuur praktikas (4. väljaanne). Addison-Wesley)). Autonoomse süsteemi tarkvaraarhitektuuri esmane eesmärk on tagada: * Skaleeritavus: võimalus integreerida uusi andureid, algoritme või missioonimooduleid. * Koostalitlus: ühilduvus teiste süsteemide ja sideprotokollidega. * Hooldatavus: üksikute moodulite värskendamise või muutmise lihtsus. * Ohutus ja tõrketaluvus: vastupidavus anduri rikke, side katkemise või tarkvaravigade vastu. * Reaalajas reageerimisvõime: võime töödelda keskkonnaandmeid ja reageerida rangete ajaliste piiride piires. Autonoomsete süsteemide arhitektuurne projekteerimine järgib tavaliselt mitmeid universaalseid põhimõtteid: - **Modulaarsus:** süsteemid on jagatud täpselt määratletud mooduliteks (nt taju, lokaliseerimine, tee planeerimine, juhtimine), mis võimaldavad iseseisvat arendamist ja testimist. Võimaldab antud süsteemi funktsionaalset isoleerimist, laiendatavust ja suuremat hooldatavust. - **Abstraktsioon:** funktsionaalsed detailid on peidetud liideste taha, soodustades paindlikkust ja taaskasutamist. Sisuliselt, mida suurem on abstraktsioon, seda lihtsam on süsteemi arendamine, testimine ja rakendused. See vähendab ka disaini keerukust igal abstraktsioonikihil. - **Kihistamine:** ülesanded on rühmitatud abstraktsioonitaseme järgi – näiteks riistvaraliidesed madalaimal tasemel ja missiooni planeerimine kõrgeimal tasemel. Lisaks funktsionaalsele abstraktsioonile võimaldab kihilisus erinevatel tasanditel erinevaid tehnilisi teostusi, mis on vajalikud erinevate reaktsioonikiiruste käsitlemiseks, otsuste tegemise viivituste vähendamiseks ning tõhusamaks sisekommunikatsiooniks ja andmetöötluseks erinevatel tasanditel. - **Standardeerimine:** vahevarastandardite (nt ROS, DDS, MOOS) kasutuselevõtt hõlbustab platvormide koostalitlusvõimet. Lisaks võimaldab mainitud standardiseerimine vältida müüja lukke ja vähendab konkurentsi suurenemise tõttu üldkulusid. - **Andmekeskne side:** kaasaegsed arhitektuurid tuginevad hajutatud suhtluse tõhusaks haldamiseks avaldamise/tellimise paradigmadele. ===== Vahevara ja raamistikud =====Vahevara on selgroog, mis ühendab erinevaid mooduleid, tagades tõhusa andmevahetuse ja sünkroonimise. Autonoomsete sõidukite silmapaistvad vahevarasüsteemid hõlmavad järgmist: * **ROS (robotite operatsioonisüsteem):** avatud lähtekoodiga raamistik, mis pakub modulaarset struktuuri robotirakenduste jaoks, sealhulgas taju, planeerimine ja juhtimine ((Quigley, M., Gerkey, B., & Smart, W. D. (2009). Programming Robots with ROS: A Practical Introduction to the Robot Operating System. O’Reilly Media)). * **DDS (Data Distribution Service):** Lennundus- ja kaitsesüsteemides laialdaselt kasutatav reaalajas sidestandard, mis toetab deterministlikku andmevahetust ((Object Management Group. (2023). Data Distribution Service (DDS) standard. OMG)). * **MOOS-IvP:** Merele orienteeritud autonoomiaraamistik, mis on loodud autonoomsete allvee- ja pealveesõidukite missioonide planeerimiseks ja sõidukite koordineerimiseks ((Benjamin, M. R., Curcio, J. A., & Leonard, J. J. (2012). MOOS-IvP autonoomiatarkvara mererobotidele. Journal of Field Robotics.29(–6, )8),29(–6,5),8). * A**UTOSARi kohanduv platvorm:** autosüsteemide standardarhitektuur, mis rõhutab ohutust, töökindlust ja mastaapsust ((AUTOSAR Consortium. (2023). AUTOSAR Adaptive Platform Specification. AUTOSAR)). Need vahevaraplatvormid mitte ainult ei edenda koostalitlusvõimet, vaid jõustavad ka arhitektuurimustreid, mis tagavad prognoositava jõudluse heterogeensetes valdkondades. Enamik autonoomseid süsteeme järgib hierarhilist kihilist arhitektuuri: ^ Kiht ^ Funktsioon ^ Näited ^ | Riistvara abstraktsioon | Liides andurite, täiturmehhanismide ja madala taseme juhtimisega | Andurite draiverid, mootorikontrollerid | | Taju | Anduri töötlemata andmete töötlemine tähenduslikeks keskkonnaesitlusteks | Objekti tuvastamine, SLAM | | Otsuste tegemine / planeerimine | Eesmärkidel ja piirangutel põhinevate radade või tegevuste loomine | Teede planeerimine, käitumispuud | | Kontroll / Täitmine | Tõlgi plaanid täiturmehhanismide käskudeks | PID, MPC, madala taseme juhtkontuurid | | Suhtlemine / koordineerimine | Andmete jagamine süsteemide või autoparkide vahel | Sõiduk-sõiduk (V2V), sülemi koordineerimine | Sõltuvalt funktsionaalsetest ülesannetest jagatakse süsteemi arhitektuur mitmeks kihiks abstraktseks funktsionaalsuseks ja tehniliseks teostuseks, nagu eespool kirjeldatud. Allpool on üldise arhitektuuri skeem, et saada paremini aru erinevate kihtide tüüpilistest ülesannetest.
{{ :en:safeav:as:rtu_ch1_figure1.png?400| Edge IoT system' architecture}} Üldine autonoomse süsteemi arhitektuur
===== AI ja masinõppe roll =====Kaasaegsed autonoomsed süsteemid integreerivad tajumiseks ja otsuste tegemiseks üha enam masinõppe (ML) tehnikaid. Sügavad närvivõrgud võimaldavad objektide reaalajas tuvastamist, semantilist segmenteerimist ja trajektoori ennustamist ((LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436–444)). Kuid need andmepõhised meetodid toovad kaasa ka arhitektuurilisi väljakutseid: * Suurenenud arvutuskoormus, mis nõuab serva GPU-sid või spetsiaalseid tehisintellekti kiirendeid. * Ohutuse tagamiseks on vaja tugevat valideerimist ja selgitatavust. * Integratsioon deterministlike juhtimismoodulitega hübriidarhitektuurides. Seega kasutavad paljud süsteemid hübriidkujundusi, kombineerides traditsioonilist reeglipõhist või dünaamikapõhist juhtimist andmepõhiste järeldusmoodulitega, tasakaalustades tõlgendatavust ja kohandatavust.