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 1).
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.
===== 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 2).
DDS (Data Distribution Service): Lennundus- ja kaitsesüsteemides laialdaselt kasutatav reaalajas sidestandard, mis toetab deterministlikku andmevahetust 3).
MOOS-IvP: Merele orienteeritud autonoomiaraamistik, mis on loodud autonoomsete allvee- ja pealveesõidukite missioonide planeerimiseks ja sõidukite koordineerimiseks 4).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.
Figure 1:Ü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.
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.