• No results found

Analys av mätdata

I tabell 5.2 anges optimum för målfunktionen för momentet, överslängen och in- svängningstiden. Låt dessa betecknas med Υτopt, Υoveropt och Υinsvopt . Här syns det

att det skiljer sig mellan det optimala värdet för de olika målfunktionerna för varje startläge och rörelseriktning. Eftersom målfunktionerna har utseende enligt figur 4.3, kan Υτ

opt hamna nere i ravinen i målfunktionen för översläng eller in-

svängningstid. Om så är fallet kan Υτ

optanvändas även om det inte sammanfaller

med det globala optimat för överslängen och insvängningstiden. I figur 5.5 visar asterisken var Υτ

opthamnar i målfunktionen för insvängningstiden i startläge 2 och

++-riktningen. Det syns att Υτ

5.2 Analys av mätdata 41

Υinsvopt Υoveropt Υτopt

Startläge 1 ++ [120 90] [85 100] [110 90] +− [105 85] [120 90] [105 85] Startläge 2 ++ [120 70] [120 70] [110 70] +− [95 110] [95 115] [100 70] Startläge 3 ++ [110 65] [105 70] [100 75] +− [100 80] [95 90] [95 90]

Tabell 5.2. Sammanfattning av vilket optimalt värde på Υ = [Υ2 Υ3] de olika mål-

funktionerna ger. 60 70 80 90 100 110 120 60 80 100 120 0 0.2 0.4 0.6 0.8 1 ϒ2 Målfunktion för insvängningstiden ϒ3

Figur 5.5. Insvängningstidens målfunktion för startläge 2 och ++-riktningen där as-

terisken visar var Υτ

opt hamnar. Υτopthamnar inte i det globala optimat men kan ändå

användas eftersom det ligger tillräckligt långt ner i ravinen.

Υτoptanvändas även om det inte sammanfaller med det globala optimat för insväng- ningstiden och överslängen. Tabell 5.3 visar vilka målfunktionsvärden som Υinsvopt

och Υτ

optger i målfunktionen för insvängningstiden. Tabell 5.4 visar motsvarande

för överslängen. Figur 5.6 visar en inzoomning av verktygspositionen i x-led för en bra respektive dålig trimning. De streckade linjerna indikerar 3 mm innan slutvär- det samt ±0.3 mm runt slutvärdet som används för att beräkna insvängningstiden. I bilaga A finns en större undersökning där fler startlägen och rörelselängder har undersökts. Det finns även ett fall där regulatorn har försämrats för att se om det kan ge ett tydligare optimum. Resultatet blir dock det samma, dvs att Υτ

optinte

sammanfaller med det globala optimat för insvängningstiden och överslängen men ändå tillräckligt nära. En försämring av regulatorn påverkar inte målfunktionen så att ett tydligare optimum uppkommer.

42 Validering på robot Π(Υinsv opt ) Π(Υτopt) Startläge 1 ++ 0.1625 0.1870 +− 0.2370 0.2370 Startläge 2 ++ 0.1465 0.2195 +− 0.2280 0.3220 Startläge 3 ++ 0.2360 0.2460 +− 0.1595 0.2185

Tabell 5.3. Sammanfattning av vilket målfunktionsvärde som Υinsv

opt och Υτoptger i mål-

funktionen för insvängningstiden i sekunder.

Θ(Υover opt ) Θ(Υτopt) Startläge 1 ++ 0.2637 0.3829 +− 0.6767 0.7088 Startläge 2 ++ 0.6202 0.7321 +− 0.5649 0.6025 Startläge 3 ++ 0.6384 0.7043 +− 0.4052 0.4052

Tabell 5.4. Sammanfattning av vilket målfunktionsvärde som Υover

opt och Υτoptger i mål-

funktionen för överslängen i millimeter.

3.6 3.8 4 4.2 4.4 4.6 705 706 707 708 709 710 711 712 713 Tid [s] [mm]

Verktygsposition för bra trimning Verktygsposition för dålig trimning

Figur 5.6. Verktygspositionen i x-led för en bra respektive dålig trimning. De streckade

5.2 Analys av mätdata 43

I bilagan sammanvägs även de olika riktningarna samt startlägena. Om båda riktningarna i ett startläge används, blir det ett Υ som inte sammanfaller med det globala optimat för insvängningstiden och överslängen men det hamnar tillräckligt nära. Om däremot alla startlägen sammanvägs hamnar optimum från momentet också i ravinen i de flesta fall men det kan hända att punkten glider upp på kanten i något enstaka fall. Därför bör roboten trimmas i olika lägen där riktningarna sammanvägs och sedan använda olika trimvärden beroende på vilket läge roboten befinner sig i under körning.

Kapitel 6

Minimering av antalet

funktionsanrop

För att undersöka målfunktionens utseende för olika lägen enligt kapitel 4 och 5 har samtliga kombinationer av Υ2 och Υ3 undersökts, där dessa antgit värden

mellan 70 % och 130 % med steg om 5 %. Det tar lång tid att undersöka alla dessa kombinationer eftersom varje kombination kräver ett nytt experiment med en robot. Därför krävs det en metod som hittar minimat utan att undersöka alla kombinationer. Metoden som används i arbetet är en modifierad variant av opti- meringsmetoden Complex. Den fungerar bra då målfunktionen är brusig, vilket är fallet här eftersom den baseras på mätdata.

6.1

Complex

Complex utvecklades av Box, [3], och är en multidimensionell sökmetod som kan hantera bivillkor. Metoden använder sig av m ≥ n + 1 punkter där n är antalet variabler att optimera över. Complex beskrivs i algoritm 6.1. Här indikerar index

j = 1, . . . , m olika punkter och index i = 1, . . . , n indikerar olika variabler.

Algoritm 6.1: Complex

1. Beräkna startvärden enligt

xij= xli+ Rij(xui − x l

i), (6.1)

där xl

i är minsta värdet variabel i får anta och xui är maximala värdet vari-

abel i får anta. Rij är ett slumptal i intervallet [0, 1].

2. Beräkna en ny punkt genom att spegla den sämsta punkten, xworst, i tyngd-

punkten, xc, av de övriga enligt

xnew= xc+ α(xc− xworst), (6.2)

46 Minimering av antalet funktionsanrop

där α anger hur lång bort xworst ska speglas. xworst är den punkt som har

störst funktionsvärde. 3. xc beräknas som xc,i= 1 m − 1     m X j=1 xij  − xij=worst  , i = 1, . . . , n. (6.3)

4. Om f (xnew) < f (xworst), ersätt xworstmed xnew och återgå till steg 2 tills

konvergenskriterierna är uppfyllda.

5. Om f (xnew) ≥ f (xworst), flytta xnew mot xc enligt xnew0 = xc+

xnew− xc

2 . (6.4)

Upprepa detta tills f (xnew0) < f (xworst). Ersätt xworst med xnew0 och

återgå till steg 2 tills konvergenskriterierna är uppfyllda.

Figur 6.1 visar hur den sämsta punkten speglas i tyngdpunkten för de övriga tre.

I det här arbetet används en modifierad metod som kallas för Complex-RF, se [8]. Den beskrivs i algoritm 6.2. Det som har ändrats är hur en ny punkt beräknas, steg 2, samt hur punkten flyttas mot tyngdpunkten, steg 5, i algoritm 6.1. För- delen med dessa ändringar är att algoritmen kan undvika att hamna i ett lokalt minimum.

Figur 6.1. Illustration av hur xworstspeglas i xcmed avståndet α för Complexmetoden.

Om f (xnew) < f (xworst) ersätts xworst av xnew och algoritmen börjar om med steg 2.

Om f (xnew) ≥ f (xworst) flyttas xnew halva avståndet mot tyngdpunkten tills f (xnew) <

6.1 Complex 47

Algoritm 6.2: Complex-RF

1. Beräkna startvärden enligt

xij= xli+ Rij(xui − x l

i), (6.5)

där xl

i är minsta värdet variabel i får anta och xui är maximala värdet vari-

abel i får anta. Rij är ett slumptal i intervallet [0, 1].

2. Beräkna en ny punkt genom att spegla den sämsta punkten, xworst, i tyngd-

punkten, xc, av de övriga enligt

xnew= xc+ α(xc− xworst) + r, (6.6)

där α anger hur lång bort xworst ska speglas och

ri= rf ak· ∆ · (xui − x l

i)(R − 0.5), i = 1, . . . , n. (6.7)

rf ak är en slumptalsfaktor, R är en slumptalsvektor i intervallet [0, 1] och

∆ = max i  maxj(xij) − minj(xij) xu i − xli  . (6.8)

∆ är samma för alla variabler. xworstär den punkt som har störst funktions-

värde. 3. xc beräknas som xc,i= 1 m − 1     m X j=1 xij  − xij=worst  , i = 1, . . . , n. (6.9)

4. Om f (xnew) < f (xworst), ersätt xworst med xnewoch återgå till steg 2 tills

konvergenskriterierna är uppfyllda.

5. Om f (xnew) ≥ f (xworst), flytta xnewmot xc enligt xnew0 =

1

2(((1 − a)xc+ axbest) + xnew) + xc+

xnew− xc

2 + r, (6.10) där r ges av (6.7) och

a = 1 − e−kr4 , (6.11)

där krär antalet gånger punkten har upprepats som den sämsta.

Upprepa detta tills f (xnew0) < f (xworst). Ersätt xworst med xnew0 och

48 Minimering av antalet funktionsanrop

När r adderas till xnew görs det möjligt att metoden kan hoppa från ett lokalt

minimum som den annars skulle fastna i. Dessvärre kan den hoppa från det globala minimat också. Om ett lokalt minimum skulle ligga i tyngdpunkten som xworst

speglas i, kommer metoden till slut stanna i den punkten trots att r adderas till

xnew0. För att undvika det finns termen 1

2(((1 − a)xc+ axbest) + xnew) med i

(6.10). Mer om Complex och Complex-RF finns i [3] och [11].

Varje ny punkt som beräknas i algoritm 6.1 och algoritm 6.2 måste uppfylla användarens bivillkor. Om de inte uppfylls beräknas en ny punkt tills bivillkoren är uppfyllda. I det här arbetet används bivillkoret att optimeringsvariablerna ska vara heltal. Istället för att generera nya punkter om inte bivillkoret är uppfyllt, vilket skulle vara svårt, flyttas punkten till närmaste heltal i det tillåtna området. Ovan nämns det att steg 2 ska upprepas tills dess att konvergenskriterierna är uppfyllda. Det finns två kriterier, det ena är att skillnaden i funktionsvärden mellan två på varandra följande iterationer ska vara inom en viss gräns. Det andra kriteriet är motsvarande för optimeringsparametrarna. Dessa två gränser kan ställas in så att optimeringsmetoden ska konvergera mot optimum med så få funktionsanrop och iterationer som möjligt. Dessutom finns det två parametrar som anger hur många funktionsanrop och iterationer som är tillåtet.

Related documents