Acest articol are ca subiect de abordare metoda relativ nouă de loop testing pentru sisteme automotive embedded care se aplică direct în vehicol, acesta fiind echipat nu numai cu sistemul de testat dar și cu tehnica complexă de măsurare și simulare virtuală. Metoda devine din ce în ce mai răspândită datorită faptului că reduce din riscuri dar și din timpul de testare.
În lumea automotive, dezvoltarea sistemelor se face bazând-se pe standardul ISO 14504 adică ASPICE.
Acest aspect se reflectă și în validarea și verificarea acestora. Un sistem automotive constă într-un subsistem Hardware, care poate fi compus din cel puțin una sau mai multe unități electronice ECU și dintr-un software de tip embedded cu care se încarcă aceste unități.
Fig. 1. Buclă la nivel de sistem
Aproape în toate cazurile se abordează aceeași metodă de dezvoltare, așa numita Model Based Development, unde totul pornește de la un model virtual la nivel de sistem având caracteristicile unui bloc funcțional definit foarte clar prin niște cerințe (requirements) definite de echipa de Requirement Engineering. Aceste modele abstracte sunt structurate și interconectate într-un environment de simulare de tip Matlab/Simulink, Labview etc.
Model Based Development implică și necesitatea aplicării conceptului de Model Based Testing. Ideea este că, indiferent de stadiul de dezvoltare, se poate simula și testa sistemul complet simulat sau parțial simulat în condiții de Real Time (vezi fig. 2).
Fig. 2. Tipuri de Model Based Testing și aspectul Real Time al acestora
Fiecare tip de Model Based Testing se poziționează clar în standardul ISO 15504 sau ASPICE care este, de fapt, modelul V. (fig 3)
Fig. 3. V Model și diferitele nivele de testare automată după ISO 15504
Într-o primă etapă, prin simularea modelelor abstracte se urmărește, de fapt, validarea cerințelor formulate de requirement engineering. Atunci când un model abstract confirmă funcționalitatea simulată este vorba despre un feedback pozitiv, în sensul că funcționalitatea reală descrisă de requirement engineering este plauzibilă.
Această metodă se cheamă MIL - Model In the LOOP testing și este practicată în cele mai multe cazuri de echipa de System Engineering. Acest proces ajută și în definirea și formularea arhitecturii de sistem.
Fig .4 Exemplu de MIL Testing - simularea și testarea unui sistem Tempomat
Următorul pas este generarea unor blocuri de SW din aceste blocuri virtuale, fiind asistat de environmentul de simulare. La acest nivel componentele SW generate se interconectează între ele tot prin același environment de simulare. Prin urmare, putem vorbi și despre procesul de simulare ca metoda de validare de tip SIL - SW in the LOOP. Obiectul testului este în acest caz una sau mai multe componente SW. Bineînțeles că platforma HW trebuie simulată în această fază, deoarece un prototip HW nu există încă.
HIL - HW In the Loop - când componentele SW ajung la o maturitate anumită și primul prototip HW este accesibil, se poate vorbi deja de un sistem parțial funcțional, unde anumite procese rulând în afara acestui sistem în interiorul vehiculului, trebuie încă simulate prin așa zisa Restbus Simulation. Punerea în funcțiune a sistemului începe în prima fază pe un stand de laborator, unde environmentul de simulare poate fi similar celui de la MIL sau SIL, însă cu anumite extensii mult mai realiste. Practic, aici anumiți senzori și actuatori sunt reali iar restul este simulat. Validarea automată are loc deja la nivel de sistem, unde un System Integration Test, Smoke Test și Regression Test dau deja feedback prețios, înainte ca sistemul să fie integrat și testat în vehicul.
Fig. 5 Structura unui HIL Testbench
Metoda HIL are și o variantă exotică, unde la prima fază în loc de un prototip ECU există numai un prototip de microprocesor (în majoritatea cazurilor de tip FPGA) care este plasată în bucla automată de testare și simulare. Acest tip se numește PIL - Processor In the Loop.
Când sistemul este deja integrat în vehicul, practic se poate testa în condiții reale pe șosea. Totuși, există niște situații în care ar fi mult mai avantajos, dacă vehiculul ar putea fi testat în condiții de laborator sau pe pista izolată de testare. VIL testing este o metodă de testare unde obiectul testului, fiind vehiculul cu sistemul integrat, este situat într-o buclă închisă.
Mașina este conectată la un simulator care este controlat de un PC de vizualizare și control. Simulatorul VIL conține un bloc care modelează și simulează comportamentul dinamic/cinematic al mașinii, o șosea virtuală și un cluster de senzori virtuali care injectează semnalele în mașină împreună cu șoseaua simulată, care, la rândul lui, prelucrează aceste semnale și reacționează prin sistemul care este integrat. Ca rezultat, acest sistem fiind conectat la magistrala centrală a mașinii comunică cu blocul de dinamică/cinematică simulată. În acest fel se închide bucla.
Autovehiculul poate exista practic în două tipuri de configurații:
Poziția fixată la un dinamometru special conectat cu simulatorul VIL unde șoseaua este simulată cu traficul parțial sau total simulat. În caz de simulare parțială există alte obiecte reale în mișcare în fața mașinii (altă mașină, vehicul robot etc.) care sunt suprapuse în simulator cu obiectele virtuale. Astfel, sistemul din mașina care este pe dinamometru interpretează semnalele parțial simulate, parțial reale ca și cum ar fi într-un environment real. În acest exemplu este prezintată o situație de frânare de tip Automatic Emergency Breaking simulat pe autostradă, testul având loc într-un hangar cu mașina fixată și două vehicule roboți care se deplasează în hangar în fața mașinii.
Domenii de aplicații pentru VIL Testing:
Reducția zgomotlului și a vibrațiilor;
Testarea sistemului de tracțiune și/sau suspensie ;
Engine management, controlul emisiilor;
Testarea sistemului ADAS (Advanced Driving Assistance System);
Autonomous Driving - testarea sistemelor de pilot automat;
Connected car - mașina conectată pe cloud;
Fig. 7. Domenii de aplicații pentru VIL Testing
Alte exemple de VIL:
Systemul VILAD pentru testarea funcționalității de autonomus driving cu simularea completă a traficului și vehicul montat pe dimametru
Sistemul SERBER folosit pentru ADAS prototyping
Ca fiecare sistem, acesta își are avantajele și dezavantajele. În cazul VIL pot fi considerate următoarele avantaje:
Metoda VIL testing umple golul dintre HIL testing și testul final în mașină.
Scenariile de test se pot reproduce și automatiza rapid. Riscul de daune personale și materiale în asemenea configurație este redus foarte mult sau eliminat complet.
Cum mare parte a scenariilor este simulată, bineînțeles că și costurile pentru setupul unor scenarii reale sunt economisite.
Această metodă oferă și posibilitatea de a testa rapid noi funcționalități tehnice și impactul lor în sistem.
Oferă avantaje mari la testarea de bugfixes.
Dintre dezavantaje putem enumera următoarele:
Echipamentul de testare este scump și complex.
Pentru a lucra cu un asemenea sistem complex este nevoie de un personal pregătit tehnic și certificat, deoarece operarea unui vehicul prototip și pe test track cere piloți experimentați, cu licență.
Realismul perceput și simulat are limitările lui, motiv pentru care un full vehicle test nu se poate exclude încă, dar nu trebui să uităm nici faptul că tehnica de calcul și realitatea virtuală se îmbunătățește permanent.
În concluzie, se poate afirma că metoda VIL se folosește din ce în ce mai mult în domeniul de automotive development și rolul ei în viitor va crește masiv o dată cu noile sisteme de autonomous driving. Scopul principal este economisirea de materiale, personal și mai ales de timp prețios.