SE454657B - PROCEDURE AND DEVICE FOR OPTIMAL CONTROL OF CONTROL PARAMETERS OF AN INDUSTRIAL ROBOT - Google Patents

PROCEDURE AND DEVICE FOR OPTIMAL CONTROL OF CONTROL PARAMETERS OF AN INDUSTRIAL ROBOT

Info

Publication number
SE454657B
SE454657B SE8604102A SE8604102A SE454657B SE 454657 B SE454657 B SE 454657B SE 8604102 A SE8604102 A SE 8604102A SE 8604102 A SE8604102 A SE 8604102A SE 454657 B SE454657 B SE 454657B
Authority
SE
Sweden
Prior art keywords
robot
shaft
acceleration
deceleration
calculated
Prior art date
Application number
SE8604102A
Other languages
Swedish (sv)
Other versions
SE8604102D0 (en
SE8604102L (en
Inventor
M Bergman
T Brogardh
S Jonsson
Original Assignee
Asea Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Asea Ab filed Critical Asea Ab
Priority to SE8604102A priority Critical patent/SE454657B/en
Publication of SE8604102D0 publication Critical patent/SE8604102D0/en
Priority to DE8787114012T priority patent/DE3782795T2/en
Priority to EP87114012A priority patent/EP0262600B1/en
Priority to JP62243539A priority patent/JPS63238602A/en
Priority to US07/102,516 priority patent/US4819184A/en
Publication of SE8604102L publication Critical patent/SE8604102L/en
Publication of SE454657B publication Critical patent/SE454657B/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/041Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a variable is automatically adjusted to optimise the performance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control

Landscapes

  • Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Robotics (AREA)
  • Medical Informatics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Description

454 657 2 gravitationen samt inverkan på axeln av rörelser i övriga axlar variera inom vida gränser i beroende av samtliga axlars aktuella lägen samt av massan av den av roboten burna lasten. Vid konstruktion och intrimning av varje axels lägesreglersystem måste reglerparametrarna begränsas så att snabb och stabil drift erhålles även i det ur reglersynpunkt mest ogynn- samma driftfallet. Detta medför att acceleration och retardation hos axelrörelsen i allmänhet kommer att ligga långt under de optimala värdena. 454 657 2 gravity and the effect on the axis of movements in other axes vary within wide limits depending on the current positions of all axles and by the mass of the load carried by the robot. When designing and trimming each axis' position control system, the control parameters must be limited so that fast and stable operation is obtained even in the most unfavorable from a regulatory point of view the same operating case. This causes acceleration and deceleration in the shaft movement will generally be well below the optimum values.

Detta medför i sin tur att tidsåtgången för en rörelse mellan två punkter kommer att bli onödigt lång, och speciellt gäller detta vid rörelser över korta sträckor. Vid många tillämpningar, t ex punktsvetsning och monte- ring, består robotens arbetsprogram av ett stort antal relativt korta rörelser. Den s k cykeltiden, dvs tiden för programmets genomförande, kommer speciellt för dessa tillämpningar att vara lång, vilket är en allvarlig ekonomisk och produktionsteknisk nackdel.This in turn means that the time required for a movement between two points will be unnecessarily long, and this is especially true for movements over short distances. In many applications, such as spot welding and assembly ring, the robot's work program consists of a large number of relatively short movements. The so-called cycle time, ie the time for the implementation of the program, will especially for these applications be long, which is one serious economic and production disadvantage.

REDOGÖRELSE FÖR UPPFINNINGEN Uppfinningen avser att åstadkomma ett förfarande och en anordning för styrning av en industrirobot, vid vilka cykeltiden kan nedbringas kraftigt i jämförelse med tidigare kända robotar. Uppfinningen avser vidare att åstadkomma ett förfarande och en anordning där dessa fördelar kan erhållas med måttlig beräkningskapacitet hos en i robotens styrutrustning ingående dator.DESCRIPTION OF THE INVENTION The invention intends to provide a method and an apparatus for control of an industrial robot, at which the cycle time can be greatly reduced in comparison with previously known robots. The invention further relates to provide a method and apparatus where these benefits can be obtained with moderate computing capacity of one of the robot's control equipment computer.

Vad som kännetecknar ett förfarande och en anordning enligt uppfinningen framgår av bifogade patentkrav.What characterizes a method and a device according to the invention appears from the appended claims.

FIGURBESKRIVNING Ett exempel på en utföringsform av uppfinningen skall nedan beskrivas i anslutning till bifogade figurer 1-8. Pig 1 visar schematiskt en industri- robot, hos vilken uppfinningen kan tillämpas. Fig 2 visar schematiskt uppbyggnaden av robotens styrsystem och dess anslutning till robotens manöverenhet och robotens drivmotorer. Fig 3 visar funktionen hos en robotaxels regulator. Fig 4 visar beräkningsgång och dataflöde vid ett förfarande och en anordning enligt uppfinningen. Fig 5 visar hur enligt en föredragen utföringsform beräkningarna av robotens rörelsedynamik görs under antagandet att massorna hos robotens rörliga delar och hos robotens last approximeras med ett antal diskreta punktmassor. Pig 6 visar struk- L. 3 454 657 turen av för uppfinningen relevanta delar av robotens datorutrustning. Fig 7 visar exempel på hur enligt uppfinningen tiden för en rörelse mellan två punkter kan förkortas. Fig 8 visar i generell form de ingående funktio- nerna vid ett förfarande eller en robot enligt uppfinningen.DESCRIPTION OF FIGURES An example of an embodiment of the invention will be described below in connection to the attached figures 1-8. Fig. 1 schematically shows an industrial robot, to which the invention can be applied. Fig. 2 shows schematically the structure of the robot's control system and its connection to the robot's control unit and the robot's drive motors. Fig. 3 shows the function of a robot axis regulator. Fig. 4 shows calculation calculation and data flow at one method and a device according to the invention. Fig. 5 shows how according to a preferred embodiment the calculations of the robot's motion dynamics are made assuming that the masses of the moving parts of the robot and of the robot load is approximated by a number of discrete point masses. Fig. 6 shows structural L. 3 454 657 parts of the robot's computer equipment relevant to the invention. FIG 7 shows examples of how according to the invention the time for a movement between two points can be abbreviated. Fig. 8 shows in general form the included functions. in a method or a robot according to the invention.

BESKRIVNING Av uTFöRINcsaxanæEL Fig 1 visar schematiskt en industrirobot vid vilken uppfinningen kan till- lämpas. Robotens mekaniska del 1 innefattar en basplatta 11, vilken kan vara fast anbringad på ett golv eller annat underlag. En pelare 12 är vridbar runt en vertikal axel. En underarm 13 är vridbar runt en horison- tell axel genom pelarens 12 övre del. En överarm 14 är vridbar runt en horisontell axel genom underarmens 13 yttre ände. Överarmen lß består av två delar, läa och lfib, där delen lüb är vridbar relativt delen lüa runt en axel som sammanfaller med armens 14 längdaxel. Armen 14 uppbär en robothand 15, vilken är vridbar runt en axel genom armens 14 yttre ände.DESCRIPTION OF THE EXECUTION Fig. 1 schematically shows an industrial robot in which the invention can be suitable. The mechanical part 1 of the robot comprises a base plate 11, which can be firmly attached to a floor or other surface. A pillar 12 is rotatable around a vertical axis. A forearm 13 is rotatable about a horizontal count axis through the upper part of the column 12. An upper arm 14 is rotatable about one horizontal axis through the outer end of the forearm 13. The upper arm lß consists of two parts, läa and l fi b, where the part lüb is rotatable relative to the part lüa around an axis coinciding with the longitudinal axis of the arm 14. Arm 14 carries one robot hand 15, which is rotatable about an axis through the outer end of the arm 14.

Robothanden består av två delar, l5a och l5b, där delen l5b är vridbar i förhållande till delen 15a runt en med handens längsaxel sammanfallande axel. Handens ytterdel 15b uppbär ett gripdon 16, vilket i sin tur uppbär ett föremål L. Robothanden 15 kan alternativt eller dessutom, beroende på tillämpningsområde, uppbära ett arbetsverktyg, t ex en skruvdragare, en punktsvetsutrustning eller en färgspruta.The robot hand consists of two parts, l5a and l5b, where the part l5b is rotatable relative to the part 15a around a coincidence with the longitudinal axis of the hand shoulder. The outer part 15b of the hand carries a gripper 16, which in turn carries an object L. The robot hand 15 may alternatively or additionally, depending on scope, carry a work tool, such as a screwdriver, a spot welding equipment or a spray gun.

Industrirobotens styrenhet 2 innehåller matningsdon för erforderliga elektriska spänningar, drivdon för drivmotorerna i de olika robotaxlarna, en datorutrustning för utförande av de beräkningar, logiska beslut etc som erfordras för styrning av roboten under programmering och drift, ett pro- gramminne för inlagring av koordinaterna för ett antal lägen som bestämmer robotens rörelse och robothandens orientering under automatisk drift och för inlagring av de instruktioner som roboten programmeras att verkställa i de olika lägena. Styrenheten innehåller vidare erforderliga kommunika- tionsenheter, digital-analogomvandlare etc.The control unit 2 of the industrial robot contains power supplies for the required electrical voltages, drives for the drive motors in the various robot shafts, a computer equipment for performing the calculations, logical decisions, etc required for controlling the robot during programming and operation, a gram memory for storing the coordinates of a number of determining positions the movement of the robot and the orientation of the robot hand during automatic operation and for storing the instructions that the robot is programmed to execute in the different modes. The control unit also contains the necessary communication units, digital-to-analog converters, etc.

Industriroboten har vidare en manöverenhet 3 i huvudsak avsedd för betjä- ning av roboten under programmeringsfasen. Enheten är försedd med en styr- spak 31, vilken är rörlig i tre frihetsgrader och med vars hjälp robot- handens läge och orientering kan styras under programmeringen. Manöver- enheten har vidare en presentationsenhet 32 samt ett antal manöverknappar 33 för inmatning av instruktioner, kommandon, numeriska data etc. 454 657 “ Styrenheten 2 är förbunden med den mekaniska delen 1 och med manöver- enheten 3 med hjälp av elektriska kablar.The industrial robot further has a control unit 3 mainly intended for operating of the robot during the programming phase. The unit is equipped with a control lever 31, which is movable in three degrees of freedom and by means of which hand position and orientation can be controlled during programming. Operating the unit further has a presentation unit 32 and a number of control buttons 33 for entering instructions, commands, numeric data, etc. 454 657 “ The control unit 2 is connected to the mechanical part 1 and to the operating unit 3 using electrical cables.

Fig 2 visar schematiskt vissa av de i styrenheten 2 ingående enheterna och deras förbindelser till den mekaniska delen och till manöverenheten. Styr- enheten innefattar en databuss 26, med vars hjälp enheterna 21-ZÄ står i förbindelse med varandra. Manöverenheten 3 är ansluten till databussen via en interfaceenhet 21. Vidare är en datorutrustning 22 förbunden med data- bussen. Datorutrustningen styr roboten under programmeringsfasen och under automatisk drift och verkställer för styrningen erforderliga beräkningar, exempelvis på i och för sig känt sätt interpolationen av ett antal mellan- lägen melllan varje par av inprogrammerade lägen. Datorutrustningen verk- ställer även de beräkningar som enligt uppfinningen företas för styrning av axelregulatorernas parametrar.Fig. 2 schematically shows some of the units included in the control unit 2 and their connections to the mechanical part and to the control unit. Steering the unit comprises a data bus 26, by means of which the units 21-ZÄ are in connection with each other. The control unit 3 is connected to the data bus via an interface unit 21. Furthermore, a computer equipment 22 is connected to the buses. The computer equipment controls the robot during the programming phase and during automatic operation and performs the necessary calculations for the control, for example, in a manner known per se, the interpolation of a number of intermediate modes between each pair of programmed modes. The computer equipment also sets the calculations that according to the invention are performed for control of the parameters of the shaft regulators.

Till databussen är vidare anslutet ett minne 23. I minnet finns en gång för alla inlagrade de för styrning av roboten erforderliga generella programmen. Vidare lagras vid programmeringen av roboten i minnet koordi- naterna för de punkter som definierar robotens önskade rörelse och orientering under automatisk drift. I minnet lagras vidare de data som enligt den följande beskrivningen erfordras för parameterstyrningen enligt uppfinningen.A memory 23 is also connected to the data bus. The memory has a memory for all stored the general for the control of the robot programs. Furthermore, during the programming of the robot, the coordinates are stored in the memory. the points defining the desired motion of the robot and orientation during automatic operation. The data such as according to the following description is required for the parameter control according to the invention.

Enheterna 22 och 23 anger endast funktioner, och de båda enheterna behöver ej vara fysiskt separerade. Datorutrustningen kan vidare vara uppdelad på en eller flera datorer och på ett eller flera minnen.Units 22 and 23 indicate only functions, and both units need not be physically separated. The computer equipment can further be divided into one or more computers and on one or more memories.

I fig 2 visas drivutrustningen för en av robotens axlar och den till denna axel hörande specifika styrutrustningen. Robotaxeln har en drivmotor M0, vilken driver rörelsen i axeln, och till vilken är kopplad en resolver RE och en tachometergenerator TG. Motorn MO kan exempelvis vara en växel- strömsmotor, vilken matas från ett drivdon 25, som kan utgöras av en pulsbreddmodulerad växelriktare. Drivdonet avger då en växelspänning vars frekvens, amplitud och fasläge styrs av styrenhetens datorutrustning via ett interface Zfl på sådant sätt att önskat motormoment erhålles i varje ögonblick. Alternativt kan drivmotorn utgöras av en likströmsmotor, varvid 5 454 657 den motorns arbetslindning tillförda likströmmen styrs av drivdonet 25. vilket då exempelvis kan vara en styrbar likriktare eller en likspännings- omvandlare.Fig. 2 shows the drive equipment for one of the robot's shafts and the one for it shaft belonging to the specific control equipment. The robot shaft has a drive motor M0, which drives the movement in the shaft, and to which is connected a resolver RE and a tachometer generator TG. The motor MO can, for example, be a gear current motor, which is fed from a drive 25, which may be a pulse width modulated inverter. The drive then emits an alternating voltage whose frequency, amplitude and phase position are controlled by the control unit's computer equipment via an interface Z fl in such a way that the desired motor torque is obtained in each moment. Alternatively, the drive motor may be a DC motor, wherein 5,454,657 the direct current supplied to the working wind of the motor is controlled by the drive 25. which can then, for example, be a controllable rectifier or a DC voltage converter.

En resolver RE är mekaniskt kopplad till motoraxeln och avger en signal 6 som är ett mått på den momentana vridningen i robotaxeln relativt ett nolläge (synkroniseringsläge). Vidare kan en tachometergenerator TG vara mekaniskt kopplad till robotaxeln och avge en signal é som utgör ett mått på den aktuella rotationshastigheten i axeln i fråga. I andra utförings- former kan rotationshastigheten beräknas ur resolversignalen. Interface- enheten 24 innehåller erforderlig matningsutrustning för resolvern samt erforderliga omvandlare för omvandling till digital form av signalerna från resolvern och tachometergenertorn.A resolver RE is mechanically coupled to the motor shaft and emits a signal 6 which is a measure of the instantaneous rotation of the robot axis relative to one zero mode (synchronization mode). Furthermore, a tachometer generator TG can be mechanically coupled to the robot shaft and emit a signal é which is a measure at the current rotational speed of the shaft in question. In other embodiments shapes, the rotational speed can be calculated from the resolver signal. Interface- the unit 24 contains the required supply equipment for the resolver as well required converters for conversion to digital form of the signals from the resolver and tachometer generator tower.

I fig 2 har för enkelhets skull endast utrustningen för en enda av robo- tens axlar visats. Driv- och styrutrustningen (ZÄ, 25, 1) för de övriga axlarna är utformade på samma sätt som den i fig 2 visade, varvid digital och analog multiplexing av signaler göres.In Fig. 2, for simplicity, only the equipment for a single of the robots tens axes shown. The drive and control equipment (ZÄ, 25, 1) for the others the axes are designed in the same way as that shown in Fig. 2, digital and analog multiplexing of signals is done.

Fig 3 visar utformningen av lägesreglersystemet för robotaxeln. De inom rutan 22 + 23 + ZÄ visade funktionerna utförs av robotdatorn. men beskrivs i det följande för enkelhets skull som om funktionerna utfördes av hård- varukretsar.Fig. 3 shows the design of the position control system for the robot shaft. Those within box 22 + 23 + ZÄ displayed functions are performed by the robot computer. but described in the following for the sake of simplicity as if the functions were performed by product circles.

En interpolator IP interpolerar fram ett antal lägen och handledsrikt- ningar mellan varje par av i programmet lagrade lägen och riktningar. De framinterpolerade lägena och riktningarna är uttryckta i robotens bas- koordinatsystem och transformeras till koordinater i robotens axelsystem, och matas i form av lägesbörvärden (vinkelbörvärden) till de olika axlar- nas lägesregulatorer. Det för en axel erhållna lägesbörvärdet betecknas med Gr. I en summeringskrets S1 jämförs börvärdet med det från resolvern RE erhållna ärvärdet 6. Skillnaden tillförs en lägesregulator PR. Denna kan vara en ren proportionell regulator, och i så fall matas lämpligen lägesbörvärdena in till lägesregulatorn i en sådan takt att axelläget 6 under acceleration och retardation följer ett paraboliskt förlopp i bero- ende av tiden, och detta pà sådant sätt att accelerationen respektive retardationen är konstanta. Alternativt kan lägesregulatorn vara försedd med en parabolisk förstärkningsfunktion så avpassad att regulatorns ut- signal är en parabolisk funktion av dess insignal. Även härigenom 454 657 s erhålles konstant acceleration (strömgräns) respektive retardation (reglerad linjär hastighetsramp) hos robotrörelsen. Lägesregulatorns förstärkning Kp är varierbar och styrs på det sätt som nedan skall beskrivas.An IP interpolator interpolates a number of positions and wrist directions. between each pair of positions and directions stored in the program. The forward interpolated positions and directions are expressed in the base of the robot. coordinate system and transformed into coordinates in the robot's axis system, and are fed in the form of position setpoints (angular setpoints) to the different axis position regulators. The position setpoint obtained for an axis is denoted with Gr. In a summing circuit S1, the setpoint is compared with that of the resolver RE obtained the actual value 6. The difference is added to a position controller PR. This can be a pure proportional regulator, in which case it is fed appropriately the position setpoints into the position controller at such a rate that the shaft position 6 during acceleration and deceleration follows a parabolic course in dependence of time, and this in such a way that the acceleration respectively the deceleration is constant. Alternatively, the position controller can be equipped with a parabolic amplification function so adapted that the signal is a parabolic function of its input signal. Also through this 454 657 s constant acceleration (current limit) and deceleration are obtained (regulated linear speed ramp) of the robot movement. The position controller reinforcement Kp is variable and controlled in the manner below described.

Lägesregulatorns utsignal år utgör systemets hastighetsbörvarde och jäm- förs i summatorn S2 med det från tachometergeneratorn TG erhållna hastig- hetsärvärdet é (alternativt med det från resolversignalen beräknade hastighetsvärdet å). Felsignalen tillförs en hastighetsregulator VR, vars förstärkning Kv kan vara konstant eller varierbar (se nedan). Hastighets- regulatorns utsignal utgör strömreferensen Ir för drivdonet 25. Ström- referensen jämförs i en summator S3 med det från ett mätdon IM erhållna ärvärdet I hos motorströmmen. Avvikelsen mellan strömmarna styr drivdonets 25 spänning på sådant sätt att motorströmmen kommer att följa börvärdet Ir.The output signal of the position controller is the system speed load and is fed into the summator S2 at the speed obtained from the tachometer generator TG. the unit value é (alternatively with that calculated from the resolver signal the speed value å). The error signal is applied to a speed controller VR, whose gain Kv can be constant or variable (see below). Speed the output signal of the controller constitutes the current reference Ir for the drive 25. the reference is compared in a summator S3 with that obtained from a measuring device IM the actual value I of the motor current. The deviation between the currents controls the drive Voltage in such a way that the motor current will follow the setpoint Ir.

Fig 4 visar schematiskt beräknings- och beslutsförloppet för bestämning och inställning av lägesregulatorns PR förstärkning. I blocket MODEL beräknas för robotens olika axlar (i är ett index som är 1 för axel 1, 2 för axel 2 etc) axlarnas masströghetsmoment Ji, de kopplade tröghets- momenten Jij mellan axlarna (Jij är det kopplade tröghetsmomentet mellan axeln i och axeln j) samt de av gravitationen orsakade momenten Mgi.Fig. 4 schematically shows the calculation and decision process for determination and setting the position control's PR gain. In the block MODEL is calculated for the different axes of the robot (i is an index that is 1 for axis 1, 2 for shaft 2, etc.) the mass moment of inertia Ji of the axes, the coupled inertia the moments Jij between the shoulders (Jij is the coupled moment of inertia between the axis i and the axis j) and the moments Mgi caused by gravity.

Beräkningen görs på sätt som nedan närmare skall beskrivas i beroende av de olika axlarnas lägen ei, vridningshastigheter êi samt av massan mL hos den av roboten för tillfället burna lasten L. Beräkningen görs med hjälp av en på förhand uppställda matematisk modell, vilken kan vara mer eller mindre approximativ beroende på robotmekanik och tillgänglig processorkapacitet.The calculation is made in a way that will be described in more detail below depending on the positions of the different axes ei, rotational speeds êi and of the mass mL at the load L. currently carried by the robot. The calculation is made with using a pre-set mathematical model, which can be more or less approximate depending on robotic mechanics and available processor capacity.

I blocket PARCALC finns ett ekvationssystem uppställt, vilket för varje robotaxel anger sambandet mellan acceleration, motormoment, friktions- moment, gravitationsmoment, masströghetsmoment, kopplade masströghets- moment samt rörelseriktning. Information om rörelseriktningen erhålles från blocket MON, vars utsignal SGN(éi) anger rörelseriktningen i axeln.In the block PARCALC there is an equation system set up, which for each robot shaft indicates the relationship between acceleration, engine torque, friction moments, gravitational moments, mass inertia moments, coupled mass inertia moment and direction of movement. Information about the direction of movement is obtained from the block MON, whose output signal SGN (éi) indicates the direction of movement in the axis.

Ekvationssystemet löses under antagande av maximalt tillgängligt motormoment i varje axel och som resultat erhålles för varje axel dess maximalt tillgängliga acceleration Iëil under det ovan angivna antagandet. För varje axel jämförs det sistnämnda värdet med den för axeln maximala acceleration/retardation som kan tillåtas med bibehållande av 454 657 tillfredsställande regleregenskaper. Det av de båda jämförda värdena som har det lägre absolutvärdet används för inställning av lägesregulatorns förstärkning Kpi.The system of equations is solved assuming the maximum available motor torque in each axle and as a result is obtained for each axle thereof maximum available acceleration Iëil below the above the assumption. For each axis, the latter value is compared with that for the axis maximum acceleration / deceleration that can be allowed while maintaining 454 657 satisfactory regulatory characteristics. That of the two compared values as has the lower absolute value used for setting the position controller reinforcement Kpi.

Eftersom de dynamiska beräkningarna måste utföras i realtid är det väsentligt att man väljer en lämplig matematisk modell för robotens mekaniska egenskaper. Om inte en lämplig matematisk modell väljs kommer nämligen beräkningsvolymen att bli så stor att det blir svårt eller omöjligt att utföra den med rimliga insatser av datorkapacitet. Det är vidare lämpligt att den med nödvändighet approximativa modellen väljs på ett sådant sätt att den enkelt kan kompletteras för att öka dess noggrannhet. Den bör vidare vara sådan att den utan omfattande modifikationer kan användas för att beskriva nya robotstrukturer.Because the dynamic calculations must be performed in real time, it is It is essential that you choose a suitable mathematical model for the robot mechanical characteristics. Unless a suitable mathematical model is selected, it will namely, the calculation volume to become so large that it becomes difficult or impossible to perform it with reasonable efforts of computer capacity. It is further appropriate that the necessarily approximate model be selected on in such a way that it can be easily supplemented to increase its accuracy. Furthermore, it should be such that it without extensive modifications can be used to describe new robotic structures.

Nedan skall en matematisk modell beskrivas där dessa fördelaktiga egenskaper har uppnåtts genom lämpligt val av approximationer. Den första approximationen består i att fysikaliska fenomen av mindre inflytande i det aktuella fallet, såsom t ex centripetalkrafter. har försummats. Den andra approximationen består i att robotens mekaniska egenskaper i huvudsak har beskrivits med hjälp av punktmassor på det sätt som nedan skall beskrivas i anslutning till fig 5. Den tredje approximationen består i valet av lämpliga geometriska approximationer för att beskriva punktmassornas lägen som funktioner av aktuell robotkonfiguration, Fig 5 visar schematiskt robotens olika delar, vilka har samma beteckningar som i fig 1. Rörelserna i samtliga robotaxlar består av rotationer, och ei (i = 1. 2 ... 6) betecknar varje axels läge (vridningsvinkel relativt ett synkroniserings- eller referensläge). De valda punktmassorna betecknas med ml-m9. Massorna ml, mä och m7 används för beräkning av de moment som alstras av gravitationens inverkan på axlarna 2-6 från armarna 13 och 14, handen 16 och lasten L. Massan m2 används för beräkning av masströgheten hos armen 13, massorna m3 och m5 används för beräkning av masströgheterna hos armdelarna 14a och lüb, och massorna m8 och m9 används för beräkning av masströgheten hos lasten L. Genom denna relativt enkla modell kan genom lämpligt val av punktmassornas storlekar och lägen en god approximation erhållas av den aktuella robotens dynamiska egenskaper.Below, a mathematical model will be described where these are advantageous properties have been achieved by appropriate choice of approximations. The first the approximation consists in that physical phenomena of less influence in the current case, such as centripetal forces. has been neglected. The the second approximation consists in that the mechanical properties of the robot in have been mainly described using point masses in the manner below will be described in connection with Fig. 5. The third approximation remains in the selection of appropriate geometric approximations to describe the positions of the point masses as functions of the current robot configuration, Fig. 5 schematically shows the different parts of the robot, which have the same designations as in Fig. 1. The movements in all robot axes consist of rotations, and ei (i = 1. 2 ... 6) denotes the position of each axis (angle of rotation relative a synchronization or reference mode). The selected point masses are denoted with ml-m9. The masses ml, mä and m7 are used to calculate the moments generated by the effect of gravity on the axes 2-6 from the arms 13 and 14, hand 16 and load L. The mass m2 is used to calculate the mass inertia of the arm 13, the masses m3 and m5 are used for calculating the mass inertia of the arm parts 14a and lüb, and the masses m8 and m9 are used for calculation of the mass inertia of the load L. Through this relatively simple model can through appropriate choice of the sizes and positions of the point masses a good approximation obtained by the dynamic properties of the current robot.

Kopplade masströgheten beräknas antingen ur masströghetsmassorna eller gravitationsmassorna i beroende av axeltransmissionernas utförande. T ex 454 657 8 användes gravitationsmassorna för den kopplade masströgheten mellan axel 2 och 3 på grund av parallellstagstransmission hos axel 3 medan t ex kopplad masströghet mellan axel 5 och 6 beräknas med masströghetsmassorna.Coupled mass inertia is calculated either from the mass inertia masses or the gravitational masses depending on the design of the shaft transmissions. Ex 454 657 8 the gravitational masses were used for the coupled mass inertia between axis 2 and 3 due to parallel bracket transmission of shaft 3 while e.g. coupled mass inertia between axes 5 and 6 is calculated with the mass inertia masses.

Massan m6 är en tilläggsmassa som används för beräkning av gravitations- moment och masströghet orsakade av en eventuell, av armen lä uppburen extra belastning (exempelvis en rulle svetstràd eller ett strömmatnings- aggregat för en punktsvetstâng). I och med att den matematiska modellen sålunda är vald kan de ekvationer som beskriver robotens dynamik uppställas ur kända mekaniska samband. Som ett exempel visas nedan uttrycken för axelns 3 masströghet J3 och för det av gravitationens inverkan på axeln 3 orsakade momentet Mg3: J = J + m - (1 2 2 2 3 33) + ms _ (135) + m6 . (136) + . + . _ 2 > *m7 (Las. 157 “Sms 93" U Mg3 = mq - g - l3u - sin(e3 + esu) + m6 - g - 136 - sin(e3 + 936) + * m1 ' g ' (Las ' sinæa) * 157 ' “mas " 63) ' °°S°3 ' - l - sin(6 57 'e ) . Cggeu) (2) 5 3 där Ji: total masströghet hos axel i Jio: tröghetsmoment hos motor och växel i axel i mi: punktmassans i massa lij: avståndet mellan axel i och punktmassan j Lij: avståndet mellan axel i och axel j ei: läge (vinkel) hos axel i Mgi: gravitationsmoment på axel i g: gravitationskonstanten Qij: läget hos punktmassan j uttryckt som vinkelläge relativt axel i 454 657% Följande geometriska approximationer har härvid gjorts: Avståndet från handledskoordinatsystemets x-axel hos den punktmassa som representerar lasten har försummats Lastens masströghet har beräknats med användande av gravitations- massan i stället för de ekvivalenta tröghetsmassorna Inflytandet på axel U i de fall då läget i axel 5 avviker från referensläget har försummats.The mass m6 is an additional mass used for calculating the gravitational torque and mass inertia caused by a possible, supported by the arm extra load (for example, a roll of welding wire or a power supply unit for a spot welding rod). Due to the mathematical model thus selected are the equations that describe the dynamics of the robot set up from known mechanical connections. As an example is shown below the expressions of the mass inertia J3 of the axis 3 and of that of gravity impact on the shaft 3 caused the moment Mg3: J = J + m - (1 2 2 2 3 33) + ms _ (135) + m6. (136) + . +. _ 2> * m7 (Las. 157 "Sms 93" U Mg3 = mq - g - l3u - sin (e3 + esu) + m6 - g - 136 - sin (e3 + 936) + * m1 'g' (Las 'sinæa) * 157' "mas" 63) '°° S ° 3' - l - sin (6 57 'e ). Cggeu) (2) 5 3 where Ji: total mass inertia of shoulder i Jio: moment of inertia of motor and gear in shaft in mi: point mass in mass lij: the distance between the axis i and the point mass j Lij: the distance between axis i and axis j ei: position (angle) of axis i Mgi: gravitational moment on axis i g: the gravitational constant Qij: the position of the point mass j expressed as the angular position relative to the axis i 454 657% The following geometric approximations have been made: The distance from the x-axis of the wrist coordinate system of that point mass representing the load has been neglected The mass inertia of the load has been calculated using gravitational mass instead of the equivalent inertia masses The influence on axis U in cases where the position in axis 5 deviates from the reference mode has been neglected.

Eftersom axlarna påverkar varandra mäste samband uppställas som anger kopplingen mellan de olika axlarna. Som ett exempel visas det uttryck som anger den kopplade masströgheten J65 mellan axlarna 5 och 6: = "' m8 ' ' ' + ' COS(658) ' Sin(e6 4* "' _ . _ . . . (3) m9 169 (G65 169 + 159 cos(659) sin(e6 + 969)) där Jij: den kopplade masströgheten mellan axlarna i och j Gij: utväxlingsförhàllandet mellan axlarna i och j.Since the axes affect each other, connections must be set up as indicated the coupling between the different axes. As an example, the expression as indicates the coupled mass inertia J65 between the axes 5 and 6: = "'m8' '' + 'COS (658)' Sin (e6 4 *" ' _. _. . . (3) m9 169 (G65 169 + 159 cos (659) sin (e6 + 969)) where Jij: the coupled mass inertia between the axes i and j Gij: the gear ratio between the axes i and j.

När masströghet. gravitationsmoment och kopplad masströghet har beräknats kan dessa parametrar användas för att uppdatera de dynamiska ekvationer som kan uppställas för varje axel: J.'e'.=M:F_+M.+Z .L-ë W 1 1 där ëi och ëj: accelerationen hos axel i resp axel J Mi: motormoment hos axel i Fi: friktionsmoment hos axel i. .inn 454 657 1° Vid uppställande av det ovan beskrivna ekvationssystemet som beskriver axlarnas dynamik har det antagits att robotens olika delar är styva och saknar glapp. vilket ger en modell som är tillfredsställande för bestämning av de reglerparametrar som ger optimal acceleration respektive retardation. Givetvis kan, om så anses motiverat, modellen förfinas genom att exempelvis ta hänsyn till elasticitet och befintliga glapp.When mass inertia. gravitational moment and coupled mass inertia have been calculated these parameters can be used to update the dynamic equations which can be set up for each axis: J.'e '. = M: F_ + M. + Z .L-ë W 1 1 where ëi and ëj: the acceleration of axis i and axis J respectively Mi: motor torque of shaft i Fi: friction torque of shaft i. .inn 454 657 1 ° When setting up the above-described equation system that describes the dynamics of the shoulders, it has been assumed that the different parts of the robot are stiff and lacks gaps. which provides a model that is satisfactory for determination of the control parameters that provide optimal acceleration respectively retardation. Of course, if justified, the model can be refined by to take into account, for example, elasticity and existing gaps.

Den önskade optimala accelerationen respektive retardationen i varje axel kan som ovan nämnts erhållas på två olika sätt. Enligt det första kan lägesregulatorn PR anordnas med en parabolisk överföringsfunktion och enligt det andra sättet kan lägesreferensen er beräknas på sådant sätt att läget vid acceleration och retardation följer ett paraboliskt förlopp som funktion av tiden. Uppfinningen anger ett förfarande som kan användas för båda dessa alternativa utformningar av lägesregleringen. Den följande delen av förfarandet består av två steg.The desired optimal acceleration and deceleration in each axis as mentioned above can be obtained in two different ways. According to the first can the position controller PR is arranged with a parabolic transfer function and according to the second method, the position reference can be calculated in such a way that the state of acceleration and deceleration follows a parabolic course as a function of time. The invention provides a method that can be used for both of these alternative designs of position control. The following the part of the procedure consists of two steps.

I det första steget beräknas de maximala accelerations- och retardations- värden vilka erhålles under antagandet av att maximalt tillgängligt motormoment användes i varje axel. För varje axel används därvid det ovan uppställda dynamiska sambandet (ekvation 4). Ett ekvationssystem uppställes därvid för accelerationsfallet. där ekvation 4 får följande form: Ji' 'esfl = HMimaX' ' Fi' * "gi ' Scmeir) " + X Jji - |e¿| - sameir) - scmejr) (s) 3.1 där lëilz maximalt möjligt accelerationsvärde Mimax: maximalt tillgängligt motormoment (êir): hastighetsreferens +l om éirš 0 ~ SGN(åir) = -1 om èir < 0 H 454 657 Vid retardation kan ekvation 4 skrivas på följande sätt: IlMimaxl + Fil ' -M -ssN(éi) + I J -|ë (6) 31 I - soN(ài) - scN(é jfii si 1 1) där êi: hastighetens ärvärde +1 om éi L 0 scmëi) = -1 om ëi < O De båda sålunda uppställda ekvationssystemen för acceleration respektive retardation kan lösas, varigenom maximalt uppnåeliga absolutvärden hos acceleration respektive retardation erhålles för de olika axlarna. Som ett exempel anges nedan det sålunda erhållna uttrycket för retardationen hos axel 2 under antagandet av att den enda till axel 2 kopplade trögheten härrör från axel 3: lëzi = {1|M2max| + FZ: - Mgz - scruéz) + 132- (lzn3maxz + + F31 - sençéß) - MSS) . scN(è2) / J3 } / (az - J23 - J23/J3> Med hjälp av det nu beskrivna förfarandet kommer Iëil att kontinuerligt uppdateras enligt de uttryck för de olika axlarna som motsvarar ekvation 7 ovan. Eftersom bade Ji, Mgi och Jij beror på de olika axlarnas lägen kommer lëil att i varje ögonblick bero av den aktuella robotkonfigurationen.In the first step, the maximum acceleration and deceleration values which are obtained assuming that the maximum available engine torque was used in each axle. For each shaft, the above is used set up the dynamic relationship (Equation 4). An equation system is then set up for the acceleration case. where Equation 4 gets the following form: Ji '' es fl = HMimaX '' Fi '* "gi' Scmeir)" + X Jji - | e¿ | - sameir) - scmejr) (s) 3.1 where lëilz maximum possible acceleration value Mimax: maximum available motor torque (honor): speed reference + l om éirš 0 ~ SGN (years) = -1 om èir <0 H 454 657 When decelerating, Equation 4 can be written as follows: IlMimaxl + Fil ' -M -ssN (éi) + I J - | ë (6) 31 I - soN (ài) - scN (é j fi i si 1 1) where êi: the actual value of the speed +1 om éi L 0 scmëi) = -1 om ëi <O The two equation systems thus set up for acceleration and deceleration can be solved, whereby maximum achievable absolute values of acceleration and deceleration, respectively, are obtained for the different axes. Like one example is given below the expression thus obtained for the deceleration of axis 2 assuming that the sole inertia coupled to axis 2 derives from axis 3: lëzi = {1 | M2max | + FZ: - Mgz - screw) + 132- (lzn3maxz + + F31 - sençéß) - MSS). scN (è2) / J3} / (az - J23 - J23 / J3> Using the procedure now described, Iëil will be continuous updated according to the expressions for the different axes corresponding to equation 7 above. Because both Ji, Mgi and Jij depend on the positions of the different axes will lëil to at any moment depend on the current the robot configuration.

För höga beräknade värden pà absolutvärdet lëil kommer eventuellt i vissa fall lägesregulatorernas regleregenskaper inte att vara tillfredsställande, och därför görs enligt det andra steget i förfarandet ett val enligt följande: 454 657 12 lëileflun {|ë1|. |ë1|max} (a) där Iëilc: det accelerations-/retardationsvärde som användes vid den följande inställningen av reglerparameter. lëil: det enligt ekvationerna exemplifierade av ekvation 7 ovan beräknade accelerations-/retardationsvärdet iëilmaxz det under bibehållande av tillfredsställande regleregenskaper maximalt möjliga accelerations-/retardationsvärdet.Excessively calculated values of the absolute value lëil may come in in some cases the control properties of the position controllers may not be satisfactory, and therefore done according to the second step of the procedure a choice as follows: 454 657 12 lëile fl un {| ë1 |. | ë1 | max} (a) where Iëilc: the acceleration / deceleration value used in it following the setting of control parameters. lëil: that according to the equations exemplified by equation 7 above calculated acceleration / deceleration value iëilmaxz it while maintaining satisfactory regulatory properties maximum possible acceleration / deceleration value.

Värdet Iëilmax beror av masströgheterna och av intrimningen av läges- och hastighetsregulatorerna (se fig 3). lëilmax bestämmes lämpligen experimentellt, eller med hjälp av simuleringar, som funktioner av masströgheterna.The value Iëilmax depends on the mass inertia and on the tuning of the position and the speed controllers (see Fig. 3). lëilmax is suitably determined experimentally, or using simulations, as functions of mass inertia.

När det optimala accelerations-/retardationsvärdet har bestämts i enlighet med ekvation 8 ovan kan reglerparametrarna instållas för att ge , reglerprestanda i enlighet med det enligt ekvation 8 bestämda värdet. Hur detta görs beror på vilket av de båda ovan nämnda alternativa reglerförfarandena som används.When the optimal acceleration / deceleration value has been determined accordingly with Equation 8 above, the control parameters can be set to give, control performance in accordance with the value determined according to equation 8. How this is done depending on which of the two above mentioned alternatives the regulatory procedures used.

I det fall lägesregulatorn PR har en parabolisk förstärkningsfunktion kan hastighetsreferensen åir skrivas som: . ff 1 (c - Kpi - es - Kp - eeo S) /n; Sir > Gi if <9) offs 1/n - (c - Kpi - ee - Kp - ee ) : 61 > Bir där ee är lägesregulatorns eftersläpning (felsignal) n är en konstant z 2 454 657 13 Kpi är en proportionalitetskonatant (lägesregulatorns förstärkning) c är en parabelkonstant offs e 6 är en offsetsignal.In case the position controller PR has a parabolic amplification function can the speed reference is written as: . ff 1 (c - Kpi - es - Kp - eeo S) / n; Sir> Gi if <9) offs 1 / n - (c - Kpi - ee - Kp - ee): 61> Bir where ee is the position controller lag (error signal) n is a constant z 2 454 657 13 Kpi is a proportionality component (reinforcement of the position controller) c is a parabola constant offs e 6 is an offset signal.

Parameteroptimeringen kan nu göras som en justering av Kpi enligt följande uttryck: Kp: = Fuëuc. éi. än) (10) där F är en kontinuerlig funktion som kan härledas ur den icke linjära lägesregulatorns karakteristik.The parameter optimization can now be done as an adjustment of Kpi as follows expression: Kp: = Fuëuc. éi. than) (10) where F is a continuous function that can be derived from the nonlinear characteristics of the position controller.

Funktionen F kan i ett typiskt fall med sambandet 9 øvan ha följande utseende: n ' = . n - .. The function F can in a typical case with the connection 9 practice have the following appearance: n '=. n - ..

Kul _ 1_n ' (leilc eei) c - (Sir) - (eir - eéi) där n och c är konstanter som definierar lägesregulatorns paraboliska överföringsfunktion. eéi = éir - éi éëi: tidsderivatan av eåi Vid det andra lägesreglerförfarandet med dynamisk banplanering, där lägesbörvärdet för en lägesregulator genereras som en parabolisk funktion av tiden, kan justeringen av lägesreglersystemets reglerparametrar göras på följande sätt, varvid det förutsätts att robotdatorn periodiskt samplar och beräknar de angivna värdena: _ ' . " . 2 (12) air (t+Ts) _ eir (t) + air (t) l Ts + 1/2 Ieilc Ts 454 657 u* I I ,| Bit (t+Ts) = air (t) + |8iIc - T; (13) där TS: samplingsintervall Ovan har beskrivits hur endast lägesregulatorns förstärkning respektive lutningen hos den rampfunktion som bildas av de lägesregulatorn tillförda lägesreferensvärdena påverkats för att erhålla optimala reglerprestanda.Kul _ 1_n '(Leilc eei) c - (Sir) - (eir - eéi) where n and c are constants that define the parabolic of the position controller transfer function. eéi = éir - éi éëi: the time derivative of eåi In the second position rule procedure with dynamic path planning, where the position setpoint for a position controller is generated as a parabolic function of the time, the adjustment of the control parameters of the position control system can be made in the following manner, assuming that the robotic computer periodically samples and calculates the specified values: _ '. ". 2 (12) air (t + Ts) _ eir (t) + air (t) l Ts + 1/2 Ieilc Ts 454 657 u * I I, | Bit (t + Ts) = air (t) + | 8iIc - T; (13) where TS: sampling interval It has been described above how only the position controller's gain and the slope of the ramp function formed by the position controllers supplied the position reference values have been affected to obtain optimal control performance.

Den önskade variationen av lägesreglerslingans förstärkning kan alternativt erhållas genom samtidig påverkan av förstärkningarna Kp respektive Kv hos läges~ och hastighetsregulatorerna.The desired variation of the position control loop gain can alternatively obtained by simultaneously influencing the reinforcements Kp respectively Kv of the position ~ and speed controllers.

Fig 6 visar schematiskt hur data och beräkningsfunktioner kan vara organiserade vid förfarandet enligt uppfinningen. Den dynamiska robotmodellen utgöres av blocket DYNCALC. Valet av accelerationsvärden för de olika axlarna. bestämningen av optimalt värde på reglerparametrarna samt inställningen av dessa är implementerade i blocket PARCALC. För att minimera det erforderliga beräkningsarbetet genom att undvika onödigt upprepande av beräkningar lagras fortlöpande i en databas COMMON sådana mellanresultat av beräkningarna som kan utnyttjas vid följande beräkningar. I blocket INITCALC utföres vid start av systemet så stor del som möjligt av de erforderliga beräkningarna. dvs sådana beräkningar vars resultat inte påverkas av de konfigurationsändringar som roboten utsätts för under driften. Dessa beräkningar styrs av blocket INIT. Sådana funktioner som kräver omfattande beräkningar, t ex trigonometriska funktioner, kan lämpligen för att reducera erforderlig beräkningskapacitet implementeras i form av tabeller. vilka befinner sig i modulen TAB.Fig. 6 schematically shows how data and calculation functions can be organized in the process of the invention. The dynamic the robot model consists of the DYNCALC block. The selection of acceleration values for the different shoulders. the determination of the optimal value of the control parameters and the setting of these are implemented in the block PARCALC. In order to minimize the required calculation work by avoiding unnecessary repetition of calculations is continuously stored in a database COMMON such intermediate results of the calculations that can be used in the following calculations. In the INITCALC block, such a large part is performed at the start of the system as possible of the required calculations. ie such calculations whose results are not affected by the configuration changes to which the robot is subjected for during operation. These calculations are controlled by the INIT block. Such functions that require extensive calculations, such as trigonometric functions, can suitably to reduce the required computing capacity implemented in the form of tables. which are in the module TAB.

Funktionsblocket för parameterinställning kommunicerar även med en dataarea GLOBAL. vilken innehåller sådana data som parameter- installningsfunktionerna har gemensamt med övriga robotstyrsystem- funktioner. En modul LOAD & CONTR innehåller erforderliga data och funktioner för start och styrning av parameterinstallningsfunktionerna.The function block for parameter setting also communicates with one data area GLOBAL. which contains such data as parameter the installation functions have in common with other robot control systems functions. A module LOAD & CONTR contains the required data and functions for starting and controlling the parameter installation functions.

Dessa funktioner kommunicerar även med en dataarea POS. vilken innehåller läges- och hastighetsvärden för de olika robotaxlarna etc. De av parameterberäkningsfunktionen PARCALC beräknade optimala värdena på reglerparametrarna tillförs en dataarea PARDATA, från vilken de under robotens drift fortlöpande hämtas och utnyttjas för påverkan av lägesregulatorernas reglerparametrar.These functions also communicate with a data area POS. which contains position and speed values for the different robot axes, etc. Those of the parameter calculation function PARCALC calculated the optimal values of the control parameters are supplied to a data area PARDATA, from which they below the operation of the robot is continuously retrieved and utilized to influence position control parameters.

L... 15 454 657 En parameteroptimering enligt uppfinningen ger väsentliga reduktioner av cykeltiderna, särskilt för sådana korta rörelser där retardationen följer omedelbart på accelerationen. Detta åskådliggöra i fig 7. Figuren visar tre olika fall. I-III. För varje fall visas som funktioner av tiden överst hastigheten. därunder accelerationen och underst momentet. Samtliga tre fall avser axel 2. I fig 7 betecknar å: hastighet ëz acceleration M: motormoment Mg: av gravitationen orsakat moment J: tröghetsmoment Fallet I längst till vänster avser det fall då gravitationsmomentet har sitt maximala värde. Under accelerationen åstadkommer lägesregulatorns paraboliska förstärkningsfunktion att drivmotorn ger sitt maximala moment. vartill i detta fall gravitationsmomentet adderas. Under retardationsfasen ger likaså lägesregulatorns paraboliska förstärkningsfunktion ett motormoment nära maximalvärdet. men eftersom gravitationsmomentet nu har motsatt riktning kommer retardationen att vara väsentligt långsammare än accelerationen. Med worst case trimning sattes Kp till ett värde som motsvarar retardationen i fallet I.L ... 15 454 657 A parameter optimization according to the invention provides significant reductions of cycle times, especially for such short movements where deceleration follows immediately on the acceleration. This is illustrated in Fig. 7. The figure shows three different cases. I-III. For each case are displayed as functions of the time at the top the speed. including the acceleration and below the torque. All three case refers to axis 2. In Fig. 7 denotes å: speed ëz acceleration M: engine torque Mg: moment caused by gravity J: moments of inertia Case I on the far left refers to the case where the moment of gravity has its maximum value. During acceleration, the positioner parabolic amplification function that the drive motor provides its maximum torque. to which in this case the moment of gravity is added. During the deceleration phase also gives the positional's parabolic amplification function one engine torque close to the maximum value. but since the moment of gravity now has opposite direction, the deceleration will be significantly slower than the acceleration. With worst case trimming, Kp was set to a value that corresponds to the deceleration in case I.

I fall II antas lägesreglersystemets parametrar vara injusterade för worst case enligt fall I. I fall II antas robotkonfigurationen vara sådan att gravitationsmomentet är noll. De heldragna kurvorna i fall II avser detta fall medan de streckade kurvorna som jämförelse visar förloppen vid fall I. Som synes erhålles maximalt motormoment under accelerationsfasen, medan under retardationsfasen retardationen har det för fall I intrimmade värdet. Retardationen tar därför onödigt lång tid relativt tillgängligt motormoment. Tiden för rörelsen blir tl. vilken med 6 X överstiger motsvarande tid t0 i fall I. Fall III åskådliggör den förbättring som vid samma förutsättningar som i fall II erhålles med hjälp av uppfinningen.In case II, the parameters of the position control system are assumed to be adjusted for worst case according to case I. In case II, the robot configuration is assumed to be such that the gravitational moment is zero. The solid curves in case II refer to this cases while the dashed curves for comparison show the processes in cases I. As can be seen, maximum engine torque is obtained during the acceleration phase, while during the deceleration phase, the deceleration has for cases I tuned the value. The deceleration therefore takes an unnecessarily long time relatively available engine torque. The time for the movement becomes tl. which by 6 X exceeds corresponding time t0 in case I. Case III illustrates the improvement as at the same conditions as in case II are obtained by means of the invention.

Drivmotorn kommer såväl under acceleration som under retardation att arbeta med maximalt moment. Den totala tiden t2 för rörelsen blir 25 Z kortare än i fall II.The drive motor will both during acceleration and during deceleration work with maximum torque. The total time t2 of the motion becomes 25 Z shorter than in case II.

De i fig 7 visade driftfallen bygger på kraftigt förenklade antaganden och exempelvis har där hänsyn tagits endast till den egna axelns gravitation, lat. 454 657 16 En mera fullständig beräkning under hänsynstagande även till kopplade tröghetsmoment och till variationer i masströgheterna visar att det är möjligt att reducera tiden för en viss rörelse med upp till 40 X. En reduktion av denna storleksordning har utomordentlig ekonomisk och praktisk betydelse i sådana robottillämpningar som punktsvetsning, montering, limning etc. Förutom denna väsentligt ökade snabbhet i robotens arbete erhålles med hjälp av parameteroptimeringen enligt uppfinningen också en reduktion av det genomsnittliga lägesfelet under rörelsen.The operating cases shown in Fig. 7 are based on greatly simplified assumptions and for example, where only the gravity of one's own axis has been taken into account, lazy. 454 657 16 A more complete calculation taking into account also connected moments of inertia and to variations in the mass inertia show that it is possible to reduce the time of a certain movement by up to 40 X. A reduction of this magnitude has excellent economic and practical significance in such robot applications as spot welding, assembly, gluing, etc. In addition to this significantly increased speed of the robot work is obtained by means of the parameter optimization according to the invention also a reduction of the average position error during movement.

Fig 8 visar schematiskt hur parameteroptimeringen enligt uppfinningen kan integreras i ett robotstyrsystem. Blocken DYNCALC och PARCALC har de tidigare beskrivna funktionerna, nämligen utförandet av de dynamiska beräkningarna respektive beräkning av optimala parametervärden. De beräknade parametervärdena PAR tillförs axelregulatorerna AXREG. De dynamiska beräkningarna ger de maximalt uppnåbara accelerationsvärdena ëlim för de olika axlarna. Dessa värden tillförs ett funktonsblock PATHPLAN, där det som regel av en axel begränsade accelerationsvärdet översätts till sådana accelerationsvärden i övriga axlar att roboten kommer att följa den önskade banan. Funktionsblocket PATHPLAN ger lägesreferensvärdena Gr vilka tillförs axelregulatorerna. Dessa matar robotens drivmotorer med strömmar I och erhåller från roboten uppgifter om lagen e och hastigheter à i de olika axlarna.Fig. 8 schematically shows how the parameter optimization according to the invention can integrated into a robotic control system. The blocks DYNCALC and PARCALC have them previously described functions, namely the execution of the dynamic ones the calculations and the calculation of optimal parameter values, respectively. The calculated parameter values PAR are supplied to the AXREG shaft regulators. The the dynamic calculations give the maximum achievable acceleration values ëlim for the different axes. These values are added to a function block PATHPLAN, where it usually limited the acceleration value of an axis translated to such acceleration values in the other axes that the robot will follow the desired path. The function block PATHPLAN provides the position reference values Gr which are supplied to the shaft regulators. These foods the robot's drive motors with currents I and receive information from the robot about law e and velocities à in the different axes.

De dynamiska beräkningarna är som ovan nämnts approximativa, vilket kan medföra att de optimerade parametervärdena blir för låga. För att kompensera för detta kan adaptiva beräkningar utföras för att med ledning av den verkliga robotens uppförande korrigera de gjorda parameter- beräkningarna. Denna funktion utföres av funktionsblocket ADCALC.The dynamic calculations are, as mentioned above, approximate, which can cause the optimized parameter values to be too low. In order to To compensate for this, adaptive calculations can be performed to lead of the behavior of the real robot correct the parameters made the calculations. This function is performed by the ADCALC function block.

Exempelvis kan i detta block en mätning av axlarnas dynamiska utstyrning under retardationsförloppen göras och användas för kompensation av approximationsfelen i robotmodellen. Exempelvis kan motorströmmarnas avvikelser från de önskade värdena mätas och kompenseringen ske genom en justering av de av parameterstyrningen genererade förstärkningarna.For example, in this block can be a measurement of the dynamic equipment of the axles during the deceleration processes is made and used to compensate for approximation errors in the robot model. For example, the motor currents deviations from the desired values are measured and the compensation takes place through a adjusting the gains generated by the parameter control.

Claims (12)

17 454 657 PATENTKRAV17 454 657 PATENT REQUIREMENTS 1. Förfarande för optimal parameterstyrning av axelregulatorer hos en industrirobot (1-3), vilken har ett flertal rörelseaxlar (1-6) och för varje axel en drivmotor (M0) och axelregulator (PR. VR) för styrning av axelrörelsen i enlighet med regulatorn tillförda börvärden (er) samt en datorutrustning (22, 23) för styrning av roboten, k E n n e t e c k - n a t a v att med hjälp av en matematisk modell, som beskriver robotens statiska och dynamiska egenskaper. beräknas fortlöpande under robotens drift accelerations- och retardationsvärden (ëi) för åtminstone vissa axlar med antaget maximalt värde hos drivmotormomentet hos varje axel. varefter minst en reglerparameter (Kp) och/eller en banplaneringsparameter (lëilc) vid minst en axelregulator väljes i beroende av beräkningen.Method for optimal parameter control of shaft regulators of an industrial robot (1-3), which has a plurality of movement shafts (1-6) and for each shaft a drive motor (M0) and shaft regulator (PR. VR) for controlling the shaft movement in accordance with the controller supplied setpoint values (es) and a computer equipment (22, 23) for controlling the robot, k e nnet - using a mathematical model, which describes the robot's static and dynamic properties. During the operation of the robot, acceleration and deceleration values (ëi) are calculated continuously for at least certain axles with the assumed maximum value of the drive motor torque of each axle. after which at least one control parameter (Kp) and / or a path planning parameter (lëilc) at at least one axis controller is selected depending on the calculation. 2. Förfarande enligt patentkrav 1, k ä n n e t e c k n a t a v att för varje axel med ledning av den matematiska modellen ett matematiskt samband uppställes som beskriver axelns dynamik med antaget maximalt motormoment, samt ur dessa samband den maximalt uppnàeliga accelerationen respektive retardationen för varje axel (ëi) beräknas.Method according to Claim 1, characterized in that for each axis based on the mathematical model a mathematical relationship is established which describes the dynamics of the axis with the assumed maximum motor torque, and from these relationships the maximum achievable acceleration and deceleration for each axis (ëi) is calculated. . 3. Förfarande enligt patentkrav 2. k ä n n e t e c k n a t a v att för åtminstone vissa axlar det beräknade maximala accelerations- respektive retardationsvärdet jämförs med ett förutbestämt värde (lëilmax), så valt att det för den aktuella robotkonfigurationen anger den maximalt möjliga acceleration respektive retardation som kan användas med bibehållande av tillfredsställande regleregenskaper hos axelns reglersystem, varefter en reglerparameter (Kp) och/eller bangenereringsparameter (|6|c) hos axelregulatorn väljas i enlighet med det av de båda nämnda värdena som har det lägre absolutvärdet. 454 657 18Method according to Claim 2, characterized in that for at least some axes the calculated maximum acceleration or deceleration value is compared with a predetermined value (lëilmax), so selected that for the current robot configuration it indicates the maximum possible acceleration or deceleration that can be used with maintaining satisfactory control properties of the shaft control system, after which a control parameter (Kp) and / or bangen generation parameter (| 6 | c) of the shaft controller is selected in accordance with the one of the two mentioned values having the lower absolute value. 454 657 18 N. Förfarande enligt något av föregående patentkrav. k ä n n e t e c k- n a t a v att den matematiska modellen är utformad under hänsynstagande till minst en av följande storheter: masströghet. gravitation. kopplad masströghet, centrifugalkraft och Corioliskraft.N. A method according to any one of the preceding claims. know that the mathematical model is designed taking into account at least one of the following variables: mass inertia. gravity. coupled mass inertia, centrifugal force and Coriolis force. 5. Förfarande enligt patentkrav 4, k ä n n e t e c k n a t a v att en robotmodell bestäms med minst en punktmassa (mi) per robotarm och minst en punktmassa för den av roboten burna lasten, varvid lägena hos dessa massor beräknas med ledning av experimentellt uppmätta värden på robotens accele- rationer och motormoment vid ett antal olika robotkonfigurationer. var- efter masströgheterna beräknas ur robotmodellen.Method according to claim 4, characterized in that a robot model is determined with at least one point mass (mi) per robot arm and at least one point mass for the load carried by the robot, the positions of these masses being calculated on the basis of experimentally measured values of the robot's accelerator. rations and motor torques in a number of different robot configurations. after which the mass inertia is calculated from the robot model. 6. Förfarande enligt något av patentkraven Ä och 5, k ä n n e - t e c k n a t a v att en robotmodell bestäms med minst en punktmassa per robotarm och minst en punktmassa för den av roboten burna lasten, varvid lägena hos dessa massor beräknas med ledning av experimentellt uppmätta värden på robotens motormoment vid olika konfigurationer, varefter inverkan av gravitation samt ömsesidig påverkan mellan axlarna beräknas ur robotmodellen.Method according to one of Claims 2 and 5, characterized in that a robot model is determined with at least one point mass per robot arm and at least one point mass for the load carried by the robot, the positions of these masses being calculated on the basis of experimentally measured values of the robot's motor torque in different configurations, after which the effect of gravity and mutual influence between the axes are calculated from the robot model. 7. Förfarande enligt något av föregående patentkrav vid en industri- robot, där en axels axelregulator innefattar en lägesregulator (PR), k ä n n e t e c k n a t a v att de ur den matematiska modellen beräknade accelerations- respektive retardationsvärdena efter skalning direkt får utgöra lägesregulatorns förstärkning.Method according to one of the preceding claims in an industrial robot, wherein the axis controller of a shaft comprises a position controller (PR), characterized in that the acceleration and deceleration values calculated from the mathematical model after scaling may directly constitute the gain of the position controller. 8. Förfarande enligt patentkrav 7. k ä n n e t e c k n a t a v att lägesregulatorns förstärkning varieras i beroende av skillnaden mellan aktuell motorström och maximalt tillåten motorström för optimalt utnyttjande av tillgängligt motormoment.Method according to claim 7, characterized in that the gain of the position controller is varied depending on the difference between the current motor current and the maximum permitted motor current for optimal utilization of available motor torque. 9. Förfarande enligt något av föregående patentkrav vid en industri- robot, innefattande organ anordnade att under acceleration respektive retardation tillföra en axelregulator lägesbörvärden (er) på sådant sätt att konstant acceleration respektive retardation erhålles, k ä n n e - t e c k n a t a v att accelerations- respektive retardationsvärdet sätts lika med det ur den matematiska modellen beräknade accelerations- respek- tive retardationsvärdet. 19 454 657Method according to one of the preceding claims in an industrial robot, comprising means arranged to supply a shaft regulator position value (s) during acceleration or deceleration in such a way that constant acceleration or deceleration is obtained, characterized in that the acceleration and deceleration values are set equal to the acceleration or deceleration value calculated from the mathematical model. 19 454 657 10. Förfarande enligt patentkrav 9, k E n n e t e c k n a t a v att accelerationsvärdet varieras i beroende av skillnaden mellan aktuell ström och maximalt tillåten motorström för optimal utnyttjning av tillgängligt IIIOtOÅPNONEDÜ .Method according to claim 9, characterized in that the acceleration value is varied depending on the difference between the current current and the maximum permitted motor current for optimal utilization of available IIIOtOÅPNONEDÜ. 11. Förfarande enligt något av föregående patentkrav vid vilken axel- regulatorn innefattar en hastighetsregulator (VR), k ä n n e t e c k - n a t a v att en reglerparameter (Kv) hos hastighetsregulatorn varieras i beroende av robotkonfigurationen och den matematiska modellen för kompensering av dämpningsvariationer orsakade av variationer i masströghet och effektiv fjäderkonstant.Method according to one of the preceding claims, in which the shaft controller comprises a speed controller (VR), characterized in that a control parameter (Kv) of the speed controller is varied depending on the robot configuration and the mathematical model for compensating for damping variations caused by variations in mass inertia and effective spring constant. 12. Anordning för optimal parameterstyrning av axelregulatorer vid en industrirobot (1-3), vilken har ett flertal rörelseaxlar, för varje axel en drivmotor (M0) och en axelregulator (PR, VR) för styrning av axel- rörelsen i enlighet med regulatorn tillförda lagesbörvärden (er), samt en datorutrustning (22, 23) för styrning av roboten, k Å n n e t e c k n a d a v att den innefattar beräkningsorgan anordnade att ur förutbestämda data och samband, vilka beskriver robotens statiska och dynamiska egenskaper, beräkna de accelerations- och retardationsvärden som erhålles för robotens axlar med antaget maximalt motormoment i axlarna samt organ anordnade att åtminstone för vissa axlar välja en regler- parameter (Kp) och/eller bangenereringsparameter (lëlc) hos axel- regulatorn i beroende av beräkningen. L...Device for optimal parameter control of shaft regulators in an industrial robot (1-3), which has a plurality of movement shafts, for each shaft a drive motor (M0) and a shaft regulator (PR, VR) for controlling the shaft movement in accordance with the regulator supplied setpoint values (es), and a computer equipment (22, 23) for controlling the robot, characterized in that it comprises calculation means arranged to calculate from predetermined data and relationships, which describe the static and dynamic properties of the robot, the acceleration and deceleration values obtained for the axles of the robot with the assumed maximum motor torque in the axles and means arranged to select at least for certain axes a control parameter (Kp) and / or bangen generation parameter (lëlc) of the shaft controller depending on the calculation. L ...
SE8604102A 1986-09-29 1986-09-29 PROCEDURE AND DEVICE FOR OPTIMAL CONTROL OF CONTROL PARAMETERS OF AN INDUSTRIAL ROBOT SE454657B (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE8604102A SE454657B (en) 1986-09-29 1986-09-29 PROCEDURE AND DEVICE FOR OPTIMAL CONTROL OF CONTROL PARAMETERS OF AN INDUSTRIAL ROBOT
DE8787114012T DE3782795T2 (en) 1986-09-29 1987-09-25 METHOD AND DEVICE FOR THE OPTIMAL PARAMETER CONTROL OF CONTROLLERS THAT CONTROL ROTATING AND / OR LINEAR MOVEMENTS OF AN INDUSTRIAL ROBOT.
EP87114012A EP0262600B1 (en) 1986-09-29 1987-09-25 Method and device for optimum parameter control of controllers for rotational and/or linear movements in one or more degrees of freedom in an industrial robot
JP62243539A JPS63238602A (en) 1986-09-29 1987-09-28 Method and apparatus for adaptive control of control parameter of industrial robot
US07/102,516 US4819184A (en) 1986-09-29 1987-09-29 Method and a device for optimum control of control parameters in an industrial robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE8604102A SE454657B (en) 1986-09-29 1986-09-29 PROCEDURE AND DEVICE FOR OPTIMAL CONTROL OF CONTROL PARAMETERS OF AN INDUSTRIAL ROBOT

Publications (3)

Publication Number Publication Date
SE8604102D0 SE8604102D0 (en) 1986-09-29
SE8604102L SE8604102L (en) 1988-03-30
SE454657B true SE454657B (en) 1988-05-24

Family

ID=20365733

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8604102A SE454657B (en) 1986-09-29 1986-09-29 PROCEDURE AND DEVICE FOR OPTIMAL CONTROL OF CONTROL PARAMETERS OF AN INDUSTRIAL ROBOT

Country Status (2)

Country Link
JP (1) JPS63238602A (en)
SE (1) SE454657B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10321970A1 (en) * 2003-05-15 2004-12-09 Siemens Ag Method for guiding the movement of a movable machine element of a numerically controlled machine tool or production machine
DE102005036848B4 (en) * 2005-08-04 2007-11-22 Siemens Ag Method and device for motion control of a movable machine element of a machine
JP6856469B2 (en) * 2017-07-19 2021-04-07 ファナック株式会社 Servo motor controller
CN109604419B (en) * 2018-11-19 2020-04-28 浙江工业大学 Automatic positioning control method for movable pressure head in numerical control cutting machining process

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59706A (en) * 1983-06-27 1984-01-05 Hitachi Ltd Controller of industrial robot
JPS61163406A (en) * 1985-01-14 1986-07-24 Omron Tateisi Electronics Co Robot control device

Also Published As

Publication number Publication date
SE8604102D0 (en) 1986-09-29
SE8604102L (en) 1988-03-30
JPS63238602A (en) 1988-10-04

Similar Documents

Publication Publication Date Title
EP0262600B1 (en) Method and device for optimum parameter control of controllers for rotational and/or linear movements in one or more degrees of freedom in an industrial robot
CN109664297B (en) Vibration suppression method, system and device for robot and computer readable memory
JP5774223B2 (en) Robot control apparatus and robot control method
EP0144442B1 (en) Method of controlling industrial robot along arc
JP2024512235A (en) Control method and device for legged and wheeled robot, legged and wheeled robot and equipment
KR0154223B1 (en) Control apparatus for servo system
US4912753A (en) Robot axis controller employing feedback and open loop (feedforward) control
EP0130570A2 (en) Method and apparatus for controlling a robot hand along a predetermined path
CN112417755A (en) Master-slave mode surgical robot track prediction control method
Wells et al. Feedforward and feedback control of a flexible robotic arm
US6456897B1 (en) Control method and numerical control for motion control of industrial machine tools
JPH07295650A (en) Method for controlling articulated robot
CN106843304A (en) Motor general-purpose control system and method
CN106426163A (en) Control apparatus of motor
CN115236973A (en) AGV trajectory tracking control method based on PSO Lyapunov function
SE454657B (en) PROCEDURE AND DEVICE FOR OPTIMAL CONTROL OF CONTROL PARAMETERS OF AN INDUSTRIAL ROBOT
JPH05111889A (en) Control of variable control type robot
CN112428262B (en) Parallel redundant flexible cable mechanism servo control method based on hyper-ellipsoid mapping analysis algorithm
JPH07120215B2 (en) Robot control method
WO2023149298A1 (en) Trajectory generating device
JPS59220806A (en) Controlling method of industrial robot
JP3068381B2 (en) Servo control device
CN113867157B (en) Optimal trajectory planning method and device for control compensation and storage device
CN112965366B (en) Motor control method and system for adjusting angle position and speed
JP2012061560A (en) Robot control device

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 8604102-7

Format of ref document f/p: F

NUG Patent has lapsed