posodobitev in analiza regulacijskega sistema … · rf*, faku lteta za elektrotehniko,...
TRANSCRIPT
-
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: Nejc Deželak
Študijski program: Univerzitetni študijski program
Elektrotehnika
Smer: Avtomatika in robotika
Mentor: izr. prof. dr. Rajko Svečko
Somentor: doc. dr. Andrej Sarjaš
-
rf*,Faku lteta za elektrotehniko,ra[unalni(tvo in informati ko
Smetanova ulica 172000 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}t2lizdajam
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 SvefkoSOMENTOR: doc. dr. Andrej Saria5
Naslov diplomskega dela:POSODOBITEV IN ANALIZA REGULACIJSKEGA SISTEMA AVTONOMNEGA VOZITA VOKVI RU PROJEKTA,'STADTPI LOT''
Naslov diplomskega dela v angleikem jeziku:
CONTROT SYSTEM UPDATE AND ANALYSIS OF AN AUTONOMOUS VEHICLE IN THEPROJECT''STADTPILOT''
5. Diplomsko delo je potrebno izdelati skladno z "Navodili za izdelavo diplomskega dela" in gaoddati v treh izvodih (dva trdo vezana izvoda in en v spiralo vezan izvod) ter en izvodelektronske 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.
Obvestiti:o kandidata,o mentorja,o somentorja,o odloiiti v arhiv.
rfuUniverza v Mariboru
3.
4.
@ffi,-'"&tY..r--"d
prof. dr. Borut Zalik
W: feri.um.si I E: [email protected] 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 ~v1×~v2. . . . . . . . . . . . 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 prihodno-
sti 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 iz-
koristili 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 iz-
nič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, najpogo-
steje 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 pre-
pusti 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č. Pre-
den 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čko-
nosnega 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 teh-
nič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 regu-
lacijski 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 udob-
nosti 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 iz-
gradnje 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 Tehnične Univerze Braunschweig(Nemčija). Glavni cilj projekta je uspo-
sobiti 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šč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 avtomo-
bila, 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 do-
gajanju v okolici vozila. Te pridobimo s pomočjo različnih tipal. Na testnem vo-
zilu 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 ele-
ktronsko.
Na testnem vozilu Leonie so vsi krmilniki kot tudi ostale elektronske naprave priklju-
čeni na CAN1 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 pro-
cese, 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 predsta-
vljena 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.
1Controller 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, Aktori-
kbox, 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 me-
hanizmi glavni del varnostnega sistema vozila. Kot prikazuje slika 2.3, imamo za
glavnim dovodom napetosti akumulatorja zaporedno vezani stikali S1 in S2, pri če-
mer 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. Mi-
rovno 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 de-
lovanja 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 krmil-
nih 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 pred-
stavljene strojne opreme. Je tudi tista, ki daje vozilu navidez neverjetno in magično
inteligenco. Namen tega poglavja je predvsem podati pregled programske arhitek-
ture 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 do-
godkov, 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 opazova-
nje 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 že-
ljen 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 trajek-
torije, 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 pred-
stavlja 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 program-
skega paketa Matlab/Simuink, ki smo ga uporabili za analizo in sintezo regulacij-
skega 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 Ma-
thWorks, ki spadata med najpopularnejša orodja mnogih tehničnih in znanstvenih
disciplin. Matlab tvori jedro vseh produktov in je sam po sebi visokonivojski interpre-
tativni 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 komuni-
kacijskih 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 ra-
zvoj 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 line-
arnega 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 od-
sek 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 po-
datkovne strukture v dani seji.
Ko imamo definiran model, lahko o njemu veliko izvemo že z nekaj kratkimi ukazi,
Ime funkcije Opis funkcije
tf(num, denum, Ts) definiranje preko koeficientov racionalne funkcije
zpk(zero, pole, gain) definiranje preko polov, ničel in ojačanja
ss (A, B, C, D) 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 opazu-
jemo 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 Opis funkcije
step stopnični odziv
lsim simulacija odziva na izbran vhodni signal
bodeplot bodejev diagram
pole poli sistema
rlocus 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š regu-
lacijski 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 speciali-
ziran za numerično računanje. Omogoča nam programiranje v različnih paradigmah
(imperativno, objektno, proceduralno, ...), prav tako ne zahteva eksplicitno definira-
nja 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 mikro-
procesor, 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 imple-
mentacijo regulacijskih algoritmov precej olajša. Napravo uvrščamo med ECU1, 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 program-
ska oprema, ki nam omogoča enostavno integracijo platforme z okoljem Matlab/Si-
mulink.
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 do-
datnih 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].
1Electronic 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 speci-
fič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či-
tev 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 uporab-
nejš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 dina-
miko vozila tako pri vožnji naravnost kot ob zavijanju.
Modeliranja tako kompleksnih sistemov kot je avtomobil, se je najbolje lotiti od zgo-
raj 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 vozila1
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 sto-
palke 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 po-
gonskega 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
1V 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. Mo-
dele 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 no-
tranjim 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 proporcio-
nalni 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 mo-
torja 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:
Mm ·wm = Mk ·wk
kjer sta Mm ter Mk navora in wm ter wk vrtilne hitrost pogonske in gnane gredi. Pre-
stavna razmerja pri vseh prestavah smo prav tako dobili od proizvajalca testnega
avtomobila.
Vse kar nam preostane je še zgolj približno opisati karakteristiko prestavljanja avto-
matskega 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 spre-
minjanju 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 trenu-
tne 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.
Fz · r =m4·a · r (4.1)
kjer so:
Mz - zaviralni moment [Nm],
Fz - zaviralna sila [N],
20
-
Poglavje 4 MODELIRANJE DINAMIKE VOZILA
m - masa vozila [m],
a - pojemek [m/s2],
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 pogon-
skega 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 udo-
bje 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 me-
ritvami 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 pri-
stopih, 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 sve-
tovnih 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 rela-
tivno 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 ma-
gič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 do-
loč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 pnevma-
tika 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 vo-
zilo. 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:
s =v−w · r| v |
(4.3)
kjer so
• v - hitrost vozila[m/s],
• w - kotna hitrost kolesa [rad/s] in
• r - polmer kolesa [m].
Spreminjanje kotne hitrosti kolesa lahko definiramo preko ravnovesja navorov, kot
nam to prikazuje enačba 4.4.
dwdt
=M−Mr−Fl · 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
• Mr - Zaviralni moment kotalnega trenja [Nm]
• Fl - 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 pnev-
matik 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 pri-
meru, 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 pnevma-
tik, ki prepreči nadaljnjo pospeševanje kolesa.
Poleg vzdolžnih sil se na pnevmatikah pojavljajo tudi prečne sile. Te sile so posle-
dica prečnih deformacij, ki se pojavijo ko je kot α na sliki 4.6 različen od nič. Ta kot
imenujmo kot zdrsa2. 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žno2Angleš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 ~Fl ~Fs
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 pnev-
matik 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 re-
alnosti 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 ovi-
nek 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 pred-
vsem zanemarjenje nihanja vozila okoli vzdolžne osi in ista orientacija obeh spre-
dnjih 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 sis-
temu vozila kot
v = v · cosβ ·~ex + v · sinβ ·~ey. (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.
dvdt
= v̇·cosβ ·~ex−v·sinβ · β̇ ·~ex+v·cosβ ·ψ̇ ·~ey+ v̇·sinβ ·~ey+v ·cosβ ·~ey · β̇−v·sinβ ·ψ̇ ·~ex(4.8)
27
-
Poglavje 4 MODELIRANJE DINAMIKE VOZILA
Slika 4.9: Diagram sil dvoslednega modela
Pri tem smo upoštevali, da je d~exdt = ~ey · ψ̇ ind~eydt =−~ex · ψ̇.
Če enačbo posebej uredimo po komponentah vsake osi, dobimo v enačbi 4.9 kot
rezultat izraz za pospešek v smeri osi ~ex in ~ex.axay
=v̇ · cosβ − v · (β̇ + ψ̇)sinβ
v̇ · sinβ + v · (β̇ + ψ̇)cosβ
(4.9)Ta dva izraza lahko uporabimo, da povežemo pospeška s silami v smeri obeh koor-
dinatnih osi preko dobro znanega Newtonovega zakona z naslednjima enačbama.
ΣFx = m ·ax (4.10)
ΣFy = m ·ay. (4.11)
Če najprej pomnožimo 4.10 s cosβ in 4.11 s sinβ in ju seštejemo, dobimo diferenci-
alno enačbo 4.12, ki opisuje spreminjanje hitrosti vozila.
m · v̇ = ΣFx · cosβ +ΣFy · 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 β .
β̇ =ΣFy · cosβ −ΣFx · sinβ
m · v− ψ̇ (4.13)
Da lahko enačbi zares uporabimo, moramo še definirati povezavo med silami pnev-
matik in silami, ki so definirane v lokalnem koordinatnem. Njihova povezava sledi z
naslednjima enačbama iz enostavne geometrije.
Fx = Fl · cosδ −Fs · sinδ (4.14)
Fy = Fl · sinδ +Fs · 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 · ψ̈ =Fxvr ·b/2+Fyvr · lv
−Fxvl ·b/2+Fyvl · lv
−Fxhl ·b/2−Fyhl · lh
+Fxhr ·b/2−Fyhr · lh.
(4.16)
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 pnev-
matik 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 predsta-
vljen namen in postopek sinteze posameznih sklopov. Še prej si ogledamo prido-
bitev 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 regulira-
nega sistema v različnih delovnih točkah [20].
Vzdolžna dinamika vozila je odvisna od pogonskega sklopa, pnevmatik ter nenaza-
dnje 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 aproksi-
mirali s sistemom 1. reda. Pri tem smo ob konstantnem plinu posneli odziv neline-
arnega 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 ma-
ksimalno 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 zgore-
vanjem višje obrate za produciranje maksimalnega momenta. Slika 5.3 prikazuje
Slika 5.2: Primerjava stopničnega odziva linearnega(vijolično) in nelinearnega mo-
dela(rumeno).
primerjavo odziva linearnega in nelinearnega modela pri nižjem plinu, kjer je opa-
zna 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 regula-
torja 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 mo-
dela(rumeno) pri manjšem plinu.
5.2 Sinteza zakasnilnega kompenzatorja
Potem ko smo določili linearni model testnega vozila, se lahko lotimo sinteze regu-
latorja hitrosti. Linearni model vzdolžne dinamike vozila lahko v diskretni domeni z
intervalom tipanja 10ms predstavimo kot:
H(z) =0.000176021z−0.99965
. (5.2)
Ker leži realni pol blizu enotske krožnice v z-ravnini, to pomeni, da ima njegov sto-
pnični odziv relativno veliko časovno konstanto. Z uvedbo regulatorja bi si to dina-
miko ž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 10ms statično
napako
e = limz→1
(z−1) ·V (z)1+R(z) ·H(z)
=(z−1) · 10·zz−1
1+ ·0.000176021z−0.99965= 6.6537, (5.3)
torej celih 66%. Hitrostni pogrešek bi v primeru linearnega referenčnega signala s
koeficientom strmine 2 ms2 znašal:
e = limz→1
(z−1) ·V (z)1+R(z) ·H(z)
=(z−1) · 2·z
(z−1)2
1+ ·0.000176021z−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 po-
stajal čedalje večji. Ker so po izračunih sodeč časovne lastnosti regulacijskega sis-
tema slabe oziroma nezadovoljive, bomo s tega razloga uporabili zakasnilni kom-
penzator, 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 kompen-
zatorju 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či-
tev 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 regula-
torja 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 po-
lov 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 od-
ziv 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 pre-
nihaj. 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ča-
nje kot prikazuje tabela 5.1.
5.3 Predkrmilnik
Poleg referenčne hitrosti nas pri vzdolžnem regulatorju zanima tudi referenčni po-
speš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 pod-
lagi 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 hi-
trih 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 LTI1 sistem, potem bomo na njegovem izhodu
dobili našo referenčno količino, če pred sistem postavimo njegov inverzen model.
1Linearni, časovno invariantni
37
-
Poglavje 5 SINTEZA VZDOLŽNEGA REGULATORJA
Sistemska funkcija takšne tvorbe je tako 1, kar pomeni, da vhodni signal vodi direk-
tno na izhod, kar je tudi naša želja. Sistemske funkcija vozila v zveznem prostoru
se glasi 0.501s28.46s+1 . Če model diskretiziramo z intervalom tipanja 10ms in poiščemo
inverzni model, dobimo prenosno funkcijo iskanega predkrmilnika:
Hinverz(z) =57.09z−57.07
z−1. (5.6)
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 opa-
zovanih 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 po-
jem varianca, ki izhaja s področja statistike ter verjetnostne teorije in se formalno
glasi[22]:
σ2 =
N∑
i=1(xi− xpovp)2
N(5.7)
kjer so:
• xi - trenutna meritev,
• xpovp - povprečna vrednost vseh N meritev.
Varianco bi torej lahko definirali kot povprečen kvadrat odklona meritev od pov-
preč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. Podrob-
nosti 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 pod-
lagi 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 spre-
minjajoč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 iz-
rač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 Qt in Rt
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 simula-
cije 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 prika-
zuje 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 nje-
govo 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 ru-
meni barvi.
5.5 Končni avtomat
Med izhodom regulatorja ter izhodom Microautobox krmilne enote smo v diplom-
skem 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-
manovega filtra.
(b) Krmilni signal regulatorja brez uporabe
Kalmanovega filtra.
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 vo-
zilo 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 po-
manjkljivosti 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 za-
vore 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 podrob-
neje predstavljen v naslednjem poglavju, smo lahko ocenili vzdolžno odstopanje vo-
zila 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 ča-
som 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črtova-
njem 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 pri-
lagajal 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 komple-
ksnosti uporaben zgolj za simulacijo. Če si ne želimo linearni regulator zgraditi zgolj
s poizkušanjem in napakami, potrebujemo linearni model reguliranega sistema, po-
dobno kot smo ga potrebovali za sintezo vzdolžnega regulatorja. Tokrat nas pred-
vsem 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.β̇ψ̈
= − 2·cm·v c·(ls+lz)m·v2 −1
c·(lz−ls)Jz
−c·(l2s +l
2z )
Jz·v
·β
ψ̇
+ cm·v
c·lsJz
·δ (6.1)kjer so:
• β -kot stranskega zdrsa ,
• ψ̇ - kotna hitrost masnega središča vozila,
• δ - kot zasuka sprednjega kolesa ,
• c - koeficient togosti sprednjega in zadnjega kolesa,
• Jz - vztrajnostni moment vozila okoli navpične osi skozi masno središče,
• ls - oddaljenost sprednjega kolesa od masnega središča,
• lz - 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 traj-
ektorije, 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 pred-
stavlja enega izmed parametrov točk trajektorije, to je trenutna ukrivljenost k. Na
podlagi slike 6.2 lahko zapišemo naslednji dve enačbi:
e1 =V · sin(∆ψ +β ) (6.3)
ė2 = ψ̇− ψ̇des = ψ̇− k · v. (6.4)
Kjer so:
• e1 - prečno odstopanje od trajektorije,
• e2 - razlika med željeno in dejansko usmeritvijo vozila,
• ψ - usmeritev vozila,
• ψdes - željena usmeritev vozila,
• β - kot zdrsa,
• k - 1R , 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.
β̇
ψ̈˙∆ψ
ė1
δ̇
=
− 2·cm·vc·(ls+lz)
m·v2 −1 0 0c
m·vc·(lz−ls)
Jz−c·(l
2s +l
2z )
Jz·v 0 0c·lsJz
1 0 0 0 0
0 v v 0 0
0 0 0 0 −T
·
β
ψ̇
∆ψ
e1
δ
+
0
0
0
0
K
·δželjen +
0
0
−v
0
0
· k. (6.5)
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 regu-
lacijski sistem predstavljen v tem poglavju nadgrajen v naslednjih podpoglavjih.
Iz enačbe 6.5 lahko izločimo prenosni funkciji ψ(s)δželjen(s) terψ(s)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čakova-
nju k nima vpliva na usmeritev vozila, prenosna funkcija ψ(z)δželjen(z) pa se v diskretnem
prostoru ob intervalu tipanja 10ms glasi
ψ(z)δželjen(z)
=0.00001157 · (z+3.579) · (z−0.7986) · (z+0.257)(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 line-
arno 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 zaka-
snitev pri reakcijah regulatorja zapusti željeno