• No results found

F¨ ors¨ ok att minska l¨ osningstiden f¨ or optimeringen

8.4 Modifieringar av metoden

8.4.1 F¨ ors¨ ok att minska l¨ osningstiden f¨ or optimeringen

f¨oruts¨attningar, kan konstateras att antalet iterationer och funktionsevalu- eringar som fmincon beh¨over f¨or att konvergera varierar mycket f¨or samma problem, fr˚an i storleksordningen 30 funktionsevalueringar till ¨over 200. N¨ar olika k¨orningar j¨amf¨ors, kan man se att det inte verkar finnas n˚agon korrela- tion mellan antalet funktionsevalueringar och kvaliteten av det optimalv¨arde som uppn˚as. N¨ar b¨asta m˚alfunktionsv¨ardet som fmincon hittat efter varje iteration studerats, verkar det som att den f¨orb¨attring som uppn˚as efter tredje iterationen ¨ar f¨orsumbar. Det verkar d¨arf¨or vara rimligt att begr¨ansa antalet iterationer till tre, f¨or att begr¨ansa l¨osningstiden.

8.4.2 Val av designparametrar

Om den uppgift som skall optimeras ¨ar stor, d v s om det finns m˚anga para- meterar att optimera, blir l¨osningstiden l˚ang. F¨orutom att begr¨ansa antalet

62 Resultat

iterationer kan man d˚a ocks˚a t¨anka sig att man kan v¨alja ut en delm¨angd av alla parametrar att optimera. ¨Aven om man d˚a kanske inte n˚ar riktigt lika bra m˚alfunktionsv¨arde som man hade gjort om man optimerat ¨over alla parametrar, kan man troligen n˚a en avsev¨ard f¨orb¨attring, p˚a betydligt kortare tid.

K¨anslighetsanalys

En id´e ¨ar att bygga urvalet av parametrar p˚a n˚agon slags k¨anslighetsanalys, f¨or att f˚a ut information om vilka parametrar det l¨onar sig mest att opti- mera. En k¨anslighetsanalys skulle kunna utf¨oras genom att

1. (a) cykeltiden m¨ats d˚a alla parametrar har ett visst utg˚angsv¨arde. (b) parametrarna ¨andras p˚a ett best¨amt s¨att med ett visst (litet)

steg.

(c) cykeltiden m¨ats igen och j¨amf¨ors med cykeltiden i utg˚angsl¨aget. 2. Ovanst˚aende steg upprepas tills ¨onskade parameterkombinationer pro-

vats.

3. Sedan v¨aljs de parametrar som gett st¨orst f¨orb¨attring ut och optime- ringen genomf¨ors ¨over dessa.

Po¨angen med att g¨ora ett urval av vilka parametrar man vill optimera ¨

ar att minska antalet funktionsevalueringar, eftersom varje funktionseva- luering inneb¨ar en simulering i RobotStudio, och ¨ar tids¨odande. En vik- tig avv¨agning ¨ar d¨arf¨or att avg¨ora hur m˚anga funktionsevalueringar man har r˚ad att l¨agga ner p˚a att v¨alja ut vilka parametrar man vill optimera. Kr¨avs det f¨or m˚anga l¨onar det sig att optimera ¨over alla parametrar di- rekt. Om man skall unders¨oka alla kombinationer av parametrar, blir det v¨aldigt m˚anga experiment. ¨Aven om n˚agon slags experimentdesignmetod anv¨ands, som t ex Box-Behnken (se [9] och [10]), som reducerar antalet ex- periment, blir det m˚anga simuleringar, troligen fler ¨an som beh¨ovs f¨or att utf¨ora optimering ¨over alla parametrarna.

Test av enkel k¨anslighetsanalys

En enkel ansats ¨ar att utf¨ora k¨anslighetsanalysen p˚a en parameter i taget, d v s en parameter i taget flyttas fr˚an utg˚angsl¨aget, varefter cykeltiden m¨ats och j¨amf¨ors med den ursprungliga. Denna ansats har testats p˚a samma bana i RobotStudio med tio m˚alpunkter, som beskrivits i avsnitt 7.3.1.

8.4 Modifieringar av metoden 63

Tv˚a olika kriterier har anv¨ants f¨or att v¨alja ut vilka m˚alpunkters externa axelv¨arden optimeringen skall utf¨oras ¨over.

• Enligt det f¨orsta alternativet har de m˚alpunkter som ligger l¨angst ut i ena ¨anden av sitt till˚atna intervall, och d¨ar flyttning ˚at andra h˚allet medf¨or en f¨ors¨amring av cykeltiden, plockats bort. D˚a optimering har utf¨orts p˚a dessa m˚alpunkter, i detta fall sju av tio, erh¨olls n¨astan lika bra cykeltider som n¨ar samtliga parametrar togs med.

• Enligt det andra alternativet har endast m˚alpunkter som gav en minsk- ning av cykeltiden i k¨anslighetsanalysen tagits med, i detta fall fyra av tio. Optimering ¨over dessa m˚alpunkter gav ocks˚a i stort sett lika bra cykeltid, men med hj¨alp av betydligt f¨arre funktionsevalueringar. En gissning ¨ar att den enkla ansatsen med att endast ¨andra ett pa- rameterv¨arde i taget fungerar relativt bra d¨ar m˚alpunkterna ¨ar ganska j¨amnt utspridda i rummet, medan den skulle fungera betydligt s¨amre om m˚alpunkterna t ex ¨ar samlade i grupper. I s˚adana fall m˚aste man troligen flytta fler ¨an en m˚alpunkt i taget f¨or att f˚a ett bra resultat.

8.4.3 Hittar fmincon verkligen minsta v¨ardet?

N¨ar en optimering ¨ar klar skrivs det optimala m˚alfunktionsv¨ardet ut tillsam- mans med de optimala v¨ardena p˚a designparametrarna. Men ¨ar det s¨akert att det ¨ar det minsta m˚alfunktionsv¨ardet som optimeringsalgoritmen st¨ott p˚a under optimeringen som returneras som optimalv¨arde? Svaret p˚a denna fr˚aga ¨ar faktiskt nej.

Optimeringen har studerats genom att b˚ade m˚alfunktionsv¨arde (cy- keltid) och parameterv¨arden skrivs ut f¨or varje g˚ang fmincon ber¨aknar m˚alfunktionen (g¨or en simulering), och faktum ¨ar att det ofta g˚ar att hitta mindre m˚alfunktionsv¨arden under optimeringens g˚ang ¨an det som returne- ras som det optimala. Hur kommer sig d˚a detta? En orsak skulle kunna vara att m˚alfunktionen ¨ar lite oj¨amn, s˚a att de gradienter som hittas vari- erar ganska mycket, vilket g¨or att den inte hittar tillbaka till b¨attre v¨arden som den hittat tidigare.

Algoritmen k¨ors ¨anda tills n˚agot av avbrottsvillkoren uppfylls, d v s att gradienten ¨ar tillr¨ackligt liten, att skillnaden mellan funktions- eller parame- terv¨arden ¨ar tillr¨ackligt liten, eller att gr¨ansen f¨or antalet till˚atna iterationer eller funktionsevalueringar ¨overskrids. Det verkar f¨or detta optimeringspro- blem dock inte alltid motsvara det minsta v¨ardet.

F¨or att f˚a en s˚a bra l¨osning som m¨ojligt har funktionsv¨arden f¨or al- la m˚alfunktionsber¨akningar sparats, tillsammans med de parameterv¨arden

64 Resultat

som genererat dem. N¨ar optimeringen ¨ar klar, plockas sedan det b¨asta (l¨agsta) av alla funktionsv¨arden som hittats ut, tillsammans med motsva- rande parameterv¨arden. Denna l¨osning presenteras sedan som ett alternativ till den l¨osning som fmincon p˚ast˚ar ¨ar optimal.

8.4.4 Hittar algoritmen globalt optimum?

Om optimeringen av ett system utf¨ors flera g˚anger, hittas ofta flera olika, n¨astan lika bra l¨osningar. Detta tyder p˚a att parametrarna ¨ar beroende, s˚a att det ¨ar kombinationen av, eller f¨orh˚allandet mellan, flera olika externa axelv¨arden, som best¨ammer l¨osningens kvalitet.

Kapitel 9

Diskussion

I detta kapitel kommer resultatet av examensarbetet att diskuteras. Dess- utom kommer f¨orslag till utvidgningar och framtida arbete att behandlas.

9.1

Diskussion av resultatet

Den presenterade metoden (algoritm 7.1) f¨or att optimera de externa ax- elv¨ardena har flera f¨ordelar:

• Programmet ¨ar oberoende av vilken robot och vilken typ av extern axel som anv¨ands, eftersom algoritmen sj¨alv tar reda p˚a gr¨anserna f¨or de externa axelv¨ardena, och testar inom vilka gr¨anser vart och ett av de externa axelv¨ardena kan s¨attas f¨or att roboten skall kunna n˚a alla m˚alpunkter.

• Algoritmen i sig ¨ar oberoende av hur m˚anga m˚alpunkter banan best˚ar av. Dock ¨okar l¨osningstiden med antalet m˚alpunkter, eftersom

– det finns fler m˚alpunkter att m¨ata upp gr¨anserna f¨or. – det beh¨ovs fler funktionsevalueringar f¨or att hitta optimum. – varje funktionsevaluering (simuleringen) tar l¨angre tid.

• Startgissningen kortaste v¨agen ger oftast ett ganska bra m˚alfunktions- v¨arde, vilket inneb¨ar att man kan anv¨anda denna f¨or att p˚a kort tid f˚a en ganska bra inst¨allning av de externa axelv¨ardena.

• Algoritmen bygger p˚a en smidig kommunikation mellan Matlab och RobotStudio.

66 Diskussion

• En kraftfull optimeringsalgoritm i Matlabs Optimization Toolbox an- v¨ands.

Det finns dock vissa nackdelar och begr¨ansningar med den presenterade l¨osningen:

• L¨osandet tar tid, eftersom algoritmen bygger p˚a simuleringar ist¨allet f¨or ber¨akningar i en f¨orenklad analytisk modell.

• Det ¨ar inte s¨akert att ett globalt optimum hittas.

• Det finns en risk att optimum ligger i n˚agot av de omr˚aden som f¨orkastats i och med att optimeringen endast sker i det l¨angsta in- tervallet f¨or var och ett av de externa axelv¨ardena.

• Algoritmen kr¨aver att anv¨andaren har tillg˚ang till Matlab med Opti- mization Toolbox.

9.2

Framtida arbete och m¨ojliga utvidgningar

H¨ar presenteras f¨orslag till utvidgningar och generaliseringar av detta arbe- te.

Val av parametrar och gruppering av m˚alpunkter

N¨ar antalet m˚alpunkter blir stort kommer l¨osningstiden att v¨axa. En del tid har lagts p˚a att f¨ors¨oka utf¨ora en k¨anslighetsanalys f¨or att v¨alja ut vilka externa axelv¨arden det ger st¨orst vinst att optimera (se avsnitt 8.4.2). Denna ansats har verkat lovande n¨ar m˚alpunkterna ligger utspridda i rummet.

N¨ar m˚alpunkterna ¨ar ordnade i grupper skulle det troligen kunna ge bra resultat att behandla det externa axelv¨ardet f¨or en hel grupp som en optimeringsvariabel, f¨or att begr¨ansa antalet variabler. Detta ¨ar ett f¨orslag till ut¨okning av algoritm 7.1.

Generalisering till fler dimensioner.

Ett givet uppslag till vidareutveckling ¨ar att generalisera detta arbete till externa axlar i fler dimensioner. Som tidigare n¨amnts (avsnitt 4.2) ¨ar ett l˚angsiktigt m˚al att kunna optimera anv¨andningen av tv˚a samarbetande ro- botar, vilket kan s¨agas motsvara att ha sex externa axlar till en robot.

En gissning ¨ar att det ¨ar sv˚art att generalisera hela den metodik som anv¨ands f¨or optimeringen av en extern axel till flera externa axlar. Det kan

9.2 Framtida arbete och m¨ojliga utvidgningar 67

vara sv˚art att bygga upp de stationer man vill optimera i RobotStudio och om ber¨akningarna bygger p˚a simuleringar i RobotStudio blir l¨osningstiden l˚ang n¨ar optimeringsparametrarna blir m˚anga. (Antalet optimeringspara- metrar = Antalet externa axlar * Antalet m˚alpunkter).

Vissa delar av metodiken kan dock s¨akert vara anv¨andbara. Att ha kor- taste v¨agen (i n˚agon bem¨arkelse) som startgissning i en optimering ¨ar tro- ligen v¨art att prova.

Allm¨ant kan det vara intressant att unders¨oka problemet ur en mer ma- tematisk synvinkel ¨an vad som gjorts i detta examensarbete. I denna l¨osning ¨

ar RobotStudio-simuleringen till stor del en svart l˚ada (black box) dit man skickar in externa axelv¨arden och f˚ar tillbaka cykeltider. Eventuellt skulle man dock kunna plocka ut information p˚a l¨agre niv˚a, t ex kinematikmodell och Jacobian, ur den virtuella controllern i RobotStudio f¨or att slippa g¨ora hela simuleringar.

Kanske kan man ¨aven titta p˚a andra m˚alfunktioner ¨an just cykeltiden, dels f¨or att f˚a en snabbare l¨osning och dels f¨or att kunna optimera andra saker, t ex undvikande av kollisioner.

Litteraturf¨orteckning

[1] ABB Robotics AB. RAPID Reference Manual Overview. ABB Robo- tics AB, V¨aster˚as, Sverige.

[2] ABB. www.abb.com, 2005.

[3] W.F.Carriker P.K.Khosha B.H.Krogh. The use of simulated annealing to solve the mobile manipulator path planning problem. 1990.

[4] John J. Craig. Introduction to Robotics. Addison-Wesley Publishing Company, USA, second edition edition, 1989.

[5] E.Gu Y.Zhou D.M.Martin. Posture optimization in a dual-redundant robotic control system with applications to automation. In Proceedings of the 1996 IEEE International Conference on Robotics and Automa- tion, pages 146–151, Minneapolis, Minnesota, april 1996.

[6] Olav Egeland. Task-space tracking with redundan manipulators. IEEE Journal of Robotics and Automation, RA-3(5):471–475, oktober 1987. [7] Behnam Kamrani. Optimal robot positioning. Master’s thesis, Chal-

mers Tekniska H¨ogskola, G¨oteborg, Sverige, 2003.

[8] W.F.Carriker P.K. Khosha B.H. Krogh. An approach for coordinating mobility and manipulation. 1989.

[9] Mathworks. Matlab 6.5.1 help, augusti 2003. [10] Mathworks. www.mathworks.com, januari 2005.

[11] Petter Krus och Johan Andersson. Optimizing optimization for design optimization. In Proceedings of DECT’03 2003 ASME Design Auto- mation Conference, 2003.

70 Diskussion

[12] Y. Yamamoto och X. Yun. Coordinating locomotion and manipulation of a mobile manipulator. 1994.

[13] European Patent Office. European patent application, ep 1 107 082 a2, juni 2001.

[14] J.Lundgren M.R¨onnkvist P.V¨arbrand. Linj¨ar och icke-linj¨ar optime- ring. Studentlitteratur, Lund, Sverige, 2001.

[15] ABB Automation Technologies AB Robotics. Robotstudio 3.1 user’s guide, 2004.

[16] Uwe Stickelmann. Robot optimal positioning. Technical report, ABB, Corporate Research, V¨aster˚as, Sverige, april 2004.

Bilaga A

Bilder av banor i

RobotStudio

Figur A.1. Figuren visar en RobotStudio-bana med tv˚a m˚alpunkter.

72 Bilder av banor i RobotStudio

Figur A.2. Figuren visar en RobotStudio-bana med tre m˚alpunkter.

Figur A.3. Figuren visar en RobotStudio-bana med fem m˚alpunkter.

73

På svenska

Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extra- ordinära omständigheter uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/

In English

The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances.

The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility.

According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement.

For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/

Related documents