• No results found

gclSolve

In document Trimning av lead och lag filter (Page 32-38)

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) 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.

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

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

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.

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

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

In document Trimning av lead och lag filter (Page 32-38)

Related documents