UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Nejc Deželak POSODOBITEV IN ANALIZA REGULACIJSKEGA SISTEMA AVTONOMNEGA V

Podobni dokumenti
Microsoft Word - CNC obdelava kazalo vsebine.doc

DES

Področje uporabe

Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Tr

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Microsoft Word - A-3-Dezelak-SLO.doc

Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega proj

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1

Poskusi s kondenzatorji

Delavnica Načrtovanje digitalnih vezij

2

Microsoft Word - CelotniPraktikum_2011_verZaTisk.doc

Člen 11(1): Frekvenčna območja Frekvenčna območja Časovna perioda obratovanja 47,0 Hz-47,5 Hz Najmanj 60 sekund 47,5 Hz-48,5 Hz Neomejeno 48,5 Hz-49,0

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

STAVKI _5_

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015

10. Meritev šumnega števila ojačevalnika Vsako radijsko zvezo načrtujemo za zahtevano razmerje signal/šum. Šum ima vsaj dva izvora: naravni šum T A, k

101353_-an-01-sl-_vbodni_termometer

LABORATORIJSKE VAJE IZ FIZIKE

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri

innbox_f60_navodila.indd

KRMILNA OMARICA KO-0

Ime in priimek

2018 FJR1300A

Delavnica Načrtovanje digitalnih vezij

Microsoft PowerPoint - DV_Predavanja_Menjalniki_Slo_ ppt [Compatibility Mode]

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

Uradni list RS - 32/2004, Uredbeni del

2017 TMAX SX

Slide 1

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Uvodno predavanje

ANALITIČNA GEOMETRIJA V RAVNINI

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

ISOFT , računalniški inženiring

CelotniPraktikum_2011_verZaTisk.pdf

seminarska_naloga_za_ev

Microsoft PowerPoint - OVT_4_IzolacijskiMat_v1.pptx

Microsoft Word - ELEKTROTEHNIKA2_11. junij 2104

Novi SEAT Tarraco.

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah

Diapozitiv 1

NOVA H Y BR I D

IZVEDBENA UREDBA KOMISIJE (EU) 2018/ z dne 16. julija o spremembi Izvedbene uredbe (EU) 2017/ za razjasnitev in

Base NET.cdr

SEAT Ateca.

FGG13

2017 TMAX DX

Macoma katalog copy

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu

DES11_realno

POROČILO IZ KONSTRUKCIJSKE GRADBENE FIZIKE PROGRAM WUFI IZDELALI: Jaka Brezočnik, Luka Noč, David Božiček MENTOR: prof. dr. Zvonko Jagličič

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y

1 Tekmovanje gradbenih tehnikov v izdelavi mostu iz špagetov 1.1 Ekipa Ekipa sestoji iz treh članov, ki jih mentor po predhodni izbiri prijavi na tekm

SEAT Tarraco.

resitve.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

Microsoft Word - Pravila - AJKTM 2016.docx

Microsoft PowerPoint - CIGER - SK 3-15 Izkusnje nadzora distribucijskih transformatorjev s pomo... [Read-Only]

10108-Bench-mark-brochure-6pg.indd

Microsoft Word - M doc

Microsoft Word - Astronomija-Projekt19fin

ŠKODA SUPERB INFORMATIVNI CENIK ZA MODELSKO LETO 2020 Cene Motorne različice Serijska oprema

Podatkovni model ER

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

EVROPSKA KOMISIJA Bruselj, C(2019) 1294 final UREDBA KOMISIJE (EU) / z dne o spremembi Uredbe (EU) 2017/2400 in Direktive 2007/46/

Slide 1

AUSTRALIAN OPEN PONUDBA

Microsoft Word - M docx

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft PowerPoint - cigre_c2_15.ppt [Compatibility Mode]

Osnove statistike v fizični geografiji 2

Overview

DN5(Kor).dvi

FIZIKA IN ARHITEKTURA SKOZI NAŠA UŠESA

PRIMER DOBRE PRAKSE Projekt MESA- Mechatronics in energy saving applications, projekt Leonardo da Vinci, Prenos inovacij With the support of the Lifel

DES

VETRNO KOLO

Gradbeništvo kot Industrija 4.0

CT_JumpyVU_0417.indd

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx

7. VAJA A. ENAČBA ZBIRALNE LEČE

UPS naprave Socomec Netys PL (Plug in) UPS naprava Socomec Netys PL moč: 600VA/360W; tehnologija: off-line delovanje; vhod: 1-fazni šuko 230VAC; izhod

Navodila za uporabo Mini snemalnik

CITROËN C4 PICASSO IN GRAND C4 PICASSO TEHNIČNI PODATKI

Direktiva Komisije 2014/44/EU z dne 18. marca 2014 o spremembi prilog I, II in III k Direktivi Evropskega parlamenta in Sveta 2003/37/ES o homologacij

Slajd 1

Slide 1

5 Programirljiva vezja 5.1 Kompleksna programirljiva vezja - CPLD Sodobna programirljiva vezja delimo v dve veliki skupini: CPLD in FPGA. Vezja CPLD (

Uradni list Republike Slovenije Št. 44 / / Stran 6325 PRILOGA II Del A NAJVEČJE MERE IN MASE VOZIL 1 NAJVEČJE DOVOLJENE MERE 1.1 Največja

Datum in kraj

VARIMOT® in pribor

PowerPoint Presentation

Uradni list Republike Slovenije Št. 17 / / Stran 2557 Verzija: v1.0 Datum: Priloga 1: Manevri in tolerance zadovoljive izurjeno

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

Dolgoročna zanesljivost.

Diapozitiv 1

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Univerzalni zračni kompresor Bruder Mannesmann 097 T Kataloška

ZUNANJOST Življenje je polno izzivov in lepih trenutkov. Naj nemir prebudi čustva in notranjo lepoto. 1 4 Vstopite v svet presežkov, kjer sanje odseva

Transkripcija:

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Nejc Deželak POSODOBITEV IN ANALIZA REGULACIJSKEGA SISTEMA AVTONOMNEGA VOZILA V OKVIRU PROJEKTA STADTPILOT Diplomsko delo Maribor, september 2015

POSODOBITEV IN ANALIZA REGULACIJSKEGA SISTEMA AVTONOMNEGA VOZILA V OKVIRU PROJEKTA STADTPILOT Diplomsko delo Študent: Študijski program: Smer: Mentor: Somentor: Nejc Deželak Univerzitetni študijski program Elektrotehnika Avtomatika in robotika izr. prof. dr. Rajko Svečko doc. dr. Andrej Sarjaš

rfu Univerza v Mariboru rf*, Faku lteta za elektrotehniko, ra[unalni(tvo in informati ko Smetanova ulica 17 2000 Ma ribor, Slovenija Stevilka: E1.069503 Datum in kraj: 19.06. 2015, Maribor Na osnovi 330. dlena Statuta Univerze v Mariboru (Ur. l. RS, 3t.46l2}t2l izdajam SKTEP O DIPTOMSKEM DEIU L. Nejcu Deielaku, Studentu univerzitetnega Studijskega programa ELEKTROTEHNIKA, Avtomatika in robotika, se dovoljuje izdelatidiplomsko delo. 2. MENTOR: izr. prof. dr. Rajko Svefko SOMENTOR: doc. dr. Andrej Saria5 3. 4. Naslov diplomskega dela: POSODOBITEV IN ANALIZA REGULACIJSKEGA SISTEMA AVTONOMNEGA VOZITA V OKVI RU PROJEKTA,'STADTPI LOT'' Naslov diplomskega dela v angleikem jeziku: CONTROT SYSTEM UPDATE AND ANALYSIS OF AN AUTONOMOUS VEHICLE IN THE PROJECT''STADTPILOT'' 5. Diplomsko delo je potrebno izdelati skladno z "Navodili za izdelavo diplomskega dela" in ga oddati v treh izvodih (dva trdo vezana izvoda in en v spiralo vezan izvod) ter en izvod elektronske verzije do 30. 09. 201-5 v referatu za Studentske zadeve. Pravni pouk: Zoper ta sklep je mozna pritozba na senat ilanice v roku 3 delovnih dni. @ffi, prof. dr. Borut Zalik -'"&ty..r--"d Obvestiti: o kandidata, o mentorja, o somentorja, o odloiiti v arhiv. W: feri.um.si I E: feri@um.si I T:02 2207000 F:A2220 7272 TRR:01100 6090106039 ld: 517t674705

Posodobitev in analiza regulacijskega sistema avtonomnega vozila v okviru projekta Stadtpilot Ključne besede: regulacije, avtonomna vožnja, stadtpilot, vzdolžni in prečni regulator. UDK: 681.51:004.896(043.2) Povzetek V diplomskem delu analiziramo in prenovimo regulacijski sistem avtonomnega vozila. Delo se nanaša na računalniško voden testni avtomobil VW Passat, ki je osrednji produkt projekta Stadtpilot na Tehnični Univerzi v Braunschweigu. Pri njem želijo prenoviti programsko arhitekturo avtonomnega sistema zaradi česar se med drugim spremeni vmesnik do regulatorja. Cilj regulatorja po prenovi je čim natančneje slediti trajektoriji vsebujočo točke v dvodimenzionalnem prostoru, ki določajo željeno pozicijo, hitrost, pospešek in usmeritev. Najprej se lotimo izgradnje matematičnega modela vozila nato pa se posebej osredotočimo na vzdolžno in prečno regulacijo. Uspešnost prenove in izboljšave regulacijskega sistema dokažemo z rezultati simulacij in testiranj.

Autonomous vehicle control system update and analysis in the project Stadtpilot Key words: closed-loop systems, autonomous driving, stadtpilot, longitudinal and lateral control UDK: 681.51:004.896(043.2) Abstract In these bachelor thesis we analyse, update and improve the control system of an autonomous vehicle. Our work is based on a computer driven VW Passat that is the main subject of research in the project Stadtpilot at the Technical University of Brunswick. In attempt to reorganize the software architecture of the autonomous system the interface to the control system has been changed. The main task of the controller is now to make the car precisely follow a given trajectory that contains information about the wanted position, velocity, acceleration and yaw-angle. Firstly we build a mathematical model of the test vehicle, then we separately study and build the longitudinal and lateral controllers. We prove our successful work with results from simulation and test drives.

Zahvaljujem se družini za neizmerno in čudovito podporo. Še zlasti očetu, ki me je navdušil za elektrotehniko ter mi pogosto olajšal študij z uporabnimi nasveti. Hvala vsem prijateljem, ki ste mi polepšali študijska leta ter vsem profesorjem, ki ste me vzpodbujali in mi ves čas stali ob strani. Naštevati imena bi bilo predolgo in hkrati krivično do tistih, ki bi jih ob tem pozabil. Nazadnje se moram zahvaliti tudi vsem, ki niste verjeli vame, saj ste bili in boste največji motivatorji na moji življenjski poti.

KAZALO VSEBINE 1 UVOD 1 2 PREDSTAVITEV PROJEKTA STADPILOT 3 2.1 Strojna oprema testnega vozila...................... 4 2.2 Programska arhitektura testnega vozila................. 7 3 UPORABLJENA PROGRAMSKA IN STROJNA OPREMA 9 3.1 Matlab/Simulink............................... 9 3.2 Microautobox II............................... 12 4 MODELIRANJE DINAMIKE VOZILA 15 4.1 Glavne komponente modela........................ 15 4.2 Pogonski sklop............................... 17 4.3 Pnevmatike................................. 21 4.4 Dvosledni model.............................. 27 5 SINTEZA VZDOLŽNEGA REGULATORJA 30 5.1 Linearni vzdolžni model.......................... 31 5.2 Sinteza zakasnilnega kompenzatorja................... 33 5.3 Predkrmilnik................................. 36 5.4 Kalmanov filter............................... 38 5.5 Končni avtomat............................... 40 5.6 Reguliranje vzdolžnega odstopanja.................... 42 6 SINTEZA PREČNEGA REGULATORJA 44 6.1 Linearni model 5. reda........................... 45

6.2 Regulator usmeritve............................ 48 6.3 Regulator prečnega odstopanja...................... 50 6.4 Varnostni vidik prečnega regulatorja................... 53 6.5 Modul za ocenjevanje lege ter prečnega in vzdolžnega odstopanja vozila.................................... 54 7 REZULTATI SIMULACIJ IN TESTIRANJ 59 7.1 Test vzdolžnega regulatorja v simulacijskem okolju........... 59 7.2 Test vzdolžnega regulatorja na realnem vozilu.............. 62 7.3 Test prečnega regulatorja v simulacijskem okolju............ 65 8 KONČNA OCENA IN ZAKLJUČEK 70 A PRILOGA: OCENJEVANJE LEGE VOZILA 74 B PRILOGA: OCENJEVANJE PREČNEGA ODSTOPANJA 76

KAZALO SLIK 2.1 Testno vozilo "Leonie"in ekipa z leta 2010................. 3 2.2 Pregled CAN omrežij in povezanih naprav................. 5 2.3 Električna shema varnostnega sistema testnega vozila......... 6 2.4 Pregled glavnih programskih komponent................. 8 3.1 Primer Simulink programske kode..................... 12 3.2 MicroAutoBox II............................... 13 3.3 Primer RTI blokov za vzpostavitev CAN povezave............ 14 4.1 Globalen sistemski vidik vozila...................... 16 4.2 Glavni podsistemi modela vozila..................... 17 4.3 Karakteristika motorja............................ 18 4.4 Karakteristika zavore............................ 20 4.5 Tipična oblika magične formule....................... 23 4.6 Diagram sil pnevmatike in ponazoritev pomembnih količin........ 24 4.7 Krog sil................................... 26 4.8 Utežitvena funkcija za računanje vzdolžne sile.............. 26 4.9 Diagram sil dvoslednega modela..................... 28 5.1 Struktura vzdolžnega regulatorja...................... 31 5.2 Primerjava stopničnega odziva linearnega(vijolično) in nelinearnega modela(rumeno)............................... 32 5.3 Primerjava stopničnega odziva linearnega(vijolično) in nelinearnega modela(rumeno) pri manjšem plinu.................... 33 5.4 Lastnosti prvega regulatorja........................ 36

5.5 Lastnosti drugega regulatorja........................ 37 5.6 Delovanje Kalmanovega filtra na primeru ocenjevanja pozicije vozička. 39 5.7 Primerjava izmerjene(modro), ocenjene (roza) in dejanske hitrosti v rumeni barvi................................. 40 5.8 Analiza vpliva Kalmanovega filtra na krmilni signal regulatorja..... 41 5.9 Potek prehajanja stanj končnega avtomata................ 42 5.10 Vzdolžno odstopanje brez popravljanja referenčne trajektorije..... 43 5.11 Vzdolžno odstopanje s popravljanjem referenčne trajektorije...... 43 6.1 Struktura prečnega regulatorja....................... 45 6.2 Grafična ponazoritev spremenljivk enačbe 6.5.............. 48 6.3 Krivulja lege korenov za lineariziran model usmeritve.......... 49 6.4 Stopnični odziv ob uporabi P-regulatorja................. 50 6.5 Vpliv dominantne ničle na stopnični odziv sistema............ 52 6.6 Določitev smeri prečnega odstopanja preko v 1 v 2............ 56 6.7 Primer ko ocena algoritma ni relevantna.................. 57 6.8 Princip izračuna vzdolžnega odstopanja (v modri barvi)......... 58 7.1 Reguliranje hitrosti.............................. 60 7.2 Podrobnejši pogled na regulacijo hitrosti.................. 60 7.3 Krmilni signali plina in zavore za odsek na sliki 7.2............ 61 7.4 Napaka regulatorja............................. 61 7.5 Reguliranje agresivnejšega hitrostnega profila.............. 62 7.6 Krmilni signali zavora in plina za odsek 60. in 70. sekundo slike 7.5.. 63 7.7 Pogled na notranjost testnega vozila in pripravo testne vožnje..... 63 7.8 Rezultati testiranj vzdolžnega regulatorja................. 64 7.9 Krmilni signali zavore v času testne vožnje................ 65 7.10 Uspešnost regulacije usmeritve...................... 66 7.11 Sledenje željeni liniji ob uporabi zgolj regulatorja usmeritve....... 66 7.12 Uspešnost sledenja liniji ob dodatku regulatorja prečnega odstopanja. 67 7.13 Uspešnost sledenja liniji ob dodatku regulatorja vzdolžnega odstopanja. 68

7.14 Razlika med dejansko (rdeče) in ocenjeno (modro) pozicijo vozila po 15 sekundah vožnje............................. 69 7.15 Povečevanje napake ocene pozicije vozila po preteklih 80 sekundah.. 69

KAZALO TABEL 3.1 Seznam funkcij za kreiranje LTI objektov................. 10 3.2 Uporabne Matlab funkcije pri analizi linearnih sistemov......... 11 4.1 Pacejka parametri za računanje vzdolžnih in prečnih sil pnevmatik... 25 4.2 Tabela koeficientov utežitvenih funkcij za računanje vzdolžnih in prečnih sil..................................... 27 5.1 Tabela parametrov zakasnilnega kompenzatorja............. 37

Poglavje 1 UVOD Avtonomna vožnja postaja realnost. Vsako moderno vozilo dandanes vsebuje kopico elektronskih naprav, ki so sposobne delno ali v celoti za omejen čas prevzeti nadzor nad vožnjo. Postavlja se vprašanje ali bomo upravljanje vozila v prihodnosti popolnoma predali tem inteligentnim sistemom. Takšen tehnološki napredek bi zagotovo radikalno sprememnil naš življenjski stil. Tako bi lahko vožnjo v službo izkoristili za branje časopisa, spanje ali pa nenazadnje za dragoceno druženje z našo družino. Še več, avtonomna vožnja bi zagotovo bistveno zmanjšala ali pa celo izničila pereč problem visokega števila smrtnih žrtev na cestah. Nenazadnje bi tudi lahko izboljšali pretočnost prometa. Po izkušnjah z razvoja preteklih tehničnih izdelkov lahko sklepamo, da bo prehod v samovozeča vozila postopen in skorajda neopazen. Pri NHTSA(National Highway Traffic Safety Administration) so tako denimo definirali štiri stopnje avtonomnosti[16]: 1. stopnja: Funkcijsko specifična avtonomnost, 2. stopnja: Kombinirana funkcijsko specifična avtonomnost, 3. stopnja: Omejena avtonomnost in 4. stopnja: Popolna avtonomnost. Pod prvo stopnjo avtonomnosti dandanes spada že večina vozil srednjega razreda, kjer lahko voznik za kratek čas opusti nadzor nad eno izmed prvin vožnje, najpogosteje je to stopalka za plin. Kot drugo stopnjo avtonomnosti lahko trenutno označimo predvsem vozila višjega razreda, kjer lahko voznik za omejen čas popolnoma prepusti vožnjo avtonomnemu sistemu. Kljub vsemu mora biti ves čas pripravljen na 1

UVOD poseg. Tretja in četrta stopnja se razlikujeta zgolj v tem, da je pri tretji še vedno možen poseg voznika, a ga nadzorni sistem o tem pravočasno obvesti, medtem ko pri vozilu četrte stopnje poseg voznika ni potreben, še več, sploh ni mogoč. Preden pa bodo vozila avtonomnosti četrte stopnje na voljo povprečnemu kupcu, pa bo avtomobilska industrija morala najti ustrezne rešitve in odgovore na vprašanja o standardizaciji tehnologij, umestitvi izdelka v vsakdan kupcev, postavitvi dobičkonosnega poslovnega modela in nenazadnje jasni definiciji predpisov in zakonov, ki bodo poskrbeli za varnost ljudi in njihovih podatkov. [16] Cilj tega diplomskega dela je neposredno povezan s to čudovito in prespektivno tehnično tematiko. V njem želimo v okviru projekta Stadtpilot, ki se ukvarja z razvojem in testiranjem inteligentnih sistemov za avtonomno vožnjo, natančneje preučiti regulacijski sistem testnega vozila in ga prilagoditi na nov koncept vodenja, ki kot vhodni podatek v regulator predpostavlja množico točk željene prevožene trajektorije. Prav tako želimo izboljšati lastnosti regulacijskega sistema z namenom izboljšanja udobnosti vožnje in večje natančnosti sledenja predpisani vozni liniji. V poglavju 2 je podrobneje predstavljen projekt Stadtpilot predvsem z namenom, da bralcu omogoči pregled nad celotnim projektom kot tudi poudari mesto diplomskega dela znotraj njega. Sledi poglavje 3, kjer si ogledamo uporabljeno opremo in orodja. Nato se v poglavju 4 lotimo obravnave vozila s fizikalnega stališča z namenom izgradnje matematičnega modela, ki nam v nadaljevanju diplomskega dela služi kot simulacijsko okolje. Poglavja 5 in 6 predstavljata osrednji del, v njiju analiziramo in zgradimo regulacijski sistem testnega vozila. V poglavju 7 predstavimo rezultate simulacij in testiranj, ki jih v poglavju 8 za zaključek tudi ovrednotimo in podamo končno oceno diplomskega dela. 2

Poglavje 2 PREDSTAVITEV PROJEKTA STADPILOT Slika 2.1: Testno vozilo "Leonie"in ekipa z leta 2010. Projekt Stadtpilot predstavlja eno izmed osrednjih raziskovalnih tem inštituta za regulacije Tehnic ne Univerze Braunschweig(Nemc ija). Glavni cilj projekta je usposobiti testno vozilo VW Passat k avtonomni vožnji okoli mestnega jedra v obsegu 11 kilometrov. Pri tem mora sam menjati pasove, zavijati na križišc ih in zaznati osebe na prehodih za pešce [16]. Na inštitut so zato v ospredju naslednje aktivnosti: Obvladovanje misij in situacij visokih kompleksnosti, ocenitev uspešnosti samopercepcije vozila in njegovih manevrov in 3

Poglavje 2 PREDSTAVITEV PROJEKTA STADPILOT razvoj konceptov in metod za testiranje in razvoj. V tem poglavju si bomo podrobneje pogledali tako dodano strojno opremo avtomobila, ki mu omogoča avtomatsko delovanje, kot tudi njegovo programsko arhitekturo, ki predstavlja inteligenco avtonomnega vozila. 2.1 Strojna oprema testnega vozila Tipala Za uspešno in zanesljivo avtonomno vožnjo potrebujemo bogate informacije o dogajanju v okolici vozila. Te pridobimo s pomočjo različnih tipal. Na testnem vozilu Leonie spadajo med najpomembnejša tipala laserski senzorji, kamere ter navigacijsko-inercijska enota. Avtomobil trenutno poseduje osem laserskih tipal in sicer: štiri SICK LMS151 na vsakem vogalu vozila (kot merjenja 270 stopinj). dva SICK LD-MRS na sredini sprednjega in zadnjega odbijača (kot merjenja 110 stopinj), Hella IDIS2 na sredini sprednjega odbijača (kot merjenja 160 stopinj) in tridimenzionalni Velodyne HDL-64S2 na strehi avtomobila, ki se ves čas vrti. Strojni vid avtomobila dopolnjujejo še tri naprej in ena nazaj usmerjena kamera, ki pa so trenutno v uporabi zgolj za dokumentacijo. Za določitev globalne lege se v vozilu uporablja navigacijsko-inercijski sistem itracert-f200, ki vsebuje pospeškometer ter optični žiroskop za določanje fizikalnih količin kot so kotna hitrost, pospešek in hitrost. Prav tako se v sistemu izvajajo posebni algoritmi, ki izboljšajo natančnost GPS signala. [17] 4

Poglavje 2 PREDSTAVITEV PROJEKTA STADPILOT Krmilja in CAN omrežje Za vzpostavitev nadzora nad vozilom potrebujemo tako kot človeški voznik krmiliti aktuatorje, ki so sposobni spreminjati lego vozila. Voznikovi krmilni signali pri vožnji so pozicija stopalke za plin in zavoro ter zasuk volana. Nič drugega ne potrebujemo pri računalniško vodenemu vozilu, le da tu krmiljenje aktuatorjev poteka povsem elektronsko. Na testnem vozilu Leonie so vsi krmilniki kot tudi ostale elektronske naprave priključeni na CAN 1 omrežje[18]. Slika 2.2 prikazuje glavne elektronske komponente, ki so posebej pomembne za vodenje vozila, vključno z imeni podomrežij na katere so priključene. S štirih osebnih računalnikov, ki izvajajo vse glavne programske procese, se preko omrežja Regler-CAN pošiljajo željene kot tudi izmerjene količine za regulacijo. MicroAutoBox je krmilna enota za izvajanje regulacijskih algoritmov v realnem-času in bo podrobneje predstavljena v naslednjem poglavju. Watchdog- Gateway predstavlja vmesni člen med krmilnimi signali MicroAutoBox in glavnimi krmilniki. Njegova vloga je izključno varnostne narave in bo podrobneje predstavljena v naslednjem podpoglavju. Ob izpolnjenih varnostnih pogojih se vsi krmilni signali iz Regler-CAN prenesejo na Slika 2.2: Pregled CAN omrežij in povezanih naprav. 1 Controller Area Network, protokol za komuniciranje elektronskih naprav v bus topologiji. 5

Poglavje 2 PREDSTAVITEV PROJEKTA STADPILOT Aktorik-CAN omrežje na katerem so povezani servomotor za zasuk volana, Aktorikbox, ki elektronsko krmili količino dovedenega goriva v motor, ter Bremse Booster, ki je sposoben krmiliti hidravlični sistem pri zaviranju in tako uravnavati zaviralno silo vseh koles[18]. Varnostni sistem Pri avtonomni vožnji je potrebno veliko pozornost posvetiti varnostnemu sistemu, ki strogo zagotavlja varen izklop avtomatskega delovanja. Pri projektu Stadtpilot predstavlja Watchdog-Gateway skupaj z enostavnimi električnimi varnostnimi mehanizmi glavni del varnostnega sistema vozila. Kot prikazuje slika 2.3, imamo za glavnim dovodom napetosti akumulatorja zaporedno vezani stikali S1 in S2, pri čemer je prvo delovno drugo pa mirovno. Stikalo S1 predstavlja posebno ključavnico Slika 2.3: Električna shema varnostnega sistema testnega vozila vgrajeno v armaturo vozila s katero priključimo napetost avtonomnemu sistemu. Mirovno stikalo S2 predstavlja zasilno gobasto tipko, ki jo lahko sproži voznik v sili. Za 6

Poglavje 2 PREDSTAVITEV PROJEKTA STADPILOT obe stikali so nato priključene tuljave relejev K20, K30 in K40. Vsi med njimi imajo nalogo fizičnega priklopa krmilnih enot in aktuatorjev. Drug člen varnostnega sistema je Watchdog-Gateway, ki je v svojem bistvu končni avtomat. Njegova naloga je, da spremlja višino napetosti baterije ter pravilnost delovanja CAN-omrežja in krmilnih enot. Prav tako igra vlogo posrednika krmilnih signalov med Microautobox in ostalimi krmilnimi enotami. Avtomatsko delovanje nemudoma prekine ob naslednjih treh scenarijih: Trda prekinitev(pritisnjena gobasta tipka ali obrnjen ključ) Mehka prekinitev (Napake pri CAN-komunikaciji, nepravilno delovanje krmilnih enot ali aktuatorjev, prenizka napajalna napetost,...) Poseg voznika (Pritisk na zavoro, plin ali zasuk volana). 2.2 Programska arhitektura testnega vozila Programska oprema vozila je tista, ki osmisli in izkoristi vse zmožnosti zgoraj predstavljene strojne opreme. Je tudi tista, ki daje vozilu navidez neverjetno in magično inteligenco. Namen tega poglavja je predvsem podati pregled programske arhitekture testnega vozila in s tem razjasniti idejo o različnih zahtevnih računskih procesih, ki so potrebni za avtonomno vožnjo ter lokalizirati osrednjo temo tega diplomskega dela s prespektive celotnega projekta. Slika 2.4 prikazuje povzetek sistemske arhitekture vozila in neke vrste sekvenco dogodkov, ki se morajo zgoditi, preden krmilne enote za plin, zavoro in zasuk volana dobijo svoje potrebne ukaze. Prva pomembna faza je lokalizacija vozila glede na okolico. Pri tem se upoštevajo tako GPS informacije kot tudi vzporedno opazovanje in ocenjevanje pozicije vozila s pomočjo podatkov notranjih inercijskih senzorjev. Ko si avto približno ustvari sliko kje se nahaja, si to oceno poizkuša interpretirati in popraviti glede na podatke geografskih kart z baze. Seveda vozilo v prometu ni osamljeno zato je potrebno podrobneje analizirati tudi dogajanje v trenutni okolici. Okolica se interpretira s fuzioniranjem informacij vseh laserskih senzorjev, kjer se s posebnimi algoritmi zazna okoliške objekte. Vsak objekt se identificira za bodisi sta- 7

Poglavje 2 PREDSTAVITEV PROJEKTA STADPILOT Slika 2.4: Pregled glavnih programskih komponent. tičnega bodisi dinamičnega. Hkrati se vzporedno izvajajo ocene pozicije in hitrosti detektiranih objektov glede na vozilo. Vse dosedaj zbrane informacije o poziciji avtomobila in dogajanju v njegovi okolici predstavljajo osnovo zadnjega odseka arhitekture, ki poizkuša avto pripeljati na željen cilj. Pod ta odsek spada v prvi vrsti navigacija, katere cilj je upoštevajoč razmere na cesti ubrati najbolj optimalno pot. Navigaciji sledi modul za načrtovanje trajektorije, ki natančno definira potek gibanja vozila. Pri tem vzame v ozir tako želje navigacije kot tudi vse statične in dinamične ovire na cesti. Zadnji člen v verigi predstavlja regulacija, katere naloga je preko ukazov krmilnim enotam čim natančneje izvesti predpisano trajektorijo. Zadnji programski modul je tudi osrednja tematika tega diplomskega dela. 8

Poglavje 3 UPORABLJENA PROGRAMSKA IN STROJNA OPREMA V tem poglavju podrobneje predstavimo zmožnosti programske in strojne opreme potrebnih za snovanje tega diplomskega dela. Najprej naredimo pregled programskega paketa Matlab/Simuink, ki smo ga uporabili za analizo in sintezo regulacijskega sistema ter matematičnega modela vozila, nato pa si podrobneje pogledamo lastnosti krmilne enote Microautobox, na kateri se v času avtonomne vožnje izvaja regulacijski algoritem. 3.1 Matlab/Simulink Matlab in Simulink sta ena izmed temeljnih programskih produktov podjetja MathWorks, ki spadata med najpopularnejša orodja mnogih tehničnih in znanstvenih disciplin. Matlab tvori jedro vseh produktov in je sam po sebi visokonivojski interpretativni programski jezik, ki pa vsebuje tudi grafični vmesnik in bogato razvojno okolje. Simulink je posebno okolje znotraj Matlaba, ki bazira na grafičnem programiranju, kjer programsko kodo gradimo z bloki in signalnimi povezavami med njihovimi vhodi in izhodi. Seveda se v ozadju generira Matlab programska koda in bi bilo možno isto aplikacijo razviti tudi v golem programskem jeziku, a je razvoj časovno potratnejši in manj intuitiven. Med drugim nam njuna orodja omogočajo[14]: Poglobljene matematične analize, razvoj matematičnih modelov, razvoj regulacijskih algoritmov, 9

Poglavje 3 UPORABLJENA PROGRAMSKA IN STROJNA OPREMA simulacijo mehanskih, hidravličnih, elektronskih, energetskih in komunikacijskih sistemov, generiranje programske kode za druge platforme, signalno procesiranje, razvoj algoritmov strojnega vida, merjenja in testiranja itd. Za pričujoče diplomsko delo smo v fazi načrtovanja regulacijskih algoritmov poleg samega osnovnega paketa Matlab in Simulink uporabljali predvsem orodja za razvoj regulacijskih algoritmov in povezljivosti Matlaba z ostalimi programskimi jeziki. S tega razloga ta orodja podrobneje predstavljamo v nadaljevanju. Orodja za analizo in razvoj regulacijskih sistemov Tako Matlab kot Simulink nam omogočata široko paleto funkcij, ki so uporabne pri razvoju regulacijskih algoritmov. Definiranje objekta, ki nam predstavlja zapis linearnega sistema v enem izmed transformiranih področij ali v časovnem področju, se lahko izvede na več načinov kot to prikazuje tabela 3.1. Zaradi interpretativne narave programske kode je te ukaze možno zapisati kar v komandno okno ali pa odsek programske kode zapišemo v skripto ter jo nato ob poljubnem času zaženemo. Naše okolje sestavlja tudi delovni prostor, kamor se shranjujejo vse definirane podatkovne strukture v dani seji. Ko imamo definiran model, lahko o njemu veliko izvemo že z nekaj kratkimi ukazi, Ime funkcije tf(num, denum, Ts) zpk(zero, pole, gain) ss (A, B, C, D) Opis funkcije definiranje preko koeficientov racionalne funkcije definiranje preko polov, ničel in ojačanja definiranje sistema v prostoru stanj Tabela 3.1: Seznam funkcij za kreiranje LTI objektov. 10

Poglavje 3 UPORABLJENA PROGRAMSKA IN STROJNA OPREMA ki jih povzema tabela 3.2. Nato lahko v komando okno vpišemo ukaz sisotool, ki nam odpre aplikacijo za razvoj regulacijskih algoritmov na modelih z enim vhodom in izhodom. Tu si lahko poljubno definiramo ničle in pole regulatorja ter hkrati opazujemo njihov vpliv na različne odzive regulacijskega kroga. Prav tako nam omogoča izbiro različnih struktur regulacijskega kroga. Ko smo z dizajnom zadovoljni, lahko regulator enostavno izvozimo kot sistemsko funkcijo v lasten delovni prostor. Orodje Simulink nam omogoča enostavno simuliranje modelov in regulacijskih sis- Ime funkcije step lsim bodeplot pole rlocus Opis funkcije stopnični odziv simulacija odziva na izbran vhodni signal bodejev diagram poli sistema diagram lege korenov sistema Tabela 3.2: Uporabne Matlab funkcije pri analizi linearnih sistemov temov. Zelo hitro si lahko zgradimo regulacijski krog kot na sliki 3.1, kjer lahko uporabimo različne generatorje vhodnih signalov in dodobra preizkusimo naš regulacijski sistem. V našem delu smo tudi pogosto uporabili look-up tabele, kjer nam vhodi predstavljajo indekse tabele (tabela je lahko poljubne dimenzije), na izhodu pa dobimo vrednost izbranega elementa tabele. Kot zelo uporabno se včasih izkaže kombiniranje Matlab in Simulink kode, kjer lahko funkcijo napišemo v goli matlab kodi ter jo nato uporabimo kot blok v Simulink okolju z izbranimi vhodi in izhodi taiste funkcije. S-funkcije Kot omenjeno je Matlab visokonivojski interpretativni programski jezik, ki je specializiran za numerično računanje. Omogoča nam programiranje v različnih paradigmah (imperativno, objektno, proceduralno,...), prav tako ne zahteva eksplicitno definiranja tipov uporabljenih spremenljivk in še zlasti olajša računanje s polji podatkov [14]. Vendar pa ima uporabniška prijaznost tudi svojo negativno plat, ki se najbolj izraža 11

Poglavje 3 UPORABLJENA PROGRAMSKA IN STROJNA OPREMA Slika 3.1: Primer Simulink programske kode. v slabše optimirani kodi in posledično počasnejšem delovanju. Zato nam Matlab omogoča, da lahko z njim povežemo programske odseke, ki so napisanih v drugih jezikih kot so C/C++, Fortran in Python. Še zlasti se ta prednost izrazi pri izvajanju simulacij v okolju Simulink, ki ima zaradi svoje grafične narave še slabše optimirano kodo in si lahko na ta način precej pospešimo njegovo delovanje. Vezni člen med okoljem Simulink in kodo napisano v drugem jeziku so S-funkcije. Glavna ideja teh funkcij je, da jih lahko tretiramo kot vsak drug blok, le da je njegova funkcionalnost zapisana v drugem programskem jeziku. To pomeni, da Simulink med izvajanjem zgolj pokliče to funkcijo in po končanju sprejme njene rezultate. Ker pa je ta funkcija, če je zapisana v C/C++ jeziku, že prevedena v strojno kodo, je njeno delovanje neprimerno hitrejše. Tako smo v našem delu večino matematičnega modela vozila zapisali v C-jeziku in ga nato povezali s Simulink okoljem ter v njem izvajali simulacijo. 3.2 Microautobox II Dandanes se velika večina regulacijskih sistemov izvede v obliki algoritmov, ki tečejo kot programska koda na mikroprocesorjih. Zato moramo po uspešni analizi in dizajnu regulatorja le tega posebej implementirati na uporabljeni strojni opremi, kar nam lahko vzame dodatno veliko časa, saj je potrebno v ozir vzeti ustrezen čas tipanja, sinhronizacijo ostalih regulatorjev in drugih procesov, ki uporabljajo mikroprocesor, učenje specifičnih lastnosti in ukazov uporabljene arhitekture, filtriranje signalov ip. 12

Poglavje 3 UPORABLJENA PROGRAMSKA IN STROJNA OPREMA Uporaba MicroAutoBox II platforme nam prehod med analizo in dizajnom ter implementacijo regulacijskih algoritmov precej olajša. Napravo uvrščamo med ECU 1, ki nam omogočajo implementacijo aplikacij v realnem času, med katere med drugim spadajo krmiljenja električnih pogonov in napredni voznikovi asistenčni sistemi [15]. Platforma se ponaša z visoko zmogljivostjo in robustnostjo [15]. V naslednjih dveh odsekih je predstavljena strojna oprema Microautobox II kot tudi dodatna programska oprema, ki nam omogoča enostavno integracijo platforme z okoljem Matlab/Simulink. Slika 3.2: MicroAutoBox II Strojna oprema Platforma MicroAutoBox II se ponaša z vgrajenim mikrokrmilnikom, ki bazira na IBM PPC 750GL procesorju in obratuje z urinim taktom do 900 MHz ter ima na istem čipu tudi dvostopenjski 2MB predpomnilnik. Glavni pomnilnik obsega 16MB ter dodatnih 6MB zgolj za komunikacijo med MicroAutoBox in prenosnim računalnikom. Prav tako vsebuje 16MB flash pomnilnika kamor se shrani programska koda [15]. Odvisno od izvedenke ima platforma vgrajene tudi vmesnike za komunikacijo preko protokolov, ki so najpogosteje uporabljeni v avtomobilski industriji kot so CAN, RTI Ethernet, FlexRay in LIN. Seveda vsebuje mikrokrmilnik tudi klasične digitalne in analogne vhodno/izhodne enote, ki pa na nekaterih izvedenkah niso dostopne [15]. 1 Electronic Control Unit 13

Poglavje 3 UPORABLJENA PROGRAMSKA IN STROJNA OPREMA Programska oprema Glavna povezavo med MicroAutoBox in okoljem Matlab/Simulink predstavlja RTI knjižnica, ki ni nič drugega kot zgolj še ena skupina blokov, ki jih lahko uporabimo pri programiranju v okolju Simulink [15]. Ključen člen pri prenosu programske kode na MicroAutoBox je programsko orodje Simulink Coder, ki zna iz Simulink blokov generirati C/C++ kodo. Pri tem ključno vlogo odigrajo RTI bloki, ki vsebujejo specifične informacije in nastavitve, ki so potrebne za izvajanje kode v realnem času na izbrani platformi[15] (primer teh blokov kaže slika 3.3). Pred nalaganjem kode na MicroAutoBox je še potrebno ustrezno konfigurirati Si- Slika 3.3: Primer RTI blokov za vzpostavitev CAN povezave mulink Coder, da po koncu svojega dela kliče željen prevajalnik in prevede C/C++ kodo v strojno kodo za MicroAutoBox. Pri tem proizvajalec poudarja pomembno dejstvo, da v celotnem postopku ni potrebno napisati niti vrstice dodatne kode. Tako največji del dela pri razvoju aplikacij v realnem času predstavlja sinteza regulacijskih sistemov v okolju Matlab/Simulink. 14

Poglavje 4 MODELIRANJE DINAMIKE VOZILA Pri snovanju diplomske naloge smo veliko časa posvetili tudi študiji in izgradnji matematičnega modela vozila, ki nam je nato služil kot simulator in testno okolje za verifikacijo in validacijo regulacijskih algoritmov. Iz tega razloga je v tem poglavju predstavljeno fizikalno ozadje vseh glavnih sistemov, ki pomembno vplivajo na vožnjo, kot tudi matematična formulacija le teh. Poleg tega bo hkrati na kratko opisana sama realizacija posameznih sklopov v programskem okolju Matlab/Simulink. 4.1 Glavne komponente modela Preden pričnemo z izgradnjo matematičnega modela vozila se je potrebno vprašati o njegovem namenu uporabe, saj lahko le preko te informacije sprejmemo odločitev o tem katere komponente je smiselno modelirati ter kako podrobno želimo le te opisati. Na tem mestu se je potrebno zavedati dejstva, da natančnejsi model skoraj vedno pomeni povečano kompleksnost, ki pa ne nujno prinese bistveno uporabnejših rezultatov navkljub povečani obremenitvi uporabljene računalniške opreme in porabi dragocenega časa. Cilj te diplomske naloge je izvedba regulacije gibanja avtonomnega vozila, tako da čim bolje sledi predpisani trajektoriji. Zaradi tega je potrebno natančno opisati dinamiko vozila tako pri vožnji naravnost kot ob zavijanju. Modeliranja tako kompleksnih sistemov kot je avtomobil, se je najbolje lotiti od zgoraj navzdol. Zato pričnimo z najbolj splošnim pogledom na vozilo in ga poskušajmo obravnavati kot en sam sistem. Pri regulaciji lahko na trajektorijo vozila vplivamo s tremi krmilnimi veličinami. To so: 15

Poglavje 4 MODELIRANJE DINAMIKE VOZILA plin, zavora in zasuk volana. Fizikalne količine, ki jih na avtomobilu lahko merimo so v našem primeru hitrost in vrtilna hitrost vozila okoli vertikalne osi, ki poteka skozi masno središče vozila 1 Tako lahko vozilo globalno predstavimo kot sistem na sliki 4.1. Slika 4.1: Globalen sistemski vidik vozila Plin nas neposredno navezuje, da zmodeliramo sistem, ki preoblikuje pozicijo stopalke za plin v pogonsko silo vozila. Ta sistem lahko nato razdelimo na dva glavna dela. Prvi del prestavlja motor, ki glede na količino dovedenega plina in trenutnega števila obratov na svoji pogonski osi generira določen vrtilni moment. Le ta se preko menjalnika prenese na pogonsko os in nam tako predstavlja drugo komponento pogonskega sklopa. Podobno lahko zavoro obravnavamo kot sistem, ki v odvisnosti od pozicije stopalke za zavoro vpliva na zaviralni moment sprednje in zadnje osi vozila. V našem delu te tri komponente uvrščamo pod pogonski sklop in jih podrobneje predstavimo v naslednjem podpoglavju. Na tem mestu je potrebno poudariti, da v 1 V robotiki in letalstvu bi to os imenovali yaw os. 16

Poglavje 4 MODELIRANJE DINAMIKE VOZILA realnem avtomobilu to nikakor niso edini sistemi pogonskega sklopa, a bo njihova dinamika in vpliv na vožnjo v našem modelu zanemarjena. Ko se pogonski in zaviralni momenti pojavijo na obeh oseh, se morajo na nek način prenesti na vozišče, da lahko vplivajo na obnašanje vozila. To je nedvomno naloga pnevmatik, katerih model je predstavljen v poglavju 4.3. Nazadnje je potrebno še definirati vpliv zgeneriranih sil pnevmatik na gibanje vozila. V našem primeru smo poenostavljeno avtomobil obravnavali kot togo telo in njegovo gibanje opisali preko osnovnih zakonov klasične mehanike. Pri tem smo upoštevali še druge sile iz okolice, ki med vožnjo vplivajo na avtomobil kot so kotalno trenje in zračni upor. Uporabljen model se v literaturi pogosto imenuje dvosledni model in je podrobneje predstavljen v poglavju 4.4. Na ta način smo dobili končno strukturo modela vozila, ki je prikazan na sliki 4.2. Slika 4.2: Glavni podsistemi modela vozila 4.2 Pogonski sklop Motor Kot je bilo predstavljeno zgoraj je pogonski sklop smiselno modelirati kot sistem sestavljen iz motorja, menjalnika in zavore. Vhod motorja je pozicija stopalke za plin, njegov izhod pa pogonski moment, ki predstavlja vhod v prestavni sklop. Pri karakterizaciji obnašanja motorja lahko posežemo po zelo različnih pristopih. Modele bi lahko v grobem razdelili na dinamične fizikalne modele, kjer se upoštevajo vztrajnosti pogonske gredi, zakasnitve pri vbrizgu goriva v delovni prostor motorja, količina zraka, termodinamične razmere motorja itd., in na statične ter empirične 17

Poglavje 4 MODELIRANJE DINAMIKE VOZILA modele. Zaradi prevelike in nepotrebne kompleksnosti smo se v tem delu odločili za enostavnejši pristop in motor opisali s pomočjo tridimenzionalne tabele kot to je to razvidno s slike 4.3. Tabela temelji na meritvah, ki nam jih je poslal proizvajalec Slika 4.3: Karakteristika motorja. avtomobila. Vrtilni moment motorja je tako odvisen od stopalke za plin in trenutnega števila obratov. Takšna navorna karakteristika je splošno značilna za motorje z notranjim zgorevanjem, seveda pa vrednost maksimalnega navora zavisi od njegove konstrukcije. V okolju Simulink smo karakteristiko motorja realizirali s tabelo, kjer je izhodna vrednost statična funkcija obeh vhodov. Ker se razpon števila obratov na minuto ni ujemal s številom elementov tabele, je bilo potrebno opraviti proporcionalni preračun preko enačbe t = (n k)/192, kjer je t indeks tabele, n število obratov motorja in k število obratov motorja v prostem teku. 18

Poglavje 4 MODELIRANJE DINAMIKE VOZILA Menjalnik Osnovni namen menjalnika je ohranjati obratovanje motorja v področju dovolj nizkih obratov pri različnih hitrostih vozila. Kot je razvidno z uporabljene karakteristike motorja na sliki 4.3, prične navor motorja silovito padati pri višjih obratih. Če vemo, da je izhodna moč P enaka P = M w, kjer je M navor motorja, w pa so njegovi obrati, je jasno, da lahko motor razvije veliko moč zgolj v ozkem razponu obratov. Zaradi tega je mehansko energijo smiselno transformirati na način, ki od motorja zahteva vrtenje z nižjimi obrati, kljub temu, da se gnana gred z višjo hitrostjo vozila vrti hitreje. To dosežemo s spreminjanjem prestavnega razmerja med pogonsko in gnano gredjo. V idealnem primeru, ko menjalnik vključno s prenosnim sistemom nima izgub, se mehanska moč v celoti prenese na gnano gred in velja naslednja enačba: M m w m = M k w k kjer sta M m ter M k navora in w m ter w k vrtilne hitrost pogonske in gnane gredi. Prestavna razmerja pri vseh prestavah smo prav tako dobili od proizvajalca testnega avtomobila. Vse kar nam preostane je še zgolj približno opisati karakteristiko prestavljanja avtomatskega menjalnika. Prestavljanje je v sodobnih avtomobilih poleg obratov odvisno tudi od pozicije stopalke za plin, saj si želimo pri večjemu plinu tudi večjo izhodno moč avtomobila, kar dosežemo s kasnejšim prestavljanjem, medtem ko se pri manjšem plinu v ospredje postavlja varčnejša vožnja in zgodnejše prestavljanje. Podoben razmislek velja tudi pri prestavljanju navzdol. Da se izognemo neprestanemu spreminjanju prestavnega razmerja, je smiselno v karakteristiko vnesti histerezo oziroma različno karakteristiko za prestavljanje navzgor in navzdol. V Simulinku smo menjalnik realizirali preko enostavne tabele, ki je glede na trenutne obrate motorja in pozicijo stopalke za plin posredovala zahtevo po spremembi prestavnega razmerja. Nato smo prestavno razmerje enostavno upoštevali pri izračunu navora na izhodu menjalnika kot tudi pri računanju hitrosti motorja glede na frekvenco vrtenja koles. 19

Poglavje 4 MODELIRANJE DINAMIKE VOZILA Zavora Zadnji pomemben element pogonskega sklopa, ki bistveno vpliva na vožnjo vozila, je zavora. Njena naloga je v odvisnosti od pozicije stopalke z ustrezno zaviralno silo vplivati na vrtenje koles. Podobno kot pri motorju, se lahko pri zavori odločimo med natančnimi fizikalnimi modeli in enostavnejšim empiričnim pristopom. Pri projektu smo uporabili že narejeno in preizkušeno karakteristiko zavore, ki smo jo shranili v tabelo in jo povezali z modelom motorja in menjalnika. Pozoren bralec bo na sliki 7.9 opazil, da ima karakteristika še en vhod, to je trenutna hitrost vozila, ter kot izhodno količino pojemek namesto zaviralne sile. Hitrostna odvisnost pojemka vozila odraža Slika 4.4: Karakteristika zavore. dejstvo, da se sila trenja med zavornim diskom in kolesom z višjo hitrostjo povečuje. Pojemek in zaviralna sila pa sta premosorazmerno odvisna preko enačbe 4.1, ki izhaja iz 2. Newtonovega zakona. F z r = m 4 a r (4.1) kjer so: M z - zaviralni moment [Nm], F z - zaviralna sila [N], 20

Poglavje 4 MODELIRANJE DINAMIKE VOZILA m - masa vozila [m], a - pojemek [m/s 2 ], r - polmer kolesa avtomobila [m]. 4.3 Pnevmatike Pnevmatike predstavljajo edini stik med vozilom in podlago ter zaradi tega bistveno vplivajo na dinamiko vožnje [3]. Njihova osnovna naloga je prenesti sile pogonskega sklopa na vozišče, ta pa po zakonu o vzajemnem učinku deluje z enakimi silami nazaj na vozilo. Žal pa so pnevmatike poleg izredne pomembnosti za udobje in stabilnost vožnje tudi zelo kompleksen element, ki se ga matematično težko natančno formulira [4]. Še več, v zadnjih letih je zaradi razvoja sistemov ABS in ostalih sistemov, ki nadzorujejo oprijem koles, postalo področje raziskav pnevmatik eno najaktivnejših v avtomobilski industriji [4]. Matematični modele, ki poskušajo opisati obnašanje pnevmatik, lahko razvrstimo v naslednje skupine: [5] empirični modeli, delno empirični modeli in fizikalni modeli. Popolnoma empiričini modeli se nanašajo na konkreten par pnevmatik, kjer se z meritvami preko identifikacijskih metod poizkuša dobiti enačbe in njihove parametre, ki se najbolj prilegajo meritvam. Na drugi skrajnosti najdemo fizikalne modele, kjer modeli temeljijo na teoretičnih izpeljavah in se pogosto rešujejo z metodo končnih elementov [5]. Nekje vmes med obema skrajnostima se nahajajo modeli, ki poskušajo pnevmatiko opisati kot splošen element avtomobila in je modelom potrebno za konkretno aplikacijo določiti zgolj nekaj parametrov. Ti modeli temeljijo delno na v preteklosti opravljenih meritvah ter delno na osnovnih in enostavnih teoretičnih pristopih, kar jim zagotavlja kompromis med natančnostjo in hitrostjo računanje [5]. 21

Poglavje 4 MODELIRANJE DINAMIKE VOZILA Pacejka model V tem delu smo se modeliranja pnevmatik lotili po zgledu Pacejka modela. Ime nosi po izumitelju Hans Bastiaan Pacejki, ki velja za enega izmed največjih svetovnih strokovnjakov za pnevmatike. Z modelom lahko precej natančno opišemo statično karakteristiko pnevmatik in to z zelo malo parametri ter z numerično relativno neobremenjujočimi enačbami. Vse izpeljanke modela temeljijo na naslednji slavni enačbi, ki se neformalno pogosto imenuje magična formula, saj nima nikakršne fizikalne podlage [6]: Y = D sin(c arctan[(1 E) B x + E arctan(b x)]). (4.2) kjer so: Y - izhod enačbe, x - vhod enačbe, B - faktor strmine, C - faktor oblike, D - faktor maksimalne višine, E - faktor ukrivljenosti. Splošno obliko krivulje prikazuje slika 4.5. Fizikalni pomen vhoda in izhoda magične formule je razložen kasneje. Parametri se v praksi pogosto določijo na osnovi merilnih podatkov pnevmatik, če pa natančnost ujemanja karakteristik pnevmatik ni vezana na konkreten tip pnevmatik, kot je to v našem primeru, pa se koeficienti določijo povsem empirično. Sile pnevmatik Sile, ki jih povzročajo pnevmatike na vozišče lahko razdelimo na vzdolžne in prečne sile, kot je to razvidno s slike 4.6. Vzdolžne sile nastanejo takrat, ko se pnevmatika na stični površini s podlago prične deformirati v vzdolžni smeri. Pogoj za to je 22

Poglavje 4 MODELIRANJE DINAMIKE VOZILA Slika 4.5: Tipična oblika magične formule. razlika med obodno hitrostjo pnevmatike in relativno hitrostjo vozišča glede na vozilo. Drugače povedano to pomeni, da se kolesa vrtijo hitreje oziroma počasneje od prostovrtečih se koles. V strokovni literaturi se ta količina imenuje slip kolesa in je definirana kot: kjer so v - hitrost vozila[m/s], w - kotna hitrost kolesa [rad/s] in r - polmer kolesa [m]. s = v w r v (4.3) Spreminjanje kotne hitrosti kolesa lahko definiramo preko ravnovesja navorov, kot nam to prikazuje enačba 4.4. dw dt = M M r F l r J (4.4) kjer so w - Kotna hitrost kolesa [Hz] M - Vsota navorov pogonske gredi in zavore [Nm] 23

Poglavje 4 MODELIRANJE DINAMIKE VOZILA M r - Zaviralni moment kotalnega trenja [Nm] F l - Vzdolžna sila pnevmatik [N] r - Polmer kolesa [m] Morda se zdi enačba na prvi pogled v nasprotju z intuicijo, saj bi vzdolžne sile pnevmatik morale povečevati hitrost vrtenja koles. Vendar pa mora po drugi strani ta sila delovati v smeri gibanja vozila, kar pomeni, da nasprotuje smeri vrtenja kolesa. Enačba postane še bolj razumljiva, če si predstavljamo, da se kolo pospeši v primeru, ko se na pogonski osi pojavi večji moment kot je trenutna sila pnevmatik. Ker se kolo pospeši, se poveča slip in posledično se tudi poveča vzdolžna sila pnevmatik, ki prepreči nadaljnjo pospeševanje kolesa. Poleg vzdolžnih sil se na pnevmatikah pojavljajo tudi prečne sile. Te sile so posledica prečnih deformacij, ki se pojavijo ko je kot α na sliki 4.6 različen od nič. Ta kot imenujmo kot zdrsa 2. Kot zdrsa je kot med orientacijo kolesa in vektorjem hitrosti Slika 4.6: Diagram sil pnevmatike in ponazoritev pomembnih količin. kolesa. Označimo orientacijo kolesa na sliki 4.6 s kotom δ in kot med v in vzdolžno 2 Angleško slip angle 24

Poglavje 4 MODELIRANJE DINAMIKE VOZILA osjo lokalnega koordinatnega sistema s kotom β, ki ga imenujemo tudi stranski kot zdrsa. Dejansko je δ kot zasuka koles in nam predstavlja enega izmed treh vhodov v naš celoten matematični model vozila. Ker ima naše testno vozilo tako kot vsak osebni avtomobil vrtljivi zgolj prednji kolesi, je δ zadnjih koles vedno nič. Kot zdrsa lahko po sliki 4.6 zapišemo kot: α = δ β. (4.5) Sedaj ko razumemo pojave, ki botrujejo k vzdolžnim in prečnim silam pnevmatik, lahko uporabimo Pacejka krivulje, da čim natančeneje opišemo realcije med vzdolžno silo in slipom ter med prečno silo in kotom zdrsa. Po pregledu literature in ob upoštevanju izkušenj z danega projekta smo za računanje vzdolžne sile v odvisnosti od slipa izbrali naslednje koeficiente po tabeli 4.1. Oznaka koeficienta F l F s B 5.5 0.1 C 3 1.4 D 0.9 1.2 E 1.03 1.4 Tabela 4.1: Pacejka parametri za računanje vzdolžnih in prečnih sil pnevmatik. Krog sil Preden pričnemo analizirati vpliv sil pnevmatik na vozilo, je potrebno k modelu pnevmatik dodati še dodatno omejitev. Dosedaj smo predpostavljali, da lahko vzdolžne in prečne sile izračunamo popolnoma neodvisno in jih enostavno seštejemo. V realnosti ima pnevmatika omejitev na vsoto sil, ki jih lahko generira in je seštevanje rezultatov Pacejka krivulj za vzdolžno in prečno smer pri velikih vsotah nerealistično. Zato se pogosto dinamika pnevmatik prikaže s krogom sil(slika 4.7). Pnevmatika ne more generirati sil izven tega kroga, kar med drugim tudi pomeni, da zelo oster ovinek najlažje speljemo, če pnevmatike nimajo vzdolžnih sil (avto pustimo prosto teči). 25

Poglavje 4 MODELIRANJE DINAMIKE VOZILA Po [2] lahko to omejitev relativno enostavno zapišemo s pomočjo utežitvene funkcije G(slika 4.8), ki po svoji obliki zelo spominja na magično formulo: G = D cos[c arctan(b x)] (4.6) kjer so D - maksimalna vrednost, C - širina vrha krivulje, B - faktor oblike. Slika 4.7: Krog sil Slika 4.8: Utežitvena funkcija za računanje vzdolžne sile. 26

Poglavje 4 MODELIRANJE DINAMIKE VOZILA Ideja utežitvene funkcije je, da pri računanju sil pnevmatik to funkcijo pomnožimo s Pacejka krivuljo. Pri tem za izračun vzdolžnih sil v utežitveno funkcijo vstavimo kot zdrsa, za izračun prečnih sil pa slip. Tako se zagotovi, da vsota prečnih in vzdolžnih sil pnevmatik ni prevelika oziroma izven kroga sil. Parametri obeh utežitvenih krivulj so se izbrali povsem empirično in sicer na način kot prikazuje tabela 4.2. Oznaka koeficienta G(slip) G(α) B 2 5 C 2 4 D 2 3 Tabela 4.2: Tabela koeficientov utežitvenih funkcij za računanje vzdolžnih in prečnih sil. 4.4 Dvosledni model Zadnji glavni podsistem na sliki 4.2 je dvosledni model, ki nam opiše povezavo med silami pnevmatik in gibanjem vozila. Pri tem sta najpomembnejši opazovani količini hitrost in kotna hitrost masnega središča vozila, kar predstavlja tudi naše merilne podatke v času obratovanja. Tudi pri dvoslednem modelu smo naredili nekaj poenostavitev. Med njih sodita predvsem zanemarjenje nihanja vozila okoli vzdolžne osi in ista orientacija obeh sprednjih koles. Na podlagi teh poenostavitev lahko narišemo diagram sil kot to prikazuje slika 4.9. Najprej zapišimo z enačbo 4.7 vektor hitrosti v lokalnem koordinatnem sistemu vozila kot v = v cosβ e x + v sinβ e y. (4.7) Če to enačbo odvajamo, dobimo izraz za vektor pospeška v lokalnem koordinatnem sistemu kot je to zapisano v enačbi 4.8. dv dt = v cosβ e x v sinβ β e x +v cosβ ψ e y + v sinβ e y +v cosβ e y β v sinβ ψ e x 27 (4.8)

Poglavje 4 MODELIRANJE DINAMIKE VOZILA Slika 4.9: Diagram sil dvoslednega modela Pri tem smo upoštevali, da je d e x dt = e y ψ in d e y dt = e x ψ. Če enačbo posebej uredimo po komponentah vsake osi, dobimo v enačbi 4.9 kot rezultat izraz za pospešek v smeri osi e x in e x. a x = v cosβ v ( β + ψ)sinβ v sinβ + v ( β (4.9) + ψ)cosβ a y Ta dva izraza lahko uporabimo, da povežemo pospeška s silami v smeri obeh koordinatnih osi preko dobro znanega Newtonovega zakona z naslednjima enačbama. ΣF x = m a x (4.10) ΣF y = m a y. (4.11) Če najprej pomnožimo 4.10 s cosβ in 4.11 s sinβ in ju seštejemo, dobimo diferencialno enačbo 4.12, ki opisuje spreminjanje hitrosti vozila. m v = ΣF x cosβ + ΣF y sinβ (4.12) Prav tako lahko pomnožimo 4.10 s sinβ in 4.11 s cosβ ter 4.11 odštejemo od 4.10 in tako dobimo diferencialno enačbo 4.13, ki opisuje spreminjanje kota stranskega 28

Poglavje 4 MODELIRANJE DINAMIKE VOZILA zdrsa β. β = ΣF y cosβ ΣF x sinβ m v ψ (4.13) Da lahko enačbi zares uporabimo, moramo še definirati povezavo med silami pnevmatik in silami, ki so definirane v lokalnem koordinatnem. Njihova povezava sledi z naslednjima enačbama iz enostavne geometrije. F x = F l cosδ F s sinδ (4.14) F y = F l sinδ + F s cosδ (4.15) Podobno lahko napišemo tudi za vsoto navorov okoli masnega središča vozila, ki nam poda enačbo 4.16 spreminjanja kotne hitrosti masnega središča vozila. ΣM = J ψ =F xvr b/2 + F yvr l v F xvl b/2 + F yvl l v F xhl b/2 F yhl l h (4.16) +F xhr b/2 F yhr l h. S tem imamo opisan celoten dvosledni model vozila, ki kot vhod dobi vzdolžne in prečne sile pnevmatik, na izhodu pa generira hitrost, stranski kot zdrsa, kot zdrsa in kotno hitrost okoli masnega središča vozila. Dvosledni model kot tudi model pnevmatik smo v Simulinku implementirali z uporabo S-funkcij, kjer smo vsebino obeh funkcij napisali v C programskem jeziku. 29

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA Pod pojmom vzdolžni regulator najpogosteje razumemo reguliranje pospeška in hitrosti v longitudinalni smeri kot tudi reguliranje oddaljenosti do naslednjega vozila [1]. Glavna mehanizma za doseganje tega cilja sta zavora in plin [1]. Verjetno je javnosti najbolj znan produkt "tempomat", ki ga vozniki najpogosteje uporabljajo na odsekih, kjer je željena hitrost vozila za dalj časa konstantna. Cilj našega regulacijskega sistema je čim natančneje slediti predpisanim točkam trajektorije, ki z intervalom 100ms konstantno prihajajo na vhod regulatorja. Pri tem nas pri vzdolžnem regulatorju izmed vseh parametrov posamezne točke zanimata zgolj referenčna hitrost in referenčni pospešek. V okviru tega diplomskega dela smo sprememnili strukturo dosedanjega vzdolžnega regulatorja in ga adaptirali na nov koncept vodenja. Regulacijski sistem sestavljajo naslednji gradniki: zakasnilni kompenzator, predkrmilnik, kalmanov filter in končni avtomat. Zgradbo blokovno ponazarja tudi slika 5.1. V tem poglavju je podrobneje predstavljen namen in postopek sinteze posameznih sklopov. Še prej si ogledamo pridobitev linearnega modela, ki ga uporabimo za sintezo regulatorja in predkrmilnika. Rezultati simulacij in testiranj so predstavljeni v 8. poglavju. 30

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA Slika 5.1: Struktura vzdolžnega regulatorja. 5.1 Linearni vzdolžni model Pri sintezi linearnega regulatorja nas pogosto zanima linearni model sistema, ki ga poskušamo regulirati, saj lahko le na ta način izkoristimo vsa orodja v povezavi z linearnimi, časovno invariantnimi sistemi in s tem dobimo boljši vpogled v lastnosti sistema kot tudi lastnosti zgrajenega regulacijskega kroga. Izbira linearnega modela pri tem ni trivialna, saj si želimo model, ki čim natančeneje opiše dinamiko reguliranega sistema v različnih delovnih točkah [20]. Vzdolžna dinamika vozila je odvisna od pogonskega sklopa, pnevmatik ter nenazadnje od njegove mase in izgub. Linearizacija vzdolžnega dela nelinearnega modela predstavljenega v poglavju 5 je v našem primeru precej zahtevna, saj je celoten pogonski sklop modeliran preko tabel, ki so zelo nelinearen element. Tudi model pnevmatik je izrazito nelinearen, a bi pri njemu lahko naredili poenostavitev v obliki linearne odvisnosti med longitudinalno silo in slipom pnevmatik. Še najlažje bi bilo linearizirati dinamiko vozila, ki opisuje vpliv sil pnevmatik na pospešek in hitrost. Pri diplomski nalogi smo izbrali empirični pristop in smo vzdolžno dinamiko aproksimirali s sistemom 1. reda. Pri tem smo ob konstantnem plinu posneli odziv nelinearnega sistema ter na njegovi podlagi določili časovno konstantno τ in enosmerno ojačanje A. Časovna konstanta predstavlja čas, ki ga potrebuje sistem, da doseže 62,5% maksimalne hitrosti, medtem ko je enosmerno ojačanje razmerje med maksimalno hitrostjo in dovedenim plinom. Sistemska funkcija vozila ima tako sledečo 31

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA obliko: H(s) = A τs + 1. (5.1) Kot je razvidno s slike 5.2, je odziv nelinearnega sistema precej podoben odzivu sistema 1. reda, razlike se pojavijo predvsem pri štartu, kjer avtomobil v realnosti ne more v trenutku maksimalno pospešiti, saj potrebuje motor z notranjim zgorevanjem višje obrate za produciranje maksimalnega momenta. Slika 5.3 prikazuje Slika 5.2: Primerjava stopničnega odziva linearnega(vijolično) in nelinearnega modela(rumeno). primerjavo odziva linearnega in nelinearnega modela pri nižjem plinu, kjer je opazna očitna razlika. Razlog leži predvsem v tem, da maksimalna hitrost ni linearno odvisna od dovedenega plina kot to predpostavlja linearni model. Pri sintezi regulatorja je pomembneje natančno ujemanje časovne konstante, saj nam le ta definira dinamiko sistema, ki nas pri sintezi regulatorja tudi najbolj zanima. V našem primeru je τ znašal 29.49 in A 0.501. Za aproksimacijo pri nižjem plinu bi τ znašal 36.35 in A 0.6898. Kljub razlikam sta pola v diskretni domeni za oba primera skoraj identična in ležita pri 0.99965 oziroma pri 0.9997, kar pomeni, da imata zelo podobno dinamiko in je naš model dovolj natančen za različne delovne točke. 32

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA Slika 5.3: Primerjava stopničnega odziva linearnega(vijolično) in nelinearnega modela(rumeno) pri manjšem plinu. 5.2 Sinteza zakasnilnega kompenzatorja Potem ko smo določili linearni model testnega vozila, se lahko lotimo sinteze regulatorja hitrosti. Linearni model vzdolžne dinamike vozila lahko v diskretni domeni z intervalom tipanja 10ms predstavimo kot: H(z) = 0.000176021 z 0.99965. (5.2) Ker leži realni pol blizu enotske krožnice v z-ravnini, to pomeni, da ima njegov stopnični odziv relativno veliko časovno konstanto. Z uvedbo regulatorja bi si to dinamiko želeli izboljšati, a je pri tem potrebno poudariti pomembno dejstvo: vozilo ne more pospešiti hitreje kot mu to dovoljuje pogonski sklop. Z drugimi besedami, regulator vozilu ne more dovesti več kot 100% plina. Zato z regulatorjem ne moremo vplivati na maksimalni pospešek avtomobila, lahko pa izboljšamo druge lastnosti kot so: natančnost sledenja referenčnemu signalu, vpliv šuma meritev na regulacijski krog in 33

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA obnašanje regulatorja ob hitrih spremembah referenčnega signala. Natančnost sledenja referenčnemu signalu lahko preverimo preko izračuna statičnega in hitrostnega pogreška. Če bi naš sistem povezali v zaprto zanko z enotskim ojačanjem napake, bi naš regulacijski krog imel ob referenčnem signalu 10 m s statično napako e = lim z 1 (z 1) V (z) 1 + R(z) H(z) = (z 1) 10 z z 1 1 + 0.000176021 z 0.99965 = 6.6537, (5.3) torej celih 66%. Hitrostni pogrešek bi v primeru linearnega referenčnega signala s koeficientom strmine 2 m s 2 znašal: e = lim z 1 (z 1) V (z) 1 + R(z) H(z) = (z 1) 2 z (z 1) 2 1 + 0.000176021 z 0.99965 =, (5.4) kjer so v enačbah 5.3 in 5.4: V(z) - Sistemska funkcija referenčnega signala, R(z) - sistemska funkcija regulatorja v direktni veji, H(z) - sistemska funkcija reguliranega sistema. Hitrostni pogrešek bi ob neskončno trajajočem linearnem referenčnem signalu postajal čedalje večji. Ker so po izračunih sodeč časovne lastnosti regulacijskega sistema slabe oziroma nezadovoljive, bomo s tega razloga uporabili zakasnilni kompenzator, ki ima v diskretni domeni splošno obliko R(z) = K (z b) (z a), (5.5) pri čemer bomo pol a izbrali 1 ter s tem odpravili statično napako in ob ustrezno izbrani ničli ter ojačanju tudi zmanjšali hitrostni pogrešek. Pri zakasnilnem kompenzatorju mora v z-ravnini ničla ležati bolj levo od izbranega pola. Sinteze regulatorja smo se lotili z uporabo aplikacije sisotool v programskem okolju Matlab. Program nam omogoča grafično postavitev ničel in polov kot tudi določitev ojačanja regulatorja. Pri tem imamo hkrati možnost opazovati različne lastnosti zaprte zanke kot so frekvenčna karakteristika, lega zaprtozančnih polov, stopnični odziv itd. 34

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA Položaj pola smo si že izbrali, zato imamo na voljo še dve prostnosti stopnji, to sta položaj ničle in ojačanje regulatorja. Pri izbiri teh dveh parametrov smo opazovali predvsem stopnični odziv zaprte zanke kakor tudi frekvenčno karakteristiko regulatorja in sistema. Prva lastnost nam daje idejo o hitrosti regulatorja, čeprav kot že diskutirano vozilo ne more pospešiti hitreje kot mu to dovoljuje pogonski sklop, a lahko na podlagi tega kljub vsemu opazujemo dinamiko regulatorja. Druga lastnost nam predvsem prikazuje vpliv merilnega šuma na regulacijski krog. Izkaže se, da moramo pri sintezi regulatorja izbrati kompromis med njegovo dinamiko in vplivom šuma v povratni veji. Zelo hiter regulator namreč slabše zaduši vse višjefrekvenčne motnje, ki se pojavijo na senzorju in propagirajo skozi celoten regulacijski sistem. Na drugi strani lahko s počasnim regulatorjem ravnokar opisan problem rešimo, a pri tem morda ne dobimo zadovoljive odzivnosti regulacijskega sistema. Z ostalimi gradniki poizkušamo izboljšati ta kompromis v prid dinamike regulatorja. Analizirajmo še vpliv položaja ničle in vrednosti ojačanja na lastnosti regulacijskega sistema. Z ojačanjem spreminjamo lego zaprtozančnih polov. V našem primeru imamo v z-ravnini dva pola, prvega od regulatorja in drugega od sistema. Z večanjem ojačanja pomikamo zaprtozančna pola proti ničli oziroma proti izhodišču z-ravnine. To pomeni, da pri velikem ojačanju odpravimo vpliv enega izmed polov in tako dobimo regulacijski sistem, ki odraža lastnosti sistema 1.reda. Ojačanje nam neposredno vpliva tudi na frekvenčno karakteristiko direktne veje, kjer z višjim ojačanjem premika amplitudno karakteristiko navzgor in na ta način povečuje vpliv merilnega šuma na regulacijski krog, ki ima po navadi visokofrekvenčno vsebino. Pozicija ničle na drugi strani pomembno vpliva na potek krivulje lege zaprtozančnih polov. Bližje kot je ničla polu, bolj zaduši njegov vpliv, torej potrebujemo manj ojačanja za dosego iste dinamike. V nadaljevanju sledi primerjava vpliva vrednosti ojačanja in pozicije ničle na lastnosti regulacijskega sistema za dva med seboj zelo različna primera. Za prvi regulator smo izbrali ničlo zelo blizu naravnemu polu sistema ter povečali ojačanje zaprte zanke na 337. Kot je razvidno s slike 5.4(a), ima stopnični odziv vzponski čas v rangu pol sekunde. Slika 5.4(b) prikazuje njegovo frekvenčno karakteristiko, s katere je razvidno, da regulator dobro prepušča frekvence vse do 35

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA približno 25Hz. V drugem primeru smo izbrali ničlo bolj levo od pola in ojačanje zmanjšali na 49. (a) Stopnični odziv. (b) Frekvenčna karakteristika. Slika 5.4: Lastnosti prvega regulatorja. Kot prikazuje slika 5.5(a) smo s tem poslabšali dinamiko regulacijskega sistema, še več, stopnični odziv ima tudi prenihaj, kar je znak dveh konjugirano kompleksnih zaprtozančnih polov. Po drugi strani pa nam slika 5.5(b) jasno prikazuje, da takšen regulator zgolj dobro prepušča frekvence, ki so nižje od 5Hz. Prvi regulator nam preveč ojača visokofrekvenčne signale, kar bi v praksi pomenilo nenehno spreminjanje krmilne količine in posledično nizko stopnjo udobja vožnje. Po drugi strani pa je drugi regulator premalo odziven, še več, pri regulaciji ima prenihaj. Zato si želimo zmanjšati zaprtozančno ojačanje a hkrati postaviti ničlo bližje obema poloma, kar bi pomenilo manjši prenihaj. Tako smo z empiričnimi postopki poizkušali najti kompromis med obema testnima primeroma in izbrali ničlo ter ojačanje kot prikazuje tabela 5.1. 5.3 Predkrmilnik Poleg referenčne hitrosti nas pri vzdolžnem regulatorju zanima tudi referenčni pospešek. Kljub vsemu, da je pospešek zgolj časovni odvod hitrosti in nam s tem ne 36

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA (a) Stopnični odziv. (b) Frekvenčna karakteristika. Slika 5.5: Lastnosti drugega regulatorja. pol 1 ničla 0.999592 ojačanje 102.38 Tabela 5.1: Tabela parametrov zakasnilnega kompenzatorja. podaja dodatnih informacij, pa ga lahko s pridom uporabimo v obliki predkrmiljenja, saj lahko z njim ugodno vplivamo na dinamiko regulacijskega kroga brez povečanja vpliva merilnega šuma. Osnovna ideja predkrmiljenja je, da poizkušamo na podlagi matematičnega modela na sistem vplivati s krmilno količino, ki bi v idealnem primeru, to je ko je naš model povsem točen, na izhodu sistema povzročila ravno našo željeno vrednost. Ker je naš model linearen in zgolj približek dinamike vozila, pri predkrmilniku ne pričakujemo visoke točnosti, vendarle pa lahko z njim pri hitrih spremembah krmilne količine prehitimo regulator in s tem izboljšamo odzivnost. Vsakršno odstopanje predkrmilnika mora in lahko popravi regulator. Če obravnavamo naše vozilo kot LTI 1 sistem, potem bomo na njegovem izhodu dobili našo referenčno količino, če pred sistem postavimo njegov inverzen model. 1 Linearni, časovno invariantni 37

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA Sistemska funkcija takšne tvorbe je tako 1, kar pomeni, da vhodni signal vodi direktno na izhod, kar je tudi naša želja. Sistemske funkcija vozila v zveznem prostoru se glasi 0.501s 28.46s+1. Če model diskretiziramo z intervalom tipanja 10ms in poiščemo inverzni model, dobimo prenosno funkcijo iskanega predkrmilnika: H inverz (z) = 57.09z 57.07. (5.6) z 1 Kot prikazuje slika 5.1, se izhod predkrmilnika sešteje s krmilno količino regulatorja. Če je predkrmilnik povsem natančen, potem regulator nima nobene napake in vozilo vodi zgolj predkrmilnik. 5.4 Kalmanov filter Kalmanov filter je rekurzivni algoritem, ki poizkuša optimalno oceniti vrednosti opazovanih stanj sistema na podlagi meritev vsaj enega stanja, matematičnega modela sistema in znanja o preciznosti meritev stanja in modela sistema [21]. Algoritem ves čas prehaja med fazama ocenjevanje in merjenje/filtriranje. Za boljše razumevanje delovanja Kalmanovega filtra moramo najprej razložiti pojem varianca, ki izhaja s področja statistike ter verjetnostne teorije in se formalno glasi[22]: kjer so: σ 2 = N (x i x povp ) 2 i=1 N (5.7) x i - trenutna meritev, x povp - povprečna vrednost vseh N meritev. Varianco bi torej lahko definirali kot povprečen kvadrat odklona meritev od povprečne vrednosti oziroma najbolj enostavno kar razpršenost meritev okoli povprečne vrednosti. Kalmanov filter predpostavlja, da ima tako meritev kot tudi natančnost modela Gaussovo porazdelitev. Pomembna lastnost Gaussovih porazdelitvenih funkcij je, da je produkt dveh različnih funkcij še vedno Gaussova funkcija. Podrobnosti delovanja Kalmanovega filtra presegajo okvire tega diplomskega dela, zato je 38

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA tu njegovo delovanje razloženo na grafičen in intuitiven način. V fazi ocenjevanja algoritem izračuna vrednosti opazovanih količin zgolj na podlagi matematičnega modela. Prav tako spremeni variančno matriko, ki na diagonali vsebuje trenutne variance vseh opazovanih količin. V naslednjem koraku popravi prvotno oceno na podlagi primerjave ocene in meritve ter to razliko pomnoži s spreminjajočim se faktorjem ojačanja in jo prišteje k prvotni oceni. V tej fazi prav tako ponovno popravi variančno matriko (tokrat na podlagi variance meritev) kot tudi izračuna nov faktor ojačanja za naslednji časovni korak. Slika 5.6 prikazuje primer Gaussove porazdelitve ocene pozicije vozička na podlagi predikcije modela (oranžna barva), meritve (modra barva) in končne ocene algoritma v zeleni barvi. Če natančno opišemo šumnost modela in meritev z variančnima matrikama Q t in R t lahko ob predpostavki Gaussove porazdelitve obeh količin zelo precizno ocenimo dejanske vrednosti opazovanih količin ne glede na šumnost meritev in nenatančnost modela sistema. V naši diplomski nalogi smo Kalmanov filter uporabili kot filter meritev hitrosti, ki Slika 5.6: Delovanje Kalmanovega filtra na primeru ocenjevanja pozicije vozička. je pogosto vsebujejo veliko šuma. Pri tem smo uporabili blok s knjižnice Simulinka, ki izvaja Kalmanov algoritem. Vhodni podatki tega bloka so linearni matematični model opazovanega sistema v prostoru stanj kot tudi variančni matriki modela in meritve. Naš model ima zgolj en vhod in en izhod, zato sta variančni matriki zgolj dva konstantna faktorja. Za optimalno delovanje Kalmanovega filtra rabimo dovolj dobri oceni teh dveh faktorjev. Ker znanja o varianci meritve hitrosti v času simulacije nismo imeli in smo kasneje na vozilu opravili zgolj eno testno vožnjo, le te nismo mogli natančno določiti. Lahko pa smo šumnost meritev simulirali v obliki belega šuma, natančno izračunali njegovo varianco in z optimiranjem precej natančno do- 39

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA ločili varianco modela. Na podlagi narejene skripte v programskem okolju Matlab smo izračunali varianco uporabljenega belega šuma. Nato smo poizkušali določiti takšno varianco modela, ki bi na izhodu Kalmanovega filtra povzročila čim boljše ujemanje med ocenjeno in dejansko vrednostjo hitrosti. Delovanje Kalmanovega filtra v našem primeru prikazuje slika 5.7. Prav tako lahko na slikah 5.8(a) in (b) primerjamo krmilna signala regulatorja z in brez Kalmanovega filtra v povratni vezavi. Očitno je, da lahko z njegovo uporabo izboljšamo na začetku omenjen kompromis med dinamiko regulatorja in vplivom merlinega šuma na regulacijsko zanko. Slika 5.7: Primerjava izmerjene(modro), ocenjene (roza) in dejanske hitrosti v rumeni barvi. 5.5 Končni avtomat Med izhodom regulatorja ter izhodom Microautobox krmilne enote smo v diplomskem delu dodali končni avtomat. Njegove naloge lahko razdelimo na več odsekov: razčlenitev krmilnega signala regulatorja na krmilna signala plina in zavore, omogočitev uspešne inicializacije regulatorja, uvedba posebnega stanja za mirovanje vozila, izboljšanje dinamike regulatorja in 40

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA (a) Krmilni signal regulatorja z uporabo Kal-(bmanovega filtra. Kalmanovega filtra. Krmilni signal regulatorja brez uporabe Slika 5.8: Analiza vpliva Kalmanovega filtra na krmilni signal regulatorja. preprečitev nenehnega menjavanja med zavoro in plinom. Avtomat, ki ga shematsko prikazuje slika 5.9, prične svoje delovanje v stanju start in ga nemudoma zapusti, ko postane izhod regulatorja pozitiven. V tem stanju vozilo konstantno pritiska na zavoro s polovično močjo. Nato lahko vozilo s stanja plin prehaja v vsa ostala stanja. V stanje zavora preide ko je bodisi željen pospešek negativen bodisi je vozilo prehitro za več kot 0.4m/s in je hkrati izhod regulatorja manjši kot -5. Za prehod med zavoro in plinom smo uporabili identične pogoje zgolj z nasprotnim predznakom. Z uvedbo histereze na način, da avtomat prehaja med stanjema plin in zavora zgolj ko izhod regulatorja absolutno preseže vrednost 5, preprečimo nenehno prehajanje med obema stanja, kar je bila ena izmed večjih pomanjkljivosti dosedanjega vzdolžnega regulatorja. Stanje prosti tek služi k izboljšanju dinamike regulatorja, saj avtomat v njega preide, če željen pospešek spremeni smer, regulator pa bi zaradi svoje vztrajnosti nekaj časa še vedno deloval v nasprotno smer. V tem stanju vozilo vozi brez plina in zavore in preide bodisi v stanje plin bodisi zavora šele, ko izhod regulatorja doseže ustrezen predznak. Prav tako imamo še stanje povečan plin, s katerim povečamo faktor vpliva predkr- 41

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA milnika ob napakah regulacijskega sistema, ki presegajo 0.25m/s. Z njim dodatno izboljšamo dinamične lastnosti regulacijskega sistema. Stanje stop ima identičen funkcijo kot stanje start, vendar se uporablja med ustavljanjem vozila v času vožnje. Slika 5.9: Potek prehajanja stanj končnega avtomata. 5.6 Reguliranje vzdolžnega odstopanja Na tem mestu je smiselno omeniti dodatek, ki smo ga uporabili pri simulacijah našega regulacijskega sistema. Z modulom ocenjevanja pozicije vozila, ki je podrobneje predstavljen v naslednjem poglavju, smo lahko ocenili vzdolžno odstopanje vozila na predpisani trajektoriji. Vzdolžni regulator namreč ne more delovati popolno in za reguliranje ves čas potrebuje majhno napako. To pa pomeni, da prične s časom vozilo bistveno zaostajati za predpisano trajektorijo, kot to nazorno prikazuje slika 5.10. Tega problema smo se lotili tako, da smo vzdolžno napako pomnožili s konstantnim faktorjem in jo prišteli k predpisani trajektoriji. Konstantni faktor si lahko fizikalno predstavljamo kot inverzno vrednost časovnega intervala v katerem želimo odpraviti dano napako. Rezultat tega zmnožka bi bila željena hitrost, s katero želimo prevoziti to pot. Ker bi ob velikih napakah rezultat tega zmnožka presegel razumne vrednosti, smo maksimalno spremembo referenčne hitrosti omejili na 0.6m/s. Pri tem zaradi zanemarljivih vrednosti nismo posebej spreminjali referenčnega pospe- 42

Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA Slika 5.10: Vzdolžno odstopanje brez popravljanja referenčne trajektorije ška. Slika 5.11 demonstrira izboljšano sledenje trajektoriji. Slika 5.11: Vzdolžno odstopanje s popravljanjem referenčne trajektorije. 43

Poglavje 6 SINTEZA PREČNEGA REGULATORJA Z narejenim vzdolžnim regulatorjem s prejšnjega poglavja lahko reguliramo hitrost vozila. Ker pa seveda avtonomna vožnja po mestnem prometu ni ves čas naravnost, moramo k regulacijskemu sistemu dodati prečni regulator. Njegova naloga je obdržati vozilo znotraj sredine svojega pasu[1]. V našem projektu je zaznavanje pasu in načrtovanje trajektorije po tem voznem pasu naloga višjih programskih plasti, zato je glavna naloga našega regulatorja slediti začrtani trajektorji v dvodimenzionalnem prostoru. Pri tem imamo na voljo točke, ki poleg že omenjene referenčne hitrosti in pospeška vsebujejo tudi x in y koordinato v globalnem koordinatnem sistemu, ki ima izhodišče v točki pričetka vožnje in prav tako njegovo začetno orientacijo, željeno usmeritev vozila in ukrivljnost trenutne trajektorije. Računanje takšne trajektorije v realnem času je trenutno še v razvoju, zato smo se v fazi sinteze in simulacij prečnega regulatorja zadovoljili z zgenerirano trajektorijo za časovni interval 90 sekund. Modul za načrtovanje trajektorije bo sicer v času vožnje računal trajektorijo do deset oziroma v primeru izogiba kolizij do treh sekund v prihodnost. Pri tem bo vsaka točka imela svoj časovni odtis, s čimer bo regulator lahko ugotovil katera verzija taiste točke je najaktualnejša. Serija izračunanih točk bo pripotovala po CAN vodilu vsake 100ms. Prav tako interakcija med načrtovanjem trajektorije in regulacijo ne bo tako enostranska kot v našem primeru, ampak 44

Poglavje 6 SINTEZA PREČNEGA REGULATORJA bo lahko modul za trajektorijo upošteval pretekle napake regulatorja in ustrezno prilagajal začrtano pot. Ne glede na to ostaja naloga prečnega regulatorja ista, slediti mora namreč čim bolje predpisanim točkam trajektorije. V tem poglavju najprej predstavimo poenostavljen linearni model 5. reda, ki zajame zgolj prečno dinamiko vozila. Potem si ogledamo lastnosti regulatorja usmeritve, ki na sliki 6.1 predstavlja prvega izmed regulatorjev znotraj prečnega regulatorja. Nato sledi na enak način predstavitev regulatorja prečnega odstopanja. Kasneje se na kratko dotaknemo varnostne vloge prečnega regulatorja ob izrednih razmerah. Na koncu razvijemo modul za ocenjevanje lege vozila in računanje prečnega ter vzdolžnega odstopanja od željene linije. Slika 6.1: Struktura prečnega regulatorja. 6.1 Linearni model 5. reda Nelinearni model vozila, ki je bil predstavljen v 4. poglavju, je zaradi svoje kompleksnosti uporaben zgolj za simulacijo. Če si ne želimo linearni regulator zgraditi zgolj s poizkušanjem in napakami, potrebujemo linearni model reguliranega sistema, podobno kot smo ga potrebovali za sintezo vzdolžnega regulatorja. Tokrat nas predvsem zanima vpliv zasuka volana na prečno gibanje vozila. Izkaže se, da lahko na tem mestu izhajamo zgolj iz dvoslednega modela, ki je bil podrobneje predstavljen v 4. poglavju. Ker tudi dvosleden model ni linearen, ga je potrebno linearizirati. Po zgledu [1] smo pri linearizaciji ubrali naslednje poenostavitve : dvosledni model poenostavimo v enosledni model, 45

Poglavje 6 SINTEZA PREČNEGA REGULATORJA za majhne kote ψ naj velja sin(ψ) = ψ in cos(ψ) = 1, sile pnevmatik so linearno odvisne od slipa in kota zdrsa preko koeficienta togosti c, hitrost vozila naj bo konstantna. Na ta način ima model zgolj en vhod, to je kot zasuka sprednjega kolesa δ, in dva izhoda, to sta kot stranskega zdrsa β in kotna hitrost masnega središča ψ. Model lahko ob uvedenih poenostavitvah predstavimo s sistemom linearnih diferencialnih enačb po enačbi 6.1. β = m v 2 c ψ kjer so: β -kot stranskega zdrsa, 1 m v 2 β ψ + c (l s +l z ) c (l z l s ) J z c (l2 s +lz 2 ) J z v ψ - kotna hitrost masnega središča vozila, δ - kot zasuka sprednjega kolesa, c - koeficient togosti sprednjega in zadnjega kolesa, m v c c l s J z δ (6.1) J z - vztrajnostni moment vozila okoli navpične osi skozi masno središče, l s - oddaljenost sprednjega kolesa od masnega središča, l z - oddaljenost zadnjega kolesa od masnega središča, m - masa vozila, v - konstantna hitrost vozila pri kateri lineariziramo model, K temu modelu dodajmo po vzoru [1] in [18] še tri dodatne spremenljivke. Najprej dodajmo vztrajnost volanskega sklopa, ki ga zmodeliramo kot sistem 1. reda po enačbi 6.2. δ = T δ + K δ željen. (6.2) 46

Poglavje 6 SINTEZA PREČNEGA REGULATORJA Prav tako nas pri vodenju vozila zanima prečna oddaljenost vozila od željene trajektorije, kar nam prikazuje slika 6.2. Postavlja se vprašanje kako vključiti željeno trajektorije v sam model. Rešitev se podaja z vključitvijo dodatnega vhoda, ki predstavlja enega izmed parametrov točk trajektorije, to je trenutna ukrivljenost k. Na podlagi slike 6.2 lahko zapišemo naslednji dve enačbi: e 1 = V sin( ψ + β) (6.3) e 2 = ψ ψ des = ψ k v. (6.4) Kjer so: e 1 - prečno odstopanje od trajektorije, e 2 - razlika med željeno in dejansko usmeritvijo vozila, ψ - usmeritev vozila, ψ des - željena usmeritev vozila, β - kot zdrsa, k - R 1, kjer je R radij željenega zavoja, V - hitrost vozila. Enačbo 6.4 lahko lineariziramo preko poenostavitve sin( ψ + β) = ψ + β in tako dobimo linearni sistem 5. reda, ki ga lahko v prostoru stanj zapišemo kot kaže enačba 6.5. β 2 c c (l s +l z ) c m v 1 0 0 m v 2 m v β 0 0 c (l ψ z l s ) J z c (l2 s +lz 2 ) c l J z v 0 0 s J z ψ 0 0 ψ = 1 0 0 0 0 ψ + 0 δ željen + v k. (6.5) ė 0 v v 0 0 e 1 0 0 1 δ 0 0 0 0 T δ K 0 47

Poglavje 6 SINTEZA PREČNEGA REGULATORJA Slika 6.2: Grafična ponazoritev spremenljivk enačbe 6.5 6.2 Regulator usmeritve Osnovni cilj prečnega regulatorja je vodenje orientacije vozila preko vrtenja volana. Ta naloga je bistvena, a ne dovoljšnja za uspešno sledenje trajektoriji, zato je regulacijski sistem predstavljen v tem poglavju nadgrajen v naslednjih podpoglavjih. Iz enačbe 6.5 lahko izločimo prenosni funkciji ψ(s) δ željen (s) ψ(s) ter k(s), ki nam opisujeta vpliva obeh vhodov na usmeritev vozila. Za simbolično izražanje obeh prenosnih funkcij smo uporabili aplikacijo Symbolic Toolbox znotraj programa Matlab. Po pričakovanju k nima vpliva na usmeritev vozila, prenosna funkcija prostoru ob intervalu tipanja 10ms glasi ψ(z) δ željen (z) pa se v diskretnem ψ(z) 0.00001157 (z + 3.579) (z 0.7986) (z + 0.257) = δ željen (z) (z 1) (z 0.9054) (z 0.9048) (z 0.8244). (6.6) Sistem je očitno 4. reda. Slika 6.3 prikazuje njegovo krivuljo lege korenov. Iz nje je razvidno, da se dominantna pola z višanjem ojačanja približujta (to se zgodi pri ojačanju 1.8) in sta nato v nadaljevanju kot dva konjugirano kompleksna para, ki postaneta za ojačanje večje od 20 nestabilna. Opozoriti je potrebno na dejstvo, da je naš model lineariziran pri konstantni vzdolžni hitrosti vozila (v našem primeru 10m/s), zato ne opisuje dobro dinamike pri hitrem in ostrem ovinkanju. Ob upošte- 48

Poglavje 6 SINTEZA PREČNEGA REGULATORJA vanju teh omejitev modela smo si pri sintezi regulatorja usmeritve postavili naslednje časovne zahteve: vzponski čas naj bo večji od 5s in manjši od 15s, regulator ne sme imeti prenihaja večjega od 10%, čas umiritve naj bo krajši od 20s. Slika 6.3: Krivulja lege korenov za lineariziran model usmeritve. Ker se stopnični odziv navadno gleda kot odziv sistema na stopnico z amplitudo 1, to v našem primeru predstavlja nenadno napako usmeritve 57! S tega razloga pri dizajnu regulatorja nismo postavili ostrih časovnih zahtev, saj bi to pomenilo ostro zavijanje. Poleg neudobne vožnje bi bil takšen regulator verjetno nestabilen, saj temelji na linearnem modelu, ki predpostavlja, da so vzdolžne sile avtomobila linearno odvisne od zasuka volana. Ker fizikalno to ni mogoče, bi takšen regulator hitro prešel v nasičenje saj bi poizkušal večkrat zasukati volan. Zaradi relativno blagih regulacijskih zahtev lahko le te izpolnimo že s preprostim proporcionalnim regula- 49

Poglavje 6 SINTEZA PREČNEGA REGULATORJA torjem. V našem primeru smo izbrali ojačanje 0.371, pri čemer ima zaprtozančni sistem vzponski čas 9s in je brez prevzpona. Ta odziv prikazuje slika 6.4. Slika 6.4: Stopnični odziv ob uporabi P-regulatorja. 6.3 Regulator prečnega odstopanja Že slika 6.2 nam je nakazala pomanjkljivost koncepta prečnega regulatorja, kjer bi regulirali zgolj usmeritev. Med vožnjo se lahko namreč zgodi, da vozilo zaradi zakasnitev pri reakcijah regulatorja zapusti željeno linijo in pot, sicer s pravilno orientacijo, nadaljuje po neki paralelni liniji. S tega razloga smo morali naš regulator dopolniti tako, da je bil sposoben zaznati in odpraviti prečno odstopanje. Že sedaj lahko poudarimo dejstvo, da si regulator usmeritve in prečnega odstopanja večino časa nasprotujeta, saj obstaja zgolj ena lega vozila v prostoru kjer oba nimata napake[1] in to je ravno v naši željeni točki trajektorije. Vsakršno prečno odstopanje seveda pomeni popravek linije, ki pa se lahko zgodi zgolj če za nekaj časa odstopamo od željene usmeritve. Tudi za analizo in sintezo regulatorja prečnega odstopanja lahko uporabimo linearni model 5. reda, ki je bil predstavljen v prvem podpoglavju tega poglavja. Tokrat na regulirano količino vplivata tako kot zasuka koles δ kot tudi ukrivljenost trajektorije k. Kljub vsemu k ni krmilna količina v pravem pomenu besede ampak jo lahko obrav- 50

Poglavje 6 SINTEZA PREČNEGA REGULATORJA navamo kot motnjo, saj na trajektorijo nimamo direktnega vpliva. Preko znanega modela d q(z) k(z) bi lahko motnjo kompenzirali s predkrmiljenjem. Ker pa v času razvoja tega diplomskega dela nismo imeli na voljo točnega k, vgraditev kompenzatorja motnje ni bilo moč stestirati in ga zato v tem poglavju ne bomo posebej predstavljali. Komponenta bi izboljšala dinamične lastnosti regulacijskega sistema a za njegovo ustrezno delovanje nima bistvenega pomena. Sistemska funkcija d q(z) k(z) H(z) = se v diskretni domeni ob času tipanja 10ms glasi 0.000343 (z + 3.537) (z 0.997) (z 0.8416) (z + 0.2537) (z 1) 2, (6.7) (z 0.9054) (z 0.9048) (z 0.8244) torej imamo v tem primeru sistem 5.reda, ki ima kar dva pola pri 1 in nam s tem odpravlja statični in hitrostni pogrešek. Za razliko od regulatorja usmeritve si tu lahko privoščimo ostrejše časovne zahteve, saj prečno odstopanje enega metra v praksi ni tako veliko. Smo pa bili pri izpolnitvi vseh navedenih zahtev pred večjim izzivom, saj ima sistem ničlo, ki je zelo blizu točki (1,0) v kompleksni z-ravnini. Po [11] lahko vpliv ničle na odziv linearnega sistema opazujemo preko izraza Y z (s) = Y (s) + 1 s Y (s), (6.8) n kjer so Y z (s) odziv sistema z ničlo, Y (s) odziv sistema brez ničle in n pozicija ničle v zvezni domeni. Ničla ima torej največji vpliv na odziv sistema ravno ko je blizu izhodišča in postane izraz 1 n zelo velik. Takrat se osnovnemu odzivu prišteje tudi njegov odvod, ki je pri stopničnem odzivu največji ravno na začetku ko odziv strmo narašča. Zato se zgodi, da ima stopnični odziv prenihaj, kljub temu da ima vse zaprtozančne pole realne. Vendar pa prenihaju kot kaže slika 6.5 ne sledi nihanje okoli referenčne vrednosti kot smo to vajeni pri sistemih, ki imajo dva dominantna konjugirana kompleksna pola. Vpliv ničle bi lahko izničili z zakasnilnim kompenzatorjem, kjer bi pol postavili na 51

Poglavje 6 SINTEZA PREČNEGA REGULATORJA Slika 6.5: Vpliv dominantne ničle na stopnični odziv sistema. pozicijo sistemske ničle, ničlo regulatorja pa izbrali precej bolj levo. Žal pa s tem poslabšamo relativno stabilnost zaprtozančnega sistema, saj se krivulja lege korenov premakne še bolj v desno in to tem bolj, čim bolj sta pol in ničla regulatorja narazen. S tega razloga smo se v tem diplomskem delu zadovoljili z naslednjimi pogoji kvalitete regulacijskega sistema in uporabili proporcionalni regulator: čas vzpona naj bo med eno in dvema sekundama, prenihaj naj znaša manj kot 20%, čas umiritve naj bo manjši od 8 sekund. Izkazalo se je, da vseh pogojev ne moremo v celoti izpolniti. Pri ojačanjih, ki ne presegajo meje stabilnosti, smo lahko izbrali dva kompromisa- bodisi velik prevzpon in dovolj dolg vzponski čas bodisi majhen prevzpon in kratek vzponski čas. V našem primeru smo se odločili za ojačanje 0.0805, pri čemer ima zaprtozančni sistem vzponski čas 1.05 sekund, prenihaj 15% in čas umiritve 10 sekund. Z empiričnimi postopki smo ugotovili, da daje proporcionalni regulator boljše rezultate pri večjih ojačanjih, kljub temu da je pri tem naš linearni model nestabilen. Po našem mnenju takšen regulator deluje dobro dokler njegova napaka ni prevelika, saj pri večjem ojačanju ista napaka povzroči močnejši zasuk volana. S tega razloga smo ojačanje empirično nastavili tako, da je regulator izkazal dovolj udobno in stabilno obnašanje pri začetnih odstopanjih do 4 metrov. Takšna prečna odstopanja ne pričakujemo v 52

Poglavje 6 SINTEZA PREČNEGA REGULATORJA času dejanskega obratovanja, lahko pa do njih pride v času testnih voženj. Proporcionalno ojačanje je v tem primeru znašalo 0.153, pri čemer je linearni model izkazal vzponski čas 0.59 sekund, prenihaj 20% in čas umiritve 9 sekund. Podrobnejša analiza regulatorja sledi v naslednjem poglavju. Na tem mestu podajmo še nekaj misli o izbiri strukture regulatorja. Dosedaj so v projektu Stadtpilot za regulator prečnega odstopanja uporabljali proporcionalnointegralni regulator. Takšen regulator sodeč po našem modelu ni potreben, saj tako ali tako nimamo statične napake, kot so to kasneje potrdile tudi simulacije. Njegova slaba lastnost je prav tako v tem, da povzroča možnost integralnega pobega, kar je tudi bilo moč opaziti na dosedajšnjih testiranjih, ko je volan močno krenil v eno izmed smeri, če je vozilo imelo na začetku vožnje večje prečno odstopanje. S teh dveh razlogov se nam zdi proporcionalni regulator dovoljšnja in hkrati boljša izbira. 6.4 Varnostni vidik prečnega regulatorja Ocenjevanje lege vozila je v času vožnje domena višjih programskih slojev. Pri tem si pomagajo z matematičnem modelom vozila, s percepcije okolice in primerjave z vnaprej shranjenimi kartami ter seveda z GPS podatki. Tako lega vozila kot njegova prečna oddaljenost od željene trajektorije sta v času obratovanja na voljo na CAN vodilu. Ker pa smo prečni regulator v tem delu testirali v simulacijskem okolju, smo morali te informacije računati sami. Dodaten trud ni bil zaman, saj lahko ta modul s pridom izkoristimo za varnostne manevre. V času vožnje lahko pride do kratkotrajnih ali pa tudi dolgotrajnih izpadov višjih slojev. Dosedaj je v času testiranj takšen scenarij rezultiral k javljanju napake sistema Watchdog-Gateway, pri čemer se je izklopil avtomatski režim delovanja. V prihodnosti, ko želimo avtonomno vozilo komercializirati, je takšno delovanje nedopustno. Še več, tudi v času testnih voženj lahko nenaden izklop avtomatskega delovanje predstavlja veliko nevarnost, saj zahteva takojšenj odziv nadzornega voznika. Zaradi tega je prenos regulatorja na posebno strojno opremo zelo smiseln, saj bi lahko v takšnih kritičnih situacijah popoln nadzor nad avtomobilom prevzel regula- 53

Poglavje 6 SINTEZA PREČNEGA REGULATORJA tor. Ob kratkotrajnih prekinitvah delovanja višjih slojev je naloga regulatorja predvsem, da sam dovolj dobro ocenjujejo lego vozila in čim natančneje ter čim dlje sledi začrtani trajektoriji, ki je navadno znana za 10 sekund v prihodnost. Ob daljših prekinitvah pa bi bilo potrebno implementirati modul, ki bi vozilo varno ustavil na predpisani trajektoriji. V tem diplomskem delu smo se lotili zgolj razvoja modula ocenjevanja lege vozila. 6.5 Modul za ocenjevanje lege ter prečnega in vzdolžnega odstopanja vozila Ocenjevanje lege Za ocenjevanje lege vozila smo se v tem delu odločili uporabiti enostaven model, ki vozilo obravnava kot točkasto telo. Pri tem smo potrebovali informacije o trenutni hitrosti, kotu stranskega zdrsa in kotni hitrosti masnega središča vozila. Algoritem smo implementirali kot poseben blok v programskem okolju Simulink, čigar lastnosti so bile opisane v programskem jeziku Matlab. Odsek 1 prikazuje psevdokodo tega algoritma, njegovo dejansko implementacijo pa lahko bralec najde v prilogi A. Ko- Algorithm 1 Ocenjevanje lege vozila 1: procedure XY 2: Beri senzorje in inicializiraj R in p z vrednostmi iz prejšnjega koraka. 3: Določi premik v lokalnem koordinatnem sistemu p local. 4: Določi premik v globalnem koordinatnem sistemu p global = R p local. 5: Določi novo pozicijo vozila p new = p old + p global. 6: Izračunaj novo rotacijsko matriko R R new = R old R. 7: Vrni p new in R new. 8: end procedure ordinati X in Y smo shranili v dvodimenzionalni vektor p, medtem ko ima rotacijska 54

Poglavje 6 SINTEZA PREČNEGA REGULATORJA matrika splošno obliko sin(α) cos(α) X R = cos(α) sin(α) Y, (6.9) 0 0 1 kjer α predstavlja kot zasuka prvega koordinatnega sistema v končnega. V vsakem koraku prevzamemo aktualne vrednosti vektorja p in matrike R s prejšnjega koraka. Nato na podlagi kota stranskega zdrsa β in hitrosti v določimo premik vozila po vsaki osi lokalnega koordinatnega sistema, ki ga je definirala lega vozila v prejšnjem koraku. X-os tega koordinatnega sistema predstavlja vzdolžna os vozila, medtem ko je Y-os leva pravokotnica na X-os. S tem ohranimo desnosučni koordinatni sistem. Nato preko stare vrednosti matrike R transformiramo premik iz lokalnega v globalni koordinatni sistem. Rezultat te transformacije lahko enostavno prištejemo staremu vektorju pozicije in določimo novo, aktualno pozicijo vozila. Podobno lahko storimo za izračun nove rotacijske matrike, kjer upoštevamo spremembo usmeritve vozila glede na prejšnji korak. Na ta način imamo znotraj novoizračunane rotacijske matrike shranjeno tako pozicijo kot orientacijo vozila. Ocenjevanje prečnega odstopanja Sedaj ko imamo določeno pozicijo vozila, lahko izračunamo njegovo prečno oddaljenost od željene trajektorije. Računanje tega smo se lotili s pomočjo algoritma 2, ki ga lahko bralec najde v prilogi B. Njegovo implementacijo v programskem jeziku Matlab lahko bralec najde v prilogi. Prečno oddaljenost smo določili enostavno tako, da smo za skupino točk v okolici trenutne točke trajektorije izračunali oddaljenost do trenutne pozicije vozila in izbrali najmanjšo izmed teh vrednosti. Za uspešno regulacijo potrebujemo določiti tudi ustrezen predznak prečne oddaljenosti, saj je kot pozitivno prečna oddaljenost definirana, če se vozilo nahaja desno od željene linije. Predznak smo določili preko opazovanja z-komponente vektorskega produkta v 1 in v 2 kot to prikazuje slika 6.6. Algoritem je dovolj natančen dokler avto nima prevelikih odstopanj in željena linija ne prične zelo ostro zavijati. Najslabši scenarij prikazuje slika 6.7. Takšnim problemom bi se lahko izognili s skrčitvijo množice točk, ki jih opazujemo v algoritmu. Vendar pa bi po drugi strani s tem lahko ponovno poslabšali 55

Poglavje 6 SINTEZA PREČNEGA REGULATORJA Algorithm 2 Izračun prečnega odstopanja. 1: procedure GETDMIN(T avto,t act ) 2: for t = T act 200 : T act + 200 do 3: d =Distance(t,T avto ); Izračunaj oddaljenost med trenutno točko vozilom. 4: if d min > d then 5: d min = d. 6: T min = T (d min ) 7: end if 8: end for 9: v 1 = T min T avto in v 2 = T min T min+1 10: v 3 = v 1 v 2. 11: if v 3 [3] < 0 then 12: d min = d min. 13: end if 14: Vrni d min. 15: end procedure Slika 6.6: Določitev smeri prečnega odstopanja preko v 1 v 2. 56

Poglavje 6 SINTEZA PREČNEGA REGULATORJA natančnost ocenjevanja, saj bi ob večjih vzdolžnih odstopanjih zgrešili točko trajektorije, ki je najbližje vozilu. V naših testnih primerih je algoritem deloval stabilno in natančno, zato se nismo podrobneje lotili reševanja njegovih pomanjkljivosti. Slika 6.7: Primer ko ocena algoritma ni relevantna. 57

Poglavje 6 SINTEZA PREČNEGA REGULATORJA Ocenjevanje vzdolžnega odstopanja Princip reguliranja vzdolžnega odstopanja je že bil predstavljen v poglavju o vzdolžnem regulatorju. Na tem mestu razložimo kako smo se lotili ocenjevanja tega odstopanja. Izbrali smo povsem enostaven način. Vzdolžno odstopanje smo določili kot oddaljenost med trenutno točko trajektorije in točko na trajektoriji, preko katere smo izmerili prečno odstopanje vozila. Razdaljo smo izračunali preko seštevanja razdalj od točke do točke. Vzdolžno odstopanje prikazuje slika 6.8. Slika 6.8: Princip izračuna vzdolžnega odstopanja (v modri barvi). 58

Poglavje 7 REZULTATI SIMULACIJ IN TESTIRANJ V tem poglavju predstavimo in analiziramo rezultate simulacij in testiranj regulacijskega sistema avtonomnega vozila. Pri tem se predvsem upremo na trajektorijo, ki je bila načrtovana za vožnjo po testnem poligonu Tehnične Univerze Braunschweig. Isto prevoženo pot preizkusimo z dvema različnima hitrostima. Sprva se osredotočimo zgolj na vzdolžni regulator, kjer najprej predstavimo rezultate simulacij nato pa si ogledamo tudi meritve s testne vožnje. Kasneje pod drobnogled vzamemo prečni regulator, čeprav za vožnjo v simulacijah hkrati uporabljamo tudi vzdolžni regulator. 7.1 Test vzdolžnega regulatorja v simulacijskem okolju Počasna trajektorija Graf 7.1 prikazuje hitrostni profil počasnejše verzije trajektorije. Vidimo, da regulator brez težav sledi referenčni krivulji. Še največ odstopanja lahko opazimo ob ostrih spremembah smeri pospeševanja. Trajektorija vsebuje veliko teh sprememb, saj je, kot bomo to videli kasneje, vožnja po testnem področju kombinacija ravnin in ostrih ovinkov. Slika 7.2 podrobneje prikazuje kratek odseg s slike 7.1. Pri regulaciji lahko opazimo majhen hitrostni pogrešek, ki pa je delno posledica Kalmanovega filtra, ki sicer sfiltrira izmerjeno hitrost, a ji lahko zaradi nenatančnega modela doda majhen zamik. Z ozirom na sliko 7.3 lahko ugotovimo, da zahvaljujoč Kalmanovem filtru krmilni signali regulatorja ne vsebujejo veliko šuma, ki je sicer prisoten na senzorju hitro- 59

Poglavje 7 REZULTATI SIMULACIJ IN TESTIRANJ Slika 7.1: Reguliranje hitrosti. sti. Prav tako lahko dobro vidimo vpliv končnega avtomata pri spremembi smeri pospeševanja, saj je vozilo za nekaj časa med 41. in 42. sekundo v prostem teku. Slika 7.2: Podrobnejši pogled na regulacijo hitrosti. Da so rezultati simulacij zadovoljivi, nam potrjuje slika 7.4. Odstopanje vzdolžnega regulatorja v nobenem trenutku ne presega 0.4m/s. 60

Poglavje 7 REZULTATI SIMULACIJ IN TESTIRANJ Slika 7.3: Krmilni signali plina in zavore za odsek na sliki 7.2. Slika 7.4: Napaka regulatorja. 61

Poglavje 7 REZULTATI SIMULACIJ IN TESTIRANJ Hitra trajektorija Vzdolžni regulator smo dali pod težjo preizkušnjo s precej agresivnejšo trajektorijo, ki se sicer nanaša na isto prevoženo linijo. Kljub vsemu je regulator izkazal stabilno in natančno delovanje(slika 7.5). V simulaciji smo v enem trenutku opazili večje odstopanje, za kar se je izkazalo, da ni krivda regulatorja, ampak je trajektorija s svojo referenčno krivuljo vsilila previsok pospešek, ki ga vozilo pri tej hitrosti in tej prestavi ni moglo doseči. Dokaz za to je slika 7.6, kjer lahko vidimo, da je v tem trenutku regulator na polno pritisnil na plin. Slika 7.5: Reguliranje agresivnejšega hitrostnega profila. 7.2 Test vzdolžnega regulatorja na realnem vozilu Vzdolžni regulator smo prav tako preizkusili na realnem testnem vozilu. Pri tem smo morali v Simulink datoteko, v kateri se je nahajal regulator, dodati RTI bloke, ki so predstavljali povezavo med regulatorjem in ostalimi napravami na CAN vodilu. Za branje podatkov na komunikacijskem kanalu in za spremljanje sprememnljivk regulatorja smo uporabili posebno programsko opremo proizvajalca Microautobox. Pri prevajanju programske kode smo naleteli na težavo, da prenosni računalnik, s 62

Poglavje 7 REZULTATI SIMULACIJ IN TESTIRANJ Slika 7.6: Krmilni signali zavora in plina za odsek 60. in 70. sekundo slike 7.5. pomoc jo katerega smo izvajali testiranje, v svoji Simulink knjižnici ni vseboval Kalmanovega filtra, zato smo ga pri testiranju izpustili. V Simulink datotetko je bilo potrebno dodati tudi poseben konc ni avtomat, ki je komuniciral z Watchdog-Gateway napravo. Namen komunikacije je bil predvsem podajanje zahtev za vklop avtomatskega režima delovanja. Slika 7.7 prikazuje pripravo na testno vožnjo. Rumen kabel služi k povezavi testnega rac unalnika na Microautobox. Testna procedura je vsebo- Slika 7.7: Pogled na notranjost testnega vozila in pripravo testne vožnje. 63

Poglavje 7 REZULTATI SIMULACIJ IN TESTIRANJ vala naslednje korake: obrni stikalo S1, na prenosnem računalniku pošlji zahtevo na Watchdog-Gateway za vklop vzdolžne regulacije, resetiraj vzdolžno trajektorijo, v primeru pravilnega delovanja je vozilo pod nadzorom Microautobox. V času testne vožnje je nadzorni voznik opravljal zavijanje, medtem ko je vozilo s pomočjo Microautobox sledilo željeni hitrosti trajektorije. Rezultate testne vožnje prikazuje slika 7.8. Kot lahko vidimo se rezultati testiranj dobro ujemajo s simulacijami, do odstopanj Slika 7.8: Rezultati testiranj vzdolžnega regulatorja. pride zgolj ob zaviranju testnega vozila. Po dobrem premisleku smo ugotovili, da razlog tiči v napačnem faktorju pretvorbe med izhodno količino regulatorja za zaviranje in tlakom v barih, ki ga potrebuje krmilna enota za zavoro. Regulator torej ni mogel zavirati močneje. To trditev potruje slika 7.9, kjer vidimo, da je regulator večkrat zaviral s polno močjo. Podoben problem smo doživeli povsem na koncu vožnje, ko je končni avtomat prešel v stanje stop, v katerem je zaviral s polovično močjo, kar 64

Poglavje 7 REZULTATI SIMULACIJ IN TESTIRANJ Slika 7.9: Krmilni signali zavore v času testne vožnje. pa se zaradi napačne pretvorbe v realnosti ni zgodilo. Kljub vsemu smo s tem dobili vpogled na odziv regulatorja ob nepredvideni motnji. 7.3 Test prečnega regulatorja v simulacijskem okolju Prečni regulator smo v času diplomskega dela uspeli stestirati zgolj v simulacijskem okolju. Pri tem smo hkrati uporabili tudi vzdolžni regulator, ki je nemoteno reguliral hitrost. Regulacijski sistem torej v tem primeru obratuje z vsemi tremi izhodi, to so plin, zavora in kot zasuka volana, medtem ko so njegove senzorske količine hitrost, kot stranskega zdrsa β in kotna hitrost masnega središča ψ, medtem ko si prečno in vzdolžno odstopanje ocenjujemo na samem regulatorju. Vožnja zgolj z regulatorjem usmeritve Zgolj za demonstrativne namene pričenjamo s prikazom vožnje ob uporabi zgolj regulatorja usmeritve. Kot kaže slika 7.10 regulator dobro sledi predpisanemu re- 65