Return to search

On Kinematic Modelling and Iterative Learning Control of Industrial Robots

Good models of industrial robots are necessary in a variety of applications, such as mechanical design, performance simulation, control, diagnosis, supervision and offline programming. This motivates the need for good modelling tools. In the first part of this thesis the forward kinematic modelling of serial industrial robots is studied. The first steps towards a toolbox are implemented in the Maple programming language. A series of possible applications for the toolbox can be mentioned. One example is to estimate the pose of the robot tool using an extended Kalman filter by means of extra sensors mounted on the robot. The kinematic equations and the relations necessary for the extended Kalman filter can be derived in the modelling tool. Iterative learning control, ILC, using an estimate of the tool position can then improve the robot performance. The second part of the thesis is devoted to ILC, which is a control method that is applicable when the robot performs a repetitive movement starting from the same initial conditions every repetition. The algorithm compensates for repetitive errors by adding a correction signal to the reference. Studies where ILC is applied to a real industrial platform is less common in the literature, which motivates the work in this thesis. A first-order ILC filter with iteration-independent operators derived using a heuristic design approach is used, which results in a non-causal algorithm. A simulation study is made, where a flexible two-mass model is used as a simplified linear model of a single robot joint and the ILC algorithm applied is based on motor-angle measurements only. It is shown that when a model error is introduced in the relation between the arm and motor reference angle, it is not necessary that the error on the arm side is reduced as much as the error on the motor side, or in fact reduced at all. In the experiments the ILC algorithm is applied to a large-size commercial industrial robot, performing a circular motion that is relevant for a laser-cutting application. The same ILC design variables are used for all six motors and the learning is stopped after five iterations, which is motivated in practice by experimental results. Performance on the motor side and the corresponding performance on the arm side, using a laser-measurement system, is studied. Even though the result on the motor side is good, it is no guarantee that the errors on the arm side are decreasing. One has to be very careful when dealing with resonant systems when the controlled variable is not directly measured and included in the algorithm. This indicates that the results on the arm side may be improved when an estimate of, for example, the tool position is used in the ILC algorithm. / Bra modeller av industrirobotar behövs i en mängd olika tillämpningar, som till exempel mekanisk design, simulering av prestanda, reglering, diagnos, övervakning och offline-programmering. I första delen av avhandlingen studeras modellering av framåtkinematiken för en seriell robot och implementeringen av ett modelleringsverktyg, en toolbox, för kinematikmodellering i Maple beskrivs ingående. Ett antal möjliga tillämpningar för toolboxen kan nämnas. Ett exempel är att med hjälp av extra sensorer monterade på roboten och ett så kallat extended Kalmanfilter förbättra skattningen av positionen och orienteringen för robotverktyget. De kinematiska ekvationerna och sambanden som behövs för extended Kalmanfiltret kan beräknas med hjälp av modelleringsverktyget. Reglering genom iterativ inlärning - iterative learning control, ILC - där en skattning av verktygspositionen används, kan sedan förbättra robotens prestanda. Andra delen av avhandlingen är tillägnad ILC. Det är en reglermetod som är användbar när roboten utför en repetitiv rörelse som startar från samma initialvillkor varje gång. Algoritmen kompenserar för de repetitiva felen genom att addera en korrektionsterm till referenssignalen. Studier där ILC är tillämpad på en verklig industriell plattform är mindre vanligt i litteraturen, vilket motiverar arbetet i avhandlingen. Ett första ordningens ILC-filter med iterationsoberoende operatorer används. ILC-algoritmen är framtagen enligt ett heuristiskt tillvägagångssätt, vilket resulterar i en ickekausal algoritm. I en simuleringsstudie med en flexibel tvåmassemodell som en förenklad linjär modell av en enskild robotled, används en ILC-algoritm baserad endast på motorvinkelmätningar. Det visar sig att när ett modellfel introduceras i sambandet mellan arm- och motorvinkelreferensen, är det inte säkert att felet på armsidan minskar så mycket som felet på motorsidan, eller minskar överhuvudtaget. I experiment tillämpas ILC-algoritmen på en stor kommersiell industrirobot som utför en cirkelrörelse som är relevant för en laserskärningstillämpning. Samma designvariabler används för alla sex motorerna och inlärningen stoppas efter fem iterationer, vilket är motiverat i praktiken genom experimentella resultat. Prestanda på motorsidan studeras, och motsvarande prestanda på armsidan mäts med ett lasermätsystem. Trots goda resultat på motorsidan finns det inga garantier för minskande fel på armsidan. Stor försiktighet krävs när experimenten innefattar ett resonant system där den reglerade variabeln inte är mätt explicit och inkluderad i algoritmen. Detta visar på möjligheten att förbättra resultaten på armsidan då en skattning av till exempel verktygspositionen används i ILC-algoritmen. / <p>Report code: LiU-TEK-LIC-2008:1.</p>

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-11412
Date January 2008
CreatorsWallén, Johanna
PublisherLinköpings universitet, Reglerteknik, Linköpings universitet, Tekniska högskolan, Institutionen för systemteknik
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeLicentiate thesis, monograph, info:eu-repo/semantics/masterThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationLinköping Studies in Science and Technology. Thesis, 0280-7971 ; 1343

Page generated in 0.003 seconds