• No results found

Trimning av lead och lag filter

N/A
N/A
Protected

Academic year: 2022

Share "Trimning av lead och lag filter"

Copied!
55
0
0

Loading.... (view fulltext now)

Full text

(1)

Trimning av lead och lag filter

J O N A S G Ä R D

Master's Degree Project Stockholm, Sweden 2004

IR-RT-EX-0417

(2)

Abstract

The work describes the development of an adjustment algorithm that will replace today’s manual adjustment of Lead- and Lag-filters at ABB Robotics industrial robots. The adjustment is mainly for the filter parameters in the control system.

Three different algorithms have been created to replace the manual adjust- ment. One of them is based on the criterion from the manual adjustment and another one on optimization of the sensitivity function. The last one is a combination of the two.

The report describe the development of the algorithms and how they behave during simulations and tests on real robots. All three algorithms are several times faster then todays adjustment and present equivalent results at the same time.

Keywords: Filter, Adjustment, Optimization, Criteria, Sensitivity func- tion.

i

(3)

Sammanfattning

Arbetet beskriver framtagandet av trimningsalgoritmer som ska ¨overta da- gens manuella trimning av Lead- och Lag-filter p˚a ABB Robotics indus- trirobotar. Trimningen riktar sig framf¨orallt till filterparametrarna i styrsys- temet.

Tre olika algoritmer har tagits fram som arvtagare till dagens manuella trimning. En av algoritmerna utg˚ar fr˚an kriterier i dagens trimning medan en annan anv¨ander sig av optimering av k¨anslighetsfunktionen. Den sista kan ses som en blandning av de tv˚a algoritmerna.

I rapporten kan du f¨olja algoritmernas tillkomst, hur dess resultat beter sig vid simuleringstester samt verkliga robottester. Alla tre algoritmerna ¨ar m˚angfaldigt snabbare ¨an dagens trimning och presenterar samtidigt likv¨ardiga resultat.

Nyckelord: Filter, Trimning, Optimering, Kriterier, K¨anslighetsfunktion.

ii

(4)

orord

Jag vill tacka min handledare p˚a ABB Robotics, Peter Helin f¨or hans stora engagemang och kunnande. Jag vill ¨aven tacka min handledare och exami- nator vid KTH, Henrik Jansson och Mikael Johansson f¨or deras goda id´eer och st¨od. Slutligen vill jag n¨amna Mattias Bj¨orkman och hans v¨ardefulla optimeringskunskaper samt Per-Emil Eliasson som har varit utm¨arkt att bolla id´eer med.

iii

(5)

Notation

H¨ar ges en kortare beskrivning av de komponenter som anv¨ands i rapporten i form av notationer och en f¨orklarande text.

Symboler

Jm Tr¨oghetsmoment motor.

Ja Tr¨oghetsmoment arm.

fm Friktion motor.

fa Friktion arm.

θm Motorposition.

θa Armposition.

θ˙m Motorhastighet.

θ˙a Armhastighet.

Kv Hastighetsloopens proportionella konstant.

Ki Integrerande delens konstant.

Kp Positionsloopens konstant.

S K¨anslighetsfunktionen.

T Komplement¨ara k¨anslighetsfunktionen.

MS Maximum av S.

MT Maximum av T.

Am Amplitudmarginal.

ϕm Fasmarginal.

—————————–

iv

(6)

Inneh˚ all

1 Inledning 1

1.1 Bakgrund . . . 1

1.2 Syfte och ¨andam˚al . . . 1

1.3 Avgr¨ansning . . . 2

1.4 Disposition . . . 2

2 Oversikt av systemet¨ 3 2.1 Industrirobot . . . 3

2.2 Styrsystemet . . . 3

2.2.1 Reglerloopen . . . 4

3 Grundl¨aggande reglerteknik 6 3.1 PID-reglering . . . 6

3.2 Filter . . . 7

3.2.1 Lead-filter . . . 8

3.2.2 Lag-filter . . . 9

3.3 Tidskontinuerlig eller tidsdiskret design . . . 9

3.4 K¨anslighet och komplement¨ar k¨anslighet . . . 10

3.5 Normer . . . 11

3.5.1 H2-normen . . . 12

3.5.2 H-normen . . . 13

4 Modeller 14 4.1 Tv˚amassemodell . . . 14

5 Trimning av filterparametrar 16 5.1 Ber¨orda delar . . . 16

5.2 Trimning med amplitudmarginal . . . 16

5.2.1 Manuell trimning . . . 17

5.2.2 Automatiserad trimning . . . 18

5.3 Trimning med k¨anslighetsfunktion . . . 20

5.4 Kombinationstrimning . . . 21 v

(7)

vi Inneh˚all

6 Optimeringsalgoritmer 24

6.1 For-loopar . . . 24

6.2 gclSolve . . . 25

7 Simuleringsresultat 27 7.1 Vad simuleringen visar . . . 27

7.2 Manuell trimning . . . 27

7.3 Automatiserad trimning . . . 28

7.4 Trimning med k¨anslighetsfunktion . . . 29

7.5 Kombinationstrimning . . . 30

7.6 Problem . . . 31

7.7 Slutsatser . . . 31

8 Tester p˚a robot 33 8.1 Egenskaper f¨or de olika trimparametrarna . . . 33

8.2 Problem . . . 34

8.3 Slutsatser . . . 35

9 Resultat 36 9.1 Trimningsalgoritmerna . . . 36

9.2 Framtidsm¨ojligheter . . . 36

9.3 Framtida arbeten . . . 37 A ¨Overf¨oringsfunktionerna och tillh¨orande blockdiagram 40

B Plottar fr˚an de olika metoderna 46

(8)

Kapitel 1

Inledning

Detta examensarbete ¨ar utf¨ort hos ABB Robotics i V¨aster˚as. ABB Robotics ligger som en del under ABB Automation Technologies, det vill s¨aga ABB:s automationsdel och har runt 1400 anst¨allda. F¨oretaget ¨ar v¨arldsledande in- om robotautomation med ¨over 100000 industrirobotar v¨arlden ¨over och med sina st¨orsta kunder inom bilindustrin. F¨oretagets signum ¨ar att presentera p˚alitliga industrirobotar som ¨ar l¨atta att anv¨anda och l¨atta att integrera.

1.1 Bakgrund

Styrsystemen till dagens industrirobotar ¨ar inget som tas fram i en hand- v¨andning utan kr¨aver stort reglertekniskt kunnande. K¨arnan i styrsystemet

¨

ar en PI-regulator som ser till att roboten uppf¨or sig som ¨onskat. Till sin hj¨alp har regulatorn bland annat ett Lead- och ett Lag-filter. Filternas uppgift ¨ar att f¨orb¨attra robotens prestanda ytterligare. Vid trimning av robotaxlar eller dylikt anv¨ands i dagsl¨aget konstanta filterparametrar (pol- er och nollst¨allen) till dessa filter. Nya robotmodeller inneb¨ar en ¨andring i flexibilitet varp˚a en manuell justering av filterparametrarna blir n¨odv¨andig.

Denna justering ¨ar v¨aldigt tidskr¨avande och kr¨aver en specifik kompetens.

Aven med den kompetensen ¨¨ ar det omst¨andigt att ta fram en bra filterup- ps¨attning.

1.2 Syfte och ¨ andam˚ al

Det h¨ar examensarbetet har som m˚al att ta fram en metod f¨or att optimera filterparametrarna till Lead- och Lag-filter i reglersystemet. Optimeringen ska g¨oras med avseende p˚a god st¨orningsundertryckning, robusthet och pre- standa. Dagens filterupps¨attningar som tagits fram manuellt ska anv¨andas som referens f¨or bed¨omning av metoden. Optimeringen kan ses som en forts¨attning p˚a [6] d¨ar metoder f¨or automatisk trimning av regulator med konstanta filterparametrar behandlas.

1

(9)

2 Inledning

1.3 Avgr¨ ansning

Arbetet h˚aller sig till en enaxlig tv˚amassemodell f¨or att kunna l¨agga all kon- centration p˚a att f˚a fram en fungerande algoritm. Inom detta omr˚ade har avdelningen bra modeller och simuleringsresultat som kan anv¨andas som referensv¨arden. Optimeringen kommer endast g¨oras i programmet Matlab.

Fokus har lagts p˚a att ta fram metoder och algoritmer f¨or att hitta l¨ampliga filterparametrar. Framtagningen av modell och anv¨andargr¨anssnitt ing˚ar ej i arbetsuppgiften. Resultaten av optimeringen testas i en simuleringsmod- ell, d¨ar resultatet j¨amf¨ors med tidigare manuellt framtagna parametrar, de s˚a kallade referensparametrarna. Slutligen testas optimerade parame- terv¨ardena ¨aven p˚a verkliga robotar.

1.4 Disposition

I kapitel 2 ges en ¨oversikt av systemet och dess ing˚aende komponenter.

Hur komponenterna anv¨ands samt viss grundl¨aggande reglerteknik kommer n¨amnas i kapitel 3. Kapitel 4 tar upp hur modellen som anv¨ands till trimnin- gen och simuleringen ¨ar uppbyggd och vilka antaganden som ¨ar gjorda. Kapi- tel 5 beskriver vad som vill uppn˚as med trimningen och hur sj¨alva trimningen g˚ar till. Kapitel 6 beskriver optimeringsalgoritmerna som anv¨ands tillsam- mans med trimningsalgoritmerna. Kapitel 7, 8 och 9 inneh˚aller alla resultat fr˚an trimningarna, det vill s¨aga simuleringsresultat och riktiga robottester samt vilken nytta f¨oretaget kommer ha av trimningsalgoritmen. Kapitel 9.3

¨ar om framtida arbeten.

De tre f¨orsta kapitlen ¨ar med andra ord f¨or de som inte har en genuin robotf¨orst˚aelse utan vill l¨asa om vad som ska regleras och vad som kommer anv¨andas f¨or att kunna g¨ora det p˚a ett bra s¨att.

Ar man bara intresserad av sj¨¨ alva trimningsalgoritmen, hur den tas fram och dess utf¨orande s˚a rekommenderas ett hopp direkt till kapitel 5.

(10)

Kapitel 2

Oversikt av systemet ¨

I det h¨ar avsnittet f¨orklaras vad ABB:s industrirobot anv¨ands till och hur den fungerar. En mer ¨overgripande f¨orklaring av systemet ges samt en

¨oversikt av dess ing˚aende delar i form av regulatorer och filter.

2.1 Industrirobot

1960 byggde ASEA sin f¨orsta industrirobot med namnet IRB 6. Roboten byggdes f¨or att ¨overta monotona r¨orelser inom industrin s˚asom svetsning, materialhantering mm. F¨or att en industrirobot ska kunna r¨ora sig i alla riktningar och p˚a s˚a s¨att styra sitt verktygs position och orientering kr¨avs sex axlar, vilket ger sex frihetsgrader. Tre stycken rumskoordinater (x-, y- och z-led) samt tre f¨or att rikta in verktyget i valfri riktning. Varje axel styrs med hj¨alp av en motor och varje motor regleras med styrsystemet.

Fr˚an den f¨orsta roboten som ASEA byggde till dagens ABB robotar har det skett en hel del f¨or¨andringar. Fr˚an att ha parallellstag till att ha ”bending backward” vilket inneb¨ar att roboten kan r¨ora sig fritt b˚ade fram˚at och bak˚at. Bending backward medf¨or ¨okad r¨ackvidd men leder samtidigt till

¨

okad armelastisitet (vekhet) som i sin tur g¨or att reglersystemen blir mer komplicerade att reglera. Exempel p˚a en bending backward robot se figur 2.1.

2.2 Styrsystemet

Anv¨andaren matar in koordinater i systemet dit robotens TCP (Tool Cen- ter Point) ska ta sig. TCP ¨ar kalibreringspunkten f¨or verktyget alternativt mitten p˚a vridskivan om inget verktyg anv¨ands. I bangeneratorn omvandlas koordinaterna till vinklar p˚a de olika motoraxlarna. Vinklarna framkopplas med hj¨alp av ett f¨orfilter och ger referenssignalerna f¨or position, hastighet och motormomentet. Referenssignalerna matas in i regulatorn som i sin tur omformar signalerna till ett motormoment. Motormomentet omvandlas med

3

(11)

4 Oversikt av systemet¨

Figur 2.1. IRB 7600

hj¨alp av drivdon till en str¨om som driver axelmotorn. Det ¨ar allts˚a indirekt med motormomentet (med hj¨alp av axelmotorn) man styr sj¨alva roboten.

Utsignaler av intresse fr˚an roboten ¨ar armposition och motorposition, d¨ar endast motorpositionen ¨ar m¨atbar. Motorpositionen ˚aterkopplas till regula- torn enligt figur 2.2.

Figur 2.2. Styrsystemet

2.2.1 Reglerloopen

Fr˚an reglersystemet kan man lyfta ut regulatorn och roboten och tillsam- mans utg¨or de det ˚aterkopplade systemet i figur 2.3. Reglerloopen ¨ar kaskad- kopplad och best˚ar av en inre hastighetsloop och en yttre positionsloop.

F¨orst¨arkningen till positionsloopen ¨ar ben¨amnd Kp medan f¨orst¨arkningen

(12)

2.2 Styrsystemet 5

Figur 2.3. Reglerloopen

i hastighetsloopen ligger inbakad i PI-regulatorn och ¨ar ben¨amnd Kv. Sig- nalen som ˚aterkopplas ¨ar motorpositionen(θm) som multipliceras med en tidsf¨ordr¨ojning(1z) som motsvarar det naturliga tidskontinuerliga systemet.

Den ˚aterkopplade signalen deriveras (Dif f ) samt l˚agpassfiltreras (LP ) in- nan den j¨amf¨ors med hastighetsreferensen. Till positionsloopens referenssig- nal dras ˚aterkopplingen direkt utan annan behandling ¨an tidsf¨ordr¨ojningen.

˚Aterkoppling g¨or att inte lika exakt kunskap beh¨ovs om systemets uppf¨orande, eftersom man anv¨ander utsignalen f¨or att best¨amma insignalen. Utan till- g¨anglig utsignal m˚aste man veta exakt hur insignalen p˚averkar utsignalen f¨or att kunna styra systemet. Perfekt framkoppling skulle ge 0 som insignal vid ˚aterkopplingen, eftersom referenssignalen och ˚aterkopplade signalen tar ut varandra.

Efter att referenssignalerna blivit j¨amf¨orda med de ˚aterkopplade signaler- na s˚a behandlas den kvarvarande signalen utav PI-regulatorn samt Lag och Lead filterna, det vill s¨aga sj¨alva regulatorn. Regulatorn ger ett moment som tillsammans med f¨orfiltrets framkopplade moment ger insignalen till roboten.

Delarna i reglerloopen som framf¨orallt behandlas i den h¨ar rapporten ¨ar PI- regulatorn samt Lead- och Lag-filterna som f¨orklaras mer ing˚aende i kapitel 3.

(13)

Kapitel 3

Grundl¨ aggande reglerteknik

Kapitlet inneh˚aller f¨orklarande bitar av grundl¨aggande reglerteknik som anv¨ands i arbetet. Avsnittet f¨ors¨oker ¨aven bygga broar mellan ”skolteorin”

och teorin som anv¨ands i detta arbete. Framf¨orallt ges mer ing˚aende detaljer av PI-regulatorn samt Lead- och Lag-filterna fr˚an f¨oreg˚aende kapitel. F¨or att underl¨atta f¨orst˚aelsen s˚a g¨ors antaganden utifr˚an en f¨orenklat struktur av reglerloopen (figur 2.3) i form av ett blockdiagram (figur 3.1).

Figur 3.1. F¨orenklad struktur av reglerloopen d¨ar PI-regulatorn och filterna ¨ar inbakade i regulator och roboten utg¨or processen.

3.1 PID-reglering

PID-regulatorn ¨ar den mest grundl¨aggande regulatorn och ¨ar den mest f¨orekommande regulatorn inom industrin. Den best˚ar av en f¨orst¨arkande del (P=proportional), en integrerande del (I=integrating) och slutligen en de- riverande del (D=derivating) se (3.1). Den proportionella delen ¨okar snabb- heten i systemet, men leder samtidigt till s¨amre stabilitet. Den integrerande delen ¨ar proportionell mot tidsintegralen av felet och tar bort det statiska

6

(14)

3.2 Filter 7

felet. Stor integrerande del leder dock till mer oscillativt system och f¨ors¨amrar stabiliteten. Den deriverande delen som ¨ar proportionell mot tidsderivatan av felet, kompenserar f¨orutsett fel och f¨orb¨attrar stabiliteten. Vid brusi- ga m¨atsignaler blir derivatan op˚alitlig varf¨or denna del ofta undviks vid sv¨angiga system. [1] Styrlagen f¨or en generell PID regulator ges av

u(t) =

  P

Kve(t) +

 I  Ki

 t

0

e(s)ds +

  D

Kd

d

dte(t) (3.1)

d¨ar e(t) ¨ar reglerfelet, det vill s¨aga skillnaden mellan m¨att utsignal och

¨onskad utsignal och d¨ar u(t) ¨ar den resulterande styrsignalen. Efter Laplace- transformering av (3.1) blir styrlagen

U (s) = (Kv+Ki

s + Kds)E(s) (3.2)

I den reglerloop som beskrivs i avsnitt 2.2.1 anv¨ands en PI-regulator med f¨oljande utseende:

U (s) = (

P

Kv +

  I

Kv/Ti

s )E(s) (3.3)

Kvp˚averkar den proportionella delen och styr snabbheten i systemet. Kisom utg¨ors av Ki = KTv

i tar bort det statiska felet. Trimningen av dessa parame- trar g¨ors i f¨orsta hand direkt p˚a robot med en metod liknande Ziegler-Nichols metod.

Till en b¨orjan v¨aljs d˚a Kp = 0 och Ti = ∞ f¨or att koppla bort position- sloopen och eliminera integrerande verkan. N¨ar detta gjorts trimmas Kv

utefter en amplitudmarginal p˚a 2.5 samt att systemet d¨ampas ut p˚a tre pe- rioder.

N¨ar Kv ¨ar best¨amd s˚a trimmas Ti och slutligen Kp. Mer ing˚aende om hur dessa trimningar g˚ar till samt alternativa metoder finns att l¨asa om i [6].

En gemensam n¨amnare i dessa trimningar ¨ar att filterparametrarna h˚alls konstanta. Vid problem med robotaxlar eller f¨or nya modeller beh¨ovs dock en justering av filterparametrarna. Justeringar g¨ors i Matlab och beskrivs mer ing˚aende i kapitel 5.

3.2 Filter

Filter anv¨ands f¨or att forma en befintlig signal s˚a att den uppfyller vis- sa specifikationer. Det kan handla om att filtrera bort brus eller andra st¨orningar f¨or att f˚a en tydligare signal eller som i det h¨ar fallet att anv¨anda filterna som en kompenseringsl¨ank, det vill s¨aga justerar faskurvan p˚a ut- valda st¨allen f¨or att kunna n˚a ¨onskade egenskaper.

(15)

8 Grundl¨aggande reglerteknik

3.2.1 Lead-filter

Under trimningen efterstr¨avas en h¨og f¨orst¨arkning f¨or att undertrycka st¨or- ningar och p˚a s˚a s¨att f¨orb¨attra robotens prestanda. Vid ¨onskad ¨okning av f¨orst¨arkningen Kv visar det sig att fasmarginalen blir f¨or liten. F¨or att ¨oka fasmarginalen anv¨ands en fasavancerande l¨ank (Lead p˚a engelska) som h¨ojer faskurvan. L¨anken har f¨oljande utseende:

FLead(s) = N s + b

s + bN, b > 0, N > 1 (3.4)

Ett stort v¨arde p˚a N ger en fasavancering n¨ara +90, men ger samtidigt stor f¨orst¨arkning vid h¨oga frekvenser. Detta ger en snabbt varierande utsignal med h¨og amplitud, n˚agot som frestar p˚a systemet [4]. F¨or att undvika detta anv¨ands l¨agsta m¨ojliga N i kompenseringsl¨anken, men ¨and˚a s˚a pass h¨ogt att tillr¨acklig fasavancering f˚as. Rekommenderade v¨arden p˚a N kan tas ur grafer och hittas l¨ampligen i [4]. I denna rapport v¨aljs inget N v¨arde utan pol och nollst¨alle trimmas fram, och ger i sin tur ett N v¨arde och medf¨oljande fasavancering. Den p˚averkan som Lead kompenseringen har syns tydligt p˚a faskurvan av ¨oppna systemet (se figur 3.2). L¨agg d¨ar m¨arke till hur faskurvan lyfts upp i slutskedet f¨or att beh˚alla stabiliteten.

Figur 3.2. Leadkompensering p˚a faskurvan till ¨oppna systemet

(16)

3.3 Tidskontinuerlig eller tidsdiskret design 9

3.2.2 Lag-filter

Den fasretarderande l¨anken (Lag p˚a engelska) anv¨ands till att h¨oja l˚agfrekvens- f¨orst¨arkningen utan att p˚averka fasmarginalen f¨or mycket. Lag-filtret ges p˚a formen:

FLag(s) = s + a

s + Ma , a > 0, M > 1 (3.5) FLag(iω) = M f¨or sm˚a ω

FLag(iω) = 1 f¨or stora ω (3.6) Det station¨ara felet p˚averkas bara av M eftersom felkoefficienten minskas med en faktor M. Insv¨angningstiden mot det station¨ara v¨ardet p˚averkas i sin tur av a, d¨ar ett st¨orre a ger en snabbare insv¨angning. Samtidigt m˚aste man ha i ˚atanke att faskurvan f¨ors¨amras rej¨alt f¨or frekvenser mellan Ma och a, det vill s¨aga ett stort a och M leder till s¨amre fasmarginal. En l¨amplig tumregel f¨or v¨arden p˚a a ¨ar ofta a = 0.1ωc, d¨ar ωc ¨ar sk¨arfrekvensen [1].

I det h¨ar arbetet optimeras filterparametrarna (poler och nollst¨allen) fram vilket i sin tur ger a och M v¨arden. Samtidigt h˚alls uppsikt p˚a faskurvan s˚a att det inte blir n˚agra markanta f¨or¨andringar p˚a den.

3.3 Tidskontinuerlig eller tidsdiskret design

Dagens datorsamh¨alle medf¨or att n¨astan alla implementeringar av reglersys- tem sker digitalt. Det ger regulatorn i diskret tid medan verkliga systemet arbetar i kontinuerlig tid. F¨or att l¨osa ¨overg˚angen mellan regulator och sys- tem finns det tv˚a olika s¨att att tillg˚a.

Ett s¨att ¨ar att all regulatordesign g¨ors i kontinuerlig tid, s˚a om regulatorn vore tidskontinuerlig. Detta ¨ar m¨ojligt med hj¨alp av dagens datakraft och snabba processorer. Regulatorn g¨ors sedan om till tidsdiskret med hj¨alp av tidsdiskret teori. Approximationerna som anv¨ands medf¨or dock allt som of- tast en f¨ors¨amring av robusthet.

Ett annat s¨att ¨ar att r¨akna p˚a att regulator och system ¨ar tidsdiskreta.

Detta s¨att inneb¨ar att det tidskontinuerliga systemet beskrivs med en tids- diskret modell. Utifr˚an modellen kan regulatorn tas fram genom tidsdiskre- ta ber¨akningar. En av f¨ordelarna med detta s¨att ¨ar att effekterna av att g¨ora regulatorn tidsdiskret bakas in i modellen redan fr˚an b¨orjan. En av nackdelarna ¨ar att modellen bara tar h¨ansyn till hur systemet uppf¨or sig i samplingspunkterna. Det inneb¨ar med andra ord att det finns en risk f¨or o¨onskat uppf¨orande av systemet mellan samplingspunkterna.

Metoden som anv¨ands i detta examensarbete bygger p˚a den andra metoden, det vill s¨aga att systemet beskrivs med en tidsdiskret modell. Modellen som anv¨ands beskrivs mer ing˚aende i kapitel 4.

(17)

10 Grundl¨aggande reglerteknik

3.4 anslighet och komplement¨ ar k¨ anslighet

K¨anslighetsfunktionen ¨ar namnet p˚a ¨overf¨oringsfunktionen som beskriver hur st¨orningar (v) p˚averkar utsignalen (y), vilket ses b¨ast i figur 3.1. Notatio- nen f¨or k¨anslighetsfunktionen ¨ar ofta S efter engelskans Sensitivity function och har ett utseende enligt:

S = 1

1 + F G (3.7)

K¨anslighetsfunktionen svarar samtidigt mot det sanna systemet (S0), det vill s¨aga hur det relativa modellfelet G omformas till ett relativt utsignalfel.

S0 = 1

1 + F G0 = 1

1 + F G(1+G)

Vid sm˚a modellfel (G<< 1) approximeras det sanna systemet till ekvation 3.7. F¨or att minimera p˚averkan fr˚an modellfel och st¨orningar p˚a utsignalen

¨ar det ¨onskv¨art att h˚alla k¨anslighetsfunktionen s˚a l˚ag som m¨ojligt [3]. Ett steg p˚a v¨agen ¨ar att h˚alla den l˚ag vid frekvenser d¨ar modellfel och st¨orningar v¨antas. En l¨osning ¨ar att l¨agga in en integrering i kretsf¨orst¨arkningen och d¨armed g¨ora den o¨andligt stor f¨or nollfrekvensen, vilket i sin tur leder till att k¨anslighetsfunktionen blir lika med 0. Det finns dock n˚agra risker med att s¨atta s˚a h¨og kretsf¨orst¨arkning:

• ¨Okad risk f¨or instabilitet vid modellfel

• Tekniska begr¨ansningar p˚a hur stor insignalen kan vara. Eftersom v¨al d¨ampade frekvensomr˚aden kr¨aver stora insignaler f¨or att f˚a h¨og kretsf¨orst¨arkning.

• Risk att m¨atbruset sl˚ar igenom vid frekvensomr˚aden d¨ar k¨anslighets- funktionen ¨ar liten.

Parallellt med k¨anslighetsfunktionen har vi den komplement¨ara k¨anslighets- funktionen (T) som ¨ar viktig f¨or att best¨amma robusthet. Robustheten ¨ar ett m˚att p˚a hur stort modellfel man kan ha utan att ¨aventyra stabiliteten i det slutna systemet. Slutna systemet ¨ar stabilt om f¨oljande kriterier ¨ar uppfyllda:

 G T< 1⇒ |T (iω)| < 1

| G(iω)|,∀ ω (3.8) Anledningen till att funktionen kallas komplement¨ar k¨anslighetsfunktion ¨ar f¨or att k¨anslighetsfunktionen och komplement¨ara k¨anslighetsfunktionen till- sammans uppfyller:

S + T = 1 (3.9)

det vill s¨aga de kompletterar varandra ¨over hela frekvensintervallet. Detta illustreras ¨aven bra i figur 3.3 d¨ar vi ser att summan av de tv˚a funktionerna

(18)

3.5 Normer 11

100 102

−120

−100

−80

−60

−40

−20 0 20

Magnitude (dB)

100 102

−140

−120

−100

−80

−60

−40

−20 0 20

Magnitude (dB)

Bode Diagram

Frequency (rad/sec)

Bode Diagram

Frequency (rad/sec)

Figur 3.3. K¨anslighetsfunktionen S och komplement¨ara k¨anslighetsfunktionen T

approximativt blir lika med ett.

Onskem˚¨ alen f¨or S och T kan sammanfattas i tv˚a punkter.

• T ska h˚allas n¨ara ett f¨or att reglerstorheten ska f¨olja referenssignalen.

• H˚all S och T l˚aga f¨or att minimera systemst¨orningar, modellfel och m¨atst¨orningars inverkan p˚a utsignalen.

3.5 Normer

F¨or att f˚a ett bra v¨arde p˚a en vektorv¨ard signal anv¨ands ofta vektornormen som betecknas med hj¨alp av dubbelstrecken · . Vektornormen avbildar en vektor eller en matris i form av ett rum ner till ett singul¨art v¨arde enligt, Rn→ R [2]. Vektornormerna har alla f¨oljande egenskaper

x ≥ 0, f¨or alla x

x = 0 ⇔ x = 0

αx = |α|x

x + y ≤ x + y (triangelolikheten)

(19)

12 Grundl¨aggande reglerteknik

De mest f¨orekommande normerna ¨ar alla specialfall utifr˚an lp-normen

xp = (

n i=1

xpi)1/p (3.10)

D¨ar det ¨ar ett m˚aste att p 1 f¨or att uppfylla triangelolikheten.

De mest f¨orekommande normerna ¨ar p˚a diskret form

x1 =

n i=1

|xi| (3.11)

x2 = (

n i=1

x2i)1/2 (3.12)

x= max

1in|xi| (3.13)

Den euklidiska normen (3.12) och maximumnormen (3.13), ¨aven kallade tv˚anormen och o¨andlighetsnormen ¨ar de som anv¨ands i detta arbete.

Skillnaden mellan normerna ¨ar endast en konstant faktor vilket g¨or att de oftast ses som likv¨ardiga. Hur normerna st˚ar sig mot varandra visas i figur 3.4 d¨arap = 1 f¨or en vektor med tv˚a element har ritats ut f¨or varje enskild norm. [5]

Figur 3.4. Vektornormen ap= 1 f¨or p = 1, 2,

Ofta f¨orekommer normerna i samband med en bokstav, t.ex. H-normen eller L2-normen och syftar d˚a p˚a vilket rum normen ¨ar definierad f¨or [13]. I denna rapport anv¨ands normen f¨or Hardyrummet, det vill s¨aga H-normen, som ¨ar vanligt f¨orekommande till kausala signaler och system [3].

3.5.1 H2-normen

Tv˚anormen ¨ar den mest naturliga ur matematisk synpunkt, men samtidigt medf¨oljer ett antagande om att energin i signalen ¨ar ¨andlig, vilket inte

(20)

3.5 Normer 13

blir fallet f¨or signaler med st¨orningar. Tv˚anormen behandlar signalen en- ligt (3.12), det vill s¨aga summerar beloppet av amplituden ¨over hela det givna intervallet och svarar mot den kortaste v¨agen mellan tv˚a punkter [5].

H2-normen anv¨ands b˚ade till trimningen med k¨anslighetsfunktionen (Kapi- tel 5.3) samt till kombinationstrimningen (Kapitel 5.4). Eftersom normen anv¨ander beloppet av amplituden f¨or alla frekvenser s˚a skapas en bra bild

¨over hur ”energin” i signalen ¨ar f¨ordelad ¨over intervallet. Detta i sin tur g¨or att det ¨ar l¨attare att f˚a ett j¨amt tryck ¨over hela intervallet n¨ar normen anv¨ands i optimeringsalgoritmerna (Kapitel 6).

3.5.2 H-normen

Enligt (3.13) s˚a v¨aljer o¨andlighetsnormen ut v¨ardet med den h¨ogsta amplitu- den inom det genoms¨okta intervallet. Liksom H2-normen anv¨ands ¨aven H- normen till trimning med k¨anslighetsfunktionen och kombinationstrimnin- gen. H-normen anv¨ands d¨ar till att trycka topparna genom att plocka ut normv¨ardet f¨or h¨ogsta toppen och sedan anv¨anda det i optimeringsalgorit- merna. V¨ardet fr˚an H-normen ¨ar j¨amf¨orelsevis v¨aldigt l˚agt, vilket g¨or att det m˚aste viktas upp m˚angfaldigt f¨or att kunna j¨amf¨oras med H2-normen, i runda sl¨angar 30 g˚anger. Samtidigt s˚a medf¨or H2-normen viktigare egen- skaper (i det h¨ar sammanhanget) vilket g¨or att H-normen skulle beh¨ovas viktas ned, n˚agot som nu g¨ors automatiskt.

(21)

Kapitel 4

Modeller

Vid simuleringarna ers¨atts roboten av en enaxlig linj¨ar modell som kan beskrivas som en tv˚amassemodell. Tv˚amassemodellen r¨acker bra i m˚anga fall, men f¨or vissa robotaxlar med en vekare struktur kan en tremassemodell eller en modell av h¨ogre ordning kr¨avas.

Modellen ing˚ar samtidigt som en viktig del i trimningen eftersom sj¨alva filtertrimningen utf¨ors i Matlab milj¨o ist¨allet f¨or p˚a verklig robot.

4.1 Tv˚ amassemodell

Robotaxeln har vissa vekheter i form av v¨axell˚ada och armvekhet. Vekheten modelleras med hj¨alp av tv˚a massor ihopkopplade med en fj¨ader och en d¨ampning enligt figur 4.1. Ja ¨ar axelns tr¨oghetsmoment och Jm motor-

Figur 4.1. Tv˚amassemodell

tr¨oghetsmoment. Notationerna k och d beskriver fj¨aderkonstantens styvhet och d¨ampningen mellan de tv˚a massorna. Tillsammans beskriver de vekheten mellan motor och arm. Friktionskrafterna som p˚averkar massorna ¨ar utsat- ta som fa och fm. Vekheten g¨or att armvinkeln och motorvinkeln inte blir densamma, men p˚a grund av kostnader reglerar man armvinkeln med hj¨alp av motorvinkeln som ¨ar l¨attare att m¨ata. Den matematiska beskrivningen av modellen ¨ar

Jmθ¨m+ fmθ˙m+ d( ˙θm− ˙θa) + k(θm− θa) = u (4.1) 14

(22)

4.1 Tv˚amassemodell 15

Jaθ¨a+ faθ˙a+ d( ˙θm− ˙θa)− k(θm− θa) = 0 (4.2)

d¨ar θm och θa ¨ar motorvinkel respektive armvinkel. Motormomentet u ¨ar styrsignalen f¨or systemet. P˚a tillst˚andsform beskrivs systemet enligt f¨oljande:

˙

x(t) = Ax(t) + Bu(t)

y(t) = Cx(t) (4.3)

Vid val av f¨oljande tillst˚and,

x(t) =

⎢⎢

⎣ θm θ˙m

θa θ˙m

⎥⎥

⎦ (4.4)

blir tillst˚andsmatriserna

A =

⎢⎢

⎢⎣

0 1 0 0

JkmfmJm+d Jkm Jdm

0 0 0 1

k Ja

d Ja

k Ja

fa+d Ja

⎥⎥

⎥⎦ (4.5)

B =

⎢⎢

⎣ 0

J1m

0 0

⎥⎥

⎦ (4.6)

C =

1 0 0 0 

(4.7)

Utsignalen ¨ar motorvinkeln θm och insignalen ¨ar momentet u.

Utifr˚an tillst˚andsmatriserna tas ¨overf¨oringsfunktionerna till roboten fram p˚a tillst˚andsform. Vilken ¨overf¨oringsfunktion som tas fram (Gmotorposition, Gmotorhastigheteller Garmposition) beror av C-matrisen som best¨ammer utsig- nalen. ¨Overf¨oringsoperatorn samplas med samplingstiden T f¨or att ge ett tidsdiskret system att reglera efter. Det ¨ar de samplade ¨overf¨oringsfunktion- erna som ben¨amns Gmp, Gms och Gap fram¨over i rapporten.

(23)

Kapitel 5

Trimning av filterparametrar

Det h¨ar avsnittet kommer behandla vilka delar av systemet som p˚averkas av trimningen samt vad man vill uppn˚a med trimningen av filterparametrarna.

F¨or att uppn˚a s˚a h¨og prestanda som m¨ojligt och god st¨orningsundertryckning utan att f¨or den skull f¨orsumma robusthet och k¨anslighet s˚a ¨ar det viktigt att trimningen av filterparametrarna g¨ors noggrant.

5.1 Ber¨ orda delar

Trimningen av filterparametrarna g¨ors med hj¨alp av robotmodellen, det vill s¨aga evalueras fram i Matlab till skillnad fr˚an de vanliga parameter- trimningar som g¨ors direkt p˚a verklig robot.

Trimningen involverar Kv som ¨ar hastighetsloopens proportionella del samt Lead och Lag filternas poler och nollst¨allen (se figur 2.3). Det som efters¨oks genom trimningen ¨ar allts˚a att hitta en kombination av dessa parametrar f¨or att f˚a systemet att f¨olja f¨oljande kriterier p˚a b¨asta m¨ojliga s¨att.

• B¨attre prestanda i form av mindre banfel och mindre ¨oversl¨angar

• B¨attre d¨ampning av st¨orningar

• Bibeh˚allen stabilitet och robusthet

Samtidigt ska trimningen bidra till att optimering av filterparametrarna f¨or nya robotmodeller ska g˚a snabbare.

5.2 Trimning med amplitudmarginal

N¨ar man trimmar efter amplitudmarginalen (Am) t¨anker man i f¨orsta hand p˚a att uppfylla stabilitetskriteriet. Stabilitetskriteriet ¨ar uppfyllt om ampli- tudmarginalen ¨ar st¨orre ¨an 1, men f¨or att ha en s¨akerhetsmarginal till sta- bilitetsgr¨ansen s˚a v¨aljs en amplitudmarginal p˚a 2.5. Prioriterar man snabb- heten i systemet s˚a kan man dock v¨alja att t¨anja p˚a gr¨anserna med en l¨agre

16

(24)

5.2 Trimning med amplitudmarginal 17

amplitudmarginal. Amplitudmarginalen p˚averkas direkt av f¨orst¨arkningen i kretsen, det vill s¨aga ¨ar direkt proportionell till Kv som ing˚ar i PI regulatorn.

Om amplitudmarginalen befinner sig ¨over den satta s¨akerhetsgr¨ansen kan man ¨oka Kv och d¨armed minska p˚averkan av st¨orningar p˚a l¨agre frekvenser, men samtidigt beh˚alla stabiliteten. Maximala Kv som kan erh˚allas utan att riskera stabiliteten ¨ar:

Kvmax= Kv· Ammax

Amdes (5.1)

Kvmax¨ar maximala kretsf¨orst¨arkningen och Kv¨ar den testade kretsf¨orst¨ark- ningen. Ammax ¨ar maximala amplitudmarginalen f¨or systemet och Amdes

¨ar den satta s¨akerhetsmarginalen f¨or amplitudmarginalen som i detta fall ¨ar 2.5.

5.2.1 Manuell trimning

D˚a prestandan f¨or en axel inte uppn˚ar ¨onskad effekt efter parametertrimnin- gen p˚a roboten anv¨ander man sig av manuell trimning f¨or att justera filter- parametrarna. Med hj¨alp av Matlab och simuleringsmodeller tar man d˚a fram parametrar till PI-regulatorn samt Lead- och Lag-filterna. Framtagan- det best˚ar till stor del av uppskattningar och prioriteringar av vad som ¨ar viktigast att trycka p˚a (st¨orningar, brus etc.), varf¨or resultaten ofta vari- erar, dock marginellt. F¨or att underl¨atta trimningen samt se till att man f˚ar de egenskaper som ¨onskas testar man filterkombinationen tillsammans med f¨orst¨arkningen Kv i en simuleringsmodell. Simuleringsmodellen presen- terar sex stycken kurvor d¨ar man kan l¨asa av stabilitet, st¨orningsp˚averkan och brusp˚averkan (se figur 5.1). ¨Aven med hj¨alp av simuleringsmodellen

¨

ar metoden v¨aldigt odefinierad eftersom inga direkta gr¨anser f¨or vad som

¨ar bra eller d˚aligt ¨ar uppsatta, vare sig f¨or brus eller st¨orningsp˚averkan.

Resultaten fr˚an simuleringen verifieras och analyseras p˚a robot. Problemet

¨

ar dock inte att hitta en bra l¨osning, f¨or det g¨or man oftast. Det ¨ar dock v¨aldigt tidskr¨avande att hitta den. I figur 5.1 ¨ar graf 1 (mtau→mspd) en grafisk beskrivning av hur motormomentet p˚averkar motorhastigheten (se ekvation 5.3). Graf 2 (mtau→mtrq) beskriver hur en motorst¨orning p˚averkar motormomentet (se ekvation 5.4). Graf 3 (noise→mtrq) beskriver hur bruset p˚averkar motormomentet (se ekvation 5.5). Graf 4 (mtau→armpos) beskriv- er hur en motorst¨orning p˚averkar armpositionen (se ekvation 5.6). Graf 5 (adist→armpos) beskriver en armst¨ornings p˚averkan p˚a armpositionen (se ekvation 5.7). Slutligen beskriver graf 6 (Open Loop) det ¨oppna systemet (se ekvation 5.8). D¨ar ¨ar ¨aven faskurvan inkluderad f¨or att kunna l¨asa av systemets stabilitet.

(25)

18 Trimning av filterparametrar

100

−60

−40

−20 0 20

mtau−>mspd

100

−120

−100

−80

−60

−40

−20 0 20

mtau−>mtrq

100

−80

−60

−40

−20 0 20 40 60

noise−>mtrq

100

−140

−120

−100

−80

−60

−40

−20 0

mtau−>armpos

100

−140

−120

−100

−80

−60

−40

−20 0

adist−>armpos

101 102 103

−200

−150

−100

−50 0 50

Open Loop

Figur 5.1. Manuell trimning f¨or en tv˚amassemodell

5.2.2 Automatiserad trimning

Den automatiserade trimningen bygger p˚a den manuella metoden. Skill- naden ¨ar att den automatiserade metoden ¨ar snabbare och mer v¨aldefinierad.

F¨or att kunna automatisera metoden beh¨ovdes tydliga kriterier fastst¨allas och ¨overf¨oringsfunktioner tas fram. De tv˚a stabilitetskriterierna var redan fastst¨allda och lyftes ¨over direkt som de var fr˚an den manuella metoden.

Dessa kriterier ¨ar att amplitudmarginalen ska vara ¨over 2,5 och att fas- marginalen ska vara ¨over 30 grader. F¨or att kunna definiera resterande kri- terier anv¨ands gamla manuellt trimmade parametrar som referensparame- trar.

Kriterierna formas utifr˚an ¨onskem˚al om att s¨anka det h¨ogfrekventa bruset, b¨attre d¨ampning av st¨orningar och h¨ogre prestanda. F¨or att kunna uppfylla

¨onskem˚alen togs ¨overf¨oringsfunktioner f¨or signalerna fram. I ekvationerna som f¨oljer anv¨ands notationen

Fs = Lead Lag P I (5.2)

De ¨overf¨oringsfunktionerna som togs fram var f¨oljande:

• Motorst¨orning till motorhastighet

θ˙a= Gms

1 + GmpFs(Kp+ LpDif f )1zDtrqm (5.3)

(26)

5.2 Trimning med amplitudmarginal 19

• Motorst¨orning till motormoment

τm=− Fs(LpDif f + Kp)Gmp1z

1 + LFs(LpDif f + Kp)Gmp1zDtrqm (5.4)

• Brus till motormoment

τm = Fs(Kp+ LpDif f )1z 1 + Fs(Kp+ LpDif f )Gmp1

z

n (5.5)

• Motorst¨orning till armposition

θa= Gap

1 + GmpFs(Kp+ LpDif f )1zDtrqm (5.6)

• Armst¨orning till armposition

θa= Gap

1 + GmpFs(Kp+ LpDif f )1zDtrqa (5.7)

• ¨Oppna systemet

y = GmpFs(Kp+ Dif f )x

z (5.8)

• Motorst¨orning till motorposition

θm = GmpFs(Kp1z + Dif f )

1 + GmpFs(Kp+ LpDif f )1zDtrqm (5.9) Gmp, Gms och Gap ¨ar ¨overf¨oringsfunktioner ¨over roboten med insignal p˚a motor eller armsidan (f¨orsta sub-bokstaven) och utsignalen p˚a position eller hastighet (andra sub-bokstaven). Dif f st˚ar f¨or differentiering av signalen.

1

z ¨ar tidsf¨ordr¨ojningen i ˚aterkopplingen. Dtrqm och Dtrqa motsvarar mo- mentst¨orning p˚a motorsidan respektive armsidan. Notationen f¨or brus ¨ar n som i engelskans noise.

De ¨overf¨oringsfunktioner som tagits fram motsvarar graferna i simuleringsmod- ellen. Med hj¨alp av ¨overf¨oringsfunktionerna kan numeriska v¨arden evalueras fram direkt ist¨allet f¨or att avl¨asas i graferna. Som ett steg p˚a v¨agen till

¨

overf¨oringsfunktionerna skapas blockdiagram f¨or varje signal utifr˚an simu- leringsmodellen (se bilaga A).

Kriterierna anv¨ander sig mest av ¨overf¨oringsfunktionerna (5.3) och (5.5) som svarar mot graf 1 och 3 i simuleringsfiguren (se figur 5.1). Genom att v¨alja ut maximala amplitudniv˚aerna f¨or ¨overf¨oringsfunktionerna och l¨agga dem un- der best¨amda gr¨anser (l¨ampligtvis under referensv¨ardet) s˚a ger trimningal- goritmen nya parametrar med b¨attre egenskaper ¨an referensv¨ardet, f¨orutsatt att det finns en b¨attre l¨osning. Amplitudniv˚aerna utg¨or med andra ord de

(27)

20 Trimning av filterparametrar

v¨aldefinierade kriterierna. Med hj¨alp av referensparametrar och ¨onskem˚al p˚a uppf¨orande s˚a definieras kriterierna enligt:

20log10(max

ω (X(ω))) < Y (5.10)

D¨ar X ¨ar utvald ¨overf¨oringsfunktion (5.3 till 5.9) och Y statiska ampli- tudniv˚an, till exempel 43dB. F¨or att snabba upp trimningsalgoritmen lades dessa kriterier som bivillkor och evaluerades bara om stabilitetskriteriet var uppfyllt. Sj¨alva optimeringen i sig beskrivs n¨armare i kapitel 6.

5.3 Trimning med k¨ anslighetsfunktion

Onskem˚¨ alet p˚a systemet ¨ar att minimera inverkningarna av h¨ogfrekvent brus och l˚agfrekventa st¨orningar varf¨or en kombination av k¨anslighetsfunktionen (S) och komplement¨ara k¨anslighetsfunktionen (T) k¨andes som en l¨amplig v¨ag att g˚a. H˚alls k¨anslighetsfunktionen liten s˚a har systemst¨orningar, s˚a som l˚agfrekventa st¨orningar, en liten inverkan p˚a utsignalen. L˚ag komple- ment¨ar k¨anslighetsfunktion g¨or att m¨atst¨orningar, det vill s¨aga brus, har en liten inverkan p˚a utsignalen. Genom att ta fram ¨overf¨oringsfunktionen fr˚an modellst¨orning (w) till utsignal (y) i det slutna systemet (se figur A.7) s˚a f˚ar man fram k¨anslighetsfunktionen. P˚a samma s¨att men genom att g˚a fr˚an st¨orning p˚a ˚aterkoppling (n) till utsignal (y) s˚a f˚as komplement¨ara k¨anslighetsfunktionen. Med f¨oljande notation

F = Lead Lag P I(Kp+ LpDif f ) f˚as funktionerna i sin helhet

S = 1

1 + GmpF (5.11)

T = GmpF

1 + GmpF (5.12)

Utifr˚an funktionerna evalueras v¨ardefull data fram med hj¨alp av H2-normen och H-normen. Normerna tar ut maxv¨arde respektive summan av belop- pet utifr˚an funktionernas amplitudkurvor. V¨ardena fr˚an normerna anv¨ands under minimeringen med optimeringsalgoritmen (Kapitel 6).

Problemet med att minimera normerna av S och T ¨ar att topparna vid bryt- frekvensen f˚ar f¨or stor inverkan vilket i sin tur g¨or att Kvminimeras, det vill s¨aga motsatt effekt ¨an vad som ¨onskas. Genom att frekvensbegr¨ansa funk- tionerna blir beteendet mer likt det ¨onskade. Frekvensbegr¨ansningen g˚ar till s˚a att de mindre intressanta delarna av kurvorna filtreras bort och endast de intressanta delarna v¨aljs ut. Exempel p˚a vilka delar som v¨aljs ut fr˚an k¨anslighetsfunktionen och komplement¨ara k¨anslighetsfunktionen kan ses i figur 5.2. Enligt figuren kan vi se att det l˚aga frekvensintervallet ¨ar valt hos

(28)

5.4 Kombinationstrimning 21

Figur 5.2. Utvalda frekvenser hos k¨anslighetsfunktionen och komplement¨ara anslighetsfunktionen

S och det h¨oga f¨or T. Detta beror p˚a att S ¨onskas bli nedtryckt f¨or l˚aga frekvenser och T f¨or h¨oga, n˚agot som uppfylls genom minimering av denna selektion. P˚a matematisk form ser valet ut p˚a f¨oljande s¨att:

S2 f¨or 1 ω  5600

T 2 f¨or 7112 ω  10000 (5.13) F¨or att f˚a den optimala trimningsalgoritmen ¨onskas ¨aven en bra viktning av normerna f¨or att om m¨ojligt f˚a den ¨an mer generell, ¨aven fast grunduppl¨agget redan ¨ar v¨aldigt generellt. Viktningen g˚ar till s˚a att summan av normerna minimeras och den del man vill trycka mest p˚a, till exempel k¨anslighetsfunk- tionen, ges en st¨orre procentsats j¨amf¨ort med komplement¨ara k¨anslighets- funktionen. Viktningen av normerna blir till exempel:

pf =S2+ 0.046T 2+ 0.06S (5.14) d¨ar pf anv¨ands i optimeringsalgoritmen gclSolve, se Kapitel 6.

5.4 Kombinationstrimning

Trimningsalgoritmen bygger p˚a en kombination av den automatiserade trimnin- gen och trimningen med k¨anslighetsfunktion. Anledningen till kombinatio- nen var f¨or att kunna f˚a generella egenskaper p˚a v¨aldefinierade omr˚aden.

(29)

22 Trimning av filterparametrar

Algoritmen anv¨ander H2-normen f¨or l˚aga frekvenser f¨or ¨overf¨oringen, mo- torst¨orning till motorhastighet

Dtrq˙θam2 f¨or 1 ω  5600 (5.15) och f¨or h¨oga frekvenser f¨or ¨overf¨oringen, brus till motormoment

τnm2 f¨or 6500 ω  10000 (5.16) Den anv¨ander ¨aven H-normen f¨or att straffa topparna i systemet enligt f¨oljande:

Dtrq˙θam,∀ ω (5.17) Med hj¨alp av optimeringsalgoritmen gclSolve [8] minimeras summan av normerna och den ”optimala” filterkombinationen tas fram. Den viktade summan av normerna ser ut enligt f¨oljande

pf =Dtrq˙θam2+ 0.006τnm2+Dtrq˙θam (5.18) d¨ar pf ¨ar v¨ardet som minimeras i optimeringsalgoritmen gclSolve, se Kapitel 6.

Algoritmen kom till v¨arlden d˚a algoritmen byggd p˚a k¨anslighetsfunktionen inte gav de svar som ¨onskades. Kombinationstrimningen ¨ar generell och pre- senterar samtidigt b¨attre resultat ¨an tidigare trimningar. Likt trimningen med k¨anslighetsfunktionen s˚a ber¨aknas H2-normerna p˚a utvalda frekven- somr˚aden, medan H-normen anv¨ands ¨over hela frekvensomr˚adet. De ut- valda frekvensomr˚adena i (5.15-5.17) kan ses i figur 5.3.

(30)

5.4 Kombinationstrimning 23

Figur 5.3. Utvalda frekvensomr˚aden till kombinationstrimningen

(31)

Kapitel 6

Optimeringsalgoritmer

Vid trimning av filterparametrar ¨ar ¨onskem˚alet att f˚a fram en filterkombi- nation som uppfyller krav p˚a prestanda, brust˚alighet, st¨orningst˚alighet och stabilitet [9]. En lika viktig del ¨ar att f˚a fram filterkombinationen p˚a snab- bast m¨ojliga s¨att och det ¨ar d¨ar optimeringsalgoritmerna kommer in i bilden.

Fler optimeringsalgoritmer har blivit unders¨okta, men i den h¨ar rapporten kommer endast de utnyttjade algoritmerna att beskrivas.

6.1 For-loopar

Det absolut l¨attaste s¨attet att implementera en optimeringsalgoritm ¨ar att anv¨anda sig av forloopar som stegar l¨angs intervallinjen och tar fram ett v¨arde f¨or varje steg. I den automatiserade trimningen anv¨ands fem n¨astlade forloopar. En f¨or varje filterparameter och en f¨or f¨orst¨arkningen Kv. Statiska v¨arden i form av stegl¨angden i Hertz och stegl¨angden f¨or f¨orst¨arkningen f¨orbest¨ams, samt vilka intervall som ska genoms¨okas. Desto st¨orre intervall och kortare stegl¨angd, desto l˚angsammare kommer algoritmen att vara efter- som fler ber¨akningar d˚a g¨ors.

Varje filterkombination som f˚as fram testas med stabilitetskriteriet och om det ¨ar uppfyllt, ¨aven med bivillkoren. Allt eftersom ¨andras filterkombina- tionen och f¨orst¨arkningen med vald stegl¨angd. F¨orst¨arkningen ¨andras ¨aven inne i looparna f¨or att f˚a algoritmen att l¨agga sig s˚a n¨ara stabilitetskriteriet som m¨ojligt, det vill s¨aga s¨oka den optimala l¨osningen.

Efter ett antal testk¨orningar kunde intervallgr¨anserna minskas och p˚a s˚a s¨att snabba upp algoritmen men trots f¨orb¨attringar blev trimningsalgorit- men aldrig snabbare ¨an ca 30 min med 5 Hz noggrannhet p˚a en Pentium 4 dator. Funderingar p˚a intervallhalvering fanns, men togs aldrig fram i dagsljus helt enkelt f¨or att parametrarna ¨ar v¨aldigt olinj¨ara och att det ¨ar s˚a m˚anga dimensioner (5st). D¨arf¨or s˚ags inte forloopar som den efters¨okta l¨osningen.

24

(32)

6.2 gclSolve 25

6.2 gclSolve

Optimeringsrutinen gclSolve ¨ar en mindre matlabimplementation av D.R.

Jones optimeringsalgoritm DIRECT [10]. Implementationen finns ¨aven i full- skalig version i Tomlab [12], som ¨ar en Matlab toolbox.

gclSolve kan anv¨andas p˚a m˚anga s¨att men i den h¨ar rapporten beskrivs en- dast s¨attet som anv¨ands under arbetets g˚ang. gclSolve anv¨ander sig av tv˚a stycken m-filer, en som ber¨aknar summan av normerna och en som ber¨aknar amplitudmarginalen. Till m-filen som ber¨aknar summan av normerna skickas Kv samt intervallgr¨anser f¨or filterparametrarna. Till m-filen som ber¨aknar amplitudmarginalen bifogas endast stabilitetsgr¨anser. Ut¨over detta grun- dutf¨orande inkluderas en ”struct” parameter f¨or att kunna bifoga konstanta parametrar i form av systemparametrar till m-filerna.

Den matematiska beskrivningen av optimeringsproblemet som ska l¨osas ¨ar:

min f (x) (6.1)

d¨ar f (x) = pf, det vill s¨aga summan av de viktade normerna (se 5.14 och 5.18) och

xL x  xU

cL c(x)  cU

(6.2) d¨ar xL och xU ¨ar vektorer inneh˚allande undre respektive ¨ovre gr¨ans f¨or filterparametrarna. P˚a liknande s¨att ¨ar cLoch cU stabilitetsgr¨anser f¨or am- plitudmarginalen (c(x) = Am).

Det algoritmen g¨or ¨ar att den skapar ett femdimensionellt rum uppsp¨ant av vektorn med filterparametrarna. Mittpunkten tas fram och normsumman evalueras i den punkten. Punkten med det minsta v¨ardet p˚a den st¨orsta ytan, det vill s¨aga l¨agsta densiteten ¨ar tillf¨alligt minimum. Ytan med det tillf¨alliga minimat delas i tre delar och nya punkter tas fram i de nya ytorna.

Densiteterna j¨amf¨ors igen och s˚a h˚aller algoritmen p˚a tills antal iterationer

¨ar uppfyllda. Ytan som mittpunkten ¨ar i ger ett ”densitetv¨arde” som hela tiden j¨amf¨ors med tidigare v¨arden f¨or att s¨oka efter l¨agsta ”densiteten”, det vill s¨aga normsummans minima. [8]

I figur 6.1 visas hur algoritmen, med hj¨alp av projecerande s¨okprickar, s¨oker minimat i ett plan, det vill s¨aga i tv˚a av de fem dimensionerna. De tv˚a dimensionerna beskriver sambandet mellan Kv och lagfiltrets nollst¨alle. De projecerande s¨okprickarna blir t¨atare n¨armare ett minima vilket ses genom en st¨orre klustersamling runt det slutgiltiga minimat p˚a 0.83 och 102.

(33)

26 Optimeringsalgoritmer

0.4 0.5 0.6 0.7 0.8 0.9 1

50 60 70 80 90 100 110 120

Figur 6.1. S¨okprickar projecerade p˚a ett plan

(34)

Kapitel 7

Simuleringsresultat

F¨or att se huruvida filterparametrarna g¨or s˚a att roboten uppf¨or sig som

¨onskat, utan att testa direkt p˚a verklig robot, anv¨ands simuleringstester i Matlab. Till simuleringstesterna anv¨ands Simulink som ¨ar ett delprogram i Matlab.

7.1 Vad simuleringen visar

Det ¨ar framf¨orallt sex olika egenskaper som studeras under simuleringen och dessa egenskaper presenteras i sex olika grafer (se figur 7.1). De olika graferna beskriver f¨oljande

1. Motorst¨orningars p˚averkan p˚a motorhastighet 2. Motorst¨orningars p˚averkan p˚a motormoment 3. Brusets p˚averkan p˚a motormoment

4. Motorst¨orningars p˚averkan p˚a armposition 5. Armst¨orningars p˚averkan p˚a armposition 6. ¨Oppna systemet, stabilitetsvillkor

Efters¨okta egenskaper ¨ar att graf 1 ska vara l˚ag vid l˚aga frekvenser, graf 3 relativt l˚ag p˚a h¨oga frekvenser samt att ingen graf ska ha n˚agra j¨atteh¨oga toppar.

7.2 Manuell trimning

Den manuella trimningen har gjorts med mycket omsorg under l˚ang tid och har d¨arf¨or mycket bra filterparametrar f¨or specifika axlar. Till dessa axlar kan den manuella trimningen d¨arf¨or fungera som referensparametrar. Till

27

(35)

28 Simuleringsresultat

nya, otrimmade axlar finns ¨annu inga v¨al fungerande filter framtagna och att ta fram s˚adana tar mycket tid. Den manuella trimningen faller allts˚a p˚a sin l˚angsamhet och omst¨andighet.

7.3 Automatiserad trimning

Eftersom den automatiserade trimningen ¨ar v¨aldigt v¨aldefinierad f˚as i stort sett exakt det resultat som ¨onskas. Exaktare resultat ger dock l¨angre eval- ueringstid, vilket g¨or trimningsalgoritmen en aning l˚angsam. Trimningen ¨ar dock m˚angfaldigt snabbare ¨an den manuella trimningen och levererar sam- tidigt bra resultat. Eftersom algoritmen bygger p˚a att l¨agga sig b¨attre eller i niv˚a med referensv¨arden s˚a blir den beroende av gammal data, det vill s¨aga det ¨ar sv˚art att s¨aga vad man vill ha utan att veta vad som kan f˚as.

Problemet med algoritmen ¨ar med andra ord att den fortfarande kr¨aver viss kunskap om systemet. Den ¨ar samtidigt v¨aldigt v¨aldefinierad, n¨astan f¨or v¨aldefinierad och skulle beh¨ova vara mer generell f¨or att kunna anv¨andas p˚a nya robotmodeller. Ett l¨ampligt ansvarsomr˚ade f¨or algoritmen vore att f¨orfina/f¨orb¨attra resultatet fr˚an en mer generell metod eftersom den l¨ampar sig utm¨arkt till specifika ¨onskem˚al. Ett exempel p˚a hur t.ex. brusniv˚an kan regleras kan ses i figur 7.1 d¨ar brusniv˚an ¨ar best¨amd till 43db.

Figur 7.1. Simulering av automatiserad trimning med en brusniv˚a p˚a 43dB. Prick- ade kurvor ¨ar referenskurvor fr˚an manuell trimning.

(36)

7.4 Trimning med k¨anslighetsfunktion 29

7.4 Trimning med k¨ anslighetsfunktion

Resultatet ¨ar tillfredsst¨allande med endast normen av k¨anslighetsfunktio- nen inkluderad (se figur 7.2). En mer generaliserad algoritm ¨onskades dock

Figur 7.2. Simulering av trimning med endast k¨anslighetsfunktionen. Prickade kurvor ¨ar referenskurvor fr˚an manuell trimning.

varf¨or fler normkriterier beh¨ovdes f¨or att ”styra” vilken typ av egenskaper filterkombinationen skall ge. Var f¨or sig gav normerna f¨or k¨anslighetsfunktio- nen och komplement¨ara k¨anslighetsfunktionen egenskaper som borde kun- na utnyttjas n¨ar deras normer viktas samman. Normen p˚a utvalt frekven- somr˚ade av den komplement¨ara k¨anslighetsfunktionen undertrycker bruset v¨aldigt bra, men minskar samtidigt v¨ardet p˚a Kv, vilket ¨ar motsatt effekt j¨amf¨ort med den som ¨onskas. Samtidigt var det ganska v¨antat eftersom bruset indirekt ¨ar l¨ankat med Kv. Normen av den k¨anslighetsfunktionen undertrycker de l˚agfrekventa st¨orningarna v¨aldigt bra, vilket ¨aven resulter- ar i ¨okat Kv, samtidigt bibeh˚alls brusniv˚an relativt l˚ag, vilket var en aning f¨orv˚anande eftersom ett h¨ogt Kv brukar lyfta bruset. N¨ar normerna viktades samman erh¨olls ett v¨aldigt bra simuleringsresultat. J¨amf¨ort med att bara anv¨anda normen av k¨anslighetsfunktionen s˚a f˚as nu l¨angre resonanstoppar och l¨agre brus. Resultatet av det kan ses i figur 7.3. Mer specifika ¨onskem˚al s˚a som l¨angre brusniv˚a kan relativt l¨att uppn˚as med en annan viktning eftersom viktningen i dagsl¨aget endast bygger p˚a normalisering av normer- na. F¨ordelen med att endast normalisera normerna ¨ar dock att viktningen

(37)

30 Simuleringsresultat

Figur 7.3. Simuleringsresultat fr˚an trimning med k¨anslighetsfunktion. Prickade kurvor ¨ar referenskurvor fr˚an manuell trimning.

blir mer generell.

7.5 Kombinationstrimning

Eftersom kombinationstrimning ¨ar ett hopplock av guldkornen fr˚an de an- dra trimningsalgoritmerna s˚a antogs det att simuleringsresultaten skulle vara bra. Antagandet var korrekt eftersom simuleringsresultaten var till bel˚atenhet. Framf¨orallt fick normerna b¨attre amplitudkurvor att behandla.

Med r¨att viktning av de olika normerna gavs ett v¨aldigt bra resultat b˚ade st¨ornings- och brusm¨assigt. Algoritmen ¨ar samtidigt generell i sin utformn- ing eftersom den hela tiden efters¨oker ett minima f¨or de viktade normerna.

Normerna ¨ar viktade s˚a att undertryckningen av st¨orningar p˚a l˚aga frekvenser

¨

ar viktigast. Brusniv˚an har viktats som 1/5 s˚a viktig medan topparna ligger p˚a 1/9. Samtidigt ¨ar en normalisering gjord f¨or eftersom normen f¨or bruset exempelvis ¨ar 30 g˚anger h¨ogre ¨an normen f¨or undertryckning av st¨orningar.

Vikterna multiplicerade med de normaliserade v¨ardena ger slutgiltiga vikt- ningen som kan ses i (5.18). Simuleringsresultatet fr˚an den slutgiltiga vikt- ningen kan ses i figur 7.4. Vid trimning med kombinationstrimning (Kapi- tel 5.3) s˚a f˚as enligt den grundl¨aggande teorin (Kapitel 3.2.2) N = 2.2 vilket betyder en fasavancering p˚a ca 20 grader. Vid en titt p˚a en av de

(38)

7.6 Problem 31

Figur 7.4. Simuleringsresultat fr˚an kombinationstrimningen. Prickade kurvor ¨ar referenskurvor fr˚an manuell trimning.

framtrimmade filterparametrarna s˚a ges a = 102 och M ≈ 10 vilket enligt den grundl¨aggande teorin (Kapitel 3.2.1) ger att faskurvan endast f¨ors¨amras marginellt. Att de teoretiska riktm¨arkena st¨ammer kan ¨aven det ses i figur 7.4.

7.6 Problem

Det st¨orsta problemet l˚ag i att f˚a kurvorna att bete sig som t¨ankt vid olika viktningar. Oftast uppstod bieffekter i form av kraftigt f¨ors¨amrad st¨orningsundertryckning n¨ar till exempel brusniv˚an skulle s¨ankas marginellt.

Brusniv˚an var annars det mest ih˚allande problemet eftersom den var sv˚ar att vikta ner med optimeringsalgoritmerna. Under arbetsg˚angen med au- tomatiserade trimningen fanns ett problem i att algoritmen var s˚a l˚angsam att finjusteringar kunde ta upp mot en dag att fixa till.

7.7 Slutsatser

Efter mycket funderande och laborerande kring viktningen av normerna s˚a erh¨olls egenskaper som ¨onskas, det vill s¨aga bra st¨orningsundertryckn- ing, okej toppar och bra brusniv˚a med bibeh˚allen stabilitet. N¨ar v¨al r¨att

(39)

32 Simuleringsresultat

frekvensintervall var funnet till trimningen med k¨anslighetsfunktionen s˚a beh¨ovdes bara en normalisering av viktningen f¨or att f˚a fina resultat. En- dast normaliserad viktning g¨or algoritmen till den mest generella. Kombina- tionstrimningen, som togs fram som en alternativ metod d˚a problemen med k¨anslighetsfunktionen uppstod, visade sig vara en positiv ¨overraskning. Bra simuleringsresultat p˚a kort trimningstid, med en generell viktning. Samtidigt har kombinationstrimningen n˚agot mer v¨aldefinierade omr˚aden att arbeta efter, eftersom den utg˚ar fr˚an kriterierna fr˚an automatiska trimningen. ¨Aven den automatiserade trimningen m˚aste ses som en framg˚ang med dess fina och v¨aldefinierade simuleringsresultat. Enda plumparna ¨ar egentligen tid- saspekten och att den inte ¨ar generell.

(40)

Kapitel 8

Tester p˚ a robot

Efter att simuleringarna gett de resultat som ¨onskas var det dags att se om egenskaperna ¨aven st¨amde p˚a verkliga robotar. Roboten som anv¨andes un- der testet var en IRB 2400, det vill s¨aga en relativt liten industrirobot. Till testerna valdes de b¨asta parameterv¨ardena ut fr˚an de olika trimningsme- toderna. Testerna g˚ar till s˚a att l¨amplig robot och vikt v¨aljs ut (vilket gjorts innan trimningen) och placeras i en testcell. Valet g¨ors redan innan trimnin- gen f¨or att anv¨andas som systemparametrar under trimningen. P˚a vikten placeras i detta testfall en bl¨ackpenna som symboliserar robotens verktyg.

Separat bredvid roboten placeras ett bord med ett block som roboten ritar p˚a. ¨Onskade ritm¨onster ligger inprogrammerade i ett allm¨ant testprogram d¨ar de nytrimmade parametrarna l¨agg in. Typiska ritm¨onster ¨ar linjer, cirk- lar och kurvor som ritas med olika hastigheter f¨or att urskilja robotens egenskaper. N˚agot ordinarie trimningstest gjordes i och f¨or sig inte, men de utvalda bitar som valdes ska r¨acka gott och v¨al f¨or att kunna bed¨oma de trimmade parametrarnas inverkan [9].

8.1 Egenskaper f¨ or de olika trimparametrarna

De manuellt framtagna trimparametrarna testades f¨orst och anv¨andes som referens eftersom dessa parametrar anv¨ands till dagens produkter.

Fr˚an den automatiserade trimningen valdes parameterv¨arden som gav en brusniv˚a p˚a 43dB (se figur 7.1). Den l˚aga brusniv˚an var dock sv˚ar att urskil- ja i detta test varf¨or resultatet blev medelm˚attigt. Ett l¨agre Kv ¨an refer- ensparametrarna gjorde att cirklarna som ritades blev hackigare ¨an ¨onskat.

Samtidigt blev systemet lite oscillativt vid h¨oga hastigheter eftersom top- parna i graf 1 (se figur 7.1) ¨ar n˚agot h¨ogre ¨an referenssignalen.

Fr˚an den kombinerade trimningen valdes tv˚a simuleringsfall ut f¨or att testas p˚a robot eftersom den trimningsmetoden dittills gett det b¨asta resultatet.

Cirklarna som ritades blev b¨attre ¨an referenscirklarna eftersom ett h¨ogre Kv hade trimmats fram. Dessa parametrar gav likt de fr˚an automatiser-

33

(41)

34 Tester p˚a robot

ade trimningen ocks˚a ett oscillativt beteende vid h¨oga hastigheter p˚a grund av de h¨ogre resonanstopparna i graf 1 (se figur 7.4). Brusets p˚averkan var sv˚art att uppt¨acka i de verkliga robottesterna eftersom inte fullskaliga tester gjordes.

Alla parameterkombinationer testades ¨aven p˚a stabilitetskriterierna och dessa uppfylldes utan n˚agra problem f¨or samtliga kombinationer. Det var aldrig n˚agon risk att systemet skulle bli instabilt enligt testerna som k¨ordes och exempel p˚a de uppfyllda stabilitetskriterierna kan ses i figur 8.1. I stabilitet-

0 5 10 15 20 25

−80

−60

−40

−20 0 20 40 60 80

Figur 8.1. Stabilitetslogg fr˚an ett av testerna p˚a axel 3

slogg kan viss oscillation utl¨asas i ¨andarna, men inte p˚a l˚anga v¨agar s˚a myck- et som beh¨ovs f¨or att skapa en instabilitet. N˚agra robottester genomf¨ordes aldrig p˚a resultaten fr˚an trimningen med k¨anslighetsfunktionen eftersom l¨osningen erh¨olls f¨orst efter att testerna var genomf¨orda.

8.2 Problem

Roboten som testerna gjordes p˚a var placerad p˚a en extern axel vilket medf¨orde vissa dynamiska skillnader j¨amf¨ort med simuleringen. P˚a grund av begr¨ansningar i mjukvaran kunde inte ett av filtren realiseras. Begr¨ansningen b¨or ¨aven l¨aggas till i trimningsalgoritmen f¨or att undvika detta problem.

Felet ˚atg¨ardades dock l¨att genom en minimal f¨or¨andring av polen p˚a n˚agra Hertz, n˚agot som inte p˚averkade simuleringsresultatet.

(42)

8.3 Slutsatser 35

8.3 Slutsatser

De t¨ankta egenskaperna fr˚an simuleringen sl˚ar tydligt igenom p˚a de verkliga robottesterna, vilket visar att simuleringsmodellen ¨ar v¨aldigt v¨al fungerande.

De framtagna trimningsalgoritmerna fungerar minst lika bra som den tidi- gare manuella trimningen, med skillnaden att det nya s¨attet inte upptar lika l˚ang tid. Lite synd var det att brusniv˚an inte m¨attes med v˚art test och d¨arf¨or inte gav n˚agra resultat att g˚a p˚a. Att m¨ata brusniv˚an skulle in- neb¨ara komplicerade och mer tidskr¨avande m¨atningar, n˚agot som det inte fanns utrymme f¨or i detta arbetet. Sammanfattningsvis ger optimeringsal- goritmen ett bra resultat under robottesterna som i sin tur visade liknande egenskaper som simuleringstesterna.

References

Related documents

Detta g¨aller alla tal vars dyadiska utveckling ¨ar ¨andlig; man beh¨over inte kasta fler kast ¨an vad som anges av den position d¨ar sista ettan finns i utvecklingen.. Det betyder

INBYGGD SERENDIPITET, EGEN-MARK- NADSFÖRING OCH KONSUMENTAPPAR I detta delprojekt studerades hur möjligheter för oväntade upptäcker, så kallad serendipitet, byggs in i

Der Rapport verwendet nicht so viele Rechtsvorschriften wie der deutsche, aber es gibt einige Passagen, in denen sie vorkommen und dann sind sie ebenso gut wiedergegeben wie in dem

På det hela taget är det lätt att ta sig fram i Stockholm till fots.. På det hela taget är det lätt att ta sig fram i Stockholm

Vidare saknas droppskydd under kyl/frys samt under diskmaskinen för snabbare. identifiering av eventuella läckage och för att förhindra fuktskador i intilliggande

A På tisdagar brukar Erik/han läsa läxan till kvällskursen.. På onsdagar brukar Erik/han gå på kvällskurs

Resonemang, inf¨ orda beteck- ningar och utr¨ akningar f˚ ar inte vara s˚ a knapph¨ andigt presenterade att de blir sv˚ ara att f¨ olja.. ¨ Aven endast delvis l¨ osta problem kan

Att bli medlem i RFSU är ett viktigt ställnings- tagande för alla människors rätt till sin kropp och sin?. Har jag