Tehnologia care face posibile mașinile autonome

mașini autonome

L Mașinile autonome sunt deja o realitate, nu există nicio îndoială în acest sens. Au trecut de la a fi science-fiction la început să se materializeze, deși mai este mult de parcurs. Oricum ar fi, este surprinzător că un sistem inteligent este capabil să piloteze automat un vehicul, să evite traficul, să respecte indicatoarele și să evite lovirea pietonilor. În spatele a toate acestea se află o tehnologie excelentă.

Prin urmare, vom dedica acest articol pentru a învăța puțin mai mult despre conducerea autonomă și toate acele tehnologii care o fac posibilă.

Arhitectura de sistem a unui SDV

mașină autonomă

Un vehicul autonom (SDV) este un sistem complex care necesită o arhitectură robustă procesează informații, ia decizii și controlează vehiculul. Această arhitectură este în general împărțită în trei părți fundamentale principale: hardware, middleware și software.

Piese metalice

Hardware-ul unui SDV este baza fizică a sistemului. În interiorul hardware Sunt incluși senzori sau sisteme care colectează informații de la vehiculul însuși, precum și din mediul înconjurător. Desigur, este nevoie și de un computer central pentru a procesa software-ul, care implementează toate funcțiile de analiză, AI etc. Și acest lucru se face folosind computere puternice cu CPU și GPU (), deoarece cantități mari de date sunt necesare pentru a fi executate imediat.

Pe de altă parte, avem și noi rețeaua internă care împletește toate elementele, adică senzorii sau sistemele de intrare către computer și de la calculator către elementele de ieșire sau actuatoare. De exemplu, atunci când un senzor detectează un pieton, acesta trimite un semnal către computer care va procesa informația menționată și va trimite o comandă la actuatorul care controlează frâna, pentru a opri vehiculul și a evita să fie peste.

La fel, avem și altele module de comunicare în sistemul hardware, care servesc la comunicarea cu alte elemente ale infrastructurii, cum ar fi elementele cloud sau fog computing care pot furniza date de trafic, vreme etc.

calculator

Printre hardware, poti gasi calculatoare cu diverse procesoare, printre altele, pe langa produse precum NVIDIA Orin sau Thor, un cip special conceput pentru conducere autonoma si succesor al lui Xavier, in SoC-uri precum Drive AGX de la NVIDIA care include atat CPU. (ARM ) ca GPU-uri (bazate pe arhitecturi Maxwell, Ampere, Ada Lovelace, Blackwell,...), care fac parte din platforma NVIDIA Drive. Alte produse pe care le putem aprecia și sunt Intel Movidius, Qualcomm Ride etc.

În general, calculatoare pentru vehicule autonome Aceștia sunt în principal responsabili de procesarea marii majorități a informațiilor necesare pentru a lua decizii în timp real, cum ar fi detectarea obiectelor, planificarea rutei și controlul vehiculului. Acest lucru se datorează faptului că latența, adică timpul necesar pentru ca informațiile să circule de la vehicul la un centru de date și invers, ar putea fi critică în situații precum evitarea unui accident. Centrele de date joacă însă un rol complementar și din ce în ce mai important, pentru formarea modelelor de învățare, calcule care necesită HPC, actualizări de hărți, analize de date la scară largă sau Big Data etc.

Prin urmare, computerul de bord nu este singurul implicat în conducerea autonomă, el este susținut și de cloud computing sau cloud, fog computing sau fog and edge computing sau edge, toate comunicând continuu pentru a funcționa ca un sistem.

Sensores

senzori

Revenind la subiectul senzorii, putem găsi unele dispozitive de intrare sau periferice precum:

  • Radar: Acesta este un dispozitiv care folosește unde radio pentru a detecta obiecte aflate la o anumită distanță, măsurând astfel viteza, distanța și prezența altor vehicule, pietoni și obstacole, chiar dacă există condiții de vizibilitate scăzută.
  • LIDAR: înseamnă Light Detection and Ranging și este un dispozitiv care utilizează impulsuri laser pentru a crea hărți 3D ale mediului și, astfel, știe cum să se deplaseze în jurul acestuia. Puteți măsura distanțele cu precizie, puteți crea rapid o reprezentare detaliată etc.
  • ecografii: Poate fi folosit și pentru a detecta obiecte în timp real, precum cele anterioare. În acest caz, emite unde sonore de înaltă frecvență și măsoară timpul necesar pentru a reveni pentru a cunoaște distanțele. Sunt folosite ca o completare a celor anterioare pentru a măsura obiectele aflate foarte aproape de vehicul, de exemplu în timpul manevrelor de parcare.
  • camere: Aceste camere pot captura imagini ale mediului pentru a fi procesate de sisteme de viziune artificială sau de viziune artificială și, astfel, pot identifica obiecte, pietoni, semne de circulație, benzi și alte elemente. În acest fel, vor putea cunoaște și limitările de viteză, precum și alte tipuri de semnalizare verticală sau orizontală.
  • Unități de măsură inerțiale: Aceste IMU măsoară orientarea, viteza unghiulară și accelerația unui vehicul. Acest lucru este necesar pentru a urmări mișcarea mașinii, pentru a estima poziția acesteia și pentru a se putea orienta atunci când semnalul GPS nu este disponibil.
  • Contometru- Acest dispozitiv măsoară distanța parcursă de vehicul, folosindu-l pentru a calcula poziția mașinii în combinație cu alți senzori. În plus, poate fi util să se determine uzura anvelopelor, kilometrii parcurși pentru a estima reviziile motorului etc.

Desigur, mașinile autonome au și mulți alți senzori, pentru a măsura temperatura motorului, viteza, presiunea în anvelope etc.

Interfețe și actuatoare

Pe de altă parte avem așa-numitul Rețea în interiorul vehiculului, sau rețeaua vehiculului. Sunt sisteme de comunicație care permit interconectarea diferitelor componente electronice în cadrul unui vehicul. Aceste sisteme sunt esențiale pentru coordonarea și schimbul de informații între diferitele sisteme de control al vehiculelor, inclusiv sistemele de conducere autonomă. De exemplu, putem evidenția magistralele de date precum:

  • CAN (Controller Area Network): Este utilizat pe scară largă în industria auto, ceea ce permite comunicarea între diferite module electronice.
  • LIN (Rețea de interconectare locală): un protocol de comunicație cu costuri reduse, utilizat pentru a conecta dispozitive cu viteză redusă, cum ar fi senzori și actuatoare.
  • MOST (Transport de sisteme orientate media): În acest caz, este folosită viteză mare pentru a transmite date multimedia, cum ar fi audio și video.

Datorită acestora, se pot face schimb de date de la diferite module electronice și ECU, precum și trimiterea de semnale de control distribuite, diagnosticare prin conectarea dispozitivelor capabile să citească și să interpreteze coduri de eroare etc.

În plus, ele servesc și pentru ceea ce se numește Interfața actuatorului și componentele, adică actuatoarele. Interfața actuatorului este punctul de legătură dintre sistemul de control al unui vehicul autonom și actuatoarele fizice care controlează mișcarea vehiculului. Aceste actuatoare sunt dispozitive mecanice care efectuează acțiuni bazate pe semnale electrice. Acest subsistem este compus dintr-un modul de control al puterii, control al motorului, servomotoare, senzori de poziție și viteză etc.

Drive-by-wire este un sistem de control care înlocuiește componentele mecanice tradiționale ale sistemului de conducere (cum ar fi volanul, pedalele și cutia de viteze) cu sisteme electronice și electrice. Acest lucru permite o mai mare flexibilitate și control în conducerea autonomă. Putem avea unul pentru a controla volanul, altul pentru frane, pentru acceleratie sau pentru schimbarea vitezelor...

middleware

ROS

El middleware este un strat de software care conectează hardware-ul la aplicația software. Funcțiile sale includ procesarea datelor prin filtrarea, îmbinarea și procesarea datelor care sosesc de la senzori, pe lângă planificarea și dezvoltarea controlului actuatoarelor pe baza planurilor de conducere.

Acest strat de arhitectură Nu îl confundați cu firmware-ul, deoarece este un strat software integrat care este responsabil pentru medierea între hardware și software-ul de aplicație. Cu alte cuvinte, este un strat de abstractizare care permite dezvoltatorilor să profite cu ușurință de resursele hardware disponibile din nivelul software sau al aplicației, printr-un API/cadru de dezvoltare.

Câteva exemple de sisteme de operare utilizate la mașinile autonome sunet:

  • ROS (Sistem de operare robot): este un sistem open source pentru dezvoltarea de software pentru roboți sau mecanisme automate care oferă servicii standard ale unui sistem de operare precum abstracția hardware, comunicarea între procese și managementul pachetelor, facilitând crearea de aplicații robotice complexe.
  • Autoware.AI: este o platformă software open source pentru dezvoltarea de vehicule autonome. La fel ca ROS, oferă o arhitectură modulară și o gamă largă de instrumente și biblioteci.
  • Apollo– Dezvoltat de Baidu, Apollo este o platformă software open source pentru vehicule autonome care oferă o arhitectură flexibilă și scalabilă.
  • Sistemul de operare NVIDIA DRIVE: este o platformă software de la NVIDIA concepută special pentru vehicule autonome. Oferă o bază solidă pentru dezvoltarea aplicațiilor de conducere autonomă și are o integrare strânsă cu hardware-ul NVIDIA.
  • ROS2: Următoarea generație de ROS, concepută pentru a aborda unele dintre limitările ROS și oferă o scalabilitate și robustețe mai mari pentru aplicațiile critice.

Aplicatii

Aplicații ROS

La stratul de aplicație este software-ul Un SDV este partea intangibilă a sistemului, toate acele aplicații care sunt responsabile de procesarea percepției senzorilor, amplasarea mașinii în lumea reală, planificare, control etc. și care fac acest lucru profitând de resurse de hardware.

Alte concepte importante despre mașinile autonome

mașini autonome

În sfârșit, aș dori să descriu și alte concepte importante pentru conducerea autonomă pe care nu le-am comentat în secțiunea anterioară:

ADAS vs ADS

a nu fi confundat ADAS cu ADS, nu sunt la fel. ADAS înseamnă Advanced Driver Assistance Systems.. Aceste sisteme sunt concepute pentru a asista șoferul în diverse sarcini, îmbunătățind siguranța și confortul la volan. De exemplu, ABS, controlul tracțiunii etc. și sunt prezente și în mașinile autonome.

În schimb, ADS (sisteme automate de conducere) se referă la sisteme care urmăresc să permită unui vehicul să se conducă singur fără intervenția umană în anumite condiții. Adică este tehnologia pentru pilotarea autonomă și nu este un substitut pentru ADAS, ci mai degrabă complementar...

algoritmul ICP

El Algoritmul ICP (Iterative Closest Point). Este un instrument fundamental în domeniul vederii computerizate, în special în sarcinile care implică alinierea norilor de puncte. Imaginați-vă că aveți două scanări 3D ale aceluiași obiect, dar luate din unghiuri diferite sau în momente diferite. Algoritmul ICP vă permite să găsiți transformarea (rotația și translația) care aliniază cel mai bine aceste două scanări, făcându-le să se potrivească cât mai aproape posibil. În acest fel, poate fi folosit pentru a efectua reconstrucții 3D folosind mai multe scanări realizate de senzori, poate fi folosit și pentru așa-numitul SLAM pe care îl voi descrie mai târziu, precum și pentru vederea artificială.

Bazat pe INS + GPS + SLAM

sisteme de navigatie INS (Inertial Navigation System), GPS (Global Positioning System) și SLAM (Simultaneous Localization and Mapping) Sunt utilizate în diverse aplicații, în special în vehiculele autonome. Fiecare are propriile puncte forte și puncte slabe și adesea se combină pentru a obține o localizare și o navigare mai precisă și mai robustă.

În timp ce INS se bazează pe senzori interni, cum ar fi accelerometre și giroscoape pentru măsurarea accelerației și a vitezei unghiulare, GPS-ul se bazează pe triangularea vehiculului folosind semnale prin satelit (se poate vorbi și despre alte sisteme de geolocalizare precum Galileo, GLONASS, BeiDou.. .), și sistemele SLAM combină localizarea cu cartografierea simultan pentru a construi hărți ale mediului în timp ce se determină poziția vehiculului în mediul menționat.

Întrucât fiecare sistem are avantajele și dezavantajele sale și poate avea impedimente, cum ar fi un semnal GPS slab din cauza vremii sau a orientării sateliților etc., mașinile autonome folosesc în general o combinație a mai multor pentru o mai mare siguranță, cum ar fi INS+ GPS , SLAM+GPS sau INS+GPS+SLAM.

Alte modele de poziționare: filtru Kalman, EKF, AMM, UKF și estimare de stat

Cele de mai sus nu sunt singurele sisteme de calcul al stării. Algoritmul filtru Kalman este un sistem recursiv care estimează starea unui sistem dinamic (cum ar fi poziția și viteza) din măsurători. Funcționează prin prezicerea stării viitoare și apoi actualizarea acestei predicții cu noile măsurători. Este utilizat pe scară largă în sistemele de control și navigație.

EKF (filtru Kalman extins) este o extensie a filtrului Kalman care este utilizată atunci când modelul de mișcare este neliniar. Liniarizați modelul la fiecare pas de timp pentru a aplica ecuațiile filtrului Kalman. Este folosit în mod obișnuit în robotica mobilă.

Model de mișcare avansată este o reprezentare matematică care descrie modul în care starea unui sistem se modifică în timp. Poate include factori precum accelerația, viteza unghiulară și forțele externe. Pe de altă parte,

În schimb, UKF (Unscented Kalman Filter) este o alternativă la EKF ceea ce evită liniarizarea modelului. În schimb, folosește un set de puncte de eșantionare (puncte sigma) pentru a reprezenta distribuția de probabilitate a stării. Aceste puncte sunt propagate prin modelul neliniar și apoi utilizate pentru a calcula media și covarianța stării estimate.

Inteligența vehiculului

Desigur, pentru a profita de hardware și de toată această infrastructură a mașinilor autonome, a sistem inteligent care poate lua decizii, iar pentru aceasta sunt necesare alte tehnologii precum AI. Deși, după cum știți, mai sunt multe de îmbunătățit, deoarece este încă o tehnologie disruptivă și necesită îmbunătățiri. Pentru a face acest lucru, mașinile autonome se bazează pe paradigme precum:

  • Învățare automată: este o ramură a inteligenței artificiale care se concentrează pe dezvoltarea algoritmilor care învață din date. Acești algoritmi pot găsi modele în date și pot face predicții sau decizii.
  • Învățare supravegheată: este un tip de învățare automată în care algoritmul învață să mapeze o intrare la o ieșire dorită. I se oferă un set de date de antrenament cu intrări și ieșiri corecte, iar algoritmul învață să generalizeze la date noi.
  • Neuronal roșu: este un model de calcul inspirat din creierul biologic. Este alcătuit dintr-o rețea de noduri interconectate care procesează informații. Rețelele neuronale sunt capabile să învețe reprezentări complexe ale datelor și sunt utilizate într-o mare varietate de sarcini, cum ar fi recunoașterea imaginilor și procesarea limbajului natural.

Cartografiere (grilă de ocupare, caracteristică, hărți relaționale...)

Toate aceste tehnologii cartografiază în mod fundamental mediul pentru a putea lua decizii cu privire la acesta. Nu sunt hărți preprogramate, deoarece totul se poate schimba de la un moment la altul, în funcție de trafic, pietoni, construcție, obstacole etc. De aceea este necesar să se efectueze această reprezentare în timp real. În interiorul cartografiere Avem:

  • Grila de ocupare: este o reprezentare a spațiului care împarte mediul într-o grilă și atribuie fiecărei celule o probabilitate de ocupare.
  • Hărți caracteristici: Sunt reprezentări care se concentrează pe caracteristici specifice ale mediului, cum ar fi colțuri, linii sau obiecte.
  • Hărți relaționale: reprezintă relaţiile dintre diferite obiecte sau locuri din mediu.

Filtrele Kalman, EKF/UKF și maparea sunt strâns legate, la fel ca învățarea automată, care este responsabilă pentru înțelegerea mediului respectiv și pentru luarea deciziilor pe baza acestuia.

Imagini | Canva | NVIDIA | GeeksForGeeks | FlexAutomotive


Evaluează-ți mașina gratuit în 1 minut ➜