Modelarea Matematica a Simulatorului Auto
Cuprins
Capitolul 1 Introducere
1.1 Generalități
Folosirea simulatoarelor a devenit un domeniu extins care da rezultate remarcabile pentru:
analiza unor sisteme, transferul de cunoștințe între anumite categorii profesionale, studiul unor fenomene etc. Simularea în general ține de studiul modelării unor procese, fiindcă modelul obținut permite dezvoltarea și analiza situațiilor întâlnite în funcționarea reală a proceselor. Pentru aceasta a fost nevoie de dezvoltarea mediilor de simulare utilizate în majoritatea domeniilor de activitate.
Aceste medii de simulare sunt dedicate desfășurării unor realități fără ca aceasta să existe fizic. În acest caz, într-o primă etapă, se elimina efortul implimentării fizice a respectivei realități. Fenomenul de simulare permite punerea în evidență și a situațiilor de limită, în acest mod se realizează un transfer de cunoștințe care în realitate nu poate avea loc. Efectul de simulare înseamnă defapt redarea uneia sau a mai multor senzații captate din realitate sau prin simulare se face o transformare a unui model intr-un spațiu virtula care permite analiza acelui model.
Pentru aceasta trebuie de ținut cont ca, experimentele realizate pe un simulator auto să fie conform cerințelor, șoferii trebuie sa facă o tranziție rapidă de la realitate la mediul virtual. Aceste simulatoare nu pot reproduce exact realitate, însa aceste se apropie cât mai mult posibil. Acesta fiind unul din cauze pentru care șoferii să se adapteze dupa un anumit timp. Unul din avantajele majore al simulatoarelor este că cu ajutorul acestora, se poate realiza o instruire dirijată și complexă. De exemplu, unele situații neevidențiate și fără un efect major asupra instruirii pot fi evitate, iar situatiile de absolută necesitate sunt accentuate și dezvoltate astfel încât instruirea să nu ocoliască nici un aspec important. Simulatoarele de obicei se folosesc când costurile și riscul instruirii unei anumite categorii profesionale sunt prea mari. Un exemplu il constituie simulatoarele pentru instruirea piloților care deservesc anumite linii comerciale dar și pentru instruirea piloților profesioniști din domeniul militar[1].
Dezvoltarea unui simulator auto necesită utilizarea echipamentelor moderne de proiectare pentru a face față cerinților impuse de proiectant. Domeniul electronicii din ultimile decenii iși pune tot mai mult cuvântul asupra elementelor de comandă și control din mai multe sfere inginerești precum și în domeniul auto: motorul, ABS, transmisie automată, suspensii etc.
Lucrarea are ca scop dezvoltarea și implementarea unui algoritm de control pentru un simulator auto. Etapele de dezvoltare sunt modelarea, simularea, controlul și testarea simulatorului.
Pentru dezvoltarea algoritmilor de control metoda tot mai des utilizată în mediul universitar cât și în centrele de cercetare ale marilor firme din domeniu este utilizată interfata dSpace. Sunt tot mai multe aplicații practice care au putut fi realizate rapid și eficient datorită utilizării acestei interfete.
Sistemul dSpace presupune proiectarea bazată pe model datorită si are mai multe avantaje. Principal avantaj al sistemului este dezvoltare rapidă într-un mediu integrat.
Mediul integrat de dezvoltare este Matlab-Simulink-Stateflow.
Proprietăți de bază:
1. Modelare grafică bazată pe utilizarea mediului Matlab-Simulink-Stateflow
2. Validare inițială a sistemului printr-o simulare off-line
3. Într-o echipă fiecare membru poate lucra cu același model
4. Reutilizare facilă a componentelor modelului
5. Modelele obținute pot fi utilizate ulterior în simulări/testări de tip HIL (Hardware-In-the-
Loop)
6. Toate componentele modelului pot fi utilizate împreună.
Datorită evoluției puterii de calcul a echipamentelor utilizate s-a ajuns la posibilitatea executării unor simulări destul de avansate. Modelele obținute într-un prim macro ciclu au putut fi extinse pentru a lua în considerare mai multe fenomene necesare întelegerii modului de funcționare. Timpul de executării a scăzut considerabil, acest lucru permițând rularea în timp real a algoritmilor de control, în paralel cu simularea avansată a echipamentelor la nivel de sistem.
În prezent nu s-au dezvoltat încă un sistem unitar de simulare ce să permită optimizarea globală a parametrilor unui vehicul. Există sisteme cu performanțe similare, dar majoritatea se bazează pe fluxul de energie sau pe modele matematice abstracte ale componentelor (invertor-motor, tașiu, suspensii). Pentru obținerea performanțelor dorite, simularea va trebuie adaptată cu sistemul de calcul pe care este rulată. Doua dintre programele de simulare larg utilizate de marii integratori de sisteme tehnice – AMESim, CarSim etc. permite modelarea în detaliu a subsistemelor unui autovehicul. Acestea medii pot fi înlocuite oricând prin dispositive fizice ce pot fi testate în realitate.
1.2 Conținutul lucrării pe capitole
1.2.1 Capitolul 1 – Introducere, Obiective și Specificațiile proiectului
În acest capitol sunt descrise anumite generalități despre simulare și simulatoare. Este evidențiat sistemul dSpace, mediul de integrare Matlab/simulink care sunt părți principale în dezvoltarea simulatorului. La finalul capitolului sunt expuse obiectivele și specificațiile proiectului.
1.2.1 Capitolul 2 – Studiul bibliografic
În cadrul acestui capitol sunt prezentate noțiuni generale asupra fenomenului de simulare și simulatoarelor, aspectele privind modul de implimentare al simulatoarelor. Sunt clasificate și descrise pe scurt unele forme de simulare.
1.2.2 Capitolul 3 – Analiza și proiectarea
Acest capitol se refera la modul de proiectare a simulatorului privind structura mecanica a prototipului. Se definesc noțiunile de cinematica și dinamică a modelului proiectat.
1.2.3 Capitolul 4 și Capitolul 5- Țin de etapa implimentării
O dată ce arhitecura simulatorului este proiectată și realizată se trece la etapa de dezvoltare și implimentare a unui algoritm de control pentru simulatorul auto. În capitolul 4 este descris modul de planificare a traiectoriei ceea ce ne permite determinarea polinoamelor de interpolare pentru poziție, viteză și accelerație care le putem impune simulatorului. Sunt descrise câteva tipuri de traiectorii. În capitolul 5 este prezentată structura de control a simulatorului auto. Sunt descrise echipamentele folosite in dezvoltarea simulatorului auto. Este prezentată metodologia de dezvoltare a simulatorului auto prin analogie cu metodologia de dezvoltare a sistemelor mecatronice bazată pe modelul „V”. Din motiv că control se face în timp real s-a descris anumite particularități ale sistemelor de timp real. S-au definit ipotezele pentru realizarea manevrelor de mișcare a simulatorului. În acest capitol mai este prezentat algoritmul de control dezvoltat în Matlab simulink și implimentați pe platforma dSpace.
1.2.4 Capitolul 6 – Rezultate numerice
În acest capitol se introduc datele privind testarea simulatorului și se verifică dacă coincid cu datele definite la prima etapă de proiectare.
1.2.5 Capitolul 7 – Concluzii
Acest capitol se referă la aspectele lucrării adică daca sa ajuns la rezultatul dorit, daca au fost intampinate anumite probleme. Care au fost consecințele în cazul întâmpinării anumitor constrângeri de natură mecanică și/sau de soft asupra simulatorului.
1.2.6 Capitolul 8 – Bibliografie
În acest capitol se prezintă sursele de informație.
1.3 Obiective și Specificația proiectului
1.3.1 Obiectivele lucrării de licență
Lucrarea de licență are ca scop dezvoltarea și implimentarea unui algoritm de control pentru un simulator auto. Structura simulatorului auto constă din două mecanisme cu câte 3 grade de libertate fiecare. Cele două mecanisme se să proiecteze astfel încât fiecare din ele să poată manevra tipuri de mișcari diferite. De exemplu, un mecanism să execute manevra de frânare și celălalt mecanism manevra de derapare.
1.3.2 Specificațiile proiectului
Dezvoltarea și implimentarea unui simulator auto care are ca obiectiv realizarea unor manevre de mișcari diferite a cărui model matematic descriu aceste traiectorii. Datorita gradului de precizie mare și modelului matematic complex este nevoie de a alege echipamentele necesare pentru realizare acestui prototip. Componentele trebuiesc alese astfel încat să fie compatibile între ele și integrate într-un singur bloc să constitue produsul final al cărui grad de precizie este dat de fiecare dispozitiv în parte. Echipamentele folosite sunt atât de natură software cât și de natura hardware împreuna constituind un sistem mecatronic, care sunt: mediul de dezvoltare Carsim, Matlab/Simulink, dSpace structura software și hardware, actuatorii ternary. Comunicația dintre simulatorul de timp real dSpace și actuatori se realizează prin protocolul de comunicație CANopen.
Capitolul 2 Studiul bibliografic
2.1.Definiții fenomenului de simulare și simulatorului
Efectul de simulare [2]este imitare a unui proces real sau a unui sistem în timp real. Actul de simulare se impune a fi pe un model ce se va dezvolta, acest model reprezintă caracteristicile și comportamentul cheie al sistemului fizic sau abstract. Modelul reprezintă sistemul în sine, în timp ce simularea reprezintă funcționarea sistemului de-a lungul timpului. Privind simularea mișcării aceasta se referă în principal la percepție sau senzații [KIM97][3]. Stimulii majori pe care îi are corpul uman pentru percepția mișcării sunt: stimulii inerțiali (pe suprafața corpului) și mișcarea mediul înconjurator (raportată la corpul uman). În cazul simularii inerțiale care se datorează forței gravitaționale, forțelor și momentelor ce acționează asupra corpului [Slo08][4]. Sistemul vizual este responsabil pentru dobândirea simțului principal de viteză a corpului. De asemenea simțul viteezei este perceput și de sistemul acustic [Slo08].
Reproducerea percepției de mișcare este cea care descrie informația vizuală, acustică, vestibulară și haptică cu scopul reproducerii mișcarii reale în medii virtule [Dag04], [Fis07], [Gui99], [Hos05], [Lou09], [Tel05][5][6][7][8][9][10].
Un simulator este un sistem tehnic destinat rezolvării ecuațiilor care caracterizează un anumit obiect sau fenomen ori funcționarea, evoluția unui aparat.
Aparat care reproduce o situație tactică, servind la instruirea personajului pe timpul aplicațiilor.
Aparat special pentru a facilita studiul condițiilor de pilotaj al unui avion sau dispozitiv identic cu cel al unui vehicul spațial pentru antrenamentele astronauților.
Program sau echipament (de calcul) capabil de a reprezenta cu ajutorul unui computer funcționarea unei mașini, a unui sistem sau fenomen.
2.2. Aspecte generale privind implementarea simulatoarelor
Comportomamentul și îndemânarea șoferului, factorii tehnici și cei externi au o influență mare pentru siguranța rutieră. Pe lângă abilitățile de a conduce, simulatoarele moderne trebuie să fie capabile de a pregăti șoferii pentru toate condițiile și situațiile care sunt generatoare de accidente în circulație. Pentru realizarea acestor obiective este nevoie de a se urmări creșterea a calității de instruire utilizând metode și tehnici modern.
Metodele clasice de instruire pot satisface aceste cerințe numai într-o anumită masură. Datorită progreselor tehnice simulatoarele au ajus la nivelul unde într-o oricare masură, aplicarea realității virtuale pentru instruirea șoferilor profesioniști a devenit posibilă. În acest context, un simulator performant nu este doar un înlocuitor al autovehiculului, ci un sistem de instruite modern care include și dispozitive de evaluare a cursanților.
Dezvoltarea simulatoarelot auto au devenit un domeniu de procupare în multe țări, iar soluțiile constructive sunt variate, aceasta datorânduse efortului financiar. În multe cazuri dezvoltarea unui simulator necesită colaborarea dintre mai mulți parteneri din țări diferite. De exemplu, simulatorul auto realizat de furnizorul norvegian de simulatoare a cooperat cu instituții nstituții din: Norvegia, Turcia, Anglia și Franța.
Metodele și soluțiile de dezvoltarea sunt particulare ficărui tip de simulator, însă scopul final pentru care s-au adoptat respectivele soluții este același. De obicei se urmarește crearea unor condiții de instruire similare condițiilor din realitate. În marea masură mediul real în care se deplaseaza autovehiculul este variat, iar senzațiile produse de acesta asupra unui șofer sunt senzații care în unele cazuri îi nevoi de un cost mare pentru generare lor. În
acest context, se pune următoarea problema de realizare a unui simulator care să răspundă unor cerințe bine definite la un preț cât mai mic. Dezvoltarea simulatoarelor competitive care sunt în majoritate cazurilor unicate sunt finanțate prin programe internationale. Aceste simulatoare sunt dedicate studiilor privind comportamentul anumitor categorii de persoane în cazul situațiilor de limită.
De obicei, un simulator auto are următoarele părți componente:
• spațiul de instruire care de regulă este un autoturism sau partea din față a unui autoturism;
• sistemul 3D pentru generarea imaginilor virtuale;
• o bază de date care conține străzi și obiecte 3D specifice traficului rutier;
• sistemul audio pentru generarea zgomotului motorului mașinii și a zgomotului celorlalte autovehicule în trafic;
• elementele prin care se generează senzația de mișcare și vibrație. În unele situații aceste facilități sunt opționale.
În figura următoare se prezintă variante de simulatoare auto din Suedia (figura 2.1-a), Norvegia (figura 2.1-b) și Coreea (figura 2.1-c)[1].
Fig.2.1. a-Suedia, b-Norvegia, c-Coreea
Figura 2.1 Variante de simulatoare auto
În România, simulatoarele existente sunt într-un număr scăzut și pot fi considerate doar ca niște instalații de antrenament, fiindcă maniera de instruire nu corespunde, în multe situații, cu realitatea. Schema de principiu a simulatorului este ilustrată în figura 2.2.[1] Cursantul este nevoit să urmărească filmul și să execute mișcările corespunzătoare evenimentelor care se derulează pe ecran. Elementele corespunzătoare pentru înregistrare și semnalizare permit memorarea reacțiilor cursantului și atenționarea on-line (sonor) a acestuia în momentul efectuării unei manevre greșite. Reacțiile elevului sunt înregistrate în momentul derulării acestora, în funcție de durata și intensitatea lor. După terminarea exercițiului, diagrama rezultată se evaluează de către un specialist.
Figura 2.2 Schema de principiu al simulatorului auto proiectat în anul 1975
Acest tip de simulator auto descris a fost realizat în condițiile tehnice și științifice corespunzătoare anilor 1975. Acesta a fost un punct de plecare în dezvolarea altor simulatoare cu performnțe mai bune care permite o instruire mai bună a cursanților în școlile auto. În prezent, pentru implementarea simulatoarelor, se utilizeaza atât tehnologii moderne din domeniul generării imaginilor 3D, cât și componente ale inteligenței artificiale privind achiziția de cunoștințe.
2.3 Clasificarea simulatoarelor auto
Simulatoarele auto sunt de trei categorii: simulatore cu nivel scăzut, mediu sau înalt de fiabilitate [Slo08], [Kap96] [11].
2.3.1 Simulatoarele cu nivel scăzut de fidelitate
La acest tip de simulatoare auto cu nivel scăzut de fidelitate, șoferul stă pe un scaun, de obicei în interiorul unei mașini ce este fixată de sol. În față este fixat un monitor fixat, proiectat în așa mod încât unghiul visual să fie cât mai mare. Acest lucru se poate realiza în mai multe moduri se pot utilize mai multe ecrane sau un singur ecran convex de dimensiuni mai mari. Acest tip de simulatoare sunt echipate cu volan, pedale cu “force feedback” (reacțiune) și sistem audio. Un exemplu tipic de simulator auto cu nivel scăzut de fidelitate este prezentat în figura 2.3.1.
Figura 2.3.1 Simulator auto cu nivel scăzut de fidelitate [Slo08]
Mai multe detalii referitoare la acest tip de simulatoare se regăsesc în lucrările [And03], [Ari09], [Cap10], [Cas08], [Guv06], [Neh05] [12][13][14][15][16][17].
2.3.2 Simulatoare auto cu nivel mediu de fidelitate
În cazul simulatoarelor cu nivel mediu de fidelitate, în comparație cu simulatoarele cu nivel scăzut de fidelitate , sunt formate dintr-o mașină care are un anumit grad de liberatate și este accelerată. De asemenea sunt echipate cu un ecran care poate fi fixat sau se poate mișca o dată cu mașina. Volanul este dezvoltat cu “force feedback” iar raspunsul auditiv este asigurat de un sistem audio. Un exemplu de astfel de simulator este redat în figura 2.3.2. Acesta este un simulator produs de compania IFAS în anul 1984 având un grad de libertate. Mișcarea este executată dea lungul axei y care este acționată hydraulic.
Figura 2.3.2 Simulator auto cu nivel mediu de fidelitate [Slo08]
2.3.3 Simulatoare auto cu nivel înalt de fidelitate
Acest tip de simulator auto cu grad înalt de fideliate are o structura mult mai complexă în comparație cu cele de nivel scăzut și mediu de fidelitate. În general ascpectul constructiv este format dintr-o cupolă cu o mașină în interiorul acesteia, acționată în cel puțin șase grade de libertate. Această cupolă poate fi acționată cu un grad de libertate adițional pentru a
permite deplasări în plan pe distanțe mai mari. În cazul acestor simulatoare sistemele audio și video sunt de înaltă tehnologie (unghiul vizual trebuie sa fie de cel puțin 2200). Cele mai mari simulatoare auto sunt foramte dintr-un dom plasat pe o platforma rotativă ce este montată pe un hexapod. La rândul său. hexapodul este fixat pe o platforma xy [Slo08]. În figura 2.3.3 este prezentat un exemplu de acest tip de simulator, NADS-1 (2003).
Figura 2.3.3 Simulator auto cu nivel înalt de fidelitate [Slo08]
Privind costul simulatoarele se poate spune că acesta crește o dată cu creșterea numarului de grade de mobilitate și creșterea gradului de realism.
2.4 Utilizarea și definerea altor tipuri de simulare
2.4.1 Utilizarea simulatoarelor auto
Simulatoarele auto au un domeniu extins de aplicații care se bazează atât pe scopul simulării cât și tipul de simulator utilizat. Acestea sunt utilizate incepând de la activități de distractie până la activități de cercetare și testare avansată din centrele de cercetare. [Nor04], [Par04]. Simulatoarele auto pot fi întalnite în școlile de șoferie, parcuri de distractie, industrie auto etc.
Simulatoarele auto dedicate activităților de distracție au un nivel scazut de fidelitate însă acestea pot avea și un grad de mobilitate. Contribuțiile tehnice pentru acest tip de simulatoare au de asemenea importanță majoră, ele conducând spre simulatoare din ce în ce mai performate.
În domeniile de cercetare, simulatoarele sunt utilizate în diferite scopuri. Aplicațiile acestor simulatoare sunt diversificate, se enumeră următoarele exemple reprezentative: studii referitoare la comportamentul șoferului [Lun00] [18]; interacțiunea om-mașină [Guv09], [Guv06]; efectele oboselii și medicamentelor; proiectări de drumuri, peisaje, tuneluri; reacțiile corpului uman; șoferi cu dezabilități [Kim11]; etc. Dezvoltarea simulatoarelor auto cu un grad înal de fidelitate permit cercetătorilor de a studia comportamentul șoferului supus unor situații generatoare de accident [Lun00], [Shi07], [Guv09], [Guv06], [Kim11], [Ban07][19]. Producătorii de autovehicule utilizează simulatoarele auto pentru testarea sistemelor de asistare avansată a șoferilor și pentru realizarea designul interior. În plus se mai pot studia efectul sunetelor și vibrațiilor [Bor10][20]. Prin intemediul simulatoarelor se poate reproduce orice tip de scenarii din trafic, într-o manieră suficientă, fără riscuri și cost scăzut.
2.4.2 Definirea altor tipuri de simulare
Simularea este folosită în multe domenii, cum ar fi simularea de tehnologie pentru optimizarea performanței, inginerie de siguranța, testare, instruire, educație și jocuri video. Un exemplu de simulatoare sunt simulatoarele de zbor pentru piloți de aeronave în formare pentru a le oferi o experiență realistă. Simularea este, de asemenea, utilizată cu modelarea științifică a sistemelor naturale sau sistemelor umane pentru a obține o perspectivă în funcționarea lor. Simularea poate fi utilizată pentru a arăta eventualele efecte reale ale condițiilor de alternativă și în curs de acțiune. De asemenea poate fi folosită când sistemul de timp real nu poate fi angajat, deoarece nu este accesibil , sau poate fi periculos sau inacceptabil de înglobat, sau este în curs de proiectare dar nu înca construit sau pur și simplu nu exista.
Aspectele cheie în simulare include colectarea de informații a sursei în ceea ce priveste selecții relevante de caracteristici și comportamente principale, de a simplifica utilizarea aproximări și ipotezele în cadrul simulării, și de compatibilitate și de valabilitate a rezultatelor de simulare.
Din punct de vedere istoric, simulările utilizate în diferite domenii dezvoltate, în mare măsură independente, însă studiile din secolul 20 de teoria sistemelor și cibernetică , combinate cu utilizarea a calculatoarelor din toate aceste domenii au condus la unele sisteme unificate și de o viziune mai sistematică a conceptului.
Simulare fizică se referă la simulare, în care obiectele fizice sunt înlocuite de un lucru real. Aceste obiecte fizice sunt adesea alese, deoarece ele sunt mai mici sau mai ieftine decât obiectul real.
Simularea interactivă este un tip special de simulare fizica, adesea menționată ca un om în bucla de simulare, în care simulări fizice includ operatori umani, cum ar fi într-un simulator de zbor sau un simulator de conducere .
O simulare pe calculator (sau "SIM") este o încercare de a modela o situație din viața reală sau ipotetică pe un computer, astfel încât să poată fi studiată pentru a vedea cum functionează sistemul. Prin schimbarea variabilelor în simulare, previziuni se pot face cu privire la comportamentul sistemului. Este un instrument practic de a investiga comportamentul sistemului în curs de studiu. Simularea pe calculator a devenit o parte utilă a modelarii multor sisteme naturale în fizică , chimie și biologie, și a sistemelor omului în economie și științe sociale ( sociologie de calcul), precum și în inginerie pentru a obține o perspectivă în funcționarea acestor sisteme. Un exemplu bun de utilitatea a calculatoarele pentru a simula, pot fi găsite, în domeniul de simulare a traficului de rețea . În astfel de simulari, comportamentul modelului se va schimba în fiecare simulare în funcție de setul de parametrii inițiali asumate pentru mediul înconjurător.
În mod tradițional, modelarea formală a sistemelor a fost făcută prin intermediul unui model matematic, care încearcă să găsească soluții care să permită previziunea analitică a comportamentului sistemului dintr-un set de parametri și condiții inițiale. Simularea pe calculator este adesea folosit ca un adjunct la, sau pentru înlocuire, modelarea sistemelor pentru care solutia analitică simplă nu este posibilă. Există multe tipuri diferite de simulări pe calculator, o trăsătură comună este încercarea de a genera un eșantion de scenarii reprezentative pentru un model în care o enumerare completă a tuturor stărilor posibile ar fi prohibitiva sau imposibilă.
Utilizarea modernă a termenului de "simulare asistată pe calculator", poate cuprinde aproape orice reprezentare virtuală pe bază de calculator.
Simulator auto
Un simulator auto oferă posibilitatea de a reproduce caracteristicile reale ale vehiculelor într-un mediu virtual. El reproduce factorii externi și condițiile cu care interactioneaza un vehicul care să permită un conducător auto să se simtă ca în cazul în care acesta este în cabina vehiculului. Scenariile și evenimentele sunt reproduse cu realitate suficientă pentru a asigura ca șoferii sa devină complet imersanți în experiență, mai degrabă aceasta să pară o vizionare ca o experientă educatională.
Simulatorul oferă o experientă constructivă pentru șoferii incepători și permit exerciții mai complexe pentru a fi înterprinse de către conducătorul auto mai experimentat. Pentru șoferii începători, simulatoarele de camioane oferă o oportunitate de a începe cariera, prin aplicare celor mai bune practice. Pentru șoferii maturi, simulare oferă capacitate de a spori nivelul conducerii sau de a detecta neajunsurile practicii și de a îmbunătăți pașii aceștia.
Simularile virtuale reprezintă o categorie specifică de simulare, care utilizează echipamente de simulare pentru a crea o lume simulată pentru utilizator. Simularile virtuale permit utilizatorilor să interacționeze cu o lume virtuală. Lumea virtuală este creată pe platforma software integrată și componente hardware. În acest mod, sistemul poate accepta intrari de la utilizator (de exemplu, de urmărire, corpul, vocea / sunetul de recunoaștere, controlere fizice), și produc ieșiri la utilizator (de exemplu, afișajul vizual, fonetic de afișare, ecran tactil). Simularea virtuală utilizează modurile de interacțiune menționate mai sus pentru a produce un sentiment de imersiune pentru utilizator.
Simularea virtual ca intrarea hardware.
Există o mare varietate de intrări disponibile hardware pentru a accepta datele introduse de utilizator pentru simulări virtuale. Următoarea listă descrie pe scurt câteva dintre ele:
Corpul urmarit, metodă de captare a mișcării este adesea folosită pentru a înregistra mișcările utilizatorului și de a adapta datele capturate în date de intrare pentru simularea virtuală. De exemplu daca un utilizator, fizic întoarce capul, mișcarea ar trebui capturată de simularea hardware într-un fel și tradusă într-o schimbare corespunzătoare în vedere de termen de simulare.
a.) Costume de captare și/sau manuși pot fi folosite pentru a înregistra mișcările corpului utilizatorului. Sistemele pot avea senzori încorporați în interiorul lor pentru a sesiza mișcarile pentru diferite părți ale corpului (ex. Degete, încheitura mâinii etc.). Alternativ, aceste sisteme pot avea la exterior dispositive de urmărire sau mărci care pot fi detectate prin ecografie externă (senzori ultrasonici), receptoare optice sau senzori electromagnetici. Sensorii interni inertiali sunt de asemenea disponibili pe unele sisteme. Unitățile pot transmite date, fie wireless sau prin cablu.
b.) Urmărirea de asemenea poate fi folosită pentru a detecta mișcarile oculare, astfel încat sistemul poate determina cu precizie unde utilizatorul se uita la orice moment de timp.
Controlerele fizice iși aduc contribuția la simulare doar prin manipularea directă de către utilizator. La simulările virtuale feedback-ul tactil de la controlerul fizic este dorit in mediile de simulare.
a.) Benzile de alergat direcționale pot fi folosite pentru a capta locomoția utilizatorilor ce au mers sau au alergat.
b.) Instrumentele de înalta flexibilitate, cum ar fi panourile de instrumente în cockpit-urile aeronavelor virtuale le ofera utilizatorilor cu controale reale de a ridica nivelul de imersiune. De exemplu, piloții pot folosi controalele reale. Sistem de poziționare globală de la dispozitivul real într-o cabina de pilotaj simulat pentru a le ajuta să practice proceduri cu aparatul real, în contextul sistemului integrat de cabina de pilotaj[21].
Capitolul 3 Modelarea matematica a simulatoarelor auto
3.1 Structura simulatorului
Structura simulatorului este formată din două mecanisme fiecare are câte trei grade de libertate. Mecanismele sunt definite ca fiind niște sisteme tehnice formate din elemente cinematice legate între ele prin cuple cinematice care realizează transmiterea sau transformarea mișcării atunci când se imprimă mișcări determinate unui element cinematic sau mai multor elemente cinematice, numite elemente cunducătoare și se realizează mișcări determinate pentru toate celelalte elemente cinematice, numite elemente conduse. Elementele cinematice sunt în general corpuri rigide, prin intermediul cărora se transmit mișcări și forțe, atunci când se află în interacțiune cu alte corpuri materiale. Cupla cinematica este acea componentă responsabilă de legătura mecanică, mobilă și permanentă dintre două elemente, care se realizează în scopul micșorării posibilităților lor de mișcare relativă și transmiterii mișcarei și forței. Cuple cinematice sunt de rotație (permit un g.d.l.), translație(un gr.d.l), cardanice(doua gr.d.l. – doua rotații perpendiculare), sferice (trei gr.d.l. – trei rotații perpendiculare) etc. Gradul de libertate al mecanismelor este dat de numarul mișcarilor elementare (de rotație și translație) independente și relative. Într-un sistem 3 dimensional elementul liber poate avea 6 grade de libertate și anume trei rotații și trei translații (figura 3.1) unde, rz, ry, rx reprezintă mișcarea de rotație în jurul axelor respective și dz, dy, dx sunt deplasările de-a lungul axelor corespunzătoare aceste mișcări se referă la sistemul O2 față de sistemul O1.
Figura 3.1 Sistemul 3 dimensional
Lanțul cinematic este ansamblu de elemente cinematice legate între ele prin intremediul cuplelor cinematice. Se cunosc lanțuri cinematice deschise (figura 3.2 b) și inchise (figura 3.2 a). Lanțurile cinematice deschise sunt acele lanțuri care au doar un singur element conectat la bază și cele închise dacă au cel puțin doua elemente conectate la bază[22].
Figura 3.2 Lanțuri cinematice închise a) și lanțuri cinematice deschise b)
Fiecărui mecanism i se poate asocia un graf. Fiecărei cuple îi corespunde un element în graf și fiecărui element îi corespunde un nod în graf. Numărul de interioare disjuncte al grafului este egal cu numarul de cicluri independente ale mecanismului și contururile acestor interioare dau ciclurile independente. În cazul mecanismului plan de tip TRR[23] (figura 3.3) cicluriele independente corespunzătoare grafului (figura 3.4) sunt:
0-2-3-1-5-4-0
0-4-5-1-7-6-0
Figura 3.3 Mecanismul plan
Figura 3.4 Graful corespunzător mecanismului plan
Mecanismul plan dezvoltat și implimentat în laboratorul de robotica este prezentat în Figura 3.5.
Figura 3.5 Mecanismul plan
Numărul de cicluri interioare al grafului trebuie neapărat să fie disjuncte dacă acestea nu sunt disjuncte atunci proiectarea mecanismului este greșită.
Pentru mecanismul spațial (figura 3.6) al cărui graf (figura 3.4) în cazul de față este același ciclurile independente sunt :
0-2-3-1-5-4-0 (3.)
0-4-5-1-7-6-0
Figura 3.6 Mecanismul spațial
Acest mecanism are șase elemente, q1, q2, q3 sunt coordonatele generalizate corespunzătoare deplasărilor actuatorilor , q reprezintă deplasarea pe verticală a platformei, φ și θ reprezință mișcarile de rotație în jurul axelor x și y pentru platformă. Mecanismul dezvoltat și implimentat în laboratorul de robotică este prezentat în figura 3.7.
Figura 3.7 Mecanismul spațial dezvoltat în laboratorul de robotică
3.2 Cinematica mecanismelor
3.2.1 Cinematica mecanismului plan
După determinarea ciclurilor independente (3.), se scriu ecuațiile vectoriale corespunzătoare pentru fiecare ciclu independent:
I1=+++++++
I2=+++++++
Din aceste două ecuații vectoriale rezultă 12 ecuații scalare ce au nouă parametri necunoscuți.
În figura 3.8 este prezentat mecanismul plan 3-TRR mai detaliat. Punctele P11, P21, P31 se presupun a fi în vârfurile triunghiului echilateral. Articulațiile prismatice sunt considerate de a fi unicele articulații active în sistem. Cele trei puncte conectate pe end-efector sun plasate simetric în jurul coordonatelor efectorului final.
Figura 3.8 Mecanismul plan
În acest caz se cunosc deplasările actuatorilor d1, d2 și d3. Și ce cere determinarea centrului de greutate xe, ye și unghiul φe , și unghiurile θ11, θ12, θ13.
Considerându-se că punctul P31 iese din buclă, avem :
(3.1)
Deasemenea, coordonatele punctului pot fi determinate și prin intermediul coordonatelor efectorului final
(3.2)
remarcă
(3.3)
Egalând (3.1) cu (3.2) și ținându-se cont de (3.3) rezultă sistemul de ecuații pentru P31. Similar se procedează și pentru P32 și P33.
Având în vedere complexitatea sistemului obținut soluția sistemului de formă închisă este imposibilă. Atunci, folosind tehnici numerice cantitățile necunoscute pot fi evaluate.
Pentru cinematica inversă a mecanismului se cunosc , a11, a12 și a13, , , , .
Necunoscute sunt : , și , d1, d2 și d3
Coordonatele punctelor P31 (x31, y31) și P21 (x21, y21)
(3.4)
Ecuația treptei ce trece prin punctele P11 și P21 este dată de expresia:
(3.5)
Deoarece, se trece prin P21, coordonatele lui P21 evaluate mai sus trebuie să satisfacă ecuația (3.5). Substituind valorile în ecuația treptei, obținem:
(3.6)
Făcându-se anumite substituții și notații ecuația (3.6) are forma
(3.7)
Rezolvând această ecuție, obtinem
(3.8)
unde,
A=
B= (3.9)
C=
(3.10)
Similar se determină și ,, d2 și d3
Prin urmare, cinematica inversă ne oferă o soluție în buclă inchisă adică o relație se poate determina din cealaltă[24].
3.2.2 Cinematica mecanismului spațial
3.2.2.1 Cinematica direct
Elementele corespunzătoare coordonatelor generalizate q1, q2 și q3 sunt elementele motoare pentru mecanism se notează cu A1, A2 și A3.
Elementele 7, 5 și 2 sunt brațele mecanismului de lungimele L7, L5 și L2. Elementul 1 este platforma mecanismului. Graful mecanismului este prezentat în figura 3.4 cu ciclurile independente :
0-2-3-1-5-4-0 (3.11)
0-4-5-1-7-6-0
Se scriu ecuațiile vecoriale corespunzătoare pentru fiecare ciclu independent în parte :
I1=+++++++ (3.12)
I2=+++++++
Pentru rezolvarea problemei cinematice directe se face o secționare imaginară a platformei 1 și obținem o secține de stânga s și una de dreapta d.
Unde va rezulta după secționare trei lanțuri cinematice pseudo-deschise:
0-6-7-1
0-4-5-1
0-2-3-1
Se scriu matricile de transformare pentru aceste lanțuri cinematice deschise:
(3.13)
unde,
, , sunt unghiurile de rotație a cuplei sferice din A3
, , sunt unghiurile de rotație a cuplei sferice din A2
sunt unghiurile de rotație a cuplei sferice din A1
, , sunt unghiurile de rotație a cuplelor de rotație din punctele B1, B2, respectiv B3
cu B1, B2, B3 sunt punctele de pe platforma mobilă
Deoarece platforma 1 este secționată doar imaginar atunci rezultă :
(3.14)
Matricile H07 sunt matrici omogene, de forma :
(3.15)
R07 este o matrice de dimensiunea 3×3 corespunzătoare mișcarilor de rotație care conduce la 3 ecuații scalare.
P07 este un vector coloana de dimensiune 3×1 corespunzătoare mișcărilor liniare la fel conduce la trei ecuații scalare.
Sistemul (3.14) are 12 ecuații scalare independente și 12 variabile necunoscute
, și trei variabile cunoscute care sunt coordonatele generealizate q1, q2 și q3.
3.2.2.2 Cinematica inversă
Cinematica inversă se bazează pe faptul că punctele Bi se deplasează pe sfere cu raza L2, L5 și L6 având centrul cu poziție variabilă dată de q1, q2 și q3. Ecuațiile sferice sunt:
(3.16)
De unde rezultă următoarele relații:
(3.17)
Se extrage ZA1, ZA2 și ZA3 din (3.17) care sunt egale cu ZA1=q1, ZA2=q2 și ZA3=q3
XAi și YAi sunte puncte fixe de pe batiu și L2=L5=L6 sunt cunoscute. Din aceste abordări rezultă că problema inversă se rezumă la determinarea coordonatelor generalizate q1, q2 și q3.
3.3 Dinamica mecanismelor
Dinamica mecanismelor studiază interacțiunea forțelor și momentelor ce acțioaneză asupra lor, privit ca un ansamblu de componente, pe parcursul deplasării lor. Considerându-se elementul condus figura 3.9 cu forțele și momentele de pe acesta.
Suma forțelor și momentelor ce aplicate pe elementul condus este zero (3.18). Aceste forțe și momente sunt funcții de timp. =f(t) unde, sunt . sunt momentele și forțele aplicate exterioare.
(3.18)
În cazul problemei inverse sunt date și se determină . Și pentru problema directă se dau și se determin
Figura 3.9 Elementul condus
Capitolul 4 Planificarea traiectoriilor de mișcare
4.1. Generalitați
Traiectoria de mișcare a simulatorului se studiaza între punctul la momentul inițial și punctul la momentul final. Pentru a evita coliziunile cu obstacolele exterioare se adaugă, între cele două puncte principale o altă mulțime de puncte intermediare.
Determinarea traiectoriei de mișcare se realizează, în general, cu ajutorul funcțiilor polinomiale de interpolare notate:
h(t)=
unde :
reprezintă mișcarea de translație la momentul t
reprezintă mișcarea de rotație la momentul t
Aceste funcții polinomiale se stabilesc pentru fiecare componentă a vectorului coloană al variabilelor generalizate și respectiv ale vectorului coloană al variabilelor operaționale. Așadar, traiectoria de mișcare a simulatorului reprezintă reuniunea tuturor funcțiilor polinomiale de timp și se pot exprima fie în spațiul configurațiilor cu ecuațiile (4.1) sau se pot exprima în spațiul cartezian cu ajutorul ecuațiilor (4.2).
Gradul polinoamelor de interpolare depinde, de numărul de restricții impuse de procesul tehnologic în care este implementat simulatorul. În acest caz, pentru a descrie o traiectorie de mișcare avem nevoie de patru seturi de parametri și anume:
{hi , ; i=0}; (4.3)
unde:
hi reprezintă punctele din spațiul de lucru prin care este obligat să treacă traiectoria de la momentele
sunt vitezele și accelerațiile generalizate sau operationale în punctele hi la momentele
Impunând valori parametrilor din (4.3), obținem funcții polinomiale de interpolare necesare generării traiectoriei de mișcare a simulatorului în spațiul configurațiilor sau spațiul cartezian al stărilor.
4.2. Funcții polinomiale de interpolare
În figura 4.1. se reprezintă segmentul(i) al traiectoriei de mișcare delimitat de h(i) și
h(i-1). Avem următoarele notații: este timpul real, corespunzător poziției h(i),
reprezintă variabila reală a timpului
este timpul real, corespunzător poziției h(i-1),
ti este timpul real corespunzător segmentului (i) ti=; (4.4)
Figura 4.1 Segmentul i al traiectoriei de mișcare
t reprezintă variabila normalizată a timpului numit și timpul normat
(4.5)
hi(t); hi() reprezintă funcția normalizată, respectiv functia polinomială reală de interpolare a traiectoriei de mișcare.
constituie spațiul parcurs în timpul tiși anume
=hi-hi-1 (4.6)
Teoretic, hi(t) reprezintă legi de mișcare a simulatorului care sunt funcții polinomiale de interpolare, făcând derivata de ordinul unu și respectiv de ordinul doi în raport cu obținem funcții polinomiale pentru viteze și accelerații sub următoarea formă:
vi(t)= (4.7)
ai(t)= (4.8)
În cazul funcției reale de interpolare a traiectoriei, reprezintă spațiul parcurs în intervalul ti, pentru funcția normalizată hi(t) se parcurge un spațiu unitate de lungime într-o unitate de timp. În acest mod, relațiile de transfer dintre funcția reală și cea normalizată de interpolare pentru poziții, viteze și accelerții sunt:
(4.9)
Pentru funția normalizată hi(t) de interpolare a traiectoriei, gradul polinomului este m însă pentru determinarea funcțiilor polinomiale pentru viteză și accelerație este nevoie de derivate de ordinul întâi și respectiv doi în acest caz polinoamele obținute pierd un grad respectiv două grade și devin, pentru viteză, gradul polinomului este m-1 si accelerație m-2, setul de ecuații rezultă:
Coeficienții polinomiali aij reprezintă (m+1) necunoscute, ce se determină prin aplicarea condițiilor restrictive impuse de procesul tehnologic în care este implimentat simulatorul.
În continuare se vor prezenta câteva tipuri de funcții polinomiale de timp utilizate, în mod curent, prin interpolarea traiectoriilor de mișcare.
Astfel, pentru evitarea coleziunii exterioare, existente în spațiul de lucru al simulatorului, conform fig. 4.2 între punctul inițial h0 corespunzător momentului τ0 si punctul final hn corespunzător momentului τn, se introduce o mulțime finită de puncte intermediare hi la momentul τi, unde i=1n-1.
Condițiile restrictive sunt următoarele:
la momentul inițial τ0 se cunosc {h0; v0; a0};
la fiecare moment τi se cunosc pozițiile hi și se impun condițiile de continuitate în viteze și accelerații, adică:
{hi;{vi(t+)=vi+1(t-);ai(t+)=ai+1(t-)}; i=1n-1};
la momentul final se cunosc {hn; vn; an};
Așadar, fiind opt condiții restrictive, interpolarea traiectoriei se poate realiza cu un polinom de gradul șapte, având forma (4.11):
Fig.4.2 Traiectoria de mișcare delimitată de segmentele de capăt
unde coeficienții polinomiali aj(j=07) se obțin prin aplicarea celor opt condiții restrictive mai sus precizate. Determinarea funcțiilor (4.11) pentru fiecare coloanăQ(t) sau (n)0 X(t) este incomodă datorită atat numărului mare de coeficienți polinomiali, cât și calculării extremilor pentru derivatele de ordin superior. Acest calcul este esențial, deoarece vitezele și accelerațiile pe traiectoria de mișcare sunt limitate de capacitatea fizică a sistemului de acționare și comandă. De aceea interpolarea se face între punctele succesive hi-1hi cu polinoame de grad (m5). În acest caz, traiectoria se divizează în n segmente, dintre care două sunt segmentele de capăt cel inițial și cel final, și n-2 segmente intermediare. În funcție de natura procesului tehnologic, pe un segment
(i=1n) al traiectoriei de mișcare, numărul maxim al condițiilor restrictive sunt șase, adică:
(4.12)
Ca urmare, funcțiile polinomiale de interpolare sunt:
(4.13)
Dacă pe un segment ( j=1n ) al traiectoriei de mișcare condițiile restrictive sunt:
(4.14)
sau
(4.15)
atunci funcția polinomială de interpolare pentru poziție este de gradul patru, adică:
(4.16)
În cazul unui segment (k=2n-1) al traiectoriei caracterizat prin condițiile restrictive:
(4.17)
funcția polinomiala de interpolare pentru pozitie este de gradul trei si poartă denumirea de funcție spline cubică, expresiile polinoamelor pentru poziție, viteză respectiv accelerație sunt următoarele:
(4.18)
Pe fiecare segment al traiectoriei de mișcare a simulatorului se calculeaza valorile extreme ale funcției polinomiale de timp. Pentru a exemplifica se consideră funcțiile (4.18). Astfel, valoarea maximăa accelerației se stabilește cu expresia:
max|ak|=max{|ak(t-)|; |ak(t+)|}. (4.19)
Valoarea maximă a vitezei se stabilește cu expresia:
max|vk|=max{|vk(t-)|; |vk()|; |vk(t+)|}. (4.20)
unde satisface condiția ak()=0. În cazul poziției hk(t) valoarea maximă se stabilește cu expresia:
max|hk|=max{|hk(t-)|; |hk()|; |hk(t+)|};
unde satisface condiția vk()=0. (4.21)
Valorile extreme astfel calculate, se compară cu limitile maxime admise de sistemul de acționare:
max|hk|hmax; max|vk|vmax; max|ak|amax; (4.22)
Daca una din condițiile (4.22) nu este respectată, atunci segmentul de traiectorie se divizează în două părți. Punctul de divizare se considerăun nou punct intermediar având valoarea egală cu limita maximă admisă de sistemul de acționare. Ca urmare, se recalculeaza traiectoria.În final, traiectoria de mișcare va fi reuniunea tuturor funcțiilor polinomiale stabilite pe fiecare segment (i=1n) și pentru fiecare componentă vectorului coloană al variabilelor generalizate sau al variabilelor operationale.
4.3Traiectorii de mișcare în spațiul configurațiilor
Mișcarea platformei simulatorului cu N g.d.l. ce fiind cunoscută în spațiul cartezian la care se pune problema determinării funcțiilor polinomiale de interpolare ce exprimă traiectoria de mișcare în spațiul configurațiilor. Știind că traiectoria de mișcare cuprinde (n) segmente, dintre care (n-2) segmente intermediare ce reprezintă reuniunea tuturor funcțiilor polinomiale de timp stabilite pe fiecare segment (i=1n) și pentru fiecare componentă vectorului coloană al variabilelor generalizate, adică:
(4.23)
În funcție de numărul de condiții restrictive impuse de procesul tehnologic prezentate în paragraful precedent, se obțin diferite tipuri de traiectorii în spațiul configurațiilor. Aceste traiectorii se pot simboliza în felul următor:
Traiectorii de tipul 5-4-3-4-5. Adică, segmentele de capăt al traiectoriei de mișcare sunt interpolate cu polinoame de gradul cinci, apoi primul și ultimul segment intermediar au aceeași traiectorie de mișcare se interpolează cu polinoame de gradul patru și celelalte segmente intermediare (i=3n-2) se interpolează cu polinoame de gradul trei.
Traiectorii de tipul 4-3-4. Segmentele de capăt al traiectoriei de mișcare se interpolează cu polinoame de gradul patru și segmentele intermediare (i=2n-1) se interpolează cu polinoame de gradul trei.
Traiectorii de tipul 3.n. În acest caz, pentru interpolarea fiecărui segment al traiectoriei (i=1n) se utilizează funcții spline cubice.
În continuare se vor analiza pe scurt aceste tipuri de traiectorii după aspectele prezentate în paragraful 4.2
4.3.1. Traiectorii de tipul 5-4-3-4-5
Dacă simulatorul analizat este implimentat într-un proces tehnologic, caracterizat pe segmentele de capăt prin regimuri tranzitorii, atunci condițiile restrictive sunt următoarele:
Analizând figura 4.3, pe primul și ultimul segment al traiectoriei de mișcare corespunzătoare momentului t1= si respectiv tn=-, numărul condițiilor restrictive sunt șase, atunci aceste segmente se interpolează cu polinoame de gradul cinci.
; (4.25)
. (4.26)
Pe segmentele doi și (n-1) corespunzătoare momentelor t2= și respectiv
tn-1=, numărul condițiilor restrictive sunt cinci. Interpolarea acestor segmente se realizează cu polinoame de gradul patru.
; (4.27)
. (4.28)
Restul segmentelor intermediare (i=3n-2), corespunzător momentului ti=, condițiile restrictive sunt patru și interpolarea acestor segmente se face cu polinoame de gradul trei, adică:
; (4.29)
Figura 4.3 Traiectoria de mișcare delimitată de segmente
Numărul total de coeficienți necunoscuți al polinoamelor, pentru fiecare variabilă generalizată qj(t) unde j=1, este egal cu 22+4(n-4), unde n este numărul de segmente care constituie traiectoria de mișcare și pentru determinarea lor se aplică cele 22+4(n-4) condiții restrictive din (4.24). În acest scop se analizează fiecare segment (i=1n) al traiectoriei de mișcare în spațiul configurațiilor [14].
Pentru analiza primului și respectiv ultimului segment al traiectoriei de mișcare se introduce următoarea notație k={1;n}. Ca urmare, funcțiile polinomiale de interpolare pentru poziție, viteză si accelerație sunt:
(4.30)
Determinarea coeficienților polinomiali se realizează prin aplicarea condițiilor restrictive (4.24)specifice primului și ultimului segment al traiectoriei de mișcare.În cazul acesta variabila normalizată a timpului se introduce în (4.30)cu valorile t={0;1}.
Astfel, pentru t=0 se aplică condițiile specifice momentului , adică:
hk(0)=qjk-1; vk(0)=vk-1=; ak(0)=ak-1=. (4.31)
Rezultă următorii coeficienți polinomiali:
ajk0=qjk-1; ajk1=*tk; ajk2=* (4.32)
Pentru t=1 se aplică condițiile restrictive corespunzătoare momentului , adică:
hk(1)=qjk; ; vk(1)=vk=; ak(1)=ak=; (4.33)
Se obține un sistem de trei ecuații liniare :
(4.34)
Variabilele necunoscute al acestui sistem sunt coeficienții polinomiali:
xjk=[ajk3 ajk4 ajk5]T. (4.35)
Se notează cu A kmatricea coeficienților necunoscuți si cu yk vectorul coloană al termenilor liberi:
Ajk=; yjk= (4.36)
Determinantul matricei Ak este diferit de zero, conform relației:
det Ajk = ; (4.37)
Deci, inversa matricei Ak existăși este:
Ajk-1= (4.38)
Ca urmare, sistemul de ecuații (4.34) se poate scrie sub forma matricială, adică:
xjk=Ajk-1*yjk; (4.39)
Coeficienții polinomiali determinați cu expresiile (4.32) si (4.39) se inlocuiesc în (4.30).Astfel, primului și ultimului segment al traiectoriei, se obțin funcțiile polinomiale de interpolare sub următoarea formă:
hk(t)=qjk(t)=
vk(t)== (4.40)
ak(t)=
Al doilea segment al traiectoriei de mișcare se caracterizează prin următoarele funcții polinomiale de interpolare (4.41)
Pentru stabilirea coeficientilor polinomiali, variabilata normalizata a timpului se introduce cu valorile t={0;1}. Astfel, pentru t=0 se aplica urmatoarele conditii restrictive specific momentului , adica:
h2(0)=qj1; v2(0)=v1= a2(0)=a1= (4.42)
Înlocuind (4.42) în (4.41), se obțin următorii coeficienți polinomiali:
aj0=qj1; aj21=t2; aj22= . (4.43)
Pentru t=1 se aplică condițiile specifice momentului . Conform (4.24) aceste condiții sunt:
h2(1)=qj2; v2(1)=v3(0); a2(1)=a3(0); (4.44)
Exemplificare fiecarui parametru din (4.44):
h2(1) reprezintă totalitatea punctelor al segmentului doi la variabila normalizată t=1 și este egală cu coordonata generalizată de poziție qj2 în spațiul configurațiilor la fel pe segmentul doi la momentul .
reprezintă distanța parcursă de la poziția determinată în (4.43) la t=0 până la .
v2(1)=v3(0) este condiția impusă pentru viteza la t=1 aplicată pe segmentul doi sa fie egală cu viteza la t=0 pe segmentul trei.
a2(1)=a3(0) este condiția impusă pentru accelerație la t=1 aplicată pe segmentul doi, sa fie egala cu accelerația la t=0 pe segmentul trei.
Ca urmare, înlocuind (4.43) în (4.41) la t=1 și atunci sistemul de ecuații se poate scrie sub urmatoarea formă:
aj23+aj24=–t2; (4.45)
(4.46)
=a2=a2(1) (4.47)
Parametrii a2 și v2 sunt necunoscuți, pentru determinarea coeficienților polinomiali aj23 și aj24 se vor aplica condițiile de continuitate în viteze și accelerații corespunzatoare momentului .
În continuarea, se va analiza penultimul segment al traiectoriei de mișcare. Ținând cont de condițiile restrictive (4.24), se face urmatoarea substituție pentru a fi mai ușor de lucrat:
funcțiile polinomiale de interpolare sunt:
(4.48)
Pentru determinarea coeficienților polinomiali al acestui sistem se procedeaza la fel ca ți pentru sistemul (4.41). Dupa determainarea coeficienților polinomiali, funcțiile din (4.48) se vor aplica sub altă forma deoarece pentru interpolarea segmentului (n-1) este necesar utilizarea ecuațiilor polinomiale cu funcții de varibilă t.
(4.49)
În continuare, se va analiza funcțiile polinomiale de interpolare pentru segmentele intermediare (i=3n-2).
(4.50)
La fel se analizeaza sistemul, pentru t=0 și/sau t=1, și i=3n-2, corespunzator momentului fie sau la care se obțin coeficienții polinomiali. Se ține cont de asemenia de condițiile de continuitate în viteze și accelerații.
4.3.2 Traiectorii de tipul 3.n fară restricții
Interpolarea traiectoriei de mișcare se poate realiza și prin aplicarea funcțiilor spline cubice. Ele asigură respectarea condițiilor de continuitate în viteză și accelerație pentru fiecare punct al traiectoriei. De asemenea, gradul mic al acestor funcții faciliteaza calculul derivatelor de ordinul întâi și doi, și implicit la valorile extreme al funcțiilor.
Ținând seama de relațiile (4.18) și (4.50), funcțiile spline cubice se derivatele acestor de ordin întâi și doi în raport cu timpul t se caracterizează prin următoarele expresii:
(4.51)
unde i=1 iar t reprezintă variabila normalizată a timpului definită cu relația(4.5).
Pentru analiza traiectoriilor de tipul 3.n fără restricții se consideră un simulator cu N g.d.l.care este implimentat într-un proces tehnologic. Conform acestuia, traiectoria de mișcare în spațiul configuraților trebuie să asigure trecerea prin (n-1) puncte corespunzătoare momentelor , unde i=1. Traiectoria de mișcare se împarte în n segmente, dintre care
(n-2) sunt segmente intermediare. De asemenea, procesul tehnologic impune un control restrictiv asupra poziției, vitezei și accelerației la momentele si , respectiv a continuității în poziție, viteza și accelerație la momentele unde i=1.
Ținându-se seama de particularităților procesului tehnlogic, pentru interpolarea traiectoriei numai cu funcții alpine cubice, conform figura 4.4 se impun următoarele condiții:
(4.52)
Figura 4.4
Se observă că numărul n al segmentelor de traiectorie și implicit al funcțiilor spline cubice depinde de numarul nk>2 al condițiilor , adică:
(4.53)
4.3.3 Traiectorii de tipul 3.n cu restrictii
Pentru modelarea reală a traiectoriilor de mișcare se utilizează alături de condițiile impuse de procesul în care este implimentat simulatorulul și restricțiile de natura cinematică și dinamică impuse de sistemul de acționare al acestuia. Ținând seama de acest aspect, în continuare se va analiza interpolarea traiectoriei de mișcare în spațiul configurațiilor cu ajutorul funcțiilor spline cubice și cu respectarea restricțiilor.
Procesul tehnologic, în care este implimentat simulatorulul, impune ca traiectoria de mișcare în spațiul configurațiilor să asigure trecerea prin (n+1) puncte corespunzatoare momentului , unde i=1 De asemenea, conform condițiilor inițiale, traiectoria de mișcare trebuie să asigure un control restrictiv asupra poziției, vitezei și accelerației la momentele si , respectiv asupra continuității vitezii și accelerației la momentele unde i=1. Așadar, condițiile inițiale impuse traiectoriei, sunt de forma:
(4.54)
Parametrii incluși în (4.54), se obțin prin modelarea geometrica și cinematica de comandă a simulatorulului cu N g.d.l. Parametrii qj1 și qjn-1 nu trebuie specificați în condițiile (4.54), deoarece ei se obțin alături de funcțiile spline cubice.
Condițiilor inițiale (4.54) se mai adaugă restricțiile de natura cinematică și dinamică, adică:
|qji()|qj; ; (4.55)
unde {qj, } reprezintă valorile maxime admise pentru coordonata vitezei, accelerației și forța generalizată din fiecare cupla motoare (j=1) al simulatorului[25].
Concluzie:
Întrucât simulatorulul deservește un anumit proces tehnologic este absolut necesar să se cunoască traiectoria de mișcarea pe care o deservește. Ca urmare, în acest capitol sunt abordate câteva metode de generare a traiectoriei în spațiul configurațiior. Ele se bazeaza pe utilizarea funcțiilor polinomiale de interpolare și iau în considerare restricțiile impuse de procesul tehnologic în care este implimentat simulatorulul.
Implimentarea unei manevrei care defapt reprezintă traiectoria de mișcare ce trebuie impusă mecanismelor simulatorului se rezumă la una din metodele prezentate în acest capitol. Una din traiectorii este prezentată in figura 4.5. Unde s-a folosit tipul 5-4-3-4-5 de traiectorie. Aceasta s-a impărțit în mai multe segmente și s-au interpolat punctele ce determin acele segmente astfel încat traiectoria obținută după interpolare să se suprapună cât mai mult peste traiectoria definită de mulțimea de puncte.
Figura 4.5 Traiectoria de mișcare
Capitolul 5 Descrierea modelului de simulare și a prototipului
În prezent, datorită gradului mare de fiabilitate și precizie impus de procesul tehnologic, îi impune pe proiectanți de a alege cele mai potrivite pachete software și hardware pentru a dezvolta un sistem mecatronic.
Un prim pas în dezvoltarea aplicației este de a defini o structură bloc de control a simulatorului cu echipamentele software și hardware folosite. Aceasta structura de control este prezentată în figura 5.1. Din figură se observă ca avem patru blocuri interconectate între ele, mai puțin pachetul software CarSim. Interconecatare înseamna în cazul de față conexiunea directă dintre echipamentele care comunica între ele printr-un anumit canal.
Figura 5.1 Structura de control a simulatorului auto
5.1 Modelul V in dezvoltarea simulatorului auto
Un lucru important în proiectare și dezvoltarea unui proiect este de a alege un model care să-ți permită o ghidare cât mai buna de la primul pas, definirea cerințelor proiectului până la ultimul pas care este produsul final. Unul din aceste modele aplicate în inginerie este modelul V.
Modelul V este un model de dezvoltare a sistemelor concepute pentru a simplifica înțelegerea complexității asociate cu sistemele în curs de dezvoltare. Aceasta, descrie procedura generic pentru proiectarea sistemelor mecatronice, care primește formă diferită de la caz la caz. În ingineria sistemelor, acesta este utilizat pentru a define o procedură uniform de produs sau pentru dezvoltarea unui proiect. Principiul general al modelului V constă în, detalierea proiectului crește o dată cu mișcare de la stânga la dreapta a literei V, simultan cu trecerea timpului, și nici una, și nici alta nu pot fi inversate. În ceea ce privește dezvoltarea sistemului de informare, modelul V este o variantă a modelului în cascada, în care sarcinile de proiectare sunt de sus în jos, pe partea stanga a literei V, și sarcinile de testare în sus pe parte dreapta a literii V. Iterațiile în proiect sunt realizate pe orizontala între partea stangă și dreapta a literei [26].
Fig. 5.1.1 Modelul „V” – macro-ciclu în dezvoltarea sistemelor mecatronice
Fig. 5.1.2 Dezvoltarea simulatorului auto pe baza metodologiei modelului-V
Lucrarea de licența își propune dezvoltarea unui simulator auto care să reproducă mai multe manevre de mișcare. În dezvoltarea acestuia, se folosesc etapele ce caracterizeaza metodologia bazată pe modelul V. În continuare sunt descrise aceste etape făcându-se o analogie între metodologia generală de dezvoltare a sistemelor mecatronice pe baza modelului „V” (Fig. 5.1.1) și metodologia de dezvoltare a simulatorului auto (Fig. 5.1.2).
Cerințele reprezintă punctul de pornire și sunt reprezentate de setul de evenimente prin realizarea cărora se va obține produsul final – acesta fiind simulatorul auto. Obiectul definit este specificat și descris conform cerințelor. Aceste cerințe, în același timp, fac referință la produsul care mai târziu este evaluat.
Proiectarea sistemului are scopul de a stabili un concept, care să descrie principalele caracteristici de funcționare fizice și logice a produsului ce va fi dezvoltat. În acest scop, funcția de ansamblu a unui sistem este împărțită în mai multe subfuncții principale. Acestora le sunt alocate principiile adecvate de funcționare sau soluția elementelor și performanțele funcției sunt testate în cadrul sistemului. Astfel, la proiectarea simulatorului auto trebuie să se țină cont de: structura mecanică a prototipului, soluția de acționare a acestuia, caracteristicile autovehicului utilizat, traiectoria impusă simulatorului, etc.
Proiectarea specifică are rolul de a dezvolta și mai mult componentele funcției globale luate separat pe domeniile din care provin acestea . Interpretările mai detaliate și calculele sunt necesare pentru a asigura îndeplinirea funcției globale, în special în cazul funcțiilor critice. Astfel, este necesar modelarea matematică a prototipului, a traiectoriei de mișcare, a autovehicului, a sistemului de acționare.
Integrarea sistemului: Rezultatele obținute din fiecare domeniu individual sunt integrate într-un singur sistem global, pentru a se putea face o posibilă testare interacțiunilor ce au loc. În acest context, sunt integrate toate componentele ce alcătuiesc simulatorul auto în vederea testării sistemului ca un tot intreg.
Asigurarea proprietăților: Progresele înregistrate în proiectare trebuie să fie în continue verificare pe baza conceptului de soluție specificata și cerințe. Trebuie să asigure ca proprietățile sistemului actual să coincidă cu proprietățile sistemului descris.
Modelarea și analiza modelului: Etapele descrise anterior sunt flancate de formarea și de investigarea a proprietăților sistemului cu ajutorul unor modele și instrumente de simulare asistată de calculator ceea ce ne permite vizualizarea rezultelor în urma simulărilor. Pornind de la aceste rezultate, este facilitată realizarea practică a sistemului, dezvoltarea algoritmilor de control și testarea acestora.
Produsul este rezultatul unui macro-ciclu continue. Un produs este înteles nu în mod exclusiv finit, de fapt produs existent, dar concretizarea produsului crește treptat dupa fiecare ciclu. Gradele de maturitate sunt, de exemplu, specimen de laborator, model funcțional, un simulator funcțional etc.
Un produs mecatronic complex nu este realizat în general într-un singur macro-ciclu. Mai degraba, este necesar de un număr mai mare de cicluri(fig 5.1.3).
În primul ciclu, de exemplu, produsul specificat este funcțional, primele principii de funcționare și/sau soluțiile elementelor sunt selectate și aproximativ dimensionate, verificate pentru consistența în cadrul sistemului și realizată într-o formă exemplară. Rezultatul este, în general, un model în laborator. Acest lucru este concretizat în al doilea ciclu (dimensionarea fină a soluțiilor elementelor, simularea comportamentului și formă) în scopul de a crea un prim specimen funcțional. În funcție de progresele înregistrate în proiectare și tipul de complexitatea a sarcinii de dezvoltare, mai multe macro-cicluri pot fi necesare pentru a ajunge la produsul care este pregătit pentru producția în masă. Numarul macro-ciclurilor și pașilor de parcurgere prin modelul V depinde de sarcina specifică de dezvoltare.
Se enumeră câteva avantaje și dezavantaje al modelului V în dezvoltarea sistemelor:
Avantaje:
Modelul pune accent pe planificarea, care vizează verificarea și certificarea produselor dezvoltate în primele etape ale dezvoltării sale. Faza de testare a unității confirmă corectitudinea detaliată a proiectării. Fazele de integrare și testare dezvoltă arhitectura de proiectare. Faza de testare a sistemului confirmă corectitudinea fazei de implimentare a cerinților produsului și specificațiilor.
Modelul prevede validarea și verificarea tuturor datelor interne și externe, și nu doar software-ului în sine.
Modelul V, definește cerințele ce trebuiesc efectuate înainte de dezvoltarea sistemului de proiectare.
Modelul definește produsele care urmează să fie obținute din procesul de dezvoltare, iar datele primite ar trebuie testate.
Datorită modelului, se pot urmări progresele înregistrate de procesul de dezvolatare, și în acest caz, este posibil utilizarea unui timeline, și finalizarea fiecarei faze devine punct de referintă.
Dezavantaje:
Modelul nu prevede activități de evenimente paralele.
Modelul nu include acțiuni, îndreptate analizelor de risc.
Testarea cerinților din ciclul de viața se preiau mult mai tarziu, astfel este imposibil de a face schimbari, fara ca sa afecteze in acelasi timp programul de dezvoltarea a proiectului.
Unele rezultate sunt disponibile numai atunci când se ajunge la partea de jos a literii V.
Fig.5.1.3 Creșterea gradului de maturitare a produsului ce trece prin mai multe macro-cicluri
Unul din aspectele principale al simulatorului auto dezvoltat este că controlul prototipului se face în timp real. Acest lucru ne impune să cunoastem noțiunile și elementele fundamentale în ceea ce privesc sistemele de timp real.
5.2 Generalități ale sistemelor de timp real
O dată cu evoluția tehnicilor de calcul, noțiunea de timp real a devenit mai dificila, aceasta fiind asociată cu mai multe entități și proceduri, ce se ramifică pe diverse domenii. Sintetizând semnificația noțiunei de timp real, am putea spune că:
Sistemele de timp real sunt definite ca fiind acele sisteme în care corectitudenia depinde nu numai de rezultatul logic al prelucrării, ci și de momentul la care este disponibil [Stankovic92]. Dimensiunea principală a sistemelor de timp real o constitue timpul.
În cadrul aplicațiilor, sistemele de timp real sunt conectate cu procesul (exterior sistemului) ce trebuie să raspundă într-un interval de timp limitat solicitărilor externe. Dupa definiția redată mai sus se poate spune că rezultatele obținute depind de momentul la care au fost produse. De obicei sistemele de timp real functionează în mod continuu.
Domenii de utilizare a sistemelor de timp real:
controlul roboților
sisteme de comunicație
controlul sistemelor de acționare electrică
sistemelor de reglare (nivel, debit, presiune, temperatură) etc.
Unele prelucrări trebuiesc făcute în limitele timpilor predeterminati, procesările fiind suspuse unor constrângeri și anume:
aceste trebuie să ofere un rezultat/răspuns într-un timp dat
dupa depășirea termenilor limită, de obicei acțiunile/răspunsurile nu mai sunt de nici un folos
necesită predictibilitate și cunoașterea modului de acțiune în timp
Funcție de strictețea constrângerilor, sistemele de timp real se împart în:
sisteme de timp real critice – hard real-time systems – sistemele pentru care neîndeplinirea unei constrângeri pot avea urmari catastrofale.
Cateva exemple de sisteme de timp real hard:
stimulatoare cardiace
sisteme de comandă industriale
sisteme de comanda al motorului autoturismelor
sisteme de control al sistemelor de siguranță de tip airbag
sisteme de control al traficului aerian etc.
sisteme de timp real necritece – soft real-time system – sisteme pentru care neîndeplinirea unor constrângeri pot să accepte o anumită sau diferite nivele de toleranță.
Exemple de sisteme de timp real soft:
Sisteme de distribuire a biletelor de tren
Sisteme audio, video pentru transmisii de date etc.
Sistemele de timp real se caracterizează prin:
Timpul de răspuns
Procese multiple
Sincronizarea componentelor
Determinismul
Flexibilitatea
Adaptablitatea
Ireversibilitatea
O scurtă descriere fiecarei caracatersitici în parte.
Timpul de raspuns este intervalul de timp dintre momentul în care se modifica una sau mai multe intrari ale sistemului și momentul în care apare raspunsul la ieșirele acestuia. La sistemele complexe timpul de raspuns trebuie corelat cu o anumita planificare a raspunsurilor.
În cazul unei aplicației cu procese multiple, aceasta poate executa programe care caracterizeaza procesele ce interacționeaza între ele și cu exteriorul.
Procesele pot fi periodice, aperiodice sau cvasiperiodice.
Un proces este periodic, cu perioada de activare, dacă este reexecutată după fiecare durată de timp egală cu acea perioadă de activare.
Un proces este aperiodic la care timpii de activare nu sunt periodici, depinzând de un set de condiții de activare, de obicei, aceste procese sunt necritice.
Un proces cvasiperiodic are o natura aperiodică, de obicei cu constrangeri stricte.
Utilizarea proceselor necesită definirea și existența unor mecanisme specifice cum ar fi planificare, comunicarea între procese și tratarea excepțiilor.
Sincronizarea componentelor cu timpul fizic semnifică activitatea subsistemelor ce trebuiesc sincronizate cu dinamica proceselor în lumea reala. Sistemul trebuie sa prelucreze informații care sunt disponibele doar într-un interval de timp, inforamațiile din afara acelui interval de timp sunt nefolositoare.
Un sistem este determinist dacă pentru fiecare stare și combinație de intrări va trece într-o stare unică și va furniza un set unic de valori de ieșire.
Un sistem este fexibil și adaptabil dacă acesta are în vedere posibilitatea de dezvoltare ulterioară a subsistemelor. Permite utilizarea unui sistem pentru aplicații diferite prin realizarea unor modificări mici și/sau permite adăugarea sau dezactivarea unor funcționalități.
Ireversibilitatea se referă la urmatorul aspect și anume, în cazul sistemelor complexe, relațiile cauzale nu pot fi controlate toate. Anumite activități efectuate nu mai pot fi eliminate, sistemul nu mai poate reveni la starea anterioar. Nu poate fi prevazută în avans succesiunea evenimentelor dictate de acesta datorită legaturii cu mediul exterior.
Desigur sistemele de timp real au și alte caracteristici cum ar fi:
Mediul impredictibil
Sistemul proiectat să funcționeze continuu
Utilizate pentru aplicații critice
Funcții specializate dedicate
Variabile temporare (volatile)
Planificarea în timpul execuției
Planificarea acțiunilor determinate de apariția unor evenimente
Programarea la nivel scăzut (limbaj de asamblare)
Programele strâns legate de partea fizică (hardware)
Sistemele de timp real se găsesc în diverse domenii, de exemplu:
Telecomunicații
Rețele de calculatoare
Controlul proceselor industriale
Sisteme de achiziție și masurare
Sisteme incapsulate (embedded system)
Aparatura de uz casnic
Echipamente militare
Vehicule de transport terestru și aerian
Jocuri video
Pentru realizarea sistemelor de timp real este nevoie de urmărit anumite tehnici care ar permite o însușire și întelegerea mai bună în ceea ce privește dezvoltarea aplicațiilor. Aceste tehnici sunt:
Specificare și proiectare prin aceasta se subânțelege că s-ar aplica anumite metode prin care se verifică funcțioanarea din punct de vedere logic și se verifică constrângerile de timp.
Proiectarea arhitecturală se referă la folosirea modulelor gata realizate și verificarea constrâgerilor de timp și, folosirea diferitelor arhitecturi. Se cunosc mai multe arhitecturi ale sistemelor de timp real și anume:
Sisteme centralizate
Sisteme descentralizate
Sisteme distribuite
Sisteme descentralizate și distribuite
La etapa de implimentare se utilizează limbaje cu primitive adecvate. Este nevoie de utilizarea anumitor sisteme software cu suport pentru timp real ( nucleu sau sistem de operare ) pentru aceste primitive.
Aceste limbaje pentru sistemele de timp real trebuie sa aibă anumite caracteristici:
Să poată manipula intrările și iesirele sistemului
Sa aibă primitive pentru gestionarea proceselor
Posibilitatea de tratarea întreruperilor
Să permită definirea tipurilor de date
Să permită introducerea de cod în limbaj de asamblare
Să aibă primitive pentru manipularea timpului.
La realizarea unui sistem de timp real se ține cont de unele considerații cum ar fi predictibilitatea. Aceasta se referă la garantarea îndeplinirii constrângerilor de timp ale aplicațiilor, în contextul dinamicii mediului. Pentru asta trebuie să permită determinarea în avans a unor caractersitici:
Comportamentul când nu sunt respectate constrangerile de timp
Comportamentul când ipotezele de lucru nu sunt respectate
Timpul de acces și de raspuns
Comportamentul în cazul informațiilor complete
Cum variaza calitatea rezultatelor
În ceea ce privește optimizarea sistemului care se referă la optimizarea utilizării procesorului, optimizarea utilizării memoriei, calculul celui mai defavorabil caz și accesul concurrent[27].
În concluzie sistemele de timp real se folosesc la aplicațiile care necesită că anumiți parametri să fie comandați și anumite elemente să fie controlate astfel încât să raspundă la anumiți stimuli corespunzatori la un interval de timp dat definit.
Aplicațiile în timp real din prima generație foloseau sistem cu un microprocesor pentru rulare, problemele ce le rezolvau erau relativ simple cu algoritmi nesofisticați. În ultimul deceniu, sistemele de timp real au evoluat datorită cercetărilor și rezultatelor deosebite din acest domeniu, care au fost dedicate unor aplicații concrete, complexe, critice, ce implică siguranță și predictibilitate deosebită, cum ar fi: sisteme de control al traficului aerian, sisteme informaționale distribuite, centrale nucleare, sisteme de aparare spațiale, sisteme largi de comandă și control în producție etc .
5.3 Dispozitivele software și hardware folosite la dezvoltarea simulatorului auto
În ingineria de proiectare este important să se aleagă dispozitivele potrivite care să facă față cerințelor și restricțiilor impuse. În dezvoltarea simulatorului auto s-au folosit urmatorele echipamente software și hardware:
1. CarSim [28]
2. Matlab simulink[29]
3. dSpace/ControlDesktop[30]
4. Motoarele Ternary
5. Modelul de automobil la scara
În continuare se face descrierea dispozitivelor software și hardware folosite în cadrul aplicației.
5.3.1 CarSim
Un prim lucru de dupa proiectarea simulatorului este de a colecta anumite date în ceea ce privește spațiul de lucru al prototipului, tipurile de mișcari pe care vrem să le implimentăm, cursele maxime al motoarelor ce antreneaza prototipul etc. . Pentru a proiecta o manevra cât mai reală unde să putem observa toate mișcările impuse. Am utilizat soft-ul carsim ce ne permite să vizualizăm și să colectăm date despre dinamica și cinematica unui vehicul fizic real. Soft-ul ne permite să proiectam orice manevra de drum dorim. Acest lucru ne dă un mare avantaj pentru ca putem observa cum s-ar comporta aceeași mașina pe drumuri cu rugozitate diferită sau pe același drum dar cu/fară anumite sisteme implimentate pe vehicul cum ar fi ABS-ul.
CarSim-ul simuleaza comportamentul dinamic vehiculelor. Animatia CarSim a testelor simulate și ieșirile de peste 800 de variabile calculate sunt pentru a reprezenta și de a analiza, de a exporta cu alte programe, cum ar fi MATLAB, Excel, și instrumente de optimizare.
Introducere în CarSim
În iulie 2009 dr. Michael Sayers prezintă cum sa folosești controlul de baza și procedurile în CarSim pentru a le seta și de a vedea simularea testului în timpul rulării. Acesta include GUI, baza de date, modulul de animatie și sectiunea de plotare.
Pentru ce se-foloseste?
CarSim-ul se folosește pentru proiectarea, dezvoltarea, testarea și proiectarea vehiculelor. Se ia decizii mai bune în ce privește implicare dinamicii mașinii. Se utilizează CarSim pentru a demonstra conceptele inițiale, se selectează componentele, și se efectuează analize avansate a vehiculelor existente.
Ușor de utilizat în ceea privește interfața cu utilizatorul, se poate rula testul de simulare, sa poate vizualiza animația, sau sa vezi rezultatele plotate folosind un simplu click de mouse. Modelele matematice din CarSim sunt parametrice, care implică proprietăți măsurabile, care sunt frecvent utilizate de OEM si companii furnizoare. Ca rezultat, utilizatorii pot obține, de obicei, rezultate în CarSim pentru vehicule noi, într-un timp mic.
Mai multe baze setate și forme de vehicule
CarSim-ul vine cu peste 15 clase de vehicule: mașini de clasa A-F pentru pasageri. Sunt mai multe exemple de proceduri de test, și peste 20 de mașini în format 3D pentru animație de calitate. Fiecare formă 3D de vehicul este automat remasurată daca este nevoie să se potrivească cu dimensiunele setate pentru vehiculul modelat, și în general se poate reseta culoarea în timpul rularii pentru a putea distinge între vehiculul de la diferite teste simulate.
Acurateția
Modelele matematice din CarSim sunt construite pe zeci de ani de cercetare care caracterizează vehicule și reproduc comportamentul lor. Testarea de validare continua permite ca sa se adauge noi caracteristici care ar îmbunătăti modelul prezent.
Extensibil
Modele matematice din CarSim acoperă complet sistemul vehicului și intrările de la șofer, ground, și aerodinamică. Modelele sunt extensibile cu ajutorul construit de comenzi VehicleSim, Matlab/Simulink de la Mathworks, LabView de la National Instruments, și programe personalizate scrise în Visual Basic, C, MatLab, și alte limbaje. Folosim aceste opțiuni pentru a adăuga controlori avansați sau de a detalia modelele subsistemului sau componentelor cum ar fi anvelopele, frânele, sistemul de propulsie etc.
Rapiditatea
CarSim-ul combină un model matematic complet al unui vehicul cu o viteză de calcul mare. Echipa de dezvoltare software de la simularea mecanică utilizeaza programul VehicleSim Lisp multicorp simbolic pentru a genera ecuațiile modelului matematic al vehiculului. Pe lângă furnizarea ecuațiilor neliniare corecte pentru modelele destul de comlicate, ecuațiile masină-generată sunt extrem de optimizate pentru a oferi calcul rapid. Modelele tipice CarSim rulează de obicei de 10 ori mai repede decăt în timp real (RT) pe un PC 3 GHz, astfel încât obținem mereu rezultate mai rapide. CarSim suportă mai usor testarea în real time cu hardware in the loop (HIL) folosind sisteme de la majoritatea furnizorilor RT. Această viteză, de asemenea, vă ajută cu software-ul, care necesită mai multe repetari (de optimizare, design de experimente, etc.).
Eficiență, stabilitatea și fiabilitatea
CarSim are toate unelte necesare pentru a descrie comportamentul dinamic al mașinei într-un singur pachet integrat, cu posiblitatea de a lucra cu alte software-uri pentru a extinde capacitațile sale, chiar și mai mult. Aceasta combina precizia și validarea care rezultă din zeci de ani de cercetare în dinamica vehiculului cu asocierea utilizării jocurilor video moderne și browsere de Interner.
CarSim-ul include tot ce este necesar pentru a simula testele vehiculului și de a vedea rezultatele, dar acesta este prețul la o fracțiune din costul altor software-uri comerciale pentru Dinamica Vehiculului.
Modelele Matematice din CarSim
Intrările de control
Trei intrări principale de control implicite reprezintă nivelul de conducere(steering), frânarea, și viteza. CarSim-ul are opțiunile pentru intrările în bucla deschisă (open loop) și bucla închisă (closed loop) pentru nivelul de conducere, deaccelerare, accelerare, și echipamentul de shiftare. Sunt deasemenea și opțiuni pentru proiectări de control secvențiale mai complicate cum are fi o serie de evenimente, unde o noua bucla de control poate fi declanșată de o altă variabilă de ieșire ce ajunge la o valoare specificată.
Mediul înconjurător ca intrare
În CarSim se include o descriere avansată a drumurilor 3D. Poți să construiești rapid o menvră de drum cu arbitrați orizontali, verticali, și elemente geometrice de trecere. Frecarea dintre roată și drum este specificată ca o funcție de distanță de-a lungul drumului și poziția laterală față de centru. Gui-ul din CarSim deasemenea furnizează unelte de construirea unui drum pentru asamblarea rapidă a suprafeții 3D. CarSim-ul deasemenea include efectele de aerodinamică si vântul ca variabilă de intrare.
Dinamica vehiculului 3D
Ecuațiile de mișcare a modelelor matematice din CarSim sunt valide pentru mișcari 3D complet neliniare a corpului rigid. Cinematica principală și efectele de conformitate ale suspensiilor și sistemelor de direcție sunt specificate cu proprietăți care pot fi măsurate direct. Detalii cu privire la legăturile și unelte în suspensiile și sistemele de direcție nu sunt necesare, reducând cantitatea de informații necesare pentru a obține predicții precise. Multe dintre componentele care au cel mai mare efect asupra manipulării, de frânare, accelerare și sunt reprezentate cu tabele neliniare de date măsurabile. De exemplu, CarSim utilizează detaliat relațiile neliniare cinematice, modele neliniare al resortului, și alte modele neliniare al componentelor. Aceste proprietăți pot fi calculate cu suspensii cinematice, instrumente cum ar fi SuspensionSim sau măsurarea în Cinematică și facilități de testare de conformitate.
Anvelopele
Modelele de anvelope din CarSim reproduc o dispersie de forțe și momente aplicate la pneuri de pe suprafața de drum 3D. Acesta ofera un comportament total neliniar al anvelopelor în timpul combinației deacclerarii/accelerarii și viraje pe drumuri cu frecare variabilă. CarSim-ul include mai multe modele de anvelope, cu moduri alternative de furnizare datelor de anvelope. Acesta conține tabele neliniare, care sunt obținute direct din laboratorul de masuratori.
Modelele matematice din CarSim includ aprope 300 de varibile ceea ce înseamna ca să poată extinde modelele. Această metodă a fost folosită de ani de zile de către utilizatorii CarSim pentru a include controlere sau componente alternative a modelelor în Simulink. Aceleași metode pot fi folosite de asemenia cu LabView, Etas LabCar și Ascet, Visual Basic, Matlab, și Ansi C. Extensiile pot fi facute chiar și în timpul rulării fără a fi nevoie de un alt sof extern folosind comenzile VS. Aceste variabile disponibile, care pot fi definite în timpul rulării ce includ toate intrăile de control și de mediu generat de sistemul de propulsie, frăne, sisteme de direcție, anvelope, și unele componente de suspensie.
CarSim este cel mai folosit sistem software pentru simularea dinamicii unui vehicul din industria automotivelor. CarSim-ul este ”companie standard” de software pentru dinamica automobilului la mai multe companii de automotive, și este utilizat pentru diferite scopuri, De asemenea este foarte răspândit în laboratoarele de cercetare și în universități.
Fig.5.3.1 Modelul unei anvelope cu datele preliminare
5.3.2 Matlab Simulink
Matlab-ul este un limbaj de programare pentru dezvoltarea algoritmilor, vizualizarea și analizarea datelor, și pentru calculul numeric. Acest limbaj este dedicat proiectării asistată pe calculator, pentru rezolvarea mai rapidă a problemelor tehnice ce necesită putere de calcul mare.
Matlab-ul are un domeniu extins de utilizare și anume:
Matematica și calculul numeric
Dezvoltarea algoritmilor
Modelarea, simularea și testarea prototipurilor
Analiza și vizualizarea datelor
Grafica inginerească și din știintele aplicative
Dezvoltarea aplicațiilor, inclusiv GUI
MATLAB este un sistem software interactiv care are la bază elemente vectoriale, matriciale, acest lucru permite rezolvarea problemelor de calcul numeric.
MATLAB-ul a evoluat în timp și este utilizat în mai multe medii:
în mediul universitar pachetul oferit este standard pentru cursurile introductive și avansate de matematică, inginerie și științe
în mediul industrial, sistemul este utilizat pentru cercetarea de randament înalt, dezvoltare și producție
MATLAB-ul permite dezvoltarea unor structure de aplicații sub forma toolbox-urilor. Aceste toolbox-uri permit învățarea, aprofundare și aplicarea tehnologiilor specializate din diverse domenii. Sunt disponibile toolbox-uri pentru domenii cum ar fi: procesarea numerică a semnalelor, imaginilor, sisteme de conducere automată, rețele neurale, logică fuzzy, wavelet, simulare (SIMULINK), identificare etc.
Sistemul MATLAB constă în cinci părți principale:
Limbajul MATLAB
Mediul de lucru MATLAB
Handle Graphics®
Biblioteca de funcții matematice a MATLAB-ului
Interfața de aplicații program a MATLAB-ului (API)
Pachetul SIMULINK
SIMULINK® este un pachet software atașat MATLAB-ului și este un sistem pentru simularea dinamicii a sistemelor neliniare cât și celor liniare. Este conceput sub forma unei interfețe grafice care permit crearea unui model prin “trasarea” schemei bloc a sistemului și apoi simularea dinamicii sistemului.
SIMULINK-ul este dedicat sistemelor liniare, neliniare, continue, discrete, logice, multivariabile etc.
SIMULINK are Blockset-uri care sunt de fapt biblioteci suplimentare care conțin aplicații specializate din domenii cum ar fi: comunicații, procesarea semnalelor etc.
Real-time Workshop® este un program foarte important care permite generarea unui cod C pentru schemele bloc create în SIMULINK și prin urmare permite rularea de aplicații în timp real de o mare diversitate.
Toolbox-urile MATLAB
Toolbox-urile sunt un set de aplicații care permit învățarea și adaptarea asupra unor tehnologii specializate din mai multe domenii. Aceste toolbox-uri sunt colecții de funcții MATLAB (functions) (M-files) care extind mediul MATLAB pentru rezolvarea unor clase particulare de probleme.
5.3.3 dSpace DS1103 PPC Controller Board
Pentru a dezvolta un sistem de control complet în timp real trebuie să folosim o platforma de control. Una din modele este dSpace DS1103 PPC.
Avantajele platformei dSpace DS1103 PPC:
Placile de control sunt compacte și versatile
Pentru o varietate de aplicații în control rapid la prototipuri
Procesorul real-time pentru calculul rapid al modelelor
Mai multe componente de I/O
Domeniul de utilizare
Controlerul de dezvoltare și controlul rapid al prototipului sunt domeniile de aplicații ideale pentru DS1103 PPC Controller Board figura 5.3.3.1. Această platform poate fi folosită in Real-Time Interface (RTI), placile de control sunt complet programabile din mediul Simulink diagram de bloc. Placa de control versatilă cu un numar neparalel de module de I/O (incluzând CAN) și de puterea de calcul mare pentru realizarea prototipului de control. Placa de Controler este concepută pentru a satisface cerințele de prototipare modern de control rapid și este foarte potrivit pentru aplicații cum ar fi:
Controlul automotivelor
Controlul motorului de inducție
Robotica
Sisteme de pozitionare și motoare pas cu pas
Controlul activ al vibrațiilor
Dezvoltând un sistem mecatronic, interacțiunea dintre modelul hardware și software crește. Aceast lucru se datorează implementării unei manevre de control complex. Pentru aceasta, proiectantul trebuie să aibă o viziune globală asupra sistemului și componentelor care definesc aplicația. Proiectare bazată pe model este una din soluții unde echipamentul fiind proiectat utilizând un mediu de dezvoltare care să permită modelarea, simularea și testarea tuturor componentelor din cadrul sistemului, înainte ca produsul sa fie realizat fizic.
Acest lucru arată ca proiectantul impune anumite cerințe care trebuiesc îndeplinite sau să facă față prototipului, pentru aceasta, au fost dezvoltate platforme de dezvoltare a controlului, dSpace-ul cu functia principală de proiectare a sistemului de control și interconectarea cu sistemul.
Firgura 5.3.3.1 Sitemul hardware dSpace
Protocolul de comunicație CAN fig.5.3.3.2 are acces simultan la mediul de comunicație tuturor nodurilor. Fiecare nod trebuie să asculte magistrala pentru o anumită perioadă de inactivitate înainte de a încerca emiterea unui pachet de informații. Îndată dupa ce sa terminat perioada de inactivitate, fiecare nod are șanse egale pentru emisie. În cazul în care doua noduri din rețea încep să emită simultan, acestea vor detecta coleziunea și vor acționa pentru a elimina conflictul. Pentru a nu avea situații de conflict se folosește o logica hardware non-distructivă. Acest fapt impune ca pachetul prioritar să rămână intact și să nu apară întârzieri nedorite.
Fig. 5.3.3.2 Rețeaua CAN
Pot fi mai multe tipuri de mesaje transmise de nod și anume: mesaj de baza
(CAN 2.0A) sau mesaj prelungit (CAN 2.0B). În tabele 5.3.3.1 și 5.3.3.2 sunt prezentate structurele acestor tipuri de comunicații:
Tabelul 5.3.3.1 Structura mesajului de comunicație CAN 2.0A
Pentru o magistrală cu lungimea de 40 metri viteza de semnalizare este de maxim 1Mbit/sec. Fiecare nod trebuie sa aiba o adresa unica identificata care poate sa citeasca pachetele emise pe magistrala. Biții din mesajul transmis pot fi atât dominanți (0 logic), cât și retrași
(1 logic). Pe baza diferențelor succesiunilor de biți din identificatorul mesajului (Tabelul 5.3.3.1 și 5.3.3.2) se execută așa numita arbitrare. Astfel, dacă un nod transmite un bit dominant, iar alt nod transmite un bit retras atunci bitul dominant este prioritar, iar mesajul care conține bitul dominant este lăsat să treacă mai departe în dauna celui cu bit retras care așteaptă sfârșitul mesajului cu bit dominant. Procesul de arbitrare este sesizată de toate nodurile de pe comunicație prin crearea unei tensiuni prin diferența de potențial creată de recepția simultană a unui bit 1 logic și a unui bit 0 logic. În acel moment, nodurile care au transmis mesaje, care sunt mai puțin prioritare și cele care sesizează tensiunea de coliziune așteaptă sfârșitul mesajului care a câștigat arbitrarea, apoi încearcă transmiterea mesajului.
Tabelul 5.3.3.2 Structura mesajului de comunicație CAN 2.0B
5.3.4 Motoarelor Ternary
Actuatorii ternary sunt un sistem de acționare liniară produși de compania WITTENSTEIN modelul TLS-A-046-AA-S-3-30-N-01-001 figura 5.3.4.1 ce îmbină mecanica, cu inteligență, care integrează mai multe componente distincte:
Electronica
De putere, de control și fieldbus
Mecatronică
Motoare pas cu pas sau servomotare cu Feedback encoder
Mecanică
etc.
Actuatorii ternary oferă un control ușor în ceea ce privește poziția, viteza și accelerația, și forța și prevede schimbarea vitezei în timpul mișcării.
Tabelul 5.3.4.1 Semnificația codului actuatorului WITTENSTEIN Ternary
Motoarele ternary sunt echipamentele de acționare a simulatorului auto cu caracteristici profesionale și este disponibil în Laboratorul de Robotica. Principalele caracteristici funcționale ale acestora sunt prezentate în Tabelul 5.3.4.2
Figura 5.3.4.1 Actuatorul WITTENSTEIN Ternary [Wit11]
Tabelul 5.3.4.2 Parametrii actuatorului liniar WITTENSTEIN Ternary
5.3.5 Modelul de automobil la scara
Macheta folosită la realizarea simulatorului auto este materializată printr-o mașină electrică produsă de compania REELY (Fig. 5.3.5.1). Macheta este construită pe un șasiu rezistent la torsiune având transmisie cardanică cu tracțiune 4×4. Suspensiile sunt prevăzute cu 8 amortizoare cu ulei (câte două pentru fiecare roată). Mai mulți parametri tehnici sunt prezentați în Tabelul 5.3.5.1
Fig.5.3.5.1 Modelul de machete.
tab. 5.3.5.1 Parametri tehnici a mașinei
5.4 Definirea ipotezelor pentru realizarea manevrelor de mișcare ale simulatorului
O dată ce sunt definite cerințele aplicației se trece la partea de proiectare a sistemului aceasta, este cea de a doua treaptă din modelul V paragraful 5.1. La această etapă un conceput principal este definirie principiilor și ipotezelor care duca la caracterizarea menevrei de mișcare ce trebuiește realizată astfel încât structura simulatorului să o poată reproduce. Realizarea unei simulări reprezintă defapt reproducerea unei senzații. Senzațiile în mod normal sunt de două tipuri:
Senzații produse în timpul mișcării
Senzații vizuale
Aceste senzații pot fi simulate sau reproduse. În cazul senzaților simulate se incearcă descrierea unui model teoretic asupra unui eveniment din realitate. Implimentarea lor pe un simulator poate deveni complexă atunci când obținem sisteme de ecuții neliniare cu mulți parametri. În astfel de situații se recurge la definirea unor ipoteze și principii, se impun anumite restricții astfel încât am putea elimina din numarul de parametri al ecuațiilor și din gradul de complexitate a modelului matematic. Pentru senzațiile reproduse, se folosește produsul final care poate fi un automobil, robot etc. și se încearcă producerea unor evenimente pentru a determina anumite manevre atât extreme cât și simple, de exemplu, în cazul unui automobil se caută care ar fi viteza maxima cu care ar putea intra într-o curbă ce are un anumit unghi de înclinație. În figura 5.4 este reprezentată structura unui autovehicul vazut dintr-o parte, acesta ne va ajuta să definim anumite ipoteze privind modul de reprezentarare al manevrelor cum ar fi frâna sau derapajul.
Figura. 5.4.1 Structura automobilului simplificată
Reprezentarea autovehiculului în structura 3 dimensională fig.5.4.1 are următorii parametri:
Sistemul de referință OEzEyExE
Automobilul este translatat în urmatătorul sistem 3 dimensional Ovzvyvxv
SRf, SLf sunt suspensiile corespunzătare roților din față
SRs, SLs sunt suspensiile corespunzătoare roților din spate
v , v sunt rotațiile în jurul axelor x si respectiv y din sistemul Ovzvyvxv
În proiectarea și implimentarea manevrelor pentru lucrarea de licența se definisec anumite ipoteze specifice doar modelului.
În cazul frânei automobilul are următoarea tendință de a se comprima suspensiile din față SRf, SLf și se decomprimă suspensiile din față SRs, SLs. În acest caz mașina obține o mișcare de rotație v în jurul axei x și înca o mișcare de rotație în jurul axei y v dar fiind mai mică în raport cu rotația din jurul axei x aceasta se negllijează în cazul de față. Pe axa z nu mai apare nici tip de mișcare.
Pentru derapare care este fenomenul de alunecare într-o direcție înclinată față de direcția normală de mers fig.5.4.2. În acest caz mașina are tendința de a face o rotație v în jurul axei y din sistemul Ovzvyvxv fig.5.4.1. Celelalte mișcăre se consideră neglijabile deoarece sunt mult mai mici în raport cu rotația din jurul axei y. Distribuția de masă a autovehiculului se consideră omogenă[31].
Fig. 5.4.2 Urme de derpare
5.5 Etapele de utilizare al echipamentelor
În figura 5.1 este reprezentată structura bloc al simulatorului auto. Subblocurile interne conectate între ele atât direct căt și indirect (pachetul CarSim) constitue conceptul produsului final. Fiecare din ele au importanță sa majoră chiar de la primul pas adică de la definirea cerinților până la produsul final.
Așa cum, blocul CarSim este folosit pentru a proiecta o manevră de drum, unde am putea observa toate mișcarile impuse. Acel drum este defapt o traiectorie definită de o mulțime de puncte. Acea traiectorie reprezintă reacțiunea de la punctul de contact dintre roata și drumul (Ri).
Reacțiunile drumului corespunzatoare fiecărei roți sunt de forma:
Ri=mai
unde
Ri – reacțiunea corespunzătoare fiecărei roți; i=1;
m – masa roții și a ¼ din masa autovehiculului
a – accelerația în plan vertical al roții.
Pentru a prelua aceste date trebuie să urmăm niște pași:
Deschidem mediul CarSim
Mergem la secțiunea Datasets și ne alegem un model pe care dorim să-l dezvoltăm, în cazul nostru Animator features/Camera tracking:B-class sport car, road course fig.5.5.1
La secțiunea Vehicle configuratation alegem modelul autovehiculului (Indicat cu săgeată) în cazul de față B-Class: Sport car aici este și se poate modifica prametrii dinamici și cinematici al autovehiculului fig. 5.5.2.
La domeniul Procedure se proiectează manevra de drum cu detaliile impuse, avem avantajul de a seta obțineria graficilor anumitor parametri în comparație cu alți parametri de exemplu accelerația longitudinală în raport cu timpul fig.5.5.3.
În momentul în care se fac modificări și/sau adăugări de secțiuni este important de a reveni pe pagina principală fig.5.5.1 și se tasteaza sectiune Run Math Model pentru a recalcula toate funcțiile matematice interne despre dinamica și cinematica automobilului.
La secțiune Animate din pagina principala fig.5.5.1 avem disponibil animația care ne permite vizulizare comportamentului automobilului pe manevra de drum proiectată.
Secțiunea Plot, pagina principală fig.5.5.1 permite vizulizarea grafica a anumitor parametri cinematici sau dinamici al autovehicului în raport cu alți parametri, punctele ce determină acel grafic pot fi salvate fig.5.5.4
Fig.5.5.1 Interfața mediului CarSim
Fig. 5.5.2
Fig.5.5.3
Fig.5.5.4 Traiectoria de mișcare luată din CarSim
Reacțiunile verticale Ri preluate din CarSim sunt date de intrare pentru dezvoltarea modelului în Matlab Simulink în fig. 5.5.5
Fig. 5.5.5
În acest model, blocul de culoare galbenă este blocul unde sunt incluse reacțiunile luate din CarSim. Aceste reacțiuni sunt reprezentate printr-un vector de valori care prin interpolare se obține polinomul caracteristic. Dacă interpolarea acelui vector se face printr-un singur segment, în final vom obține un polinom de interpolare de grad destul de mare la care procesul tehnologic nu va ține față. Deoarece, determinarea poziției, vitezei și accelerației (funțiile (4.11)) este destul de dificilă datorită numarului mare de coeficienți polinomiali, cât și determinarea extremelor pentru derivatele de ordin superior. Însa, acest calcul este destul de important, fiindcă vitezele și accelerațiile pe traiectoria de mișcare sunt limitate de capacitatea fizică a sistemului de acționare și comandă. Pentru aceasta, interpolarea acelui vector trebuie facută pe mai multe segmente așa cum ii descris în capitolul patru pentru a obține polinoame de interpolare cu grad mic, maxim cinci. Blocul de culoare roz este blocul de comandă a actuatorilor electrici iar semnalul de referință poate fi în pozitie ( portocaliu deschis) sau în viteza (portocaliu inchis). Actuatorii ternary sunt identificați fiecare în parte de bocurile de transimisie Tx și receptie Rx a semanlului de comanda fig.5.5.6 și fig.5.5.7.
Algoritmul de control în timp real pentru simulatorul auto este realizat prin intermediul platformei de dezvoltare dSpace iar comunicația cu actuatorii utilizați se bazeaza pe protocolul de comunicatie CANopen fig. 5.3.3.2. Actuatorii ternary în structura lor au integrate unități electrice cu controlere în buclă inchisă. Astfel, se poate determina eroarea care este diferența
dintre semnalul masurat și semnalul de referință. Controlerul are rolul de a minimiza această eroare prin regalrea marimilor de intrare în proces.
Dupa realizarea modelului de comanda în matlab simulink, se proiectează interfața cu utilizatorul fig.5.5.8 în mediul de dezvoltare ControlDesk din pachetul dSpace. Acesta ne permite să facem conexiune dintre structura software care este comanda realizată în simulink și structura hardware adică simulatorul auto. Interfața dezvoltată conține mai multe campuri. Blocul „Homing” reprezintă referința zero pentru actuatorii electrici. Blocul Direct Kinematics permite acționare motoarelor ternary fară a avea o traiectorie impusă. Sectiunea MOVE permite actionarea actuatorilor ce va urmari traiectoria de miscare impusă.
Blocul Pozitie ne permite vizualizarea fiecarui motor în mișcare din moment ce este acționat.
Fig.5.5.6 Mesajul de identficare a actuatorilor, blocul de transmiei Tx a semnalului de comanda.
Fig.5.5.7 Mesajul de identficare a actuatorilor, blocul de receptie Rx a semnalului de comanda.
Fig.5.5.8 Interfața HMI realizată în dSpace ControlDesk
Capitolul 6 Rezultate numerice
6.1 Etapele de implimentare ale algoritmului de control
O dată ce s-a realizat o primă etapă de dezvoltarea a algoritmului de control pentru simulator. Unde, aceasta primă etapă include blocul RTI, blocurile de identificare al actuatorilor pentru transmisia și recepția semanlului de comandă fig.5.5.6 și fig. 5.5.7. După construirea și includerea acestor componente interne se începe dezvoltarea algoritmului de control pentru fiecare motor în parte, șase în total. Pentru partea de comandă sau dezvoltat doua tehnici de acționare a actuatorilor. Primul principiu tehnic este dezvoltat într-o manieră bazată pentru siguranță simultarului urmărind principiile cinematicii directe adică se permite acționarea fiecărui actuator în parte din HMI-ul realizat în Control Desk dezvoltat de dSpace figura 5.5.8. În acest mod, se pot obține cursele minime și maxime ale actuatorilor astfel încât macheta mașinuței la scară să nu se rupă sau se pot verifica anumite constrângeri impuse dacă se îndeplinesc. În general, controlul manual al actuatorilor ne permit crearea unor mișcari de tip rotație și translație pentru platformele mecanismelor. Blocul responsabil pentru această acțiune este direct_kinematics cel de culoare verde din figura 5.5.5. Cea dea doua procedură se referă la implimentarea manevrei de mișcare impusă pentru simulator ce respectă condițiile de planificare a traiectorie din capitolul patru. Pentru aceasta îi nevoie de urmărit niște pași:
Determinarea traiectoriei de mișcare definită de o mulțime de puncte.
Traiectoria obținuță este formată de un singur segment care se împarte în mai multe segmente astfel încât după interpoalare să se obțină polinoamele pentru poziție, viteză și accelerație conform relațiilor redate în capitolul patru.
Se interpolează segmentele obținute ce determină coeficienții polinomiali corespunzători acelor segmente.
Apoi se evaluează fiecare segment pe perioada stabilită de simulare.
Valorile obținute pentru poziție sunt datele de intrare pentru motoare .
Daca se dorește ca datele de intrare pentru actuatori să fie în viteză se mai pune câte un bloc de derivare semnalului de ieșire în poziție.
Pentru a realiza etapele de interpolare a punctelor ce definesc traiectoria și evaluare a polinoamelor se recurg la anumite funcții definite în matlab.
Polyfit este funcția matlab responsabilă pentru determianrea polinomului prin intrepolare a unei curbe. Se poate defini în mai multe moduri:
P = POLYFIT(X,Y,N) descrisă în acest fel, funcția polyfit caută coeficienții polinomiali al polinomului P(X) de gradul N pentru segmentul definit de vectorul de valori N. Rezultatul lui P este un vector linie de lungime N+1 care conține coeficienții polinomiali incepând de la puterea cea mai mare, .
[P,S] = POLYFIT(X,Y,N) în modul acesta definită, se returnează coeficienții P și o structură S pentru obținerea erorii eistimate de predicție folosindu-se funcția POLY VAL.
Funcția polyval evaluează polinomul într-un anumit punct sau mai multe puncte, se definește în felul următor: Y = POLYVAL(P,X) ce returnează valoarea polinomului evaluată în punctul X. P este un vector de lungime N+1 a carei elemente sunt ceeficienții polinomiali începând de la puterea ce mai mare . Dacă X este o matrice sau un vector atunci polinomul este evaluat de toate datele lui X. Implimentarea algoritmului de comanda se realizează în Embedded Matlab. Embedded Matlab function block este o cale ușoară si convenabilă de a scrie cod-m prin intermediul Matlabului care mai apoi se poate integra la modelul din Simulink. În acest caz a fost nevoie de folosirea altei funcții pentru a putea folosi celelalte două funcții POLYFIT și POLYVAL în algoritmul dezvoltat aceste sunt definite în următorl fel: p_coef1=polyfit(t1,l1,6) și y1=polyval(p_coef1,t1).
Acea funcție este EML.EXTRINSIC care permite declarea unei funcții de a fi extrinsecă și instruiește embedded-ul matlab dar nu le compilează. Se definește în felul următor EML.EXTRINSIC('FCN') unde se declară funcția FCN de a fi extrinsecă în cazul de față este:
eml.extrinsic('polyint','plot','display','clc');[29]
Astfel, în timpul rulării, Embedded Matlab transferă controlul în Matlab care rezolvă și execută funcțiile extrinsece. Acestă funcție nu are nici un efect în Matlab, doar în Embedded Matlab se aplică. O dată după ce sa realizat aceste cerințe se trece la conectarea între componente. Se face conectarea PC-ului la dSpace prin intermediul unui cablu cu fibră optică. Sistemul dSpace este conectat la panoul de conector dSpace prin intermediul a trei mufe centronix. Motoarele sunt conectate la sistemul dSpace prin portul CAN via DB9.
Ordinea de pornire a echipamentelor este următoarea:
Actuatorii
Computerul
dSpace
După pornirea calculatorului, se deschide Matlab de pe icon-ul de pe desktop:
În fereastra principala se chimba pe următorul director d:\IGOR\CAN motor homing\ figura 6.1
iv
Figura 6.1
În directorul curent tab-ul nu este activ, activarea se face dând un click pe urmatoarea secțiune figura 6.2.
Figura 6.2
Din directorul curent se dechide modelul dezvoltat în Simulink
Să se asigure că cheia pentru dispozitivul hardware dSpace este inserat în unul din porturile USB al computerului.
După deschiderea modelului în Simulink acesta se poate transfera în sistemul dSpace selectând din meniul tools submeniul real-time-workshop și se face build pentru model (sau se testează Ctrl+B ) figura 6.3.
figura 6.3
Transferul programului este terminat atunci când în fereastra principală din Matlab este apărut semnul “>>”.
Interfața cu utlizatorul pentru sistemul dSpace este realizată în soft-ul ControDesk.
Se deschide ControlDesk accesând iconul respectiv de pe desktop.
Din meniul file se alege open experiment figura 6.4
figura
Se deschide experimentul sub numele de homing.cdx din d:\IGOR\CAN motor homing. Dacă nu se deschide, se deschide atunci interfața realizată (layout) din zona de stângă a ferestrei figura 6.5 dânduse dublu click pe modelul dezvoltat.
fig.6.5
După aceasta se alege modul animate din toolbar figura 6.6. Și atunci toate interfețele sunt active.
figura 6.6
Testare și Validare
După realizarea acestor pași se poate începe partea de testare și validare pentru datele numerice. Acționarea motoarelor din blocul direct_kinematics. Graficul rezultat în urma acționărilor este dat de o funcție direct proporționlă adica, f(t)=Kt., K fiind un factor de amplificarea. K poate lua valori între 0 și 300 ce reprezintă cursa normală a actuatorului. Graficul funcției f(t) este (figura 6.7):
Figura 6.7 Cursa realizată de un motor acționat din dSpace
Traiectoria definită de mulțimea de puncte este împarțită pe segmente apoi acele segmente sunt interpolate (figura 6.8) pentru a obține polinoamele de interpolare resective segmentelor. Graficul dat de suma segmentelor trebuie să se suprapună cât mai mult peste graficul format de mulțimea de puncte.
Figura 6.8 Traiectoria de mișcare formată din segmente interpolate
Manevra de mișcare implimentată pentru mecanismul plan prevede rezolvarea problemei cinematicei inverse. Aceasta se refera la determinarea coordonatelor generalizate corespunzătoare fiecărui actuator d1, d2, d3 cunoscându-se parametri platformei (capitolul 3.21). O dată ce sau determint d1, d2, d3 aceste se interpolează pentru a se obține polinoamele de interpolare corespuunzatoare. Rezultatele experimentale sunt prezentate în urmatoarele grafice (figura 6.9 pentru d1, figura 6.10 pentru d2 și figura 6.11 pentru d3 ):
Figura 6.9
Figura 6.10
Figura 6.11
Perioada dintre doua puncte consecutive din setul de puncte ce definește traiectoria este mică și anume T=0.025. Un aspect destul de important este ca aceasta perioadă să se mențină constant pentru fiecare punct în contrar pot aparea inerți la nivel de mecanism ce poate duce la distrugere. Acesta este o constrăngere temporară importantă ce în cazul de fațâ este indeplinită. Timpul de simulare care este de 14 secunde la fel este o altă constrângere temporară îndeplinită.
Capitolul 7 Concluzii
Lucrare a avut ca scop “Dezvoltarea și implimentarea unui algoritm de control pentru un simulator auto”. S-a realizat un algoritm de control pentru acționarea fiecărui actuator în parte ce antrenează mecanismul plan și cel spațial.
Pașii necesari pentru realizarea proiectului sunt descriși cu ajutorul metodologiei de proiectare a sistemelor mecatronice modelul-V (figura 5.1.2). Structura de control (figura 5.1) pentru simulatorul auto ne permite o vizualizare în ansamblu în ideea că s-au indicat blocurile principale ce constituie prototipul și tipul unidirecțional sau bidirecțional de comunicație dintre echipamentele principale.
Dispozitivele software și hardware alese pentru dezvoltarea simulatorului sunt compatibile. Legile de control compilate și transmise prin comunicație CANopen spre echipamentele de control care sunt actuatorii ternary, lucrează în timp real prin intermediul dSpace-ului.
Pentru a putea monitoriza, controla afișa și înregistra prametrii simulatorului auto în timp real s-a realizat un HMI cu ajutorul mediului de dezvoltare ControlDesk. Simulatorul auto poate avea limitari de natura mecanică și electrică.
Modelarea cinematică a mecanismelor este realizată cu ajutorul funcțiilor de transmitere. Prin rezolvarea problemei cinematice inverse sunt calculați parametri de mișcare ai actuatorilor d1, d2 și d3 și unghiurile , și , astfel încât platforma simulatorului să reproducă mișcarile impuse. Prin rezolvarea problemei de cinematică directă se determin parametrii platformei centrului de greutate xe, ye și unghiul φe , și unghiurile θ11, θ12, θ13, dacă s-au acționat actuatorii q1, q2 și q2.
Simulatoarele auto au o arie extinsă de utilizare, aceste fiind prezente începând de la activitățile de distracție până la activități de cercetare și testare avansată. Aplicațiile simulatoarelor auto sunt diversificate, câteva exemple reprezentative fiind: intereacțiunea om-mașină, studii referitoare la comportamentul șoferilor; design de drumuri, piesaje, tuneluri; dezvoltarea sistemelor de asistare avansată etc. Cu ajutorul simulatoarelor auto se poate reproduce orice scenariu din trafic ori de câte ori este necesar, într-o manieră suficientă, fără riscuri și cu preț de cost scăzut.
Bibliografie
Se ordonează alfabetic și în ordine cronologică, times new roman (12), un singur rând.
[1] D.G. Sporea, A. Sporea, „Noi abordări privind instruirea soferilor utilizând simulatoarelor auto”, 2011;
[2] http://dexonline.ro/definitie/simulare
[3] J. –H. Kim, W. –S. Lee, K. Park, “A Design and Characteristic Analysis of the Motion Base for Vehicle Driving Simulator”, IEEE International Workshop on Robot and Human Communication, pag. 290-294,1997.;
[4] J. J. Slob, „State-of-the-Art Driving Simulators, a Literature Survey”, DCT report,
Eindhoven University of Technology, 2008.
[5] M. Dagdelen, G. Reymond, A. Kemeny, M. Bordier, N. Maizi, „MPC based motion
cueing algorithm: Development and application to the ultimate driving simulator”, 2004.
[6] M. Fischer, „Motion platform technology and motion cueing algorithms”, MSC 2007,
Braunschweig, 2007.
[7] „Guide to the Motionbase motion cueing algorithms”, Motionbase (Holdings) Ltd.,
1999.
[8] R. Hosman, S. Advani, N. Haeck, “Integrated design of flight simulator motion cueing
systems”, The Aeronautical Journal, pag. 1-12, Ianuarie, 2005.
[9] B. Loureiro, “Motion Cueing in the Chalmers Driving Simulator: A Model Predictive
Control Approach”, M.Sc. thesis, Chalmers University of Technology, Göteborg, Sweden,
2009.
[10] R. J. Telban, F. M. Cardullo, “Motion Cueing Algorithm Development: Human-
Centered Linear and Nonlinear Approaches”, Langley Research Center, Hampton, Virginia,
Mai, 2005.
[11] N. A. Kaptein, J. Theeuwes, R. Van Der Horst, Driving Simulator Validity: Some
Considerations, Journal of the Transportation Research Board, Vol. 1550, pag. 30-36, 1996.
[12] R. Andy, W. Huang, C. Chihsiuh, „A Low-Cost Driving Simulator for Full Vehicle
Dynamics Simulation”, IEEE Transactions on Vehicular Technology, Vol. 52, No. 1, ag.162-172, 2003.
[13] H. Arioui, S. Hima, L. Nehaoua, “2 DOF Low Cost Platform for Driving Simulator:
Modeling and Control”, 2009 IEEE/ASME International Conference on Advanced Intelligent
Mechatronics, Singapore, 2009.
[14] A. Capustiac, B. Hesse, T. Brandt, D. Schramm, C. Brisan, “Design of a Flexible Low- Cost Driving Simulator”, The 1st Joint International Conference on Multibody System Dynamics, Lappeenranta, Finland, May 25-27, 2010.
[15] F. Casolo, S. Cinquemani, M. Cocetta, “Functional mechanical design of a low cost
driving simulator”, Proceeding of the 5th International Symposium on Mechatronics and its Applications (ISMA08), Amman, Jordan, Mai 27-29, 2008.
[16] B. A. Guvenic, E. Kural, “A low-cost, multiple-driver-in-the-loop simulator”, IEEE
Control Systems Magazine, pag. 42-55, Iunie 2006.
[17] L. Nehaoua, A. Amouri, H. Arioui, “Classic and Adaptive Washout Comparison for a
Low Cost Driving Simulator”, Proceedings of the 13th Mediterranean Conference on Control
and Automation, Limassol, Cyprus, pag. 586-591, Iunie 27-29, 2005.
[18] A. Lundqvist, B. Gerdle, J. Ronnberg, “Neuropsychological Aspects of Driving After a
Stroke -in the Simulator and on the Road”, Appl. Cognit. Psychol. 14, pag. 135-150, 2000.
[19] K. –H. Bang, “Development of Dynamics Modeling in the Vehicle Simulator for Road
Safety Analysis”, SICE Annual Conference, Kagawa University, Japan, pag. 649-653, Sept. 17-20, 2007.
[20] M. Borowiec, A. K. Sen, G. Litak, “Vibrations of a vehicle excited by real road profiles”,
Forsch Ingenieurwes 74, pag. 99–109, 2010.
[21] http://en.wikipedia.org/wiki/Simulation
[22] http://facultate.regielive.ro/cursuri/mecanica/cinetostatica-mecanismelor-94003.html
[23] I. A. BONEV ,” GEOMETRIC ANALYSIS OF PARALLEL MECHANISMS”, NOVEMBRE 2002
[24] P. AGARWAL, K. VISHWAJEET ,“KINEMATIC MODELING AND ANALYSIS OF3-PRR PARALLEL MANIPULATORUSING MATLAB GUI“, December 2009.
[25] I. Negreanu, I. Vuscan, N. Haiduc ,“Robotica Modelarea cinematică și dinamică“, editura didactică și pedagogică, 1997
[26] http://ru.wikipedia.org/wiki/V-Model
[27] http://bigfoot.cs.utt.ro/~cami/sptr/caract-str.html,
[28] http://www.carsim.com/products/carsim/index.php
[29] The MathWorks , „Embedded Matlab’ s user guide”, september 2007
http://www.mathworks.com/products/matlab/,
[30] http://www.dspace.com/en/ltd/home/products/hw/singbord/ppcconbo.cfm
[31] E. Buștiuc ,”Dinamica accidentelor rutiere generată de impactul autovehicul-pieton”Acronime
TRR -Transalție-Rotație-Rotație
USB – Universal Serial Bus
HMI- Human Machine Interfaces
GUI- Graphical User Interfaces
CAN- Controller Area NetworkAnexa
Bibliografie
Se ordonează alfabetic și în ordine cronologică, times new roman (12), un singur rând.
[1] D.G. Sporea, A. Sporea, „Noi abordări privind instruirea soferilor utilizând simulatoarelor auto”, 2011;
[2] http://dexonline.ro/definitie/simulare
[3] J. –H. Kim, W. –S. Lee, K. Park, “A Design and Characteristic Analysis of the Motion Base for Vehicle Driving Simulator”, IEEE International Workshop on Robot and Human Communication, pag. 290-294,1997.;
[4] J. J. Slob, „State-of-the-Art Driving Simulators, a Literature Survey”, DCT report,
Eindhoven University of Technology, 2008.
[5] M. Dagdelen, G. Reymond, A. Kemeny, M. Bordier, N. Maizi, „MPC based motion
cueing algorithm: Development and application to the ultimate driving simulator”, 2004.
[6] M. Fischer, „Motion platform technology and motion cueing algorithms”, MSC 2007,
Braunschweig, 2007.
[7] „Guide to the Motionbase motion cueing algorithms”, Motionbase (Holdings) Ltd.,
1999.
[8] R. Hosman, S. Advani, N. Haeck, “Integrated design of flight simulator motion cueing
systems”, The Aeronautical Journal, pag. 1-12, Ianuarie, 2005.
[9] B. Loureiro, “Motion Cueing in the Chalmers Driving Simulator: A Model Predictive
Control Approach”, M.Sc. thesis, Chalmers University of Technology, Göteborg, Sweden,
2009.
[10] R. J. Telban, F. M. Cardullo, “Motion Cueing Algorithm Development: Human-
Centered Linear and Nonlinear Approaches”, Langley Research Center, Hampton, Virginia,
Mai, 2005.
[11] N. A. Kaptein, J. Theeuwes, R. Van Der Horst, Driving Simulator Validity: Some
Considerations, Journal of the Transportation Research Board, Vol. 1550, pag. 30-36, 1996.
[12] R. Andy, W. Huang, C. Chihsiuh, „A Low-Cost Driving Simulator for Full Vehicle
Dynamics Simulation”, IEEE Transactions on Vehicular Technology, Vol. 52, No. 1, ag.162-172, 2003.
[13] H. Arioui, S. Hima, L. Nehaoua, “2 DOF Low Cost Platform for Driving Simulator:
Modeling and Control”, 2009 IEEE/ASME International Conference on Advanced Intelligent
Mechatronics, Singapore, 2009.
[14] A. Capustiac, B. Hesse, T. Brandt, D. Schramm, C. Brisan, “Design of a Flexible Low- Cost Driving Simulator”, The 1st Joint International Conference on Multibody System Dynamics, Lappeenranta, Finland, May 25-27, 2010.
[15] F. Casolo, S. Cinquemani, M. Cocetta, “Functional mechanical design of a low cost
driving simulator”, Proceeding of the 5th International Symposium on Mechatronics and its Applications (ISMA08), Amman, Jordan, Mai 27-29, 2008.
[16] B. A. Guvenic, E. Kural, “A low-cost, multiple-driver-in-the-loop simulator”, IEEE
Control Systems Magazine, pag. 42-55, Iunie 2006.
[17] L. Nehaoua, A. Amouri, H. Arioui, “Classic and Adaptive Washout Comparison for a
Low Cost Driving Simulator”, Proceedings of the 13th Mediterranean Conference on Control
and Automation, Limassol, Cyprus, pag. 586-591, Iunie 27-29, 2005.
[18] A. Lundqvist, B. Gerdle, J. Ronnberg, “Neuropsychological Aspects of Driving After a
Stroke -in the Simulator and on the Road”, Appl. Cognit. Psychol. 14, pag. 135-150, 2000.
[19] K. –H. Bang, “Development of Dynamics Modeling in the Vehicle Simulator for Road
Safety Analysis”, SICE Annual Conference, Kagawa University, Japan, pag. 649-653, Sept. 17-20, 2007.
[20] M. Borowiec, A. K. Sen, G. Litak, “Vibrations of a vehicle excited by real road profiles”,
Forsch Ingenieurwes 74, pag. 99–109, 2010.
[21] http://en.wikipedia.org/wiki/Simulation
[22] http://facultate.regielive.ro/cursuri/mecanica/cinetostatica-mecanismelor-94003.html
[23] I. A. BONEV ,” GEOMETRIC ANALYSIS OF PARALLEL MECHANISMS”, NOVEMBRE 2002
[24] P. AGARWAL, K. VISHWAJEET ,“KINEMATIC MODELING AND ANALYSIS OF3-PRR PARALLEL MANIPULATORUSING MATLAB GUI“, December 2009.
[25] I. Negreanu, I. Vuscan, N. Haiduc ,“Robotica Modelarea cinematică și dinamică“, editura didactică și pedagogică, 1997
[26] http://ru.wikipedia.org/wiki/V-Model
[27] http://bigfoot.cs.utt.ro/~cami/sptr/caract-str.html,
[28] http://www.carsim.com/products/carsim/index.php
[29] The MathWorks , „Embedded Matlab’ s user guide”, september 2007
http://www.mathworks.com/products/matlab/,
[30] http://www.dspace.com/en/ltd/home/products/hw/singbord/ppcconbo.cfm
[31] E. Buștiuc ,”Dinamica accidentelor rutiere generată de impactul autovehicul-pieton”
Acronime
TRR -Transalție-Rotație-Rotație
USB – Universal Serial Bus
HMI- Human Machine Interfaces
GUI- Graphical User Interfaces
CAN- Controller Area Network
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Modelarea Matematica a Simulatorului Auto (ID: 162829)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
