• Nie Znaleziono Wyników

Implementation of a flexible link model in a designed robot-system, using the finite element method

N/A
N/A
Protected

Academic year: 2021

Share "Implementation of a flexible link model in a designed robot-system, using the finite element method"

Copied!
144
0
0

Pełen tekst

(1)

Implementation of a flexible link

model in a designed robot-system,

using the finite element method

K.H. Drent

TR diss

1609

(2)

Implementation of a flexible link

model in a designed robot-system,

using the finite element method

(3)

Implementation of a flexible link

model in a designed robot-system,

using the finite element method

Proefschrift ter verkrijging van de graad van doctor

aan de Technische Universiteit Delft, op gezag van de

Rector Magnificus, Prof.dr. J.M. Dirken, in het

openbaar te verdedigen ten overstaan van een

commissie door het College van Dekanen daartoe

aangewezen, op 9 februari 1988 te 16.00 uur door

Kornelis Hinderik Drent,

geboren te Rotterdam,

werktuigkundig ingenieur.

TR diss

1609

(4)

Dit proefschrift is goedgekeurd door de promotor

prof.dr.ing. H. Rankers

(5)

K.H. D r e n t

Behorend b i j : " I m p l e m e n t a t i o n of a f l e x i b l e l i n k model i n a d e s i g n e d r o b o t - s y s t e m , u s i n g t h e f i n i t e e l e m e n t m e t h o d "

(6)

1. Hoewel het In p r i n c i p e mogelijk i s om de e l a s t i s c h e doorbuigingen van i n d u s t r i ë l e r o b o t s t e kompenseren1^, v e r d i e n t het de voorkeur de noodzaak van deze i n v e s t e r i n g t e vermijden door het e f f e k t van de e l a s t i c i t e i t van de robot op de p o s l t i o n e r i n g s - n a u w k e u r i g h e i d op t e vangen door het

vergemakkelijken van assemblagehandelingen met behulp van ( h e r ) o n t w e r p -technieken voor onderdelen zoals ontwikkeld door b i j v . Boothroyd^'.

'^Hoofdstuk 6 van d i s s e r t a t i e .

'Boothroyd G. and P. Dewhurst: Handbook Design for Assembly. U n i v e r s i t y of Massachusetts, Amherst, USA, 1980.

2 . Dynamische k o r r e k t i e van vervormingen, gebaseerd op modelvorming met behulp van de e i n d i g e elementen methode, i s een noodzakelijke voorwaarde voor de a a n s t u r i n g van i n h e r e n t f l e x i b e l e k o n s t r u k t i e s a l s de manipulator-arm van een ruimte-veer en kan n u t t i g z i j n b i j de b e s t u r i n g op afstand van kranen.

3 . De berekende s t i j f h e i d van een Bewegende k o n s t r u k t i e i s a l t i j d g e f l a t t e e r d ; door f a b r i k a n t e n opgegeven s t i j f h e d e n dienen met tenminste een f a k t o r 0.5 vermenigvuldigd t e worden.

4 . De g e b r u i k e l i j k e schematische aanduiding voor de koppeling aan aarde voor zowel een mechanisch ( -\\<,v\ ) a l s een e l e k t r i s c h ( -±r- ) systeem d i e n t t e worden g e ï n t e r p r e t e e r d a l s r e s p e k t i e v e l l j k een s e t bladveren en een

ongedefinieerde spanningsbron om enige mate van overeenkomst met de w e r k e l i j k h e i d van d e r g e l i j k e geschematiseerde elementen t e b e r e i k e n .

5. De aanschaf van een robot-systeera en de i n v o e r i n g ervan In een voorheen handmatige p r o d u k t i e - s i t u a t i e vergen een I n v e s t e r i n g In aan- en

afvoersystemen, p r o d u k t d r a g e r s , b e t e r e t o l e r a n t i e - b e h e e r s i n g en p e r s o n e e l s ­ o p l e i d i n g , d i e de i n i t i ë l e I n v e s t e r i n g met minimaal een f a k t o r 3 o v e r t r e f t .

6. Het g e l e i d e l i j k vervangen van handmatige werkplekken door gemechaniseerde s t a t i o n s langs een modulair opgebouwd v a r i a b e l t r a n s p o r t - s y s t e e m , ook wel bekend a l s g r o e i - m e c h a n l s a t l e , i s een u i t e r s t e f f e k t l e v e methode voor invoering van p r o d u k t i e - a u t o m a t l s e r l n g , bezien zowel vanuit het oogpunt van de marktvraag, de l e v e r a n c i e r van de p r o d u k t i e - 1 1 j n a l s van de producent.

7 . Software, ontwikkeld a l s een gereedschap voor een s p e c i f i e k e doelgroep ( b i j v . k o n s t r u k t e u r s ) , welke n i e t voldoet aan de e i s e n d a t :

- het programma g e b r u i k t kan worden zonder een zeer diepgaande kennis van de t h e o r e t i s c h e achtergronden en

- i n ruime mate aandacht besteed Is aan een g e b r u i k e r s - v r i e n d e l i j k e gegevens-invoer,

is onbruikbaar voor grootschalige verspreiding en dient te worden gekenschetst als sof-ware.

8. De verlaging van voorraadkosten bij produktie volgens de JIT-methode (Just In Time) heeft een verschuiving van voorraden naar de toeleverancier tot gevolg, welke uiteindelijk de aanvankelijk bereikte kostenverlaging teniet zal doen en de machtspositie van de toeleverancier versterkt (Ergo: Zoek altijd een 2nd supplier).

9. De toenemende druk op universiteiten om via commercialisering van

onderzoeksinspannlngen de budgettaire ruimte te vergroten, dient te worden omgebogen naar een nauwere samenwerking met onderzoeksinstellingen als TNO die deze doelstelling al langer nastreven, teneinde een synergetische samenwerking te realiseren volgens het in Duitsland gehanteerde systeem van instituten naast faculteiten.

(7)

KA?1*' over een LAN5'' gevoed volgens JIT6' met onderdelen direkt vanuit een BOM ' in het CAD '-systeem en ontworpen volgens DFA9', hebben een negatieve invloed zowel op de P O P1 0' als op de BVB1 1^.

Computer Integrated Manufacturing Automatically Guided Vehicle Flexible Manufacturing System Manufacturing Automation Protocol Local Area Network

Just In Time Bill Of Materials Bewust Ongehuwde Moeder Explosief projectiel Computer Aided Design Computer Aided Drafting Computer Aided Deception Design For Assembly Pay Out Period

Begrijpelijkheid Voor Buitenstaanders

11. Zodra een artikel of boek is afgegeven bij de drukker, zal blijken dat vaak gebruikte woorden fout gespeld of verkeerd vertaald zijn, geheel volgens Murphy.

(ERRATA: 'Tooth belt' (nengels voor tandriem) dient te worden vervangen door 'geared belt' of 'timing belt'.)

12. Het gebruik van geestverruimende middelen is geen noodzakelijke voorwaarde voor het bereiken van high tech-oplossingen.

! ) CIM = 2] AGV = f' FMS =

s ^

-6 LAN = b( JIT = 7 > BOM = 8 ) CAD = 9> DFA 10) p0p 11) BVB =

(8)
(9)

The positioning accuracy of an industrial robot-arm is strongly influenced by the elastic deformation of the links and supports of the robot-arm.

This influence can be compensated by predicting the effect of the elastic deformations on the position and orientation of the end of the robot-arm, where the gripper or tool has been mounted.

In this work this influence is computed by a model of the mechanism, formed by the links of the arm. This model is based on the finite element method and is integrated in the controller of the robot-arm. This arm has been designed and built in the Laboratory for Producion Automation of the Delft University of Technology.

The input of the model is taken from the output of a force/torque sensor. Due to the limitation of the computation speed the corrections on the setpoint, needed to compensate for the elastic deformations are computed only in the end point of the programmed motion.

To program the robot an interpreter has been developed, which interprets

commands written in the language IRDATA, as defined in the VDI-Richtlinie 2863. The controller has been realised on a Motorola $8000 based system, where each axis is controlled by a Motorola 6502 processor based system.

Experiments proved that the absolute positioning accuracy of the robot-system, using the model, has been brought down to 0.1 mm for each load. Previously the difference in absolute position reached with and without a maximum load in the gripper mounted to 6.9 mm.

ACKNOWLEDGEMENT.

This project could not have been brought to realisation without the help of many institutions and persons. In the first place the moral support of promotor prof. Rankers and his staff helped me through several difficult periods. Special thanks are reserved for the people who actually built the construction and the hardware for the controller, especially Mr. De jong and Mr. J. Etienne from the

'Centrale Werkplaats' and Mr. C. de Baan, F. Broos and A. van Zon of the 'Elektrische- en elektronische Dienst' and many others.

Por their help with the creation of the technical drawings I thank Ing. L. Langeveld and Ing. J. Stoute (almost all figures are drawn by him).

A successful termination of the project would not have been possible without the enthousiastic support and critical remarks of many others, from whom I learned many things for which I will remain very grateful.

(10)

S a m e n v a t t i n g (summary I n D u t c h ) 1 L i s t of used s y m b o l s and a b b r e v i a t i o n s 4 Chapter 1 : I n t r o d u c t i o n and o v e r v i e w 5 1.1 Introduction 5 1.2 Course of project 7 1.3 Overview 7 C h a p t e r 2 : K i n e m a t i c s and dynamics o f i n d u s t r i a l r o b o t s w i t h f l e x i b l e l i n k s 9 2.1 Introduction 9 2.2 Definitions 9 2.2.1 Truss element 11 2.2.2 Rotations 12 2.2.3 Beam element 14 2.2.4 Hinge element 16 2.2.5 \-eleraent 18 2.3 Kinematics 18 2.3.1 Transfer functions 19

2.3.2 Example; calculation of transfer function 20

2.4 Dynamics 24 2 . 4 . 1 I n e r t i a l f o r c e s 25 2 . 4 . 2 G e n e r a l i z e d s t r e s s e s and e q u a t i o n of raotlon . . . . 28 2 . 5 S i m u l a t i o n e x a m p l e 29 Chapter 3 : C o n s t r u c t i o n 33 3.1 Introduction 33 3.2 Specific requirements 35 3.3 Mechanism configuration 36 3.4 Actuator and transmission subsystems 39

3.5 Aspects of construction 42 3.6 Positioning accuracy 47 3.7 Stiffness 50 Chapter 4 : C o n t r o l 53 4 . 1 I n t r o d u c t i o n 53 4 . 2 C o n t r o l s y s t e m ; h a r d w a r e 56 4 . 2 . 1 M u l t i p r o c e s s o r c o n f i g u r a t i o n 56 4 . 2 . 2 A x i s c o n t r o l 58 4 . 3 O f f - l i n e p r o g r a m m i n g : IRDATA 59 4 . 3 . 1 D e s c r i p t i o n of IRDATA 60

(11)

4.4 Controlsystem; software 63

4.4.1 Strategie level - main processor 64

4.4.2 Tactical level - sub processor 64 4.4.3 Execution level - axis processor 65

4.5 Motion control 66 4.5.1 Interpolation and coordinate transformation .... 66

4.5.2 Position control 68 4.5.3 Determination of the reference position 69

4.6 Processing sensor information 69 4.6.1 Control of force/torque sensor 70

Chapter 5 : Compensation of deflection 73

5.1 I n t r o d u c t i o n 73 5.2 Modelling of a robot-mechanism 75

5.3 Simplifying the model 78 5.4 Computational a s p e c t s 81

5.4.1 A n a l y t i c a l computation of p o s i t i o n parameters . . 83

5.4.2 Arranging t h e DDc-matrlx 84

5.4.3 I n t r o d u c i n g d i r e c t i o n v e c t o r s with

one element non-zero 84 5.5 Determination of load v e c t o r 87 5.6 I n t e g r a t i o n of the model in t h e c o n t r o l l e r 88

5.7 A l t e r n a t i v e methods 89 5 . 7 . 1 Mass s t o r a g e of c o r r e c t i o n v a l u e s 90

5 . 7 . 2 A l t e r n a t i v e use of f i n i t e element method 91

Chapter 6 : Experimental r e s u l t s 93 6.1 I n t r o d u c t i o n 93 6.2 Performance t e s t s 94 6 . 2 . 1 Measurement of speed 94 6 . 2 . 2 Measurement of a c c e l e r a t i o n 96 6 . 2 . 3 P o s i t i o n i n g accuracy 97 6 . 2 . 4 Accuracy of a t r a j e c t o r y 99 6.3 S t i f f n e s s measurement 99 6.4 V a l i d a t i o n of the model 102 6.5 Improvement of performance, an e v a l u a t i o n 104

6.6 Concluding and summarizing remarks 105 6 . 6 . 1 Modelling with the f i n i t e element method 105

6 . 6 . 2 O f f - l i n e programming and IRDATA 106 6 . 6 . 3 General r e s u l t of the p r o j e c t and outlook 107

(12)

L i t e r a t u r e 109

Appendix A: Drawings of main c o n s t r u c t i o n groups 112 Appendix B: D e s c r i p t i o n of nodules c o n t a i n e d I n a x i s c o n t r o l l e r . . 117

Appendix C: Overview and d e s c r i p t i o n of implemented IRDATA commands 119 Appendix D: Forward and I n v e r s e c o o r d i n a t e t r a n s f o r m a t i o n of ROBED 125 Appendix E: Computation of i n i t i a l v a l u e s of Euler parameters . . . . 130

(13)

Saaenvatting

De inzet van een industriële robot als hulpmiddel bij de mechanisering van assemblage-processen stelt hoge eisen aan de positioneer-nauwkeurlgheid van het gereedschap met daarin het te plaatsen onderdeel. Tevens wordt een hoge snelheid en versnelling geëist teneinde montagetijden te verkorten. Deze twee eisen

leiden tot een compromis tussen enerzijds een lichte konstruktie ter verhoging van snelheid en versnelling van de robot-arm en anderzijds een stijve, derhalve zware konstruktie ter verhoging van de mechanische stijfheid.

Dikwijls is het feit dat niet voldaan wordt aan de gestelde specificaties voor wat betreft snelheid, versnelling en positioneer-nauwkeurlgheid de oorzaak ervan dat de inzet van de robot in mechanisaties technisch (maar ook commercieel) niet

rendabel is.

Met de toegenomen mogelijkheden van de besturingscomputers waar het

verwerkingssnelheid van signalen en aantal instrukties per sekonde betreft, wordt de mogelijkheid geschapen om het effekt van de mechanische stijfheid op de

positioneer-nauwkeurlgheid te berekenen middels modelvorming van het mechanisme in de besturingscomputer. Hierdoor wordt een hogere absolute positioneer-nauwkeurlgheid mogelijk dan de elastische eigenschappen toelaten.

Naast de gekozen mogelijkheid van modelvorming is het ook mogelijk de elastische vervormingen te meten (rekstrookjes) en de gemeten vervormingen terug te

koppelen, teneinde deze te kompenseren. Echter in dit proefschrift wordt modelvorming van het mechanisme als hulpmiddel gekozen om de elastische

vervormingen te berekenen en vooruit te koppelen om zo de ongewenste effekten te kompenseren. De modelvorming van het robot-mechanisme geschiedt met behulp van de eindige elementen metho'de.

Teneinde het ontwikkelde model te kunnen toetsen aan de praktijk is een konstruktie van een robot-arm ontworpen en gebouwd. Gesteld tegenover het alternatief een dergelijke robot-arm te betrekken van een leverancier biedt de gemaakte keuze voor een zelf te ontwikkelen robot-arm het voordeel van een beter inzicht in de stijfheid van de konstruktie en overige mechanische eigenschappen. De integratie van mechanisch model en besturing noodzaakte tot het zelf

ontwikkelen van een besturingssysteem met de daarvoor benodigde software. Een en ander had tot gevolg dat kennis vanuit verschillende disciplines nodig was voor een succesvolle realisatie van het robot-systeem, hetgeen ook zijn weerslag vindt in de opbouw van dit proefschrift.

Globaal kunnen in dit proefschrift drie hoofdbestanddelen worden onderscheiden, welke tezamen het uiteindelijk gerealiseerde robot-systeem beschrijven, namelijk de theorie van de eindige elementen methode zoals deze is toegepast bij de

(14)

modelvorming, de werktuigkundige k o n s t r u k t i e van de robot-arm en de b e s t u r i n g e r v a n . Deze d r i e hoofdbestanddelen worden beschreven na het i n l e i d e n d e e e r s t e hoofdstuk. Hoofdstuk 2 o m s c h r i j f t de t h e o r i e van de e i n d i g e elementen methode z o a l s d i e i s toegepast op de modelvorming van het mechanisme. Tevens worden de g e b r u i k t e elementen beschreven en de a f l e i d i n g e n van de formuleringen voor de

b e s c h r i j v i n g van kineraatika en dynamika. Vervolgens wordt hoofdstuk 3 gewijd aan de b e s c h r i j v i n g van de g e r e a l i s e e r d e k o n s t r u k t i e van de robot-arm; een

zogenaamde knikarm-robot, waarvan het draagvermogen 40 kg bedraagt en waarvan de s y s t e e m r e s o l u t i e b e t e r i s dan 0.07 mm. Het werkgebied van de robot-arm i s torusvormig met een maximale r a d i u s van 1.5 m.

Hoofdstuk U b e s c h r i j f t de opbouw van de b e s t u r i n g van de robot-arm alsmede de t a a l waarin b e s t u r i n g s o p d r a c h t e n voor de robot geschreven kunnen worden. De b e s t u r i n g i s opgebouwd a l s een m u l t i - p r o c e s s o r systeem op d r i e n i v e a u ' s . Het e e r s t e niveau b e s t a a t u i t een Motorola 68000-processor, draaiend onder een UNIX-o p e r a t i n g systeem. HierUNIX-op d r a a i t de i n t e r p r e t e r vUNIX-oUNIX-or de g e b r u i k t e r UNIX-o b UNIX-o t t a a i . Het tweede niveau (eveneens een Motorola 68000-processor) bevat de software voor de r e a l - t i m e taken van het systeem, t e n e i n d e de v i j f r o b o t - a s s e n t e kunnen

c o ö r d i n e r e n . Het derde niveau b e s t a a t u i t 5 processor-systemen opgebouwd rond een Motorola 6 5 0 2 - p r o c e s s o r . Op d i t niveau wordt de p o s i t i e r e g e l i n g van de robotassen g e r e a l i s e e r d .

De t a a l waarin de software i s geschreven i s ' C ' , h i e r v o o r i s gekozen wegens de kompaktheid van de gegenereerde kode en dus de hoge verwerkingssnelheid van de programmatuur. De t a a l waarin de bewegingsopdrachten kunnen worden geschreven i s IRDATA. De syntax van deze t a a l i s aangegeven in de V D I - R i c h t l i n i e 2863 en i s bedoeld a l s u n i v e r s e l e ' t u s s e n t a a l ' tussen een hogere programmeertaal en de t a a l van het b e s t u r i n g s s y s t e e m van een w i l l e k e u r i g e r o b o t - l e v e r a n c i e r .

Na de b e s c h r i j v i n g van de d r i e hoofdbestanddelen wordt de t h e o r i e omgewerkt t o t een bruikbaar a l g o r i t m e dat i n g e p a s t kan worden in de b e s t u r i n g s s o f t w a r e . De nadruk l i g t h i e r b i j op de v e r k o r t i n g van de r e k e n t i j d welke benodigd i s voor het berekenen van de e l a s t i s c h e vervormingen van de mechanisme-delen en de invloed hiervan op de a b s o l u t e p o s i t i e en u r i ë n t a t i e van het u i t e i n d e van de robot-arm. Hier b l i j k t dat de benodigde r e k e n t i j d s t e r k verminderd kan worden door

vereenvoudiging van het model naast enige rekenkundige ' t r u c s ' . De berekening van de echte dynamika (massakrachten) noest h e l a a s achterwege b l i j v e n . Het model berekent s l e c h t s de k i n e t o - s t a t l k a van liet mechanisme teneim:,

aanvaardbare r e k e n t i j d e n mogi iken.

U i t e i n d e i i j . oi lingen up üi- eindpunten van een t r a j e k t berekend, i n a i e n d i t geweiibt i s en m <ie bewegingsopdracht aangegeven wordt. Dit i s aanvaardbaar aangezien de hoogste p o s i t i o n e e r - n a u w k e u r i g h e i d g e ë i s t wordt

(15)

aan het einde van een trajekt, voordat een insteekbeweging of andere montagehandeling wordt verricht.

De juiste werking van het model wordt aangetoond in hoofdstuk 6 door enige experimenten waarbij identieke voorwerpen verschillend in gewicht, maar met hetzelfde uiteinde op dezelfde absolute positie gebracht kunnen worden wanneer de kompensatie-waarden door het model worden berekend. De uiteindelijke absolute nauwkeurigheid wordt hierdoor kleiner dan 0.1 mm.

(16)

1.1Bt of used symbols and abbreviations.

e set of deformation parameters of element k x set of position parameters of node k

E Space of deformation parameters or elasticity modulus X Space of position parameters

D Set of continuity equations

DD first order of the continuity equations 2

D D second order of continuity equations F zero order transferfunction

DF first order transferfunction 5

D F second order transferfunction

10 initial length

L Length A Cross section area I Second moment of inertia

e , e , e orthogonal direction vectors with unit length x y z

\i, a, 0 angle of rotation

e vector of rotation-axis

K* Euler parameter (i=0...A)

R Rotation matrix or abbreviation for a rotating degree of freedom P Rotation matrix of node P

Q Rotation matrix of node Q

T indicating a translating degree of freedom < > inner product of two vectors

m mass I Rotational inertia dj angular velocity f vector of nodal forces M mass matrix o v e c t o r of g e n e r a l f o r c e s D/A D i g i t a l / a n a l o g c o n v e r s i o n A/D A n a l o g / d i g i t a l c o n v e r s i o n I / O I n p u t / o u t p u t CPU C e n t r a l p r o c e s s i n g u n i t VIA V e r s a t i l e i n p u t / o u t p u t a d a p t e r CP C o n t i n u o u s p a t h PTP P o i n t t o p o i n t

(17)

CHAPTER 1: INTRODUCTION AND OVERVIEW.

1.1 Introduction.

In the last decade the field of robotics has expanded in many directions, with a rapid increase of international conferences like ISIR (= International Symposium on Industrial Robots) and ROVISEC (= Robot Vision and Sensory Control) being held, journals and books being published, and research programs such as the european research program ESPRIT, the dutch national research program FLAIR (=Flexible Automation and Industrial Robots) beginning.

It is often stated that Dutch technology lags behind compared with for example Japan or the USA. While this may be true when we take into account the number of installed robot-systems, the knowledge of advanced techniques is certainly not less than anywhere else.

An interesting area for the application of an industrial robot is assembly of small and medium sized parts. Up till now the capabilities of robotsystems are not sufficient to meet the high demands concerning positioningaccuracy and speed, which was the main reason for starting the research project as described in this thesis.

When the first generation of industrial robots was introduced on the market, the capabilities of these systems were limited to point-to-point motions in a fixed sequence. The characteristics of the second generation of robots were the improvements in motion control (continuous path control) and the ability to react to external signals which allow for changing the course of the program according to the programmed reaction. Now with the third generation of robots coming into view, the intelligence of robot controllers has increased

enormously. The possibilities to interact with other computers and intelligent sensors like force sensors or vision systems are almost without limitation. However, the construction of the robot-arms did not undergo many changes from one generation to another. Thus the improvement of the robot-systems has mostly been achieved by more intelligent controllers than by improving the mechanical behaviour of the robot-arm. In some cases the same constructions are used with new controllers.

To improve the mechanical behaviour of robot-arms 'mechanical intelligence' has to be added. Building on the experience already gained at the Delft University of Technology with simulation of mechanical systems a decision was made to set up a method by which the robot control can predict the behaviour of the robot-arm. This is done by integrating the properties like mass and stiffness of the mechanical parts of the robot-arm in the robot control.

(18)

Especially when used in assembly operations the positioning accuracy of the robot-arm is the limiting factor in the usefulness of the robot for the operation. There are two ways to achieve a better positioning accuracy of the robot-arm when performing assembly tasks. Information on the contactarea (of robot hand and fixed surfaces) and the mis-alignment of the robot-arm can be obtained from sensors like vision systems or force/torque sensors which give information on how to correct the position of the robot-arm in order to reach the desired position and orientation. Another method, which can be used

supplementarily, is to increase the positioning accuracy by informing the robot-controller of the mechanical behaviour of the mechanism so that the robot-controller is able to move the robot-arm exactly to the desired position. This can be achieved by setting up a model of the robot mechanism which can predict the influence of measured disturbances on the position of the robot hand. These disturbances consist of friction, tolerances, forces acting on the tool in the hand of the robot, and the deformations of the robot mechanism resulting from these forces.

In this thesis a method is given to set up a model of a spatial robot mechanism with flexible links. This model is intended to calculate in realtime the elastic deformations of the robot mechanism and give correcting values for the position and orientation of the robot hand. To obtain a model which is capable of

calculating the elastic deformations of a moving spatial mechanism a method has to be found to describe the topology of the mechanism and to create a set of elements with which the mechanism can be 'built' together. Elastic deformation of these elements is a prerequisite. Although many programs are known that calculate the kinematics and dynamics of multi body systems ( IMP, DRAM, ADAMS), few programs can handle flexible elements. When flexibiblity is taken into account, the effects of the elastic deformations are superimposed on the motion of the rigid body. Van der Werff developed such a method based on the finite element method [1.1], With this method the flexibility of the elements is an Integrated part of the kinematic and dynamic calculations. Based on this method a computerprogram has been developed by v.d.Werff and Schwab called SPACAR

[1.2], which is capable of analysing the kinematics and dynamics of spatial mechanisms. This program is a part of the softwarelibrary developed by the CADOM-group lead by professor Rankers of the Automation of Production section at the Delft University of Technology. Due to the universal setup of this program there can be no question of the desirability of using this program in realtime control of an industrial robot. The basis of this program proved to be a useful startingpoint for setting up a model with the proposed functionality in realtime control of an Industrial robot.

(19)

1.2 Course of project.

The project "development of an industrial robot for assembly purposes" was started in 1982 at the department of Mechanical Engineering, Automation of Production section at the Delft University of Technology. The purpose of the project was to build a robotsystem with high accuracy and speed to perform assemblytasks. The accuracy, aimed to be better than 0.1 mm, had to be reached by modelling the robot mechanism in the controller using the theory of finite elements because flexibility of the robot elements had to be calculated. This was possible by using this method. To achieve this goal, the computer

calculating the model and giving correction values for deflections of the robot mechanism had to have a good communication possibility with the robot

controller. It would even be better if both tasks were integrated in one

controller. In that case information was needed of the software controlling the robot on source level. In order to determine the mechanical properties of the robot-arm, detailed information on the construction was needed. Attempts have been made to find a robot system of which the manufacturer was prepared to give detailed Information on both the software structure of the robot controller and of the construction of the robot-arm. However, no manufacturer was prepared to disclose this information; especially the source code of the controllers was treated as an industrial secret as all the systems are sold as a closed system. With this knowledge in mind, the decision was made to design the robot-arm and the controller and build them in the laboratory.

The design of the robotconstruction took the greater part of the first year. Parallel with the realisation of the robot mechanism the software for modelling the mechanism was developed. The computer control of the robot, which had the task to calculate the model in real-time, had to be of a very high standard with respect to calculating speed. Because the project was subsidised with a grant from the Ministry of Economic Affairs as a part of the FLAIR-project [1.3], a computer could be bought which met these high demands. Developing the software both for the model and for the control of the robot took the next three years of the project. Control and robot were realised in May 1986.

1.3 Overview and summary.

The theory of the a n a l y s i s of s p a t i a l mechanisms based on the f i n i t e element method i s d e s c r i b e d i n c h a p t e r 2, i l l u s t r a t e d with an example of the a n a l y s i s of a simple robot-arm with f l e x i b l e l i n k s d u r i n g t h e motion along a p a t h i n a s t r a i g h t l i n e . Chapter 3 d e s c r i b e s t h e c o n s t r u c t i o n of the i n d u s t r i a l r o b o t ,

(20)

which Is designed and built at the laboratory for Production Automation at the Delft University of Technology. The startlngpoints for the design and the specific requirements which led to the choice for the construction of the robotarm, its actuators and its transmission subsystems are explained. In chapter A the concept used to control the robot is explained. The

configuration of both hardware and software are treated and some remarks are made on the off-line programming method. The language in which the robot can be programmed (IRDATA)is explained.

Chapter 5 explains how the theory of the finite element method is adapted to construct a model of the robotmechanism, which needs a minimum of computation

time to compute the behaviour of the elastic mechanism.

Finally in chapter 6 some experimental results are given in order to validate the model of the elastic robotarm and show the usefullness of the integrated model in the control of the robotarm and the positive effect on the absolute positioning accuracy of the endeffector. Also in this chapter results are given of measurements of speed and acceleration of the arm. The values found for the stiffness of the most important parts can also be found in this chapter.

(21)

CHAPTER 2: KINEMATICS AND DYNAMICS OF INDUSTRIAL ROBOTS WITH FLEXIBLE LINKS.

In this chapter the general theory for the description of kinematics and dynamics is given. Use is made of the finite element method to form models of mechanism parts of which the deformation can be prescribed. Using this method the motion of a spatial mechanism can be simulated. Although the theory can be applied to each kind of mechanism, the emphasis in this thesis lies on the application for the simulation of robotic manipulators.

2.1 Introduction

In 1977 Van der Werff presented his theory on the kinematical and dynamical analysis using the finite element method [1.1]. The result of his work was the computer program PLANAR [2.1] for the kinematical analysis of planar mechanisms. The program proved to be a useful tool when analysing link mechanisms [2.2].

Because the higher order transfer functions are calculated, a dynamical analysis can also be done with this program as shown in [2.3]. In the following years much effort was given by Van der Werff to write a program based on the same

theory which could be used for the kinematical analysis of spatial mechanisms, which resulted in the computer program SPACAR [2.4]. In 1983 the program was extended with a dynamical part due to the work of Jonker and Schwab [2.5]. In 1985 much attention was given to setting up of a robotsimulation program with controller models by Jonker [2.6,2.7]. Because of the elegant way in which deformation of the elements are calculated in the program, the theory was used for building a model suitable for the purpose of calculating the deformations of a robot mechanism while the controlled robot is actually moving.

2.2 D e f i n i t i o n s

In the finite element method a mechanism is idealised as a set of finite elements with a simple geometry and well defined mechanical properties. The elements which form the mechanism are interconnected at the nodes of the elements. The position of an element in relation to a global coordinate system is described by the position of the nodes. The location of a node k is given by position parameters x , these parameters can be cartesian coordinates as well as parameters describing the orientation of the node. All position parameters of the nodes together form the space of position parameters X.

(22)

10

The deformation of an element i s defined by the deformation parameters c . The deformation parameters a r e defined a s r e l a t i v e d i s p l a c e m e n t s between the nodes of an element and are defined as a f u n c t i o n of the p o s i t i o n parameters of t h e s e n o d e s . The number of deformation parameters of an element i s defined by the number of p o s i t i o n parameters diminished by t h e number of degrees of freedom of t h a t element as a r i g i d body. For example a beam element c o n s i s t s of two nodes i n d i c a t i n g the begin- and end-point of the beam. The p o s i t i o n and o r i e n t a t i o n of each node Is given by s i x p o s i t i o n p a r a m e t e r s . As a r i g i d body the element has s i x degrees of freedom; being t h r e e t r a n s l a t i o n s and t h r e e r o t a t i o n s . The number of deformation parameters i s t h e r e f o r e ( 2 * 6 ( p o s i t i o n parameters) - 6 ( a e g r e e s of freedom) =) 6. This i n d i c a t e s t h a t t h e r e a r e s i x deformation nodes of t h e bean element. The deformation parameters of a l l elements t o g e t h e r in a mechanism form the space of deformation parameters E. The c o n d i t i o n for a r i g i d body motion of a s e t of elements i s thus obtained by p u t t i n g a l l the deformation parameters equal to z e r o .

The deformation parameters of an element with number k, which a r e functions of the p o s i t i o n parameters d e s c r i b i n g t h e deformations l i k e e l o n g a t i o n , t o r s i o n , bending, e t c , can be d e s c r i b e d with t h e map:

Dk : Xk ♦ Ek or ek = Dk(xk)

The summation of these partial maps per element form the total map of the complete mechanism D, which is also known as the continuity equation;

e = D(x) (2.1)

This map r e p r e s e n t s the n o n l i n e a r r e l a t i o n s for t h e deformation parameters as f u n c t i o n s of the p o s i t i o n p a r a m e t e r s . The time d e r i v a t i v e s of ( 2 . 1 ) give the e x p r e s s i o n s f o r speed and a c c e l e r a t i o n of the deformation parameters a s a function of the p o s i t i o n parameters :

É = DD(x) x ( 2 . 2 )

'e' = ( D2D ( x ) x) x + dD(x) 'x ( 2 . 3 )

These maps will be used for formulating the equations of motion for the mechanism as will be shown later.

(23)

2.2.1 Truss element

One of the basic elements is the truss element (see figure 2.1) , which consists of two nodes P and Q, and the position is fully described by the cartesian coordinates of P and Q: k \T x truss - ( xp 'yp 'Ep 'xq 'yq, zq)

Q

deformation mode

= 1 = K (Xq-Xp)

2

* (y

q

-y

p

)

2

♦ (Zq-Zp )

2

-Figure 2.1 : definition of the truss element.

Rotation of the element about the axis PQ is not taken into account, thus the number of degrees of freedom is only five. This means that this element has only one deformation parameter which describes the elongation of the element and is expressed as the momentaneous length of the element diminished by the initial length 10. The deformation equation for this element is thus:

i(x

q p a

-x

n

)

2

+ (y

'q 'p a

-

y

n>

2 +

<v-*„>

q p ' 2

i* - !<

(2.4)

As yet, a description of the orientation in space of a node has not been defined, so before presenting the beam element and the hinge element, a description of the angular orientation must be given.

(24)

2.2.2 Rotations

In this method the orientation of an orthogonal base coordinate system is described by a 3 x 3 rotation matrix R. This matrix describes how the base vectors (e . ,e . ,e ) connected to a rigid body are rotated to a new orientation (ë ,ë ,ê ) (see figure 2.2):

xz yz z z

Figure 2.2: Rotation of a coordinate system.

R : (exl'eyl»ezl> * ( ex 2 'ey 2 'ez 2) = ( R ex l 'R eyl 'R ezl> ( 2 . 5 )

The r o t a t i o n m a t r i x R c o n s i s t s of d i r e c t i o n c o s i n e s and the column v e c t o r s of R form the u n i t v e c t o r s of the c o o r d i n a t e system a f t e r r o t a t i o n , expressed in the c o o r d i n a t e system before r o c a t i o n . Because the u n i t v e c t o r s of the base

c o o r d i n a t e system a r e o r t h o g o n a l and have a u n i t l e n g t h , 6 r e l a t i o n s h i p s with the 9 components of the r o t a t i o n m a t r i x can be e s t a b l i s h e d . The number of Independent v a r i a b l e s i s thus reduced t o 3 . To c o n s t r u c t the elements of the m a t r i x s e v e r a l methods a r e a v a i l a b l e l i k e Euler a n g l e s , Bryant a n g l e s , Euler parameters ( q u a t e r n i o n s ) or Rodriguez parameters [ 2 . 8 ] . Contrary to the o t h e r methods, the d e s c r i p t i o n wich Euler parameters shows no s i n g u l a r behaviour for c e r t a i n o r i e n t a t i o n s , which i s the reason for the use of t h e s e parameters for d e s c r i b i n g o r i e n t a t i o n i n s p a c e .

Euler parameters or q u a t e r n i o n s c o n s i s t of 4 parameters Kj d e s c r i b i n g the d i r e c t i o n of a r o t a t i o n a x i s e and the angle of r o t a t i o n u. about t h i s a x i s ( s e e

f i g u r e 2 . 3 ) . Because of the use of 4 parameters d e s c r i b i n g 3 independent v a r i a b l e s a 4th normalizing r e l a t i o n s h i p p r e v e n t s redundancy.

(25)

The 4 p a r a m e t e r s a r e d e f i n e d : XQ - COS i l l \ j = ( s i n i u ) * e ^ X2 = ( s i n i u ) * eu y \3 = ( s i n i n ) * eu z w i t h t h e n o r m a l i z i n g c o n d i t i o n : XQ + Xj + X~2 + X3 = 1 (2.6)

Figure 2.3: Definition of rotation described by Euler parameters.

The rotation matrix R is expressed in Euler parameters:

. 2 2 ,2 ,2 2

-X

2

. 2(X

1

X

2

-X

3

A

0

) 2 ( W W

2 ( \1X2+ \3X0) 2 ( X1X3- X2XQ) 2 2 2 2 \ ) " \ + X2 " h 2 (X 2 X 3-X1>' 0) 2 ( X2X3+ X j X0) X Q - Xj - X2 + Xj (2.7)

Conversely, if the rotation matrix R is known, the parameters can be deduced using the following equations:

XQ = K t r a c e . R + 1)

xi2 = iRi i " i U r a c e . R - 1 ) ( 2 . 8 a )

( t r a c e i s t h e sum of t h e e l e m e n t s on t h e d i a g o n a l )

(26)

14

+ for -Ti < u < +TI

sign of (R32-R23> (2.8b)

sign of ( R1 3- R3 1)

sign of (R2i"Ri2)

The advantage of using Euler parameters is that only quadratic terms occur in the rotation matrix R instead of sines and cosines terms. The algebraic expressions are computationally more efficient than goniometric functions. Derivatives of R can easily be determined in this way.

The normalizing condition (2.6) is treated as an element, though not in the sense of a construction part of a mechanism. This element called the \-eleraent

will be explained in 2.2.5.

2.2.3 Bean element

The space beam element is one of the basic elements. The beam element is used when bending and torsion of an element have to be considered. The element consists of two end point nodes as is the case with the truss element. N'ot only are the positions of the end point nodes defined, but the rotation of a local coordinate system in the node is also defined. This is done by adding two sets of Euler parameters in the position parameter list describing the beam element. Thus the position parameters of the beam element are:

x

\eam = « V V W '

Although the total number of parameters is 14, the two normalizing conditions

Figure 2.4: Definition of the local coordinate sytems attached to the nodes of a Deam element.

(27)

for the Euler parameters are dealt with by two \-elements. This means that the number of deformation parameters for the beam element is 6 because there are 12 independent position parameters and 6 degrees of freedom as a rigid body. These deformation parameters are chosen in such a way that they have a physical meaning, so that they can be used in describing strength and stiffness of the

beam as a flexible element. If the beam is considered as a rigid body, then the Euler parameters in begin and end node have the same value. In the Initial position of the element, the local coordinate systems in the end nodes coincide with the principal axes of the beam cross section. This means that the x-axis is directed along pq and the y- and z-axls are directed according to the principal axes of the beam's cross section as explained in figure 2.4. The rotated local coordinate systems in the end nodes p and q are defined by the Euler parameters:

P = R(Xp)*(xp,yp,Z p) Q = R Uq) * ( xq, yq, ;q)

deformation

- - {<P2,Qy>-<Py,Qz>}-^

Q

r -

<p

"

z

-

A5f>

e

6

(28)

The six deformation parameters can now be expressed in terms of Py, Pz, Qy, Qz and Ax = x -x . I n addition to the first deformation parameter e, representing the elongation, the other deformation parameters are given by the following definitions:

elongation : e,= Ax - 1 _ _ o _ _

t o r s i o n : f^= (<Pz",Qy>-<Py,Qz>) * lQ/ 2

bending In x z - p l a n e of node p: eo= <Pz,Ax> ( 2 . 9 ) bending In x z - p l a n e of node q: e^= <Qz,Ax>

bending in xy-plane of node p: e^= <Py,Ax> bending in xy-plane of node q: e^= <Qy,Ax>

The e x p r e s s i o n < . , . > s t a n d s for the inner product of two v e c t o r s . I t should be mentioned t h a t the bending deformations and t o r s i o n of the beam element a r e adequate only for small d e f o r m a t i o n s . If the deformations remain r e l a t i v e l y small they a r e l i n e a r i i y r e l a t e d to the g e n e r a l i z e d moments and forces a c t i n g on the beam as w i l l be explained i n 2 . 4 .

2 . 2 . 4 Hinge element.

The hinge element i s used when beam elements have t o be connected to each o t h e r or r o t a t e d around a fixed point i n s p a c e . The hinge element c o n s i s t s of two nodes p and q having the same p o s i t i o n , with a s e p a r a t e l o c a l c o o r d i n a t e system. In o r d e r to d e s c r i b e the r e l a t i v e r o t a t i o n of the two c o o r d i n a t e systems the deformation parameters have to be chosen i n such a way t h a t one parameter

Ox/

Figure 2.6: Definition of the local coordinate systems attached to the nodes of a hinge element.

(29)

describes this rotation. Since this element deals with rotation only, the position is immaterial and the set of position parameters belonging to this element consist only of the Euler parameters for the orientation of the two nodes p and q:

k T

x

hinge

= (

VV

The hinge node i s connected t o a node of a beam element, another hinge or to a fixed p o s i t i o n . The number of deformation parameters i s : (6 (independent p o s i t i o n parameters) - 3 ( d e g r e e s of freedom for o r i e n t a t i o n ) =) 3 . The

o r i e n t a t i o n of the l o c a l c o o r d i n a t e systems a r e such t h a t the d i r e c t i o n s of the x-axes correspond with the r o t a t i o n a x i s of the hinge as i n d i c a t e d i n f i g u r e 2 . 6 . The f i r s t deformation parameter of the hinge element d e s c r i b e s the r e l a t i v e r o t a t i o n around the x - a x e s . The remaining two parameters d e s c r i b e the bending of the hinge in the yx- and z x - p l a n e s :

r e l a t i v e r o t a t i o n : ej." a r c t a n [ -<Py,Qz>/<Py,Qy> ]

bending i n y x - p l a n e : E2= <Py,Qx> ( 2 . 1 0 ) bending in z x - p l a n e : e3= <Pz,Qx>

The deformation modes a r e shown in f i g u r e 2 . 7 .

(30)

Other than the two parameters d e s c r i b i n g the bending of the h i n g e , which allow only small d e f o r m a t i o n s , the r e l a t i v e r o t a t i o n of the nodes a l l o w s a complete r e v o l u t i o n around the r o t a t i o n a x i s .

2 . 2 . 5 \ - e l e n e n t

As s t a t e d i n 2 . 2 . 2 the normalizing c o n d i t i o n of the Euler parameters can be t r e a t e d as an e l e m e n t . I t i s not a c o n s t r u c t i o n part of a mechanism, but a purely mathematical n e c e s s i t y when u s i n g Euler p a r a m e t e r s . The normalizing c o n d i t i o n for a r o t a t i o n described by a s e t of parameters i s t r e a t e d a s a deformation parameter for the \ - e l e m e n t:

Ej = I I ^ H - 1 ( 2 . 1 1 )

When Ej = 0 the c o n d i t i o n has been f u l f i l l e d and the o r i e n t a t i o n i s d e s c r i b e d i n a proper way. For each s e t of Euler parameters one \-element has to be added t o the l i s t of e l e m e n t s . When the p o s i t i o n parameters a r e c a l c u l a t e d , c a r e i s taken t h a t the deformation of the X-element i s z e r o .

2 . 3 Kinematics

The k i n e r a a t i c a l a n a l y s i s of a mechanism, c o n s i s t i n g of a number of elements as defined in 2 . 2 , i s the r e s u l t of the s o l u t i o n of unknown p o s i t i o n or deformation parameters as a f u n c t i o n of p r e s c r i b e d p a r a m e t e r s . This s u g g e s t s the degrees of freedom to be p r e s c r i b e d of a mechanism. The space of p o s i t i o n parameters i s broken down i n t o subspaces each c o n s i s t i n g of f i x e d , p r e s c r i b e d or c a l c u l a b l e p a r a m e t e r s . The same method i s a p p l i e d with the space of deformation p a r a m e t e r s :

X = subspace of X with fixed p o s i t i o n parameters x X = subspace of X with c a l c u l a b l e p o s i t i o n parameters x X = subspace of X with p r e s c r i b e d p o s i t i o n parameters x

E° = subspace of E with fixed deformation parameters E°

c c E = subspace of E with c a l c u l a b l e deformation parameters e

Em = subspace of E with r e l a t i v e d e g r e e s of freedom e™

(31)

p a r a m e t e r s a s a f u n t i o n of t h e p r e s c r i b e d p a r a m e t e r s ( xm, er a) . Hence t h e map P i s d e f i n e d : F* : XmxEm - X, x = Fx( xm, em) Fe : XmxEm E, e - F£( xm,E r a) ( 2 . 1 2 ) w h i c h maps t h e s p a c e of d e g r e e s of f r e e d o m XmxEm t o t h e s p a c e of f r e e p o s i t i o n p a r a m e t e r s X and t h e s p a c e of d e f o r m a t i o n p a r a m e t e r s E. T h e s e maps a r e c a l l e d t h e z e r o o r d e r t r a n s f e r f u n c t i o n s of t h e mechanism b e c a u s e t h e y r e l a t e t h e p o s i t i o n of t h e mechanism t o t h e i n p u t . 2 . 3 . 1 T r a n s f e r f u n c t i o n s The k i n e m a t i c a l a n a l y s i s i s d i r e c t e d t o t h e d e t e r m i n a t i o n of t h e maps F^ a n d F , 2

and t h e t i m e d e r i v a t i v e s DF and D F . I f we c o n s i d e r t h e c o m p o s i t e map

D o F* : XmxEm -» X + E and t h e map Fe: XmxEm ■* E i t w i l l be c l e a r t h a t D o F*

and F a r e i d e n t i c a l m a p s , s o :

Fe = D o F * f o r a l l ( xm, em) . ( 2 . 1 3 )

Because the unknown transfer functions consist of non-linear equations, they 2 cannot be calculated directly from (2.13). However, the derivatives DF and D F can be obtained from the derivatives of D. The zero order transfer function can then be found by numerical integration of the derivative maps of F and

application of an iterative process.

Differentiation of (2.13) Vlth respect to (xm,em) gives:

DFe DD . DF*. for all (xm,em) (2.14) I n a c c o r d a n c e w i t h t h e s e p a r a t i o n i n s u b s p a c e s of X and E, t h e s y s t e m of e q u a t i o n s c a n be p a r t i t i o n e d i n t h e f o l l o w i n g way: DFC DF' DFC D°D° DCD° D V D°Dm DCDm D V D°DC DCDC D V DF*" DF*L DF*" (2.15)

(32)

„c c

The only unknown factors in these equations are DF^ and DF . The other partial maps are either zero or unit matrices.

c c

The first order transfer functions DF* and D Fe can then be calculated if the

mechanism is not in a singular position with:

-1 DF* DCD° DCDm

-DFEO DF™

-DBD ° ' DmDm DF (2.16) and D Fe = DCDC * DF* + DmDC * DF* (2.17)

Differentiation of (2.16) and (2.17) gives the second order transfer functions:

D V

C

=

DCD° DCDm (D2DC - 1

*

* DFX) * <D?D°. DF*) ( D2Dm- DF*) DF* + DCDC * • DF* • DF*

D V

(2.18)

When the f i r s t and second order t r a n s f e r functions are known, the zero order t r a n s f e r function can be calculated from a given s t a r t configuration with prescribed x and c . If the p o s i t i o n parameters are known in the s t a r t i n g configuration ( x i , E i ) , the new position (x~,e~) can be approximated by numerical i n t e g r a t i o n :

~c —c , ^„x ./.—m . m. , t,„2_xc . - ,—rn —ra.. . , -ra —n. *new = * old + D Fold*( A* »AE > + i ( D W ^ 'A £ ) } * ( A* 'i E >

with (Ax ,AE ) = (x ,e ) - (x

% * * * n a r - » ' n o u ' x r

(2.19)

(2.20)

The approximation causes the prescribed deformations to deviate from their prescribed values, so an iteration proces is started in order to guarantee that in the new position the continuity equations are met with an accuracy of 5, until D (x ) - tj < 6 and D (x ) < 6 . The continuity condition D(x) is then

used as a corrector in a step by step procedure as explained in figure 2.8.

2.3.2 Example; calculation of transferfunctlon

For a simple mechanism as illustrated in figure 2.9 the first and second order transfer function are calculated. The mechanism consists of a hinge with its rotation axis (0,0,1) and a rigid beam with length = 1 connected to the hinge

(33)

t

X

_

•Zu ■ * " ■ <""

~T

calculation of DP*6 ,nd D V

1

\ld ' vftt?,*?) « (D!r"(ü*.^V «»* • -\Bcr'it

< * " - - - . - >

-

;

;.< • !•.

Figure 2.8: Flow chart for calculation of position parameters In a new position.

as shown in figure 2.9. The input coordinate is chosen to be the relative rotation angle $ of the hinge. Thus, the position parameters and deformation parameters are:

x° = (x

0

,

h)

T - (X2 jn -1

3 • "V

T F i g u r e 2 . 9 : Example mechanism.

Because t h e beam i s r i g i d , t h e o r i e n t a t i o n of begin and end node a r e e q u a l : \A - \n- Thus, the c a l c u l a b l e p a r a m e t e r s a r e :

(34)

xc = (X , x3 )T ; with X = >^ = X^

The initial values of the position parameters are:

X = ( 1 0 0 0 )T ; x3 = (i/2 0 f/2 )T

The l o c a l c o o r d i n a t e system ( x , y , z ) i s :

for the h i n g e : x = ( 0 0 1 ) T , y = ( 0 1 0 ) T , z = ( - 1 0 0 ) T for the beam : x = i / 2 ( 1 0 1 )T , y = ( 0 1 0 )T , z = t /2( -1 0 1 )T

The c o n t i n u i t y e q u a t i o n s according t o ( 2 . 9 ) and ( 2 . 1 0 ) a r e :

D j =-<Py,Qz> = < D . = <Py,Qx> = < D . = <Pz,Qx> = 0 ] 0 ü l 0 - 1 0 0

R

x

■ Rx

R

x

-1 0 0

-11

0

11

0 : > = 2(X1X2+X3X0) 0 > = 2(X2X3+X1XQ) > - - 2 ( X1X3 +X2XD) D2 j = ( x2+ y\ + z\ )* - 1 D , = <Pz,Qx> = - i / 2 <

- x j

+

x

2

- x

2

- x

2 +

2(^X3+ x ^ )

-UXfa + XQXJ) + U ^ - X J X Q ) - 2 ( X , X3 - XQX2) + x j - X2 - X2 + X2 D , = <Py,Ax> = < 2 ( X j X2 - XQX3) X2 - X2 '

N>

X

l

X„ - X, + X^ - X^ 2(X2X3 + X ^ ) t X3 y3 Z3 X 7 9 ? ? D 1 " X0 + Xl + X2 + X3 " ' Th e d e r i v a t i v e maps D , , ^ , D j ^ i a r e V l " 2 ( X3 • X2 ' Xl • X0 > D >D2 = 2 ( - X1 , - X0 , X3 , X2)

(35)

DXD3 DXD2 2 D D, x 5 = - 2 ( X2 = O = ( * o > X

3 ' N) • V

y3 , 83) = (-2X2 , 0 , 2 \2 - 2 \0 , 0)

= y i <x

2

- x

2

+ x

22

+ x

2

- 2 \

1

x

3

- 2 ^

2X, X„ - 2X„X„ - X2 + Xj + X2 - Xj ) 2 Xl»2 + 2X3 X0- 2 X2X3 + 2X1X0 1 3 = / 2 ( - X3 + Xj 2 0

x

2 +

x

0 Xl + X3 •XQ + X2 ) = ( 2(XjX2 - X3XQ) K0 ' Xl + X2 " *3 ' 2 ( X2X3 + X1XD) } = ( 2Xn 2X l , ï\ , 2X3 ) Now the m a t r i c e s D D c o „c„m D D and DF DF£ can be d e t e r m i n e d : DCD° = DcDra X Dc0l 2 DcDl 3 D V J DCD2 3 DCD2 5 DCD* DB D 1

- =(

=

x

o

0 0 ü 0 0 2 0

h

- 2 0 0 0

n

0 0

x

2 0 -2 0 - 2 0 0 0

h

0 0 0 0 - / 2 0 2 X3 0 0

i/2

i/2

0 0 0 y3 z2 0 0 0 0

0 y

0 - i / 2 1 0 0 0 0 0 DF DFe El)

From which follows the first order transfer function DF1'0:

DF*C

I 0 0 0 i 0 i/2 0

2_xc

The second order transfer function D r is determined by partial derivation of the first order transferfunction:

„2_xc D F = -„c„o D D C ra D D This r e s u l t s i n : „2„xc _ | 1 n - 1 C\ C\

( D V * DF

XC

) * DF

XC < D V *

DF

XC

) * DF

XC

D

2

F

XC

= -i 0 0 0 -i/2 0 0 I

(36)

The zero o r d e r t r a n s f e r f u n c t l o n can now be c a l c u l a t e d by numerical i n t e g r a t i o n a c c o r d i n g to e q . ( 2 . 1 9 ) , when an input motion i s assumed of AS = 0 . 1 . The new p o s i t i o n parameters follow w i t h :

-c x

new x°, _, + D F ^ A G + iDold 2F*cA<l>2 =

1 0 0 0

i/2

0

i/2

+

0 0 0

i

0

i/2

0 0.1

-i

o

0

0

-i/2

0

0 * 0.1 0.99875 0 0 0.05 0.70357 0.07071 0.707106

In an iterative process as illustrated in fig. 2.8 the exact (with an accuracy depending on the used criterium) x is reached:

0.99875 0 0 0.04998 0.70357 0.07059 0.70710 2.4 Dynamics.

The kinematical analysis of the motion of a mechanism can be derived from the transfer functions by prescribing the input motion, speed and acceleration. If the influence of forces on the motion of the mechanism has to be calculated, a dynamical analysis is needed. The forces can be separated in two groups: first the forces inherent to the movement of the mechanism like inertia forces or friction and, secondly, the external forces like process forces or gravity forces. In order to describe the inertia forces of the mechanism, the Inertia properties of an element have to be defined. Information on position, velocity and acceleration is available in the nodes of an element. The most simple form of representing the inertial properties of an element is the lumped mass method. In this idealization rigid bodies with mass and rotational inertia are attached to the end nodes of the element. Since Euler parameters are used to describe the orientations, the moment components of the force vector, containing the nodal forces, have to be converted to moment components associated with Euler parameters.

(37)

By using the principle of virtual power (D'Alembert principle) the equations of balance can be obtained [2.9]. With the transfer functions the equations of motion for the complete mechanism can be derived.

2.4.1. inertial forces.

The separation of the total mass of a beam element in two lumped masses and rotational inertias will have to be done according to the following three conditions:

- total mass of the element is equal to the total of the lumped masses; - centre of gravity of two lumped masses and of the element must coincide; - inertial ellipsoid of element and lumped model must be equal.

When the mass m of a beam element with length 1 is taken to be concentrated in the centre of gravity on a distance z of node p, then the lumped masses in p and q are in accordance with the first condition (see fig.2.10) :

mp = (l-z)/l*m m = z/l*m (2.21)

Figure 2.10: Lumping of masses in the nodes of a beam element.

The matrix of inertia I of an element is built up of 2 inertia matrices I and I with components related to the local coordinate system attached to the node:

I -I 0 P 0 I with I. = I I I xx xy z z . I 1 yy yz . i zz (2.22)

(38)

For a concentrated mass the components of I are found, according to the third condition: with Im-z(l-z)*m Ill+ I12"Ix-I«5 I2 1 +l2 2= Iy- Im; I31+ I32=Iz-Im I = p

i

i - i x m 0 0 I - I y m 0 0 I -I z m

The velocity and angular velocity of a node is given by the vectors x and X If üj is the absolute angular velocity of a node, then the relation between

ai and X is given by:

w = 2 A X (2.23) where A = -X.

\ ~h

"

X

2

S

"X3 "X2

While the time derlvant of X must satisfy the constraint equation:

lX = 2 XT X = 0 (2.24)

The vector of externally applied forces is formed by f and f .

Now the principle of virtual power states that the total power done by the inertial forces and the external forces is zero for all velocities. This leads to:

<(f

X

-Mx) , x > + <(f

ULd

J ( I ü)) , ü) >

f o r a l l x a n d ÜJ ( = 2 A X)

( 2 . 2 5 )

This e q u a t i o n has to be r e w r i t t e n in o r d e r t o o b t a i n a f o r m u l a t i o n in Euler p a r a m e t e r s . Therefore t h e c o n s t r a i n t e q u a t i o n (2.2A) has to be i n c l u d e d i n ( 2 . 2 5 ) . Using ( 2 . 2 3 ) and ( 2 . 2 4 ) we g e t :

(39)

<(fX- M x) , x > + < fW - jjt(2IAX) , 2AX > - <0 X , 2XTX > = O ( 2 . 2 6 )

o* i s the U g r a n g e m u l t i p l i e r a s s o c i a t e d with eq. ( 2 . 2 4 ) . With the t r a n s p o s e of T

the t r a n s f o r m a t i o n s A and X ( 2 . 2 6 ) can be w r i t t e n a s :

<(fX- M 'x ) , x > + <fX- 4AT 5t(IAX ) , X > - <2XoX , X > = 0 ( 2 . 2 7 )

for a l l x and X.

For an u n c o n s t r a i n t element the v e c t o r s x and X a r e independant. Then ( 2 . 2 7 ) breaks up i n t o :

fX= M x ( 2 . 2 8 )

fX= 4AT i ( I AX) + 2X0X ( 2 . 2 9 )

d t

Since the components of I are not constant, but changing with the rotating element, it is easier to introduce the transformation:

1 = R I RT ( 2-3 0 )

Where I is the inertia matrix with respect to the element fixed coordinate system. R can be expressed as the result of two successive linear

transformations as: R = A AT (2.31) S u b s t i t u t i n g ( 2 . 3 0 ) and ( 2 . 3 1 ) i n t o ( 2 . 2 9 ) g i v e s : fX- 4AT ^ (A AT Ï A AT A X) + 2XCJX ( 2 . 3 2 ) d t T~ ~ Since AA X = X ( 2 . 3 1 ) becomes:

fX = 4AT ï (AATÏAX) + 2\aX ( 2 . 3 3 )

dt

Carrying out the d i f f e r e n t i a t i o n with r e s p e c t t o time y i e l d s :

fX = 4ATAATIAX + 4ATAATlAX + 4ATAATTnX + 4ATAATIAX + 2\aX ( 2 . 3 4 )

*-T -T ~

(40)

28

fX 4ATÏAX + 8ATÏAX + 2XoX (2.35)

So the inertlal forces can be calculated with: ,x

M 0 0

0 4ATIA 2\

f

fX - 8ATIAX (2.36)

Note that the matrix on the lefthand side is a 7x8 matrix, i.e. a non-rectangular matrix, and the equations cannot be solved for x, X and o . When the second time derivation of (2.24) is added to (2.36), one obtains:

M

0

0

0 0 4ATIA 2\ T 2X 0

x

X

X o ■

f

X X -T - • f - 8A IAX -2XTX (2.37)

Provided t h a t M~ and I~ e x i s t , t h i s m a t r i x on the l e f t i s a square m a t r i x and the s o l u t i o n for x, X and o becomes:

X

X

X o

=

4M_1

0

0

0 0 T 1 -A I -A 2X T 2X 0

f

X tK - 8ATIAX •T* -2X X (2.38)

These equations can be integrated numerically.

2.4.2 generalized stresses and equations of notion.

In order to describe the loading state of an element, a vector o of generalized forces is introduced. The forces a are those working in an element in the direction of the corresponding deformation parameters of that element. The space of generalized forces and the space of deformation parameters are dual spaces» The virtual power expressed in a and E is < o , £ > • With the continuity

equations (2.1) this can be written as:

<(f - f, ,, ) , x > = < o , E >; with E = DDx inertia

thus obtaining : <(f - f ) , x > - < a $ DDx >

ii.6rt 13

(41)

For the k i n e t o s t a t l c c a s e , the e q u a t i o n s of balance a r e :

f = DTD o ( 2 . 4 0 )

The r e l a t i o n between o" and e can be e s t a b l i s h e d by Hook's law defined by t h e l i n e a r t r a n s f o r m a t i o n :

S : E + S o r o = S e ( 2 . 4 1 )

For a prismatic beam element with the local coordinate axes chosen in such a way that they coincide with the principal axes, the stiffness matrix S takes the form: S 0 0 0 0 0 where S = EA/1, S„ 0 0 0 - 2 S4 3 0 0 0 0 0 0 4S 0 . - 2 S j

5

2

=

V

1

'

53 = EIy/l^. 54 " *\11 '

With E = elasticity modulus, A = cross section area, I and I second moments of inertia.

In the next part an example will be given for a mechanism modelled with and without flexibility of the elements as calculated by the program SPACAR.

2.5 Simulation example.

To illustrate the capabilities of the developed program based on the above theory, a simple manipulator with three degrees of freedom will be modelled, with prescribed mass and stiffness. The deviation in the position of the tip of the manipulator caused by vibrations and deformations is calculated. The trajectory of the tip of the robot arm, known as the tool center point, is described by prescribing the position, velocity profile of the tool center point (see figure 2.11). The input for the description of the mechanism is given in table 2.1. The manipulator moves from point A (0,1,1) to point B (1,0,0) in 1 second with a maximum velocity of 3.4 m/s, and a linear acceleration in 0.2 s, as illustrated in figure 2.11. The resulting positions of the driving hinges are stored (setpoint generation) and in a next run (simulation) the torsion of the hinges are the input motion, while the beam elements are given a dynamic

(42)

deformation. In this way the influence of the elasticity of the mechanism can be seen by plotting the position parameters of the tool center point during the first and second run and their difference. The course of the z-coordlnate and its velocity in z-dlrection is plotted during the setpolnt generation (rigid mechanism) in figure 2.12, while the same is shown in figure 2.13 during the elastic simulation.

In figure 2.14 the torsional moment of the 2nd hinge element (shoulder actuator) is shown for the rigid as well as for the flexible simulation, to show the influence of the elasticity on the actuator moment.

The Input for the simulation run together with a short explanation of the meaning of the keywords and their parameters is given in table 2.1.

-simulated trcjectory speed, rotated 90°

Figure 2.11 Simulation example with trajectory.

(43)

a . R i g i d m o t i o n b . E l a s t i c m o t i o n F i g u r e 2 . 1 4 Moment o f 2nd h i n g e . I n p u t f o r s e t p o i n t - g e n e r a t i o n : ( d e s c r i p t i o n ) HINGE 1 2 3 0 0 1 HINGE 2 3 4 0 1 0 BEAM 3 1 4 5 6 HINGE 4 6 7 0 1 0 BEAM 5 5 7 8 9 FIX 1 FIX 2

(hinge element-element number-group numbers of X - p a r a m e t e r s - d i r e c t i o n v e c t o r of r o t a t i o n - a x i s ) (beam element—element number—pos.parameter group

of xp, Xp, xq, Xq)

(44)

32 RLSE 1 1 RLSE 2 1 RLSE 4 1 INPUTX 8 X 1 O O O X 5 O O 1 X 8 1 O 1 END HALT XM 5 15 XM 8 15 END HALT TRAJECT 1 TRANS 0 - 1 0 TRT1ME 2 . 0 100 TRVMAX 8 0 . 2 1.5 END END

( E l e m e n t number 1, 2 and 4 have t h e i r f i r s t d e f o r m a t i o n p a r a m e t e r r e l e a s e d )

( G r o u p - n u m b e r 8 o f t h e p o s . p a r a m e t e r s i s i n p u t ) ( C a r t h . c o o r d i n a t e s of g r o u p number 1, 5 and 8 )

( e n d of k i n e m a t i c i n p u t b l o c k )

(Lumped mass of 15 kg i n n o d e 5 and 8 )

( e n d of d y n a m i c i n p u t b l o c k ) ( d e s c r i p t i o n of t r a j e c t o r y n r . 1) ( t r a n s l a t i o n t o c o o r d i n a t e s 0 - 1 0) ( t o t a l t r a j e c t o r y t i m e 2 s i n 100 s t e p s ) ( A c c e l e r a t i o n t i m e of node 8 i s 0 . 2 s and max. v e l o c i t y i s 1.5 s ) ( e n d of i n p u t ) I n p u t f o r d y n a m i c s i m u l a t i o n : K i n e m a t i c p a r t i d e n t i c a l u n t i l i n p u t - d e f i n i t i o n ;

(Of e l e m e n t number 1, 2 and 4 t h e f i r s t d e f o r m a t i o n p a r a m e t e r i s i n p u t )

INPUTE 1 1 INPUTE 2 1 INPUTE 4 1

DYNE 3 3 DYNE 3 4 DYNE 3 5 DYNE 3 6 ( d y n a m i c d e f o r m a t i o n - e l . n r . DYNE 5 3 DYNE 5 4 DYNE 5 5 DYNE 5 6 - d e f o r m a t i o n n r . )

END HALT ( e n d of k i n e m a t i c i n p u t b l o c k ) XM 5 15

XM 8 15

ESTIFE 3 « » 29000 29000 (Stiffness value of el. 3 and 5; normal stiffness, ESTIFF 5 » » 29000 29000 torsional stiffness and bending stiffness) END END (end of input)

Table 2.1 Keywords needed to control the kinematic and dynamic simulation program SPACAR.

(45)

CHAPTER 3: CONSTRUCTION.

In order to develop a testfacllity and a possibility to validate the elastic model which is to be integrated in the robot control to compensate the elastic deformations, an Industrial robot has been designed and built. Although attempts have been made to achieve this goal with a commercially available system, it proved to be difficult to find a supplier who was willing to disclose

information on both the control and the constructive details of the mechanical system. Since the aspect of the experience to be gained when designing a robot construction, which has to meet the specifications of available systems was a challenge in itself, a start was made to design a mechanical robot construction. The design is intended to be compatible with the commercially available

robotarras. In order to judge the effect of an elastic model integrated in the controller, the mechanism should have mechanical properties which are comparable to industrially produced robotarms. The feature added, compared to other

robotarms, will be the maintaining of absolute positioning accuracy under varying loads in the endeffector.

This chapter describes the process of the building of the machine from setting up the requirements to the mechanical completion of the system.

3.1 Introduction.

To distinguish an industrial robot from robot-like machines as pick-and-place units, tele-manipulators etc., the following definition of an industrial robot Is given by the Robot Institute of America:

An Industrial robot is an automatic manipulating system, free programmable in two or more axes, supplied with a gripper or tool, specifically designed for industrial use.

From a kinematical point of view, a robot can be seen as an open loop mechanism. It consists of a chain of links which are connected to each other either by a rotatory or translatory axis of movement. The primary axes of a robot are those axes used to position a point of the endeffector in space. The type of

kinematical structure of the three primary axes is used to define the type of the robot mechanism; a translational axis or degree of freedom is Indicated with a T, a rotational axis with an R. The secondary axes are those axes which are used to create a free programmable orientation of the endeffector in a position. Usually all rotational primary axes (except the base rotation) have a

(46)

kinematic conflguratIon degrees of freedom Schematic notation work-area

~Z-ir

cubic

ir

i?

c y l i n d r i c a l spherical

•_•.

7~^

torold , , C J scan»

-LC

Figure 3.1 Overview of robot configurations.

horizontal axis of rotation (see fig. 3.1). An exception of this global property is the structure of the so called SCARA-robot; the rotation axes of this

configuration are all placed vertically. An example of this configuration can be seen in figure 3.2. SCARA is an acronym for Selective Compliance Assembly Robot Arm, and this type of arm is specifically suited for assembly tasks requiring a

Figure 3.2 SCARA-configuration (Pana Robo).

vertical insertion. The structure is stiff in the direction of the gravitational forces and the servo stiffness in horizontal direction allows for compliance when misalignments ask for a positional correction. The development of this type of arm shows that it is important that deformation under varying loads is

avoided when assembling.

The application area for the robot to be designed is the assembly of medium-sized parts, with a maximum mass of 40 kg. This application area has been chosen rather large, in order to obtain a robot-system useful in testing a lot of applications in an area in which the laboratory for Automation of Production at the Delft Universtity of Technology is specialized.

After having made an inventory of the requirements, the mechanical

Cytaty

Powiązane dokumenty

That is why a contrastive analysis indicated differences in ways of categorizing semantic categories of colors existing in particular languages what stems from the

The average radius of a moving bead (tethered to dsDNA) does not reach the “theoretical” value which depends on the contour length of the DNA fragment.. This is due to the fact

Zapowiedziała także zorganizowanie kolejnej konferencji z cyklu Filozofi czne i naukowo–przyrodnicze elementy obrazu świata poświeconej współczesnym kontrowersjom wokół

(2009) International conference on ship maneuvering in shallow and confined water: bank effects8. In: 10th Symposium on naval hydrodynamics, Cambridge,

Mówią, że się to zaczęło od wielkich wojen, co tam się niegdyś odbywały, a w których wiele narodu zgi- nęło i dotąd to krew ludzka, choć z ziemią pomieszana, uspokoić

The main original aspect of the paper is the proposal of numerical detection of damage causes of large historical masonry structures, in nonlinear range, considering foundation

The thesis deals with the mathematical model of precision of the turning lathe by use of a variation method which will allow defining the factors which are most in-

Lewandowicz cytuje fragment listu Grzegorza RE I 50: „abyśmy posłali tam mnichów, ponieważ sama wyspa, która dotychczas nie miała klasztoru, także dzięki tej