• No results found

Identifiering av stelkroppsmodell för industrirobot

N/A
N/A
Protected

Academic year: 2021

Share "Identifiering av stelkroppsmodell för industrirobot"

Copied!
91
0
0

Loading.... (view fulltext now)

Full text

(1)Identifiering av stelkroppsmodell f¨ or industrirobot Examensarbete utf¨ ort i Reglerteknik vid Tekniska H¨ ogskolan i Link¨oping av Rasmus Olsson Reg nr: LiTH-ISY-EX–05/3625–SE Link¨ oping 2005.

(2)

(3) Identifiering av stelkroppsmodell fo ¨r industrirobot Examensarbete utf¨ ort i Reglerteknik vid Tekniska H¨ ogskolan i Link¨oping av Rasmus Olsson Reg nr: LiTH-ISY-EX–05/3625–SE. Handledare: Sven Hanssen Jonas Larsson Erik Wernholt Examinator: Svante Gunnarsson Link¨oping 19 december 2005..

(4)

(5) Sammanfattning Denna rapport behandlar en metod f¨ or experimentell identifiering av en stelkroppsmodell f¨or en industrirobot. Metoden anv¨ ander sig av uppm¨atta moment och armvinklar f¨or att identifiera parametrarna i en dynamikmodell f¨or robotens tre huvudaxlar. F¨or att erh˚ alla bra identifieringsresultat ¨ ar det viktigt att v¨alja en l¨amplig identifieringsbana och i detta arbete har en metod f¨or generering av banor anv¨ants och utv¨arderats f¨or tv˚ a olika designkriterier. Experiment har utf¨orts p˚ a en industrirobot fr˚ an ABB och vi har erh˚ allit goda identifieringsresultat med ett av designkriterierna. Nyckelord: identifiering, stelkroppsmodell, robotdynamik, optimering. i.

(6)

(7) Abstract In this masters thesis we consider a method for experimental identification of the inertial parameters of an industrial robot, using measured torques and joint angles. A dynamic model of the first three joints of the robot has been identified. To achieve good identification results, it is important to carefully choose the trajectory for the experimental identification. A method to generate trajectories using two suggested design criteria has been used and evaluated using an ABB industrial robot, and one of them yields good identification results. Keywords: identification, robot dynamics, optimal excitation. iii.

(8) iv.

(9) Tackord Jag vill framf¨ora ett stort tack till mina handledare p˚ a ABB Robotics, Sven Hanssen och Jonas Larsson, f¨ or all tid, hj¨ alp och st¨ od som de bidragit med under arbetet. Jag vill ocks˚ a tacka Svante Gunnarsson, examinator p˚ a LiTH, och handledare Erik Wernholt f¨or all v¨ agledning, tips och feedback som jag f˚ att fr˚ an dem. Slutligen vill jag tacka alla andra medarbetare p˚ a ABB Robotics som p˚ a olika s¨att bidragit med hj¨alp under arbetets genomf¨ orande, d¨ aribland Stig Moberg, Torgny Brog˚ ardh och Jesper Bergsj¨o.. v.

(10) vi.

(11) Notation Symboler X τ = (τ1 , τ2 , . . . , τn )T q = (q1 , q2 , . . . , qn )T K(q, q) ˙ P (q) m(i) (i) (i) mS(i) = (mS (i) x , mS y , mS z ) (i). lj. H(q, q, ˙ q ¨) h(q, q) ˙ N  τ1   τ =  ...   τN  H(q1 , q˙ 1 , q ¨N )   .. H=  . H(qN , q˙ N , q ¨N ) r. Baseparametervektor Vektor med armmoment f¨or axel 1 till n Vektor med armvinklar f¨or axel 1 till n Robotens kinetiska energi Robotens potentiella energi (gravitationsenergi) Massan f¨ or l¨ank i Vektor fr˚ an axel i till masscentrum hos l¨ank i multiplicerad med massan hos l¨ank i Avst˚ and fr˚ an led i till led i + 1 i j-riktning (x, y eller z). ¨ Overf¨ oringsmatris fr˚ an baseparametrar till armmoment ¨ Overf¨ oringsmatris fr˚ an baseparametrar till robotens totala energi Antal samplingspunkter som anv¨ands f¨or identifieringen. . Moment i N st samplingspunkter. H(q, q, ˙ q ¨) i N st samplingspunkter Matris med utv¨axlingen p˚ a robotens v¨axlar. vii.

(12) viii.

(13) Inneh˚ all 1 Introduktion 1.1 Introduktion till industrirobotar 1.2 Bakgrund till problemst¨ allningen 1.3 M˚ al och omf˚ ang . . . . . . . . . . 1.4 Disposition av rapporten . . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 1 1 1 3 3. 2 Robotmodellering 2.1 Introduktion . . . . . . . . . . . . . . . . . . 2.2 Mekanisk struktur . . . . . . . . . . . . . . . 2.3 Motorer, v¨ axell˚ ada och sensorer . . . . . . . . 2.4 Kinematik . . . . . . . . . . . . . . . . . . . . 2.5 Stelkroppsdynamik . . . . . . . . . . . . . . . 2.5.1 Modell med fysikaliska parametrar . . 2.5.2 Reducering till baseparametermodellen 2.5.3 Friktionsmodell . . . . . . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. 5 5 5 5 6 7 7 9 9. 3 Identifiering 3.1 Bakgrund och litteratur . . . . . . . . . . . . . . . . . . . . 3.2 Felk¨allor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 St¨ orningar och brus . . . . . . . . . . . . . . . . . . 3.2.2 Elastiska effekter . . . . . . . . . . . . . . . . . . . . 3.2.3 Filtrering . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Identifiering av fourierserie och analytisk derivering 3.2.5 Ej modellerade effekter . . . . . . . . . . . . . . . . 3.3 Best¨amning av en bana . . . . . . . . . . . . . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. 11 11 12 13 13 17 17 17 17. 4 Genomf¨ orande 4.1 Robotmodell . . . . . . . 4.2 Vald identifieringsmetod . 4.3 Parametrisering av banor 4.4 Optimeringsproblemet . .. . . . .. . . . .. . . . .. . . . .. . . . .. 21 21 21 22 22. . . . .. . . . .. . . . .. . . . .. ix. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . ..

(14) x. Inneh˚ all 4.4.1 4.4.2. Samplingstid . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Erfarenheter fr˚ an optimeringen . . . . . . . . . . . . . . . . . 24. 5 Experiment 5.1 Introduktion . . . . . . . . . . . . . . . . . . . . . . 5.2 Att utv¨ ardera identifierade parametrar . . . . . . . . 5.3 Utv¨ardering av konditionstalet som m˚ alfunktion . . . . . . . . . . . . . . . . . . . . 5.4 Utv¨ardering av determinantfunktionen som m˚ alfunktion . . . . . . . . . . . . . . . . . . . . 5.4.1 J¨ amf¨ orelse av moment¨ overensst¨ammelse . . . 5.4.2 Analys av identifierade baseparametrar . . . 5.4.3 Analys av identifierade friktionsparametrar . 5.5 Identifieringens beroende av filtrering . . . . . . . . . 5.6 Variation i identifiering f¨ or olika k¨ orningar av samma 6 Diskussion och slutsatser 6.1 Val av m˚ alfunktion . . . . . . . . . . . 6.2 Momentfiltrering . . . . . . . . . . . . 6.3 Stokastiska respektive deterministiska st¨orningar . . . . . . . . . . . . . . . . 6.4 Identifiering av friktionsparametrar . .. 27 . . . . . . . . . 27 . . . . . . . . . 27 . . . . . . . . . 32 . . . . . . . . . . . . . . . . . . . . bana. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 36 41 41 45 45 45. 51 . . . . . . . . . . . . . . . . . 51 . . . . . . . . . . . . . . . . . 51 . . . . . . . . . . . . . . . . . 52 . . . . . . . . . . . . . . . . . 52. Litteraturf¨ orteckning. 53. A Baseparameterformulering. 55. B Optimeringsresultat B.1 Banor optimerade B.2 Banor optimerade B.3 Banor optimerade B.4 Banor optimerade. till till till till. m˚ alfunktionsv¨arde m˚ alfunktionsv¨ arde m˚ alfunktionsv¨ arde optimalitet . . . .. −75 . −90 . −100 . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 61 61 64 67 70.

(15) Inneh˚ all. xi. Figurer 1.1 1.2. ABB:s robotfamilj och styrsk˚ ap. . . . . . . . . . . . . . . . . . . . . Punktsvetsning av bilkarosser med ABB-robotar av typ IRB 6400. .. 2 2. 2.1 2.2 2.3. ABB IRB 6600, en industrirobot med seriell struktur. . . . . . . . . ABB IRB 340 (FlexPicker), en industrirobot med parallell struktur. Robotens sex axlar. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6 6 8. 3.1 3.2. Modell av vekheten i en axel. . . . . . . . . . . . . . . . . . . . . . . 14 Numeriskt ber¨ aknad acceleration f¨ or axel 1–3 fr˚ an en ofiltrerad positionssignal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Numeriskt ber¨ aknad acceleration f¨ or axel 1–3 efter l˚ agpassfiltrering av positionssignalen med ett l˚ agpassfilter med gr¨ansfrekvens 25 Hz och matlabproceduren filtfilt. . . . . . . . . . . . . . . . . . . . . . . 18 Ofiltrerad momentsignal f¨ or axel 1–3. . . . . . . . . . . . . . . . . . . 19 Momentsignal f¨ or axel 1–3 filtrerad med ett l˚ agpassfilter med gr¨ansfrekvens 25 Hz och matlabproceduren filtfilt. . . . . . . . . . . . . . . . . . . . 19 Robot med dresspack. . . . . . . . . . . . . . . . . . . . . . . . . . . 20. 3.3. 3.4 3.5 3.6 5.1. Motorvinklar p˚ a axel 1–3 vid en k¨ orning av en dryg period av en optimerad bana d¨ ar roboten d¨ arefter ˚ aterg˚ ar till banans startpunkt med ett anpassat tredjegradspolynom. . . . . . . . . . . . . . . . . . 5.2 Armvinklar samt hastigheter och accelerationer f¨or valideringsbanan. 5.3 Armmoment f¨ or valideringsbanan. . . . . . . . . . . . . . . . . . . . 5.4 Armvinklar samt hastigheter och accelerationer f¨or en bana optimerad med konditionstalskriteriet samt valideringsbanan. . . . . . . . . 5.5 Filtrerat uppm¨ att moment respektive moment fr˚ an identifierad modell p˚ a en identifieringsbana optimerad med konditionstalskriteriet, axel 1–3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Filtrerat uppm¨ att moment respektive moment fr˚ an modell identifierad p˚ a en identifieringsbana optimerad med konditionstalskriteriet, f¨or valideringsbanan, axel 1–3. . . . . . . . . . . . . . . . . . . . . . 5.7 Armvinklar samt hastigheter och accelerationer f¨or en bana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −75. . . . . . . . . . . . . . . . . . . 5.8 Armvinklar samt hastigheter och accelerationer f¨or en bana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −90. . . . . . . . . . . . . . . . . . . 5.9 Armvinklar samt hastigheter och accelerationer f¨or en bana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −100. . . . . . . . . . . . . . . . . . 5.10 Armvinklar samt hastigheter och accelerationer f¨or en bana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −103,07. . . . . . . . . . . . . . . .. 28 30 31 33. 34. 35 37 37 38 38.

(16) xii. Inneh˚ all 5.11 Filtrerat uppm¨ att moment respektive moment fr˚ an identifierad modell p˚ a en identifieringsbana optimerad till ett m˚ alfunktionsv¨arde p˚ a −103,07, axel 1–3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.12 Filtrerat uppm¨ att moment respektive moment fr˚ an modell identifierad p˚ a en identifieringsbana optimerad till ett m˚ alfunktionsv¨arde p˚ a −103,07, f¨ or valideringsbanan, axel 1–3. . . . . . . . . . . . . . . 40 5.13 RMS-v¨arden av skillnaden mellan filtrerat uppm¨att moment och moment givet av baseparametermodellen p˚ a valideringsbanan, f¨or axel 1–3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.14 Absolut differens mellan identifierade parametrar och teoretiska parameterv¨ arden f¨ or fem olika identifieringsbanor med m˚ alfunktionsv¨ardet −75. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.15 Absolut differens mellan identifierade parametrar och teoretiska parameterv¨ arden f¨ or fem olika identifieringsbanor med m˚ alfunktionsv¨ardet −90. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.16 Absolut differens mellan identifierade parametrar och teoretiska parameterv¨ arden f¨ or fem olika identifieringsbanor med m˚ alfunktionsv¨ardet −100. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.17 Absolut differens mellan identifierade parametrar och teoretiska parameterv¨ arden f¨ or fem olika identifieringsbanor optimerade till ett lokalt optimum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.18 Identifierade friktionsparametrar f¨ or fem olika identifieringsbanor med m˚ alfunktionsv¨ ardet −75. . . . . . . . . . . . . . . . . . . . . . . 46 5.19 Identifierade friktionsparametrar f¨ or fem olika identifieringsbanor med m˚ alfunktionsv¨ ardet −90. . . . . . . . . . . . . . . . . . . . . . . 46 5.20 Identifierade friktionsparametrar f¨ or fem olika identifieringsbanor med m˚ alfunktionsv¨ ardet −100. . . . . . . . . . . . . . . . . . . . . . 47 5.21 Identifierade friktionsparametrar f¨ or fem olika identifieringsbanor optimerade till ett lokalt optimum. . . . . . . . . . . . . . . . . . . . 47 5.22 Absolut differens mellan identifierade parametrar och teoretiska parameterv¨ arden med respektive utan filtrering av momentsignalen. . . 48 5.23 Identifierade friktionsparametrar med respektive utan filtrering av momentsignalen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.24 Absolut differens mellan identifierade parametrar och teoretiska parameterv¨ arden vid tre olika k¨ orningar av samma bana. . . . . . . . . 49 5.25 Identifierade friktionsparametrar vid tre olika k¨orningar av samma bana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 B.1 B.2 B.3 B.4 B.5. Bana Bana Bana Bana Bana. optimerad optimerad optimerad optimerad optimerad. till till till till till. ett ett ett ett ett. m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde. p˚ a −75. p˚ a −75. p˚ a −75. p˚ a −75. p˚ a −75.. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 61 62 62 63 63.

(17) Inneh˚ all B.6 B.7 B.8 B.9 B.10 B.11 B.12 B.13 B.14 B.15 B.16 B.17 B.18 B.19. Bana Bana Bana Bana Bana Bana Bana Bana Bana Bana Bana Bana Bana Bana. xiii optimerad optimerad optimerad optimerad optimerad optimerad optimerad optimerad optimerad optimerad optimerad optimerad optimerad optimerad. till till till till till till till till till till till till till till. ett ett ett ett ett ett ett ett ett ett ett ett ett ett. m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde m˚ alfunktionsv¨arde. p˚ a −90. . . p˚ a −90. . . p˚ a −90. . . p˚ a −90. . . p˚ a −90. . . p˚ a −100. . p˚ a −100. . p˚ a −100. . p˚ a −100. . p˚ a −100. . p˚ a −103,07. p˚ a −104,48. p˚ a −104,73. p˚ a −104,88.. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. 64 65 65 66 66 67 68 68 69 69 70 71 71 72.

(18) xiv. Inneh˚ all.

(19) Kapitel 1. Introduktion 1.1. Introduktion till industrirobotar. En industrirobot best˚ ar av ett antal stela kroppar, s˚ a kallade l¨ankar, som ¨ar sammankopplade i ett antal leder, ¨ aven kallade axlar, som styrs med elektriska motorer. P˚ a den yttersta l¨ anken f¨ asts n˚ agon form av verktyg som roboten d˚ a kan hantera. Vanligast ¨ar robotar med sex axlar, vilket ger roboten de sex frihetsgrader som kr¨avs f¨or att fritt kunna kontrollera b˚ ade position och orientering hos verktyget. Position s˚ av¨al som orientering kan varieras i tre dimensioner vilket ger totalt sex frihetsgrader. F¨or att kunna k¨ ora roboten beh¨ ovs ocks˚ a ett styrsk˚ ap, vilket fungerar som robotens ”hj¨arna” och inneh˚ aller n¨ odv¨ andig h˚ ardvara och mjukvara f¨or att styra och o¨vervaka roboten. I figur 1.1 visas ABB:s robotfamilj och styrsk˚ ap. Industrirobotar spelar idag en viktig roll f¨ or automatisering inom bland annat tillverkningsindustrin. De har en m¨ angd olika anv¨andningsomr˚ aden, till exempel b˚ ag- och punktsvetsning (se figur 1.2), materialhantering, maskinbetj¨aning, m˚ alning, limning och nya anv¨ andningsomr˚ aden tillkommer hela tiden. En stor del av robotarna g˚ ar till bilindustrin, och i livsmedelsindustrin a¨r anv¨andningen av industrirobotar p˚ a stark frammarsch. Utm¨ arkande f¨or industrirobotar a¨r att de a¨r flexibla och programmerbara. De flesta robottyper a¨r inte specialiserade p˚ a en enda uppgift utan kan utf¨ ora flera olika uppgifter.. 1.2. Bakgrund till problemst¨ allningen. F¨or att kunna styra en industrirobot effektivt beh¨ovs en bra dynamikmodell, som beskriver vilka moment som uppst˚ ar i axlarna d˚ a roboten utf¨or en viss r¨orelse. Olika typer av modeller kan anv¨ andas f¨ or detta. Den kan inkludera robotens elastiska 1.

(20) 2. Introduktion. Figur 1.1. ABB:s robotfamilj och styrsk˚ ap.. Figur 1.2. Punktsvetsning av bilkarosser med ABB-robotar av typ IRB 6400.. egenskaper eller enbart det stela uppf¨ orandet. Den kan g¨alla enbart lokalt, dvs enbart i n¨arheten av n˚ agon viss konfiguration hos roboten, eller globalt i hela robotens arbetsomr˚ ade. Utg˚ angspunkten f¨ or detta arbete a¨r en stelkroppsmodell av roboten som g¨aller i hela arbetsomr˚ adet. I denna modell ing˚ ar ett antal parametrar som beror av robotens stelkroppsdata (massor, tyngdpunkter, etc.), vilka man inte alltid har tillg˚ ang till f¨ or en viss robot. D¨ arf¨or finns det ett behov av att kunna best¨amma dessa parametrar experimentellt..

(21) 1.3 M˚ al och omf˚ ang. 1.3. 3. M˚ al och omf˚ ang. Syftet med detta arbete har varit att p˚ a experimentell v¨ag identifiera parametrarna i en stelkroppsmodell f¨ or roboten och att utv¨ardera resultatet av denna identifiering. De experimentella data som finns till f¨ orfogande f¨or denna identifiering ¨ar m¨atningar av motorernas position och moment. Framf¨or allt har vi intresserat oss f¨ or problemet att utforma ett experiment som ger en s˚ a bra identifiering som m¨ ojligt, dvs att k¨ora roboten utmed en bana som ger bra identifiering. Robottypen som anv¨ ants f¨or experiment ¨ar ABB IRB 6600 och den modell som identifierats ¨ ar en modell f¨or dess tre huvudaxlar. I arbetet har en studie av publicerad litteratur i ¨amnet gjorts, och d¨arefter valdes en identifieringsmetod och en viss typ av parametrisering av robotens bana. Olika designkriterier har utv¨ arderats f¨ or optimering av en s˚ adan bana.. 1.4. Disposition av rapporten. I denna rapport inleder vi med att diskutera allm¨anna principer f¨or modellering av robotar, och den stelkroppsmodell som anv¨ants i arbetet. D¨arefter diskuteras f¨oruts¨attningar och metoder f¨ or identifiering av denna stelkroppsmodell och den identifieringsmetod som valts f¨ or denna studie. Vi g˚ ar sen igenom den metod som anv¨ants f¨or att optimera fram identifieringsbanor och avslutningsvis presenteras de resultat som erh˚ allits med dessa..

(22) 4. Introduktion.

(23) Kapitel 2. Robotmodellering 2.1. Introduktion. I detta kapitel g˚ ar vi ¨ oversiktligt igenom de allm¨anna principerna f¨or robotmodellering och d¨arefter mer i detalj de bitar som anv¨ands vid stelkroppsidentifiering. F¨or en mer fullst¨ andig genomg˚ ang, se exempelvis John J. Craig, Introduction to robotics [3] eller Lung-Wen Tsai, Robot analysis [11].. 2.2. Mekanisk struktur. Robotens struktur och r¨ orelsebegr¨ ansningarna i robotens axlar avg¨or p˚ a vilket s¨att och inom vilket arbetsomr˚ ade roboten kan arbeta. Olika typer av strukturer kan f˚ as beroende p˚ a hur l¨ ankarna p˚ a industriroboten ¨ar sammankopplade. Lederna kan vara roterande eller translaterande och kombineras p˚ a olika vis, och sammankopplingen av l¨ankarna kan vara seriell (se figur 2.1) eller parallell (se figur 2.2). Den robottyp (IRB 6600) som vi intresserar oss f¨or i detta arbete har seriellt sammankopplade l¨ankar och roterande leder, vilket ¨ar den vanliga strukturen hos industrirobotar.. 2.3. Motorer, v¨ axell˚ ada och sensorer. P˚ a varje axel sitter en elektrisk motor som driver axelns r¨orelse via en v¨axell˚ ada. V¨axell˚ adan omvandlar det h¨ oga varvtal och l˚ aga moment som motorn genererar till den l˚ angsammare r¨ orelse med stort moment som robotarmen beh¨over. Utv¨axlingen ligger i allm¨anhet i intervallet 100–400. F¨ or att man skall veta hur roboten r¨or sig s˚ a m¨ater man motorvinkeln. Detta g¨ ors p˚ a ABB:s robotar med en resolver som 5.

(24) 6. Robotmodellering. Figur 2.1. ABB IRB 6600, en industrirobot med seriell struktur.. Figur 2.2. ABB IRB 340 (FlexPicker), en industrirobot med parallell struktur.. m¨ater vinkeln p˚ a elektromagnetisk v¨ ag. Ett alternativ till denna typ av givare ¨ar en optisk s.k. enkoder som m¨ ater vinkeln digitalt.. 2.4. Kinematik. Robotkinematik handlar om att best¨ amma relationen mellan ledernas r¨orelse och r¨orelsen hos det verktyg som roboten hanterar. Verktygets position anges vanligen i kartesiska koordinater i n˚ agot fast referenssystem. Problemet att uttrycka verktygets position som en funktion av ledernas vinklar kallas f¨or fram˚ atkinematikproblemet. Man s¨ oker allts˚ a funktionen   x(q) X= = f (q) (2.1) r(q) d¨ar q = (q1 , q2 , . . . , qn )T a aller ledernas vinklar och x och ¨r en vektor som inneh˚ r a¨r verktygets position respektive orientering. F¨or en seriell robotstruktur a¨r det relativt okomplicerat att h¨ arleda denna funktion genom att man f¨orst tittar p˚ a den f¨orsta l¨ankens position relativt referenssystemet, d¨arefter den andra l¨ankens position relativt den f¨ orsta, och s˚ a vidare tills man har en funktion f¨or verktygets position och orientering relativt referenssystemet. Det inversa problemet, att best¨ amma q som en funktion av x och r, a¨r sv˚ arare och den funktionen kan inte alltid skrivas p˚ a en sluten form. Det finns dock en l¨ osning p˚ a sluten form f¨ or en seriell robot med s.k. sf¨arisk handled, vilket inneb¨ar att rotationsaxlarna f¨ or axel 4–6 sk¨ ar varandra i en enda punkt..

(25) 2.5 Stelkroppsdynamik. 7. F¨ or en robot med parallell struktur ¨ ar det ist¨ allet det inversa kinematikproblemet som ¨ar l¨att att l¨ osa och fram˚ atkinematiken som ¨ar sv˚ ar.. 2.5 2.5.1. Stelkroppsdynamik Modell med fysikaliska parametrar. Robotens dynamikmodell beskriver sambandet mellan robotens r¨orelse och de drivande momenten τ = (τ1 , τ2 , . . . , τn )T i robotens axlar. F¨or att h¨arleda en s˚ adan modell kan man anv¨ anda lagrangefunktionen L(q, q) ˙ som definieras som L(q, q) ˙ = K(q, q) ˙ − P (q). (2.2). d¨ar K(q, q) ˙ a¨r den kinetiska energin och P (q) den potentiella energin hos roboten. Med antagandet om en stel robot best˚ ar den potentiella energin enbart av gravitationsenergi. D˚ a beskrivs robotens dynamik av Lagranges ekvationer d ∂L ∂L − = Γi , i = 1, . . . , n dt ∂ q˙i ∂qi. (2.3). d¨ar Γi ¨ar momentet i axel i d˚ a man bortser fr˚ an friktion. Genom att s¨atta in uttrycken f¨ or den kinetiska och potentiella energin i (2.2) kan ekvationerna (2.3) skrivas om som M (q)¨ q + C(q, q) ˙ q˙ + g(q) = Γ d¨ar M (q) ¨ar en tr¨ oghetsmatris, C(q, q) ˙ q˙ beskriver hastighetsberoende tr¨ogheter som coriolis- och centripetalkrafter, och g(q) ¨ ar gravitationens bidrag. F¨or detaljer kring hur denna omskrivning g¨ ors, se [3] eller [11]. Med ett speciellt val av parametrar kan man g¨ora en omskrivning p˚ a en linj¨ar form, ˙ q ¨) X Γ = H(q, q, (1). (2). (n). (2.4). (i). d¨ar X = (X , X , . . . , X )T och X ¨ ar en 10-dimensionell vektor som inneh˚ aller fysikaliska stelkroppsparametrar f¨ or l¨ank i. N¨odv¨andigt f¨or att modellen skall kunna formuleras p˚ a denna linj¨ ara form ¨ ar att man anv¨ander stelkroppsparametrar med tr¨oghetsmomenten f¨ or l¨ ank i med avseende p˚ a den drivande axeln i och inte p˚ a l¨ankens masscentrum. Se figur 2.3 f¨or en illustration av robotens axlar. (i) Parametrarna definieras som X = (m(i) , mS(i) , I(i) ), d¨ar m(i) ¨ar l¨ank i:s massa, (i) (i) mS(i) = (mS (i) ar en vektor fr˚ an axel i till masscentrum hos l¨ank x , mS y , mS z ) ¨ (i). (i). (i). (i). (i). (i). i multiplicerad med massan hos l¨ ank i, och I(i) = (Ixx , Iyy , Izz , Ixy , Ixz , Iyz ) a¨r tr¨oghetsmomenten f¨ or l¨ ank i med avseende p˚ a axel i..

(26) 8. Robotmodellering. H(q, q, ˙ q ¨) ¨ar en matris vars utseende best¨ ams av robotens struktur, och beror olinj¨art p˚ a armvinklarna och dess hastigheter och accelerationer (q, q, ˙ q ¨). Ekvationen (2.4) ¨ar intressant ur identifieringssynpunkt, eftersom man utifr˚ an experi˙ q ¨) och momentvektorn Γ och d¨armed mentella data kan ber¨ akna matrisen H(q, q, erh˚ alla ett antal ekvationer som ¨ ar linj¨ ara i stelkroppsparametrarna. Med samma parametervektor kan man ocks˚ a formulera en modell f¨or systemets totala energi E, E = K(q, q) ˙ + P (q) = h(q, q) ˙ X (2.5) Denna form ¨ar ocks˚ a intressant f¨ or identifierings¨andam˚ al, d˚ a f¨or¨andringen i den totala energin ¨ar lika med arbetet som roboten utr¨attar, och detta arbete kan ber¨aknas utifr˚ an uppm¨ atta experimentella data. (Se t.ex. [6].) Skillnaden mellan (2.5) och (2.2) ¨ar att vi f˚ ar den totala energin genom att addera potentiell energi till kinetisk energi medan lagrangefunktionen definieras som kinetisk energi minus potentiell energi. Lagrangianen kan inte p˚ a ett liknande s¨att ber¨aknas utifr˚ an experimentella data och d¨ arf¨ or ¨ ar den totala energin b¨attre l¨ampad f¨or identifiering. Vi har allts˚ a tv˚ a olika formuleringar som kan anv¨andas som grund f¨or identifiering av stelkroppsparametrarna, (2.4) respektive (2.5), och dessa formuleringar kallar vi f¨or momentformen respektive energiformen.. Figur 2.3. Robotens sex axlar..

(27) 2.5 Stelkroppsdynamik. 2.5.2. 9. Reducering till baseparametermodellen. De kinematiska begr¨ ansningarna p˚ a l¨ ankarnas r¨orelse leder till att det inte ¨ar n¨odv¨andigt att k¨ anna alla fysikaliska stelkroppsparametrar i X f¨or att ber¨akna de drivande momenten, utan det r¨ acker att k¨anna vissa linj¨arkombinationer av dem. Detta visar sig som att matrisen   H(q1 , q˙ 1 , q ¨1 )   ..   . H(qN , q˙ N , q ¨N ) aldrig f˚ ar full rang (dvs 10n som ¨ ar antalet kolumner i matrisen), utan det finns alltid linj¨ara beroenden mellan kolumnerna i denna matris. Analogt f¨or matrisen h(q, q). ˙ (Fr˚ an Lagranges ekvationer inses att dessa matriser uppvisar samma linj¨ara beroenden.) D˚ ah¨ ar l¨ attare att analysera, eftersom den endast inneh˚ aller en rad, anda denna f¨ or att analysera de linj¨ara beroendena. ¨ar det l¨ampligt att anv¨ Detta inneb¨ar att det inte finns en entydig upps¨attning stelkroppsparametrar som ger ett visst moment, och man kan d¨ armed inte experimentellt identifiera parametrarna entydigt. L¨ osningen p˚ a detta problem ¨ar att reducera antalet parametrar till en minimal upps¨ attning, s˚ a kallade baseparametrar, och formulera modellen p˚ a den minimala formen ˆ ˆ Γ = H(q, q, ˙ q ¨) X (2.6) En metod f¨or att genomf¨ ora denna reduktion numeriskt med hj¨alp av singul¨arv¨ardesfaktorisering har beskrivits av Sheu och Walker, [9]. Ekvation (2.6) ¨ ar baseparametermodellen p˚ a momentform. Med samma basepaˆ kan man ocks˚ rametervektor X a formulera modellen f¨or systemets totala energi E. ˆ q) ˆ E = h(q, ˙ X (2.7) ˆ och X samt utseendet av matrisen H(q, ˆ Relationen mellan X q, ˙ q ¨) f¨or ett visst val av baseparametrar f¨ or en treaxlig robotmodell redovisas i Bilaga A.. 2.5.3. Friktionsmodell. Friktion i robotens leder ger ett v¨ asentligt bidrag till momentet och ¨ar n¨odv¨andig att ta h¨ansyn till vid modelleringen av roboten. Den modell som anv¨ands ¨ar att friktionsmomentet τF,i i led i ¨ ar en summa av Coulumbfriktion och visk¨os friktion τF,i =. q˙i C F + q˙i Fiv |q˙i | i. d¨ar FiC och Fiv a¨r friktionskonstanter. Detta anses vara en bra modell f¨or friktionen och har anv¨ants i bl.a. [4]. Denna modell tar dock inte h¨ansyn till att friktionen kan vara momentberoende, och beroende av robotens konfiguration..

(28) 10. Robotmodellering. Friktionen kan d¨ arefter inkluderas i baseparametermodellen genom att baseparaˆ ut¨ a att dessa kan metervektorn X okas med friktionsparametrarna {FiC , Fiv }ni=1 s˚ identifieras samtidigt med de andra baseparametrarna. P˚ a momentform:   ˆ X     q˙   C  1  F1v  0 0 |q˙1 | , q˙1        F1   ..    ˆ H(q, q, ˙ q ¨ ) τ = Γ+τ F =  = H(q, q, ˙ q ¨) X    . . 0   .    0 .  q˙n    0 0 |q˙n | , q˙n F C  n Fnv Det visar sig vid en numerisk analys att inf¨ orandet av de nya kolumnerna i matrisen H(q, q, ˙ q ¨) inte ger n˚ agra linj¨ ara beroenden mellan kolumnerna (som vi hade i modellen (2.4)) och friktionsparametrarna ¨ ar d¨armed identifierbara..

(29) Kapitel 3. Identifiering 3.1. Bakgrund och litteratur. Identifieringsproblemet inneb¨ ar att k¨ ora roboten utmed n˚ agon bana och skatta parametervektorn X utifr˚ an data uppm¨ atta i ett antal samplingspunkter. Givna f¨oruts¨attningar ¨ ar att enbart motormoment och motorposition kan m¨atas, dvs inga m¨atningar kan g¨ oras p˚ a sj¨ alva robotarmen. I litteraturen har olika identifieringsmetoder presenterats, d¨ar vissa anv¨ander sig av momentformen (se t.ex. [10], [2]) och andra av energiformen (se t.ex. [4]). Olika f¨or- och nackdelar har diskuterats med de tv˚ a olika varianterna i exempelvis [8] och [6]. En f¨ordel med att anv¨ anda energiformen ¨ar att accelerationer inte beh¨over anv¨andas, vilket ¨ ar bra eftersom att det kan vara sv˚ art att ta fram accelerationsdata med bra kvalitet. ˚ A andra sidan inneh˚ aller energiformen mindre information, eftersom man i varje m¨ atpunkt bara anv¨ ander en ekvation f¨or den totala energin ist¨allet f¨or en ekvation f¨ or varje axels moment. Det faktum att modellens syfte a f¨ or att anv¨anda momentformen, eftersom ¨ar att modellera momentet talar ocks˚ identifieringen d˚ a kan g¨ oras s˚ a att man f˚ ar parametrar som ger b¨asta m¨ojliga moment¨overensst¨ammelse. Momentformen har ocks˚ a f¨ordelen att momentv¨ardena i princip kan tas direkt fr˚ an roboten medan energin m˚ aste integreras fram. Vi har d¨arf¨or valt att inom ramen f¨ or detta arbete enbart arbeta med momentformen. Med N samplingspunkter och momentformen har vi:     τ (1) H(q(t1 ), q(t ˙ 1 ), q ¨(t1 ))     .. .. τ = , H =   . . τ (N ). H(q(tN ), q(t ˙ N ), q ¨(tN )). Det g¨aller att τ = H X, men fel i m¨ atdata g¨or att vi bara k¨anner skattningar τe e av τ och H. och H D˚ a fel i q, q˙ och q ¨ p˚ averkar matrisen H p˚ a ett komplicerat och olinj¨art s¨att, ger det 11.

(30) 12. Identifiering. en v¨asentlig f¨orenkling att betrakta dessa som brusfria vid identifieringen. Om man g¨or detta antagande, samt antar att den observerade vektorn τe ¨ar normalf¨ordelad a blir (se Swevers et. al [10]) med v¨antev¨ardet τ = H X och kovariansmatrisen Σ s˚ den s.k. ML-skattningen av X lika med l¨ osningen till det viktade minstakvadratproblemet   T   T −1 T e Σ−1 H eX eX = H e e τe Σ−1 τe − H XM L = arg min τe − H (3.1) H X. ML-metoden inneb¨ ar att man v¨ aljer den parametervektor som maximerar sannolikhetst¨athetsfunktionen f¨ or de moment som man m¨att upp, dvs man v¨aljer den parametervektor som i n˚ agon mening maximerar sannolikheten f¨or den observation som man gjort. Vi ser att denna metod ger de parametrar som p˚ a identifieringsbanan ger b¨ast moment¨ overensst¨ ammelse i en viktad minstakvadratmening, vilket ¨ar en bra egenskap hos identifieringen eftersom sj¨alva syftet med den identifierade modellen ¨ar att den skall modellera momentet p˚ a ett bra s¨att. En metod f¨or att inkludera en modell f¨ or bruset i positionsdata i en ML-skattning har diskuteras av Olsen et al. i [7]. Skattningen blir tyv¨arr mycket sv˚ arare att ber¨akna med denna metod, och detta har inte behandlats i detta arbete.. 3.2. Felk¨ allor. En av de viktigaste felk¨ allorna att beakta vid identifieringen ¨ar det brus och m¨atfel som finns i moment- och positionssignaler. Man vill g¨ora identifieringen p˚ a ett s˚ adant vis att bruset p˚ averkar identifieringen av parametrarna s˚ a lite som m¨ojligt. Detta involverar dels att behandla signalerna p˚ a l¨ampligt s¨att, vad g¨aller filtrering och derivering, men det handlar ocks˚ a till stor del om att v¨alja en bana d¨ar brus och m¨atfel p˚ averkar identifieringen s˚ a lite som m¨ojligt. Ett annat problem ¨ ar robotens elastiska egenskaper. Eftersom dessa inte ing˚ ar i baseparametermodellen m˚ aste deras inverkan p˚ a momentet minimeras f¨or att identifieringen skall bli bra. Man m˚ aste allts˚ a k¨ ora en bana d¨ar man undviker att excitera elastiska effekter. Egenskaper hos regressionsmatrisen H kommer att avg¨ora hur moment- och positionsfel inverkar p˚ a de identifierade parametrarna, s˚ a f¨or att kunna identifiera parametrarna s˚ a bra som m¨ ojligt m˚ aste en bana v¨aljas som ger goda egenskaper hos regressionsmatrisen. I litteraturen (exempelvis [1], [10] och [2]) har olika optimeringskriterier f¨ or generering av en bana diskuterats och utv¨arderats. Ett av dem a¨r konditionstalet p˚ a matrisen HT Σ−1 H, eller en normaliserad version av denna. Ett l˚ agt konditionstal minskar k¨ ansligheten i parameterskattningen (3.1) f¨or dels fel i momentv¨ardena, och dels fel i regressionsmatrisen sj¨alv. Ett annat kriterium som f¨oreslagits a ¨r − log det(HT Σ−1 H). Att minimera denna funktion svarar mot att minimera determinanten av kovariansmatrisen av parameterskattningen (3.1), n¨ar vi antar att vi enbart har brus i momentdata. (Logaritmfunktionen anv¨ands.

(31) 3.2 Felk¨ allor. 13. bara f¨or att f˚ a ner storleksordningen p˚ a funktionen.) Denna m˚ alfunktion svarar mot att minimera varians i parameterskattningen orsakad av varians i momentdata.. 3.2.1. St¨ orningar och brus. I motorn uppkommer st¨ orningar, s˚ a kallat rippel, vilket ¨ar en st¨orning p˚ a motormomentet som varierar med rotorns position. Detta rippel ¨ar periodiskt med avseende p˚ a rotorns position och best˚ ar av b˚ ade str¨ omberoende och str¨omoberoende delar och kan modelleras som NA X. An sin(nq + ΦA,n ) + τc. NB X. Bn sin(nq + ΦB,n ). (3.2). n=1. n=1. d¨ar τc ¨ar beg¨art moment. Detta ¨ ar en deterministisk st¨orning p˚ a motormomentet. St¨orningar uppst˚ ar ocks˚ a i den av resolvern uppm¨atta motorpositionen, och dessa kan modelleras som NC X Cn sin(nq + ΦC,n ) + e (3.3) n=1. d¨ar summan beskriver en deterministisk st¨ orning och e ¨ar ett stokastiskt brus.. 3.2.2. Elastiska effekter. Den dynamikmodell som identifieras modellerar bara robotens stela uppf¨orande och utg˚ ar allts˚ a ifr˚ an att robotarmen uppf¨ or sig som en stel kropp. I verkligheten finns dock ¨aven elastiska effekter, och f¨ or att identifieringen av stelkroppsmodellen ska bli s˚ a bra som m¨ ojligt g¨ aller det att dessa elastiska effekter minimeras. F¨or att f˚ a v¨agledning till hur detta b¨ or g¨ oras studerar vi en enkel elastisk modell f¨or en av robotens axlar och unders¨ oker hur den avviker fr˚ an den stela modellen vid en harmonisk sv¨angningsr¨ orelse. Vekheten i en av robotens axlar kan modelleras som ett tv˚ amassesystem med en fj¨ ader och en d¨ampare enligt figur 3.1, och det elastiska systemet kan d˚ a beskrivas med differentialekvationerna            Jm 0 q¨m c −c q˙m k −k qm τ + + = m (3.4) 0 Ja q¨a −c c q˙a −k k qa 0 Jm och Ja a¨r tr¨ oghetsmomenten f¨ or motorn respektive robotarmen och dessa a¨r sammankopplade via en v¨ axell˚ ada som modelleras som en fj¨ader med en d¨ampare. F¨or denna diskussion kan vi utel¨ amna v¨ axell˚ adans utv¨axling fr˚ an v˚ ar modell d˚ a denna enbart transformerar Ja och qa med en konstant. Vi ans¨atter en harmonisk sv¨ angningsr¨ orelse f¨or motorpositionen, qm (t) = qˆm ejωt.

(32) 14. Identifiering. Figur 3.1. Modell av vekheten i en axel.. och l¨oser ekvationen f¨ or denna. Andra raden i (3.4) ger Ja q¨a − cjω qˆm ejωt + cq˙a − k qˆm ejωt + kqa Ja q¨a + cq˙a + kqa c k q¨a + q˙a + qa Ja Ja. = 0 = cjω qˆm ejωt + k qˆm ejωt c k = jω qˆm ejωt + qˆm ejωt Ja Ja. Vi s¨atter c , ω0 = 2ξ = √ kJa och har att. r. k Ja. c = 2ξω0 Ja. Vi kan d˚ a skriva ekvationen som q¨a + 2ξω0 q˙a + ω0 2 qa = 2jξω0 ω qˆm ejωt + ω0 2 qˆm ejωt. (3.5). F¨or att l¨osa denna differentialekvation s¨ oker vi f¨orst l¨osningarna till den homogena ekvationen d¨ar h¨ ogerledet ¨ ar lika med noll. q¨a + 2ξω0 q˙a + ω0 2 qa = 0. (3.6). Den karakteristiska ekvationen blir r2 + 2ξω0 r + ω0 2 = 0 Vi f˚ ar olika typer av l¨ osningar beroende p˚ a v¨ardet av ξ. Om ξ > 1 s˚ a ¨ar p r = −(ξ ± ξ 2 − 1)ω0 och systemet ¨ar ¨ overd¨ ampat. Om ξ = 1 s˚ a ¨ar r = −ξω0. (3.7).

(33) 3.2 Felk¨ allor. 15. och system ¨ar kritiskt d¨ ampat. Om ξ < 1 s˚ a ¨ar. r = −(ξ ± j. p. 1 − ξ 2 )ω0. och systemet ¨ar underd¨ ampat. Det ¨ ar ocks˚ a detta fall som g¨aller f¨or v˚ ar robot. D˚ a alla r¨otter till den karakteristiska ekvationen har realdel mindre ¨an noll kommer l¨ osningarna till den homogena ekvationen, samt alla dess derivator, att g˚ a mot noll d˚ a t → ∞. Dessa l¨ osningar ¨ ar allts˚ a transienter som d¨or ut efter en viss tid, och d¨armed kan man undvika effekter fr˚ an dessa genom att v¨anta p˚ a att de d¨or ut. Vi letar nu efter en partikul¨ arl¨ osning och ans¨ atter. qap = qˆap ejωt. och s¨atter in detta i (3.5).. −ω 2 qˆap ejωt + 2ξω0 jω qˆap ejωt + ω0 2 qˆap ejωt −ω 2 qˆap + 2ξω0 jω qˆap + ω0 2 qˆap (−ω 2 + 2ξω0 jω + ω0 2 )ˆ qap qˆap. = 2jξω0 ω qˆm ejωt + ω0 2 qˆm ejωt = 2jξω0 ω qˆm + ω0 2 qˆm = (2jξω0 ω + ω0 2 )ˆ qm =. 2jξω0 ω + ω0 2 qˆm −ω 2 + 2ξω0 jω + ω0 2. Motormomentet f¨ or det elastiska systemet ges av (f¨orsta raden i 3.4). τm = Jm q¨m + cq˙m − cq˙a + kqm − kqa. och motormomentet enligt den stela modellen, d¨ar vi ers¨atter fj¨adern och d¨amparen i 3.1 av en stel koppling, ges av. τ˜m = (Jm + Ja )¨ qm.

(34) 16. Identifiering. Vi unders¨oker nu differensen mellan dessa tv˚ a modellers moment. τm − τ˜m. = c(q˙m − q˙a ) + k(qm − qa ) − Ja q¨m = cjω(ˆ qm − qˆap )ejωt + k(ˆ qm − qˆap )ejωt + Ja ω 2 qˆm ejωt     2jξω0 ω + ω0 2 2 = (cjω + k) 1 − + J ω qˆm ejωt a −ω 2 + 2ξω0 jω + ω0 2     −ω 2 2 = (cjω + k) + Ja ω qˆm ejωt −ω 2 + 2ξω0 jω + ω0 2     −1 + Ja ω 2 qˆm ejωt = (cjω + k) −ω 2 + 2ξω0 jω + ω0 2     Ja (−ω 2 + 2ξω0 jω + ω0 2 ) −1 + ω 2 qˆm ejωt = (cjω + k) −ω 2 + 2ξω0 jω + ω0 2 −ω 2 + 2ξω0 jω + ω0 2     −Ja ω 2 + cjω + k −1 + ω 2 qˆm ejωt = (cjω + k) −ω 2 + 2ξω0 jω + ω0 2 −ω 2 + 2ξω0 jω + ω0 2 −Ja ω 2 = ω 2 qˆm ejωt −ω 2 + 2ξω0 jω + ω0 2 −Ja ω 4 qˆm ejωt = −ω 2 + 2ξω0 jω + ω0 2. F¨or sm˚ a ω kan vi g¨ ora approximationen τm − τ˜m ≈ −ω 4. Ja qˆm ejωt ω0 2. D˚ a τ˜m = −(Jm + Ja )ω 2 qˆm ejωt har vi. τm − τ˜m Ja ≈ ω2 τ˜m (Jm + Ja )ω0 2 τm − τ˜m τ˜m τm − τ˜m τ˜m Ja = ≈ ω2 τm τm τ˜m τm (Jm + Ja )ω0 2. s˚ a om det g¨aller att. τ˜m τm. ≈ 1 f¨ or sm˚ a w har vi att τm − τ˜m ∝ ω2 τm. f¨or sm˚ a ω, dvs det relativa momentfelet i den stela approximationen av den elastiska modellen g˚ ar kvadratiskt mot noll d˚ a ω → 0. Detta leder oss till slutsatsen att den stela modellen ger en bra approximation f¨or sm˚ a ω, och robotens r¨ orelse d¨ arf¨ or skall best˚ a av l˚ aga frekvenser f¨or att de elastiska effekterna skall inverka s˚ a lite som m¨ ojligt p˚ a identifieringen..

(35) 3.3 Best¨ amning av en bana. 3.2.3. 17. Filtrering. Vid numerisk derivering av positionssignalen f¨orst¨arks det h¨ogfrekventa bruset i signalen. Om numerisk differentiering anv¨ ands utan f¨oreg˚ aende behandling av signalen, blir resultatet en v¨ aldigt brusig och helt oanv¨andbar accelerationssignal. Se figur 3.2. F¨or att kunna anv¨ anda sig av numerisk differentiering beh¨over man allts˚ a f¨orst filtrera positionssignalen p˚ a n˚ agot s¨ att. Detta g¨ors med proceduren filtfilt i Matlab, vilket ger icke-kausal filtrering utan fasf¨ orlust. Med l˚ agpassfiltrering av positionssignalen med ett butterworthfilter med gr¨ ansfrekvens p˚ a 25 Hz f˚ ar accelerationen ett b¨attre utseende, se figur 3.3. Tittar vi p˚ a momentsignalen ser vi att denna ocks˚ a inneh˚ aller brus och h¨ogfrekvent rippel, se figur 3.4. Med filtrering med samma filter som f¨or positionssignalen f¨orsvinner de h¨ogfrekventa st¨ orningarna och vi f˚ ar utseendet enligt figur 3.5.. 3.2.4. Identifiering av fourierserie och analytisk derivering. Ett alternativ till att utf¨ ora numerisk derivering med filtrering ¨ar att fouriertransformera den uppm¨ atta positionssignalen och sedan ber¨akna hastigheter och accelerationer genom att analytiskt derivera den fourierserie som identifierats. Om man har k¨annedom om vilka frekvenser som ing˚ ar i positionssignalen kan man l˚ ata enbart dessa frekvenser ing˚ a i fourierserien och man g¨or p˚ a s˚ a vis en filtrering av signalen. P˚ a detta s¨ att slipper man problemet med att h¨ogfrekvent brus f¨orst¨arks. Ett problem ¨ar dock att banan inte kan f¨ oljas perfekt vid k¨orningen och h¨ogre frekvenser kommer oundvikligen att introduceras i banan. Om man d˚ a bara tar med de frekvenskomponenter som den ursprungliga banan inneh¨oll s˚ a kommer man att missa dessa h¨ ogre frekvenser.. 3.2.5. Ej modellerade effekter. Det kan finnas omodellerade egenskaper hos roboten som p˚ averkar momentet. Ett exempel ¨ar om ett s.k. dresspack ¨ ar monterat p˚ a roboten. Detta ger omodellerade krafter och moment p˚ a roboten. I figur 3.6 ser vi en robot med dresspack f¨or punktsvetsning. Vid axel tre finns en fj¨ ader som sp¨anner upp kablaget och ger en omodellerad fj¨aderkraft p˚ a axel tre. N¨ ar roboten r¨or sig omf¨ordelas ocks˚ a vikten fr˚ an dresspacket p˚ a ett omodellerat vis.. 3.3. Best¨ amning av en bana. N¨ar det g¨aller att s¨ oka efter en optimal bana s˚ a a¨r det mest generella angreppss¨attet att anta godtyckliga v¨ arden p˚ a position, hastighet och acceleration i ett antal samplingspunkter och optimera med avseende p˚ a dessa v¨arden, och d¨arefter interpolera mellan dessa punkter p˚ a l¨ ampligt s¨ att. Detta g¨ors t.ex. av Gautier och Khalil.

(36) 18. Identifiering. Figur 3.2. Numeriskt ber¨ aknad acceleration f¨ or axel 1–3 fr˚ an en ofiltrerad positionssignal.. Figur 3.3. Numeriskt ber¨ aknad acceleration f¨ or axel 1–3 efter l˚ agpassfiltrering av positionssignalen med ett l˚ agpassfilter med gr¨ ansfrekvens 25 Hz och matlabproceduren filtfilt..

(37) 3.3 Best¨ amning av en bana. 19. Figur 3.4. Ofiltrerad momentsignal f¨ or axel 1–3.. Figur 3.5. Momentsignal f¨ or axel 1–3 filtrerad med ett l˚ agpassfilter med gr¨ ansfrekvens 25 Hz och matlabproceduren filtfilt..

(38) 20. Identifiering. Figur 3.6. Robot med dresspack.. i samband med anv¨ andandet av energiformen [5]. En sv˚ arighet med detta ¨ar att det leder till ett antal punkter d¨ ar robotens konfiguration och r¨orelse i en samplingspunkt inte p˚ a n˚ agot vis anpassas f¨ or att ligga i n¨arheten av den f¨oreg˚ aende och den n¨astkommande samplingspunkten, och det blir d¨arf¨or en l˚ ang och komplicerad r¨orelse att ta sig fr˚ an en samplingspunkt till n¨asta. Det kan ocks˚ a vara problematiskt att kontrollera frekvensinneh˚ allet i banan d˚ a den kompletta banan blir en summa av orelaterade interpolerande r¨orelser mellan samplingspunkterna. Swevers et al, ”Optimal Robot Excitation and Identification” [10], presenterar en metod d¨ar man ist¨ allet anv¨ ander en trunkerad fourierserie f¨or att parametrisera banan. Denna ansats ger en bandbreddsbegr¨ ansad bana och best¨ammer p˚ a f¨orhand vilka frekvenser som skall ing˚ a i banan. Det a r en f¨ o rdel n¨ a r det g¨ a ller att undvika ¨ att excitera flexibiliteter hos roboten, och det har ocks˚ a f¨ordelar vid ber¨akningar av hastigheter och accelerationer vid identifieringen, se avsnitt 3.2.4. Med denna parametrisering reducerar man ocks˚ a antalet frihetsgrader i optimeringsproblemet. Detta har ber¨akningsm¨ assiga f¨ ordelar vid optimeringen, men det medf¨or naturligtvis ocks˚ a nackdelen att s¨ okningen efter en optimal bana begr¨ansas till de banor som denna parametrisering kan ˚ astadkomma. Det ¨ar sv˚ art att veta hur n¨ara man med denna parametrisering kan komma det som vore en optimal bana om man hade kunnat v¨alja banan fritt..

(39) Kapitel 4. Genomfo ¨rande 4.1. Robotmodell. Den robotmodell som identifieras a ¨r en treaxlig modell av ABB-roboten IRB 6600. Att inte en fullst¨ andig sexaxlig modell anv¨ ants ¨ar f¨or att f¨orenkla problemet och begr¨ansa ber¨akningsb¨ ordan. Detta val av robotmodell best¨ammer utseendet av matrisen H(q, q, ˙ q ¨).. 4.2. Vald identifieringsmetod. Vid k¨orningen av roboten m¨ ats moment och position upp p˚ a motorsidan, τ m och qm . F¨or att transformera moment och position mellan motor- och armsida anv¨ands en stel modell av v¨ axell˚ adan, qm = rq rτ m = τ d¨ar matrisen.  r11 r= 0 0. 0 r22 0.  0 0 r33. beskriver v¨axlarnas utv¨ axling. P˚ a axel 2 sitter en s.k. balanseringsenhet, vilket ¨ar en fj¨adrande cylinder som har till uppgift att avlasta axelns motor. Denna verkar med ett moment τ bal p˚ a axel 2 som a en k¨and tr¨oghet som inte ing˚ ar ¨ar beroende av dess position. Motorerna har ocks˚ i baseparametermodellen utan m˚ aste dras bort fr˚ an det uppm¨atta motormomentet innan identifieringen. Det totala momentet p˚ a robotarmen kan skrivas som τ = r(τ m − Jm q ¨m ) + τ bal (q) 21. (4.1).

(40) 22. Genomf¨ orande. d¨ar Jm ¨ar en matris som inneh˚ aller motorernas tr¨oghetsmoment (angivna p˚ a motorsidan). Sedan identifieras parametrarna enligt (3.1) i avsnitt 3.1, dvs som  −1 T T    T e e τe eX eX = H e Σ−1 H XM L = arg min τe − H H Σ−1 τe − H X. d¨ar. .  τe (1)   .. τe =   . τe (N ). ber¨aknas enligt (4.1) utifr˚ an experimentellt uppm¨atta v¨arden τe m av motormoe ber¨ mentet, och d¨ar regressionsmatrisen H aknas utifr˚ an uppm¨atta positionsdata.. 4.3. Parametrisering av banor. Jag har valt att optimera banor parametriserade med sinus/cosinus-funktioner p˚ a det s¨att som presenteras av Svewers et al. [10].  M  n X ai bn qi (t) = sin(ωf nt) − i cos(ωf nt) + qi0 (4.2) ωf n ωf n n=1 q˙i (t). =. M X. (ani cos(ωf nt) + bni sin(ωf nt)). (4.3). (−ani ωf n sin(ωf nt) + bni ωf n cos(ωf nt)). (4.4). n=1. q¨i (t). =. M X n=1. H¨ar ¨ar ωf vinkelfrekvensen f¨ or den l¨ agsta frekvenskomponenten och M ¨ar antalet frekvenskomponenter. ani , bni och qi0 ¨ ar de parametrar som varieras f¨or att best¨amma banans utseende. Vi kan samla dessa parametrar i matrisen   0 b11 b21 . . . bM q1 a11 a21 . . . aM 1 1  b12 b22 . . . bM (4.5) A = q20 a12 a22 . . . aM 2 2 2 M 1 0 q3 a3 a3 . . . a3 b13 b23 . . . bM 3. 4.4. Optimeringsproblemet. Optimeringsproblemet g˚ ar ut p˚ a att optimera en m˚ alfunktion f (H) av regressionsmatrisen   H(q(t1 ), q(t ˙ 1 ), q ¨(t1 ))   .. H= (4.6)  . H(q(tN ), q(t ˙ N ), q ¨(tN )).

(41) 4.4 Optimeringsproblemet. 23. d¨ar tn = nts och ts ¨ ar samplingstiden. De m˚ alfunktioner som studerats i detta arbete a¨r konditionstalet av en normaliserad version av matrisen Σ−0.5 H, fc (H) = cond(normal(Σ−0.5 H)) d¨ar.  normal ((A1 A2 . . . An )) =. A1 A2 An ... ||A1 ||2 ||A2 ||2 ||An ||2. (4.7)  (4.8). samt fd (H) = − log det(HT Σ−1 H). (4.9). Se diskussion i avsnitt 3.2. Matrisen Σ har dock i detta arbete alltid valts som enhetsmatrisen, vilket inneb¨ ar att momenten p˚ a de tre axlarna viktas lika vid identifieringen. Begr¨ansningar m˚ aste l¨ aggas p˚ a robotens position, hastighet och acceleration f¨or att roboten skall h˚ alla sig inom det till˚ atna arbetsomr˚ adet, och inte belastas f¨or h˚ art. Ett problem i detta sammanhang ¨ ar att se till att det maximala momentet inte ¨overskrids. F¨ or att ber¨ akna momentet beh¨over man v¨ardena p˚ a de parametrar som i problemst¨allningen ¨ ar ok¨ anda och skall identifieras. F¨or att l¨osa detta har jag anv¨ant teoretiska stelkroppsdata, samt identifierade v¨arden p˚ a friktionen, f¨or att ber¨akna ett moment som sedan begr¨ ansas i optimeringen. I en praktisk implementation d¨ar man ej k¨ anner n˚ agra stelkroppsdata, kan man t¨anka sig en iterativ procedur, d¨ar man f¨ orst identifierar en upps¨ attning parametrar med en ”sn¨all” bana som man vet att roboten klarar. Med dessa identifierade parametrar kan man d˚ a inf¨ora en momentbegr¨ ansning, men begr¨ ansningen b¨or g¨oras konservativ d˚ a man inte vet hur n¨ara det verkliga momentet man hamnar med dessa f¨orsta identifierade parametrar. Med en bana som man tar fram med denna momentbegr¨ansning kan man sedan ber¨akna en ny och f¨ orhoppningsvis b¨attre upps¨attning parametrar, och uppdatera momentbegr¨ ansningen med dessa. Detta kan d˚ a upprepas tills man har en upps¨attning parametrar som ger ett bra moment. Vi kan formulera optimeringsproblemet som minA f (H) qmin ≤ q(t) ≤ qmax ˙ ≤ q˙ max q˙ min ≤ q(t) min q ¨ ≤q ¨(t) ≤ q ¨max x(q(t), q(t), ˙ q ¨(t)) ∈ K d¨ar x(q(t), q(t), ˙ q ¨(t)) ∈ K inneh˚ aller momentbegr¨ansningarna och begr¨ansningar p˚ a verktygets position. F¨ or optimeringen har Matlab och funktionen fmincon i Optimization Toolbox anv¨ ants. Denna funktion anv¨ander s.k. ”Sekventiell kvadratisk programmering”. En begr¨ ansning hos denna metod a¨r att man bara kan hitta lokala optima, och det kan vara sv˚ art att veta hur l˚ angt bort man a¨r ifr˚ an ett globalt optimum. D¨ arf¨ or b¨ or man unders¨ oka resultatet av optimeringen f¨or olika.

(42) 24. Genomf¨ orande. startv¨arden, f¨or att se om de genererar likartade banor och lika bra slutv¨arden p˚ a m˚ alfunktionen. Matlabfunktionen fgoalattain har ocks˚ a anv¨ants f¨or att generera banor med ett visst ¨ onskat v¨ arde p˚ a m˚ alfunktionen, f¨or att kunna j¨amf¨ora banor med olika m˚ alfunktionsv¨ arden. En praktisk detalj vid optimeringen i Matlab ¨ar att man inte kan kontrollera att bivillkoren ¨ar uppfyllda kontinuerligt f¨ or alla tidpunkter, utan man f˚ ar n¨oja sig med att l¨agga p˚ a bivillkoren i samplingspunkterna. Det inneb¨ar dock inget st¨orre problem i praktiken, s˚ a l¨ ange samplingspunkterna vid optimeringen ligger s˚ apass t¨att att inga stora f¨ or¨ andringar i position, hastighet, acceleration respektive moment uppst˚ ar i intervallet mellan tv˚ a samplingspunkter.. 4.4.1. Samplingstid. De data som anv¨ ands vid k¨ orning av roboten ¨ar en samplad version av den kontinuerliga banan som ges av de koeffecienter som optimeras fram. Samplingstiden som anv¨ands i robotsystemet ¨ ar ts = 4, 032 ms. Med denna samplingstid blir det v¨aldigt m˚ anga samplingspunkter med de l¨ angder p˚ a banan som kr¨avs (15 sekunder ger 3720 samplingspunkter) och detta g¨ or utv¨ arderingen av matrisen H och m˚ alfunktionen angsam optimering. D¨arf¨or har en l¨angre f (H) tids¨odande vilket leder till mycket l˚ samplingstid anv¨ ants vid ber¨ akning av H vid optimeringen. F¨or att kunna f¨orsvara anv¨andandet av olika samplingstid vid optimering respektive identifiering vill vi veta att om vi tar fram en bana genom att optimera m˚ alfunktionsv¨ardet f¨or en viss samplingstakt s˚ a optimeras m˚ alfunktionsv¨ardet ¨aven f¨or en annan samplingstid. F¨or att verifiera detta har vi med hj¨alp av fgoalattain i Matlab optimerat fram banor till olika m˚ alfunktionsv¨ arden f¨ or en l¨angre samplingstid, och d¨arefter unders¨okt m˚ alfunktionsv¨ ardena f¨ or dessa banor n¨ar vi anv¨ander samplingstiden ts = 4, 032 ms som robotsystemet anv¨ ander, se tabell 4.1 och 4.2. Vi ser d˚ a att konditionstalet inte p˚ averkas n¨ amnv¨ art av en f¨or¨andring i samplingstakten. Det enda som h¨ander med fd (H) ¨ ar att v¨ ardena skiljer sig ˚ at med en konstant, vilket beror p˚ a att man tar determinanten av olika stora matriser. Detta ger en skillnad i storleksordning p˚ a determinanten, som blir en konstant skillnad efter logaritmering. Vi kan dra slutsatsen att optimering med en l¨angre samplingstid kommer att optimera banan ¨ aven f¨ or en kortare samplingstid.. 4.4.2. Erfarenheter fr˚ an optimeringen. Vid ig˚ angk¨orning av optimeringen har slumpm¨assiga v¨arden anv¨ants som initialv¨ arden p˚ a elementen i matrisen A (se (4.5)). Sannolikhetsf¨ordelningen som anv¨ants till dessa a¨r en likformig f¨ ordelning p˚ a intervallet [−0,1;0,1]. Anledningen till att anv¨anda slumpade startv¨ arden a r att vi bara kan hitta lokala optima med op¨ timeringen i Matlab, och vilket optimum vi hittar beror p˚ a vilken startpunkt som valts. D¨arf¨ or kan det vara intressant att j¨amf¨ora banor optimerade fr˚ an olika startv¨arden f¨ or att se om det blir stor variation mellan de banor som opti-.

(43) 4.4 Optimeringsproblemet. 25. meras fram, i de m˚ alfunktionsv¨ arden som uppn˚ as, samt de identifieringsresultat som erh˚ alls. I bilaga B redovisas utseende f¨ or olika banor d˚ a m˚ alfunktionen fd (H) har anv¨ants. Dels har fgoalattain anv¨ ants f¨ or att uppn˚ a ett visst givet m˚ alfunktionsv¨arde, och dels har fmincon anv¨ ants f¨ or att optimera till ett lokalt optimum. Vi kan observera att utseendet p˚ a banor med samma m˚ alfunktionsv¨arde ¨ar likartat, och att man f˚ ar banor som inneh˚ aller mer r¨ orelse n¨ ar m˚ alfunktionsv¨ardet minskar. Vi ser ocks˚ a att olika startv¨arden f¨ or optimeringen resulterar i ungef¨ar samma slutv¨arde p˚ a m˚ alfunktionen vid lokalt optimum, de optimala v¨arden vi erh˚ aller ligger i intervallet [-105,-103]. Optimeringen med fc (H) som m˚ alfunktion har inte varit lika stabil, och optimeringsrutinen fastnar ofta i l¨ agen d¨ ar den b¨ orjar ta v¨aldigt sm˚ a steg, eller ibland stannar helt, och man tvingas d˚ a f¨ ors¨ oka med ett nytt startv¨arde. Dessa banor har ocks˚ a givit d˚ aliga identifieringsresultat.. Tabell 4.1. M˚ alfunktionsv¨ arden fc (H) f¨ or banor d¨ ar v¨ ardet till v¨ anster ¨ ar m˚ alfunktionsv¨ ardet f¨ or banan d˚ a antalet samplingspunkter reducerats med en faktor 32 och v¨ ardet till h¨ oger ar m˚ alfunktionsv¨ ardet f¨ or samma bana ¨ med fullt antal samplingspunkter.. 5 5 5 5 5 4,5 4,5 4,5 4,5 4,5 4 4 4 4 4. 4,9941 5,0034 4,9459 4,9681 5,0531 4,4832 4,5234 4,5094 4,4909 4,5640 4,0216 4,0076 4,0057 4,0128 3,9912. Tabell 4.2. M˚ alfunktionsv¨ arden fd (H) f¨ or banor d¨ ar v¨ ardet till v¨ anster ¨ ar m˚ alfunktionsv¨ ardet f¨ or banan d˚ a antalet samplingspunkter reducerats med en faktor 32 och v¨ ardet till h¨ oger ar m˚ alfunktionsv¨ ardet f¨ or samma bana ¨ med fullt antal samplingspunkter.. −75 −75 −75 −75 −75 −90 −90 −90 −90 −90 −100 −100 −100 −100 −100. −147,78 −147,78 −147,80 −147,80 −147,79 −162,79 −162,78 −162,75 −162,78 −162,78 −172,79 −172,80 −172,80 −172,81 −172,80.

(44) 26. Genomf¨ orande.

(45) Kapitel 5. Experiment 5.1. Introduktion. Vid den experimentella identifieringen har en robot av modell IRB 6600 anv¨ants. De signaler som loggas fr˚ an roboten ¨ ar motorposition och motormoment f¨or axel 1–3. Den bana som man ¨ onskar k¨ ora roboten utmed ges i form av en datafil som inneh˚ aller den ¨onskade motorpositionen samplad med samplingstiden 4,032 ms. Detta kallas f¨or en offlinegenererad bana. F¨or att undvika transienta effekter som uppst˚ ar vid ig˚ angk¨orningen av roboten anv¨ands inte de f¨ orsta sekunderna av k¨ orningen f¨or identifiering. F¨or att f˚ a en hel period av den optimerade banan att anv¨ anda till identifieringen k¨ors d¨arf¨or lite mer a¨n en period av denna (periodiska) bana, och en period av m¨atdata med b¨orjan ett par sekunder in i k¨ orningen anv¨ ands. Vid k¨ orning av offlinegenererade banor kr¨avs av tekniska sk¨al att denna bana har samma start- och stopposition, och f¨or att ordna detta anpassas ett tredjegradspolynom fr˚ an slutpunkten p˚ a den extra del av en period som k¨ ors av banan, till banans startpunkt. I figur 5.1 illustreras detta, samt vilka m¨atdata som sedan anv¨ ands f¨ or identifieringen. Att observera a¨r att de begr¨ansningar som anv¨ ants vid optimeringen ej applicerats p˚ a detta polynom, s˚ a f¨orsiktighet b¨or iakttas s˚ a att inte roboten g˚ ar utanf¨or det till˚ atna arbetsomr˚ adet. Vid optimeringen har det heller ej lagts begr¨ ansningar p˚ a banan f¨or att garantera att kollision ej intr¨ affar mellan lasten och robotarmen, s˚ a man b¨or kontrollera att detta inte intr¨affar innan banan k¨ ors.. 5.2. Att utv¨ ardera identifierade parametrar. N¨ar en identifiering har gjorts och en upps¨attning identifierade baseparametrar erh˚ allits finns det olika m¨ ojligheter f¨ or att utv¨ardera identifieringen. Man kan studera de identifierade parametrarnas v¨ arden och se hur de avviker fr˚ an de teoretiska 27.

(46) 28. Experiment 1000. 800. 600. Motorvinklar. 400. 200. 0. −200. −400. −600. −800. 0. 5. 10. 15 t [s]. 20. 25. 30. Figur 5.1. Motorvinklar p˚ a axel 1–3 vid en k¨ orning av en dryg period av en optimerad bana d¨ ar roboten d¨ arefter ˚ aterg˚ ar till banans startpunkt med ett anpassat tredjegradspolynom. Linjerna markerar de m¨ atdata som sedan anv¨ ands vid identifieringen.. v¨ arden som f˚ atts fr˚ an fysikaliska data p˚ a roboten. F¨or att f˚ a ett begrepp om hur mycket en viss f¨ or¨ andring i parametrarna ¨ andrar p˚ a momentet redovisas i tabell 5.1 medelv¨ardet av den p˚ a valideringsbanan genomsnittliga momentf¨or¨andringen f¨or axel 1–3 d˚ a var och en av parametrarna f¨or¨andras med en enhet. Man kan ocks˚ a studera skillnaden mellan det moment som loggats vid k¨orningen och det moment som f˚ as fr˚ an baseparametermodellen med loggade positionsdata och de identifierade parametrarna. Eftersom identifieringen ger de parametrar som p˚ a identifieringsbanan ger b¨ ast moment¨ overensst¨ammelse i en (viktad) minstakvadratmening, kan man f¨ orv¨ anta sig en mycket bra moment¨overensst¨ammelse p˚ a denna bana. D¨arf¨ or s¨ ager momentavvikelsen p˚ a just denna bana inte s˚ a mycket om hur v¨al baseparametermodellen med dessa parametrar kommer att prediktera momentet d˚ a roboten k¨ ors utmed en annan bana. D¨arf¨or a¨r det intressant att k¨ora roboten utmed en valideringsbana f¨ or att se hur bra moment¨overensst¨ammelse modellen ger d¨ar. En s¨ arskild bana har utsetts f¨or detta a¨ndam˚ al, och detta a¨r en 16,5 s l˚ ang bana som inneh˚ aller fem frekvenskomponenter och f˚ atts genom op-.

(47) 5.2 Att utv¨ ardera identifierade parametrar. 29. timering med fd (H) som m˚ alfunktion. Vi ser i figur 5.2 att denna bana antar maximalt till˚ atna v¨ arden p˚ a position, hastighet och acceleration p˚ a armvinklarna, med undantag f¨ or position och hastighet f¨or axel 2. I figur 5.3 ser vi att vi uppn˚ ar maximalt till˚ atna moment p˚ a axel 2 och 3, dock ej p˚ a axel 1. Eftersom roboten, utmed denna bana, k¨ or igenom en stor del av arbetsomr˚ adet, och med stora variationer p˚ a hastighet och acceleration samt h¨oga momentniv˚ aer, b¨or bra moment¨overensst¨ ammelse p˚ a denna bana tyda p˚ a att parametrarna ¨ar bra identifierade och att modellen ¨ ar giltig globalt.. Tabell 5.1. Genomsnittlig absolut momentf¨ or¨ andring i Nm f¨ or axel 1–3 p˚ a valideringsbanan d˚ a var och en av parametrarna f¨ or¨ andras med en enhet.. Parameter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21. Axel 1 0,6017 0,2132 0 0,2342 0,6147 0,5030 0,4840 0 0,8111 0,8634 0,7747 0,3514 0,2830 0,6874 0,5694 0,8254 1,0000 0 0 0 0. Axel 2 0 0,2807 0,5302 0,1827 0,6508 0,5566 0,3666 0,7300 0,3768 0,5442 0,4184 9,0283 3,1494 7,6273 7,5694 0 0 0,3313 1,0000 0 0. Axel 3 0 0 0 0 0 0 0,3666 0,7300 0,3768 0,5442 0,4184 0 0 6,5143 6,4280 0 0 0 0 0,7552 1,0000.

(48) 30. Experiment. Axel 1. Axel 2. Axel 3. Position (rad). 1 2. 1. 0. 0.5 0. −1. 0. −2. −0.5. −2. −1. Hastighet (rad/s). 0. 10. 15. −3 0. 5. 10. 15. 1. 1. 1. 0. 0. 0. −1. −1. −1. 0 Acceleration (rad/s2). 5. 5. 10. 15. 0. 5. 10. 15. 1. 1. 1. 0.5. 0.5. 0.5. 0. 0. 0. −0.5. −0.5. −0.5. −1. 0. 5. 10 t [s]. 15. −1. 0. 5. 10 t [s]. 15. −1. 0. 5. 10. 15. 0. 5. 10. 15. 0. 5. 10 t [s]. 15. Figur 5.2. Armvinklar samt hastigheter och accelerationer f¨ or valideringsbanan..

(49) 5.2 Att utv¨ ardera identifierade parametrar. 31. Axel 1 Filtrerat uppmätt moment 3000. 2000. τ [Nm]. 1000. 0. −1000. −2000. −3000. 0. 2. 4. 6. 8 t [s]. 10. 12. 14. 16. 10. 12. 14. 16. 10. 12. 14. 16. Axel 2 Filtrerat uppmätt moment. 6000. 4000. τ [Nm]. 2000. 0. −2000. −4000. −6000 0. 2. 4. 6. 8 t [s] Axel 3. Filtrerat uppmätt moment. 5000 4000 3000 2000. τ [Nm]. 1000 0 −1000 −2000 −3000 −4000 −5000 0. 2. 4. 6. 8 t [s]. Figur 5.3. Armmoment f¨ or valideringsbanan..

(50) 32. 5.3. Experiment. Utv¨ ardering av konditionstalet som m˚ alfunktion. I de experiment vi gjort har det har visat sig att de banor som optimerats fram med konditionstalet som m˚ alfunktion inte gett n˚ agon bra identifiering. Detta tycks ha att g¨ora med att de banor som vi optimerat fram p˚ a detta vis inneh˚ aller f¨or lite r¨orelse. I figur 5.4 visas en bana med l¨ angd 16,5 s och sex frekvenskomponenter som optimerats till ett konditionstal p˚ a 3,5662. (Minimum och maximum p˚ a axlarna motsvarar maximalt till˚ atna v¨ arden f¨ or roboten.) Vi ser att hastigheterna p˚ a axel 1 och 2 ¨ar l˚ aga, och dessa axlar r¨ or sig ocks˚ a bara i en liten del av sitt arbetsomr˚ ade. I figur 5.5 ser vi momenten f¨ or denna bana och kan notera att momentet p˚ a axel 1 ¨ar f¨orh˚ allandevis l˚ agt. Vi f˚ ar som f¨ orv¨ antat bra moment¨overensst¨ammelse med baseparametermodellen och de parametrar som ¨ar identifierad p˚ a denna bana, men n¨ar vi anv¨ander dessa parametrar p˚ a valideringsbanan, ser vi (figur 5.6) att modellen ger v¨aldigt d˚ alig moment¨ overensst¨ ammelse p˚ a axel 1, och ¨aven p˚ a axel 2. Det har heller inte fungerat b¨ attre att anv¨ anda fgoalattain f¨or att ta fram banor med ett suboptimalt v¨ arde p˚ a konditionstalet, eftersom identifieringen med dessa banor blir ¨annu s¨amre..

(51) 5.3 Utv¨ ardering av konditionstaletsom m˚ alfunktion. Axel 1. 33. Axel 2. Axel 3 1. Position. 2. 1. 0. 0.5 0. −1. 0. −2. −0.5. −2. −1. Hastighet. 0. 10. 15. −3 0. 5. 10. 15. 1. 1. 1. 0. 0. 0. −1. −1. −1. 0. Acceleration. 5. 5. 10. 15. 0. 5. 10. 15. 1. 1. 1. 0.5. 0.5. 0.5. 0. 0. 0. −0.5. −0.5. −0.5. −1. 0. 5. 10 t [s]. 15. −1. 0. 5. 10 t [s]. 15. −1. 0. 5. 10. 15. 0. 5. 10. 15. 0. 5. 10 t [s]. 15. Figur 5.4. Armvinklar samt hastigheter och accelerationer f¨ or en bana optimerad med konditionstalskriteriet (heldragen linje) samt valideringsbanan (prickad linje)..

(52) 34. Experiment Axel 1 Filtrerat uppmätt moment Moment från identifierade parametrar 3000. 2000. τ [Nm]. 1000. 0. −1000. −2000. −3000. 0. 2. 4. 6. 8 t [s]. 10. 12. 14. 16. Axel 2 Filtrerat uppmätt moment Moment från identifierade parametrar. 6000. 4000. τ [Nm]. 2000. 0. −2000. −4000. −6000 0. 2. 4. 6. 8 t [s]. 10. 12. 14. 16. Axel 3 Filtrerat uppmätt moment Moment från identifierade parametrar. 5000 4000 3000 2000. τ [Nm]. 1000 0 −1000 −2000 −3000 −4000 −5000 0. 2. 4. 6. 8 t [s]. 10. 12. 14. 16. Figur 5.5. Filtrerat uppm¨ att moment respektive moment fr˚ an identifierad modell p˚ a en identifieringsbana optimerad med konditionstalskriteriet, axel 1–3..

(53) 5.3 Utv¨ ardering av konditionstaletsom m˚ alfunktion. 35. Axel 1, valideringsbana Filtrerat uppmätt moment Moment från identifierade parametrar 3000. 2000. τ [Nm]. 1000. 0. −1000. −2000. −3000. 0. 2. 4. 6. 8 t [s]. 10. 12. 14. 16. 12. 14. 16. 12. 14. 16. Axel 2, valideringsbana Filtrerat uppmätt moment Moment från identifierade parametrar. 6000. 4000. τ [Nm]. 2000. 0. −2000. −4000. −6000 0. 2. 4. 6. 8 t [s]. 10. Axel 3, valideringsbana Filtrerat uppmätt moment Moment från identifierade parametrar. 5000 4000 3000 2000. τ [Nm]. 1000 0 −1000 −2000 −3000 −4000 −5000 0. 2. 4. 6. 8 t [s]. 10. Figur 5.6. Filtrerat uppm¨ att moment respektive moment fr˚ an modell identifierad p˚ a en identifieringsbana optimerad med konditionstalskriteriet, f¨ or valideringsbanan, axel 1–3..

(54) 36. 5.4. Experiment. Utv¨ ardering av determinantfunktionen som m˚ alfunktion. F¨ or att utv¨ardera determinanten av kovariansmatrisen, dvs − log det(HT H), som m˚ alfunktion vid optimeringen, har ett antal banor med l¨angd 16,5 s (4096 samplingar), fem frekvenskomponenter och olika v¨ arden p˚ a denna m˚ alfunktion tagits fram och anv¨ants f¨or identifiering. Vid optimeringen har antalet samplingar reducerats en faktor 32 (se avsnitt 4.4.1). Vid optimering till lokalt minimum med funktionen fmincon har m˚ alfunktionsv¨ arden p˚ a mellan −103 och −105 uppn˚ atts, och fgoalattain har anv¨ants f¨ or att optimera fram banor med m˚ alfunktionsv¨ardena −75, −90 och −100. Parametrarna har identifierats med dessa olika banor f¨or att unders¨oka om banor optimerade med denna m˚ alfunktion ger bra identifieringar, och om ett b¨attre v¨arde p˚ a m˚ alfunktionen inneb¨ ar b¨ attre identifiering av baseparametrarna. Vid identifieringen har l˚ agpassfiltrering med gr¨ansfrekvens 25 Hz anv¨ants p˚ a position och moment. Figur 5.7 till 5.10 visar exempel p˚ a utseende p˚ a banor med olika m˚ alfunktionsv¨ arden. En komplett redovisning av de banor som anv¨ants ˚ aterfinns i Appendix B. Figur 5.11 visar momenten d˚ a den optimala banan i figur 5.10 anv¨ands som identifieringsbana, och momenten fr˚ an baseparametermodellen med de identifierade parametrarna fr˚ an denna identifieringsbana. I figur 5.12 ser vi att vi har god moment¨overensst¨ ammelse d˚ a den identifierade modellen fr˚ an denna identifieringsbana anv¨ands p˚ a valideringsbanan. Modellen fungerar mycket b¨attre ¨an den som identifierats med en konditionstalsoptimerad bana som identifieringsbana..

(55) 5.4 Utv¨ ardering av determinantfunktionensom m˚ alfunktion. Axel 1. Axel 2. 37. Axel 3. Position [rad]. 1 2. 1. 0. 0.5 0. −1. 0. −2. −0.5. −2. −1. Hastighet [rad/s]. 0. 10. 15. −3 0. 5. 10. 15. 1. 1. 1. 0. 0. 0. −1. −1 0. Acceleration [rad/s2]. 5. 5. 10. 15. 5. 10. 15. 1. 1. 0.5. 0.5. 0.5. 0. 0. 0. −0.5. −0.5. −0.5. 0. 5. 10 t [s]. 15. −1. 5. 10. 15. 0. 5. 10. 15. 0. 5. 10 t [s]. 15. −1 0. 1. −1. 0. 0. 5. 10 t [s]. 15. −1. Figur 5.7. Armvinklar samt hastigheter och accelerationer f¨ or en bana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −75 samt valideringsbanan (prickad linje).. Axel 1. Axel 2. Axel 3. Position [rad]. 1 2. 1. 0. 0.5 0. −1. 0. −2. −0.5. −2. −1. Hastighet [rad/s]. 0. 10. 15. −3 0. 5. 10. 15. 1. 1. 1. 0. 0. 0. −1. −1 0. Acceleration [rad/s2]. 5. 5. 10. 15. 5. 10. 15. 1. 1. 0.5. 0.5. 0.5. 0. 0. 0. −0.5. −0.5. −0.5. 0. 5. 10 t [s]. 15. −1. 5. 10. 15. 0. 5. 10. 15. 0. 5. 10 t [s]. 15. −1 0. 1. −1. 0. 0. 5. 10 t [s]. 15. −1. Figur 5.8. Armvinklar samt hastigheter och accelerationer f¨ or en bana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −90 samt valideringsbanan (prickad linje)..

(56) 38. Experiment. Axel 1. Axel 2. Axel 3. Position [rad]. 1 2. 1. 0. 0.5 0. −1. 0. −2. −0.5. −2. −1. Hastighet [rad/s]. 0. 10. 15. −3 0. 5. 10. 15. 1. 1. 1. 0. 0. 0. −1. −1 0. Acceleration [rad/s2]. 5. 5. 10. 15. 5. 10. 15. 1. 1. 0.5. 0.5. 0.5. 0. 0. 0. −0.5. −0.5. −0.5. 0. 5. 10 t [s]. 15. −1. 5. 10. 15. 0. 5. 10. 15. 0. 5. 10 t [s]. 15. −1 0. 1. −1. 0. 0. 5. 10 t [s]. 15. −1. Figur 5.9. Armvinklar samt hastigheter och accelerationer f¨ or en bana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −100 samt valideringsbanan (prickad linje).. Axel 1. Axel 2. Axel 3 1. Position [rad]. 2. 1. 0. 0.5 0. −1. 0. −2. −0.5. −2. −1. Hastighet [rad/s]. 0. 10. 15. −3 0. 5. 10. 15. 1. 1. 1. 0. 0. 0. −1. −1 0. Acceleration [rad/s2]. 5. 5. 10. 15. 5. 10. 15. 1. 1. 0.5. 0.5. 0.5. 0. 0. 0. −0.5. −0.5. −0.5. 0. 5. 10 t [s]. 15. −1. 5. 10. 15. 0. 5. 10. 15. 0. 5. 10 t [s]. 15. −1 0. 1. −1. 0. 0. 5. 10 t [s]. 15. −1. Figur 5.10. Armvinklar samt hastigheter och accelerationer f¨ or en bana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −103,07 samt valideringsbanan (prickad linje)..

(57) 5.4 Utv¨ ardering av determinantfunktionensom m˚ alfunktion. 39. Axel 1 Filtrerat uppmätt moment Moment från identifierade parametrar 3000. 2000. τ [Nm]. 1000. 0. −1000. −2000. −3000. 0. 2. 4. 6. 8 t [s]. 10. 12. 14. 16. Axel 2 Filtrerat uppmätt moment Moment från identifierade parametrar. 6000. 4000. τ [Nm]. 2000. 0. −2000. −4000. −6000 0. 2. 4. 6. 8 t [s]. 10. 12. 14. 16. Axel 3 Filtrerat uppmätt moment Moment från identifierade parametrar. 5000 4000 3000 2000. τ [Nm]. 1000 0 −1000 −2000 −3000 −4000 −5000 0. 2. 4. 6. 8 t [s]. 10. 12. 14. 16. Figur 5.11. Filtrerat uppm¨ att moment respektive moment fr˚ an identifierad modell p˚ a en identifieringsbana optimerad till ett m˚ alfunktionsv¨ arde p˚ a −103,07, axel 1–3..

References

Related documents

[r]

Inf¨or beteckningarna I=”Valt ¨apple ¨ar ett Ingrid-Marie”, C=”Valt ¨apple ¨ar ett Cox Orange”. och M=” ¨ Applet

Vidare ser vi att Y exponentialf¨ordelad med v¨antev¨arde

[r]

Jag hade, som tidigare nämnt, funderat på vilka moment som karaktären skulle genomföra för att filmen inte skulle bli för lång eller för kort, samt för att få in

Vidare är det inte skäligt att en arbetsgivare förväntar sig eller kan kräva att en arbetstagare skall kunna de nya arbetsuppgifterna från början, utan arbetstagaren

Vi noterar att denna ekvation redan ¨ ar p˚ a “r¨ att” form (skriver vi ekvationen p˚ a standardform och multiplicerar med den integrerande faktorn f˚ as precis detta uttryck),

I en simbass¨ang finns ett halvcirkelformat f¨onster D med radie R och vars medelpunkt befinner sig p˚a djupet h, d¨ar h &gt; R, en-