ABONAMENTE VIDEO REDACȚIA
RO
EN
×
▼ LISTĂ EDIȚII ▼
Numărul 86
Abonament PDF

Vehicule autonome - simţ, gândire, acțiune

Mihai Bărbulescu
Computer Vision Software Engineer @ Centrul de Inginerie Bosch Cluj



Tim Lagerburg
Park and Maneuver Assist Software Engineer @ Centrul de Inginerie Bosch Cluj



Albert Laszlo
Electric Power Steering Software Architect @ Centrul de Inginerie Bosch Cluj
PROGRAMARE


De la invenţia autoturismului în anul 1885, industria auto a evoluat în ritm alert, numărându-se printre cele mai de succes sectoare de business ale secolului precedent. Aşa cum se întâmplă de obicei, invenţiile vin cu noi provocări pentru oamenii de ştiinţă şi ingineri. Deși industria auto a progresat semnificativ, aceasta continuă să se confrunte cu situații complexe, de la îmbunătăţirea siguranţei pasagerilor la crearea de sisteme de navigare mai performante. Apariția inteligenței artificiale promite că cel puțin o parte din aceste probleme vor fi rezolvate.

Vehiculele autonome sunt automobile care au capacitatea de a-și percepe împrejurimile cu ajutorul unei mulțimi de senzori, de a prelucra datele primite pentru a le înțelege și, într-un final, de a acţiona în mod corespunzător. Această succesiune funcțională este adesea denumită simţ, gândire, acțiune. Acest articol intenționează să ofere o imagine de ansamblu asupra infrastructurii pe care vehiculele autonome o folosesc pentru îndeplinirea acestor trei sarcini.

Fig. 1: Nivelele de automatizare.

Tehnologia actuală nu este capabilă încă să ne ofere mașini care se conduc singure în siguranță, fără ajutorul unei persoane la volan. În schimb, automobilele moderne au o varietate de funcții care pot fi încadrate în categoria autonomie parţială. Aceste funcţii includ parcarea automată, frânarea de urgență sau păstrarea benzii. Pentru a stabili cât de capabilă este tehnologia de ultimă generație, să explicăm rapid ce înţelegem prin automatizare parțială, trecând prin cele șase niveluri de automatizare:

0 - Fără automatizare: şoferul este responsabil complet pentru modificarea direcției si a vitezei.

1 - Conducere asistată: autovehiculul are sisteme automate de bază cum ar fi un sistem de control al vitezei de croazieră.

2 - Automatizare parţială: autovehiculul este capabil să utilizeze sistemul de direcţie şi să controleze viteza, şoferul având datoria de a-i monitoriza activitatea în permanenţă.

3 - Automatizare condiţionată: sunt implementate facilităţi pentru percepţia mediului înconjurător, maşina fiind capabilă să navigheze singură în majoritatea timpului. Cu toate acestea, șoferul are responsabilitatea de a fi în permanență în poziția de a relua controlul vehiculului.

4 - Automatizare ridicată: toate sarcinile de navigare ale maşinii pot fi făcute de autovehicul. Şoferului i se poate totuşi solicita să preia conducerea ocazional.

5 - Autonomie: autovehiculul efectuează toate sarcinile de conducere fără ca atenţia pasagerilor să fie necesară.

Tehnologia de vârf se apropie în prezent de nivelul 4, în timp ce anumite funcții de nivel 3, precum traffic jam pilot sau highway pilot, sunt în dezvoltare pentru vehicule de serie. Din acest motiv, nivelul 3 este cel pe care ne vom concentra în acest articol.

Fig. 2: Funcțiile corespunzătoare nivelelor de automatizare.

Drumul de la zero la o maşină complet autonomă presupune o continuă îmbunătăţire atât a părţii hardware, cât şi a părţii software. Poate în mod ironic, acest drum este mai degrabă concentrat pe om decât pe autovehicul propriu-zis. Ritmul nostru de avansare este dictat de rapiditatea și eficiența cu care suntem capabili să demonstrăm că această nouă tehnologie nu prezintă un pericol pentru pasageri sau pietoni, ci crește, de fapt, siguranţa acestora.

Această evoluție a tehnologiei are oamenii în centrul său, mai multe dintre sistemele sale fiind inspirate de mecanisme biologice. Unul dintre modurile în care mașinile estimează distanța are o asemănare izbitoare cu modul în care funcționează percepția distanţelor prin vedere binoculară la oameni. De asemenea, algoritmii care le permit să distingă între obiecte a fost inițial inspirat de rețelele neuronale prezente în creierul nostru. Acestea fiind spuse, să ne uităm mai detaliat la mecanismele care permit vehiculelor să simtă, să gândească și să acționeze.

Sisteme video - de la detecția de obiecte la segmentarea scenei

Dintre toți senzorii utilizați la conducerea autonomă, cea mai largă gamă de date poate fi obținută folosind camerele video. Acestea au diferite forme și dimensiuni, fiind montate în tablouri care pot oferi o vedere completă de 360 de grade în jurul autovehiculului.

Există două clase principale de camere video utilizate în prezent în aplicații auto: camerele mono, care au un singur obiectiv şi un singur senzor de imagine şi camerele stereo care au două din fiecare. Deși camerele mono sunt suficiente în majoritatea cazurilor, camerele stereo au avantajul de a putea detecta în mod instantaneu distanța față de ceea ce observă. Acest lucru se realizează prin măsurarea diferenţelor de poziţionare a obiectelor din perspectiva unui obiectiv în raport cu celălalt, fiind similară cu modul în care funcționează percepția distanței la om.

În afară de estimarea distanței, următoarea funcție ca importanţă a senzorilor video este, probabil, capacitatea de urmărire a obiectelor în mediul vizualizat. Acest lucru permite autovehiculelor să fie conștiente de corpurile în mișcare, cum ar fi pietonii și alte mașini, precum și să țină cont de direcția în care se deplasează. Prin aceasta, automobilul este capabil să se localizeze în spațiu și să-și urmărească mișcarea prin mediul înconjurător. Sarcina auto-localizării este ajutată şi de alți algoritmi care detectează repere precum benzile, semne de circulație, garduri, etc.

Urmărirea fluxului de obiecte se realizează relativ uşor, deoarece nu este dificil să explici unui computer nici ce se doreşte și nici cum să obțină rezultatul. În schimb, pentru sarcini precum clasificarea obiectelor, este destul de simplu să explicăm care este rezultatul dorit, dar nu este deloc simplu de explicat cum poate fi obținut. În astfel de situaţii ne poate ajuta deep learningul.

Algoritmii de deep learning sunt folosiți pe scară largă în domeniul automatizării vehiculelor pentru o varietate de sarcini. Sunt utilizați pentru localizarea în scenă a indicatoarelor de trafic şi pentru interpretarea acestora. Sunt valorificați pentru a clasifica culoarea semafoarelor, astfel încât mașina să știe dacă trebuie să frâneze sau să mențină viteza. De asemenea, sunt implicați și în detectarea săgeților pe suprafața drumului, astfel încât autovehiculul să ştie în ce direcție îi este permis să se deplaseze. Poate cea mai inovativă utilizare a algoritmilor de deep learning este în segmentarea imaginilor. Acest proces clasifică obiectele prezente într-o imagine în clase corespunzătoare, cum ar fi suprafața drumului, pietonii, mașinile ș.a. Acest lucru este realizat în timp real, fiecare pixel dintr-o imagine aparținând uneia dintre categoriile stabilite.

Fig. 3: Exemplu de segmentare a imaginilor.

Până acum, am văzut cum mașinile folosesc sisteme video pentru a da un sens lumii din jurul lor. Este important de menționat, însă, că sistemele video nu sunt întotdeauna rezistente la erori, în special în situațiile în care camerele video sunt orbite de soare sau de ceață densă. În astfel de cazuri, sistemul video nu poate furniza informații exacte sistemului de control al mașinii. Să ne uităm acum la o gamă diferită de senzori care ajută mașinile să navigheze în aceste situații dificile.

Radar şi ultrasunet - precizie indiferent de vreme

Utilizarea senzorilor radar pentru achiziționare de informații care nu pot fi obținute de camerele video este versatilă și are avantajul de a funcţiona indiferent de condițiile meteorologice. Nu are importanță dacă vremea este ploioasă, dacă ninge sau chiar dacă este prezentă o ceață densă, sistemul radar este întotdeauna capabil să livreze informaţii cu aceeași precizie și calitate ca în condiții meteorologice ideale. Radarul face acest lucru prin emiterea de unde electromagnetice și captarea celor care se reflectă de pe obiectele din mediul înconjurător. Datele furnizate de sistemul radar, adesea combinate cu date video sunt utilizate pentru cartografierea împrejurimilor, astfel încât vehiculul să poată lua decizii având informații cât mai precise.

Fig. 4: Ilustrare a funcționalității radarului.

Sistemul radar nu estimează doar structura mediului înconjurător ci și atributele sale. Acestea includ pozițiile relative ale obiectelor din mediu, dacă acestea sunt statice sau în mișcare și, dacă este cazul, direcția lor de mișcare. Pe baza acestor informații, este capabil să decidă ce situații de trafic pot deveni periculoase și ce manevre trebuie aplicate pentru a evita potențialele coliziuni.

Sistemul radar este eficient în ceea ce privește detectarea obiectelor la distanță, dar pentru ca vehiculul să aibă o imagine detaliată a mediului apropiat, se folosește o tehnologie diferită: senzorii cu ultrasunete. Ultrasunetele furnizează date de pe o arie de câțiva metri, acestea asigurând o hartă foarte detaliată a proximităţii vehiculului. Aceste informații sunt esențiale pentru punerea în aplicare a funcțiilor autonome avansate, precum sistemele de parcare.

Fig. 5: Ilustrare a funcției de parcare automată.

Timp de mulți ani, senzorii de parcare cu ultrasunete nu au făcut altceva decât să semnaleze șoferului apropierea de obiecte prin intermediul unor sunete de atenționare. Cu toate că această funcționalitate este încă comună, senzorii nu mai sunt folosiți doar pentru semnalizare ci și pentru a ajuta la navigare. Senzorii cu ultrasunete furnizează informațiile care permit vehiculelor să găsească locuri de parcare și să le ocupe independent folosind unitatea de procesare încorporată. Mașinile moderne, echipate cu senzori ultrasonici de ultimă generație sunt capabile să parcheze paralel, perpendicular sau în diagonală.

Senzorii cu ultrasunete sunt utili pentru mai mult decât parcarea. În situațiile în care radarul devine ineficient, cum ar fi la viteze foarte mari, ultrasunetele protejează punctul mort al autovehiculului, avertizând șoferul să nu schimbe benzile. Această funcționalitate poate preveni situații periculoase pe autostrăzi, creând un mediu mai sigur pentru toată lumea.

Servodirectia - siguranță asigurată prin redundanță

La începutul acestui articol, am introdus ideea că mașinile cu autonomie trebuie să simtă, să gândească și să acționeze. Până acum, am vorbit în detaliu despre primele două sarcini și am ignorat în mare măsură modul în care se realizează a treia. Sistemul de servodirecție electrică este la fel de important pentru funcționarea unui vehicul autonom ca oricare dintre sistemele de senzori care conferă maşinii percepția.

Servodirecția electrică sau mai clar direcția asistată electric, deoarece pe vehiculele rutiere trebuie să existe o legătură mecanică ca o siguranță fail-safe în caz de defecțiune, este un sistem format dintr-o cremalieră de direcție, un motor electric și o bară de direcție. Funcţionalitatea servodirecţiei este compusă din două atribuţii complementare. Prima este de a ajuta şoferul să mişte roţile maşinii atunci când acesta învârte volanul, iar a doua este de a manevra maşina atunci când funcţiile de autonomie sunt activate.

Deși un sistem mecanic de siguranță în caz de defecțiune este utilizat de vehiculele moderne, în era digitalizării și a autovehiculelor, se așteaptă ca o unitate de transmisie completă electronică prin cablu să intre în uz. Un astfel de sistem este mai eficient din punct de vedere energetic și semnificativ mai rapid decât un sistem mecanic.

În epoca pre-automatizare, un control problematic al direcţiei și o lumină galbenă aprinsă în bord ar fi însemnat că şoferul trebuie să tragă pe dreapta și să aștepte să fie remorcat. În epoca vehiculelor autonome, o astfel de abordare ar contrazice cerințele privind siguranța și fiabilitatea maximă. Așteptările în creștere cer să fie pus în aplicare un nou sistem de direcție cu funcţionalitate fail-operational, care poate asigura direcția chiar și în cazul unei defecțiuni în sistem. Din moment ce siguranța completă este necesară de la bun început, Bosch a investit în crearea unui nou sistem care să învingă această provocare.

Fig. 6: Schemă a redundanței în sistem.

Acest nou sistem fail-operational folosește două copii ale fiecărei componente din hardware și software pentru a adăuga un strat de redundanță la fiecare funcție. Aceasta înseamnă două seturi de motoare electrice, două microcontrolere, doi senzori, două canale de comunicare separate cu vehiculul și o baterie suplimentară. De altfel, eliminarea componentei mecanice nu este realizabilă în conformitate cu reglementările actuale, ceea ce înseamnă că un al treilea strat de redundanță va fi încă prezent pentru siguranță suplimentară.

Fig. 7: Funcțiile necesare fiecărui nivel de automatizare.

Fiecare nivel urcat în ierarhia capabilităților de conducere automată aduce mai multă responsabilitate autovehiculului. În cazul servodirecției, trebuie să fim siguri că atunci când șoferul este sub control, sistemul nu numai că îl ajută, dar nu este în măsură să împiedice sau să interfereze cu conducerea. Dacă șoferul nu este sub control și vehiculul este responsabil de el însuși, trebuie să fim siguri că servodirecția face exact ceea ce se intenționează. Astfel, posibilitatea ca mașina să sufere de sub- sau supra-manevrabilitate este minimizată sau chiar eliminată. Asigurarea că tranziția dintre conducerea manuală și cea automată devine lină este, de asemenea, o așteptare cheie.

Fig. 8: Tranziția responsabilității.

Ca punct final, trebuie să menționăm securitatea sistemului, care este la fel de relevantă pentru cele două sisteme anterioare pe care le-am discutat. Este obligatoriu ca nici unui intrus să nu-i fie permis să intre în sistemul de direcție, punând în pericol participanții la trafic. Securitatea este esențială în procesul de dezvoltare a sistemelor de direcție pentru era mașinilor autonome.

Cum arată viitorul?

Nivelul de dezvoltare actual al mașinilor autonome este unul foarte promițător. În ultimii ani s-au realizat o mulțime de obiective necesare pentru a produce autonomie completă, dar provocări rămân în continuare. Nivelul actual de dezvoltare permite mașinilor să îndeplinească sarcina de automatizare până la nivelurile 3 sau 4. Avansarea ulterioară depinde de construirea de senzori mai buni, de arhitecturi mai ingenioase de deep learning, de îmbunătățirea servodirecției și creșterea securității. Anii următori vor aduce cu siguranță o mulțime de inovații și s-ar putea să nu mai treacă prea mult timp până când vom vedea o mașină cu un grad avansat de autonomie pe un drum apropiat nouă.

Referințe:

[1] Cătălin Golban; "Viziune artificială pentru conducerea automata", Today Software Magazine 74 (2017).

[2] Metzen, J. H. et al.; "Universal Adversarial Perturbations Against Semantic Image Segmentation", arXiv (2017).

[3] Bosch Automotive Handbook, 10th edition, ISBN978-0-7680-9567-8, Robert Bosch GmbH.

LANSAREA NUMĂRULUI 87

Prezentări articole și
Panel: Project management

Marți, 24 Septembrie, ora 18:00
Impact Hub, București

Înregistrează-te

Facebook Meetup

Conferință

Sponsori

  • ntt data
  • 3PillarGlobal
  • Betfair
  • Telenav
  • Accenture
  • Siemens
  • Bosch
  • FlowTraders
  • MHP
  • Connatix
  • UIPatj
  • MetroSystems
  • Globant
  • Colors in projects