+

WO2006117022A1 - A method for control of an industrial robot - Google Patents

A method for control of an industrial robot Download PDF

Info

Publication number
WO2006117022A1
WO2006117022A1 PCT/EP2005/051999 EP2005051999W WO2006117022A1 WO 2006117022 A1 WO2006117022 A1 WO 2006117022A1 EP 2005051999 W EP2005051999 W EP 2005051999W WO 2006117022 A1 WO2006117022 A1 WO 2006117022A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
load
dynamic model
parameters
change
Prior art date
Application number
PCT/EP2005/051999
Other languages
French (fr)
Inventor
Sven Hanssen
Torgny BROGÅRDH
Daniel WÄPPLING
Jonas Larsson
Ivan Lundberg
Original Assignee
Abb Research Ltd
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 Abb Research Ltd filed Critical Abb Research Ltd
Priority to PCT/EP2005/051999 priority Critical patent/WO2006117022A1/en
Publication of WO2006117022A1 publication Critical patent/WO2006117022A1/en

Links

Classifications

    • 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/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis

Definitions

  • the invention concerns a method for computerised control of a robot or manipulator.
  • the method relates to controlling movement of a mult!—jointed part of a robot, such as a robot arm.
  • the method is particularly applicable to controlling an arm of a robot to carry out a plurality of tasks.
  • a robot or manipulator arm generally includes a number of rigid arm parts jointed together to allow movement of the robot arm in three dimensions .
  • For accurate control of a robot manipulator it is necessary to know the relationship between the applied forces and the resulting motion. When the robot arm moves, this relationship changes with robot configuration. This configuration dependence within dynamic relationships of the robot motivates the use of inverse model control schemes.
  • EP 0 251 514 Bl to Toshiba entitled Apparatus for controlling a multijoint arm published 1988, describes a control apparatus for a multijoint robot arm with links mechanically and rotatably coupled to each other at joint portions.
  • the arm has actuators for rotating the links, and angle sensors for measuring the amount of link rotation.
  • the control apparatus includes a driver for the actuators, a detector for detecting the actually measured data of the links, in response to the output signals from the sensors, and a parameter identifier unit.
  • the parameter identifier unit is connected to the driver unit and the detector only when an initial dynamical model of the manipulator exceeds a predetermined allowance, thereby identifying the dynamical model of the manipulator.
  • NTT Dynamic model parameter identification system
  • the parameter classifying part calculates inertial parameters, and classifies the calculated inertial parameters into parameter groups.
  • the motion planning part calculates a condition number for the parameter coefficient sub- matrix, and calculates a number of equilibriums which is shown by the quotient of the maximum and minimum values of the vector normal of the rows of the coefficient sub—matrix.
  • the motion planning section sets the motion for parameter identification so that the condition number and number of equilibriums are both below predetermined values .
  • the parameter estimating means for estimating parameters is based on a linear equation consisting of unknown vectors, drive torque vectors and parameter coefficient matrix consisting of motion measurement .
  • a model inverse control scheme sometimes described as computed torque control, has been used for robot control. See for example US 5,444,612 assigned to Fanuc entitled Adaptive PI control system.
  • the inertial parameters of the robot arm must be known. These are usually found from relatively simple physical properties such as mass, location of centre of gravity, and inertia. However in practice it may be difficult to measure these parameters in an industrial setting with sufficient accuracy for a controlling a composite structure as complex as a robot arm. Certain of the physical parameters may require a new measurement each time that a load or a tool is changed. It may be difficult in an industrial setting to access a robot arm to make measurements . In addition, the number of parameters for a robot arm that have to be measured and then applied in calculations may become great .
  • a primary aim of the present invention is to provide a method for controlling an industrial robot using a dynamic model for control that overcomes the drawbacks of known such robot control methods.
  • a secondary aim is to provide a method for controlling an industrial robot using a dynamic model in which only a minimal number of measurements are required in order to determine base parameters for the model.
  • Another aim of the invention is to provide a method for controlling an industrial robot using a dynamic model wherein the model may be updated with an effective change in net load or payload by supplying a value for the change in load to the dynamic model.
  • the invention in the form of a method to control an industrial robot using a dynamic model to provide one or more control signals and/or control parameters to control the robot, where a first part of the dynamic model is obtained by identification of the base parameters of the model and where a second part of the dynamic robot model is obtained by using physical parameters, and by further transforming the physical dynamic parameters to base parameters, and then combining the identified base parameters for the first part of the dynamic model with the transformed physical parameters of the second part of the dynamic model to obtain a dynamic model represented in base parameters for the robot control.
  • the invention in the form of a method for controlling an industrial robot using a dynamic model for control dependent one or more physical parameters for a part of the robot.
  • the method comprises treating a load change as an addition of a rigid body module and inputting one or more known values for a physical parameter or for a plurality physical parameters and recalculating a base parameter of the dynamic model, thus adapting the dynamic model to include the effect of the change in load, or tool .
  • the invention in the form of a method for controlling an industrial robot using a dynamic model for control dependent one or more physical parameters for a part of the robot.
  • the method comprises inputting one or more known values for one or more physical parameters into a control unit, the value or values being dependent on a change in load, calculating a base parameter based on the physical parameters of the changed load, and calculating by means of the dynamic model including the base parameter a value for one or more control signals make the robot carry out a movement.
  • the invention in the form of a method for controlling an industrial robot using a dynamic model for control to provide a control signal for moving a part of the robot dependent one or more physical parameters for said part of the robot, comprising moving said part of the robot along a first trajectory, determining at least one said physical parameter of said part of the robot during the movement of said part, calculating at least one non-redundant base parameter based on the at least one said physical parameter, adding the at least one non—redundant base parameter into said dynamic model, and calculating by means of the dynamic model a value for one or more control signals to cause said part of the robot to move along a second trajectory.
  • the invention may be described summarily as a method in which identification of parameters for use in control of a multi—jointed robot arm is simplified by measuring a plurality of physical parameters of the robot arm while the robot arm is driven along a trajectory.
  • the robot arm is drive without a load or tool- Base parameters for the robot are then calculated from the physical parameters so obtained.
  • the calculations are preferably but not exclusively carried out by using a numerical approach, such as a form of matrix decomposition, to identify and derive a set of base parameters.
  • base parameters is used to describe linear combinations of physical parameters, which grouping or form is used so as to eliminate or reduce the number of physical parameters that may become linearly .dependent on each other in certain movements, thus becoming redundant parameters in some calculations .
  • a method by running a movement cycle for a test trajectory, preferably a test trajectory that may be supplied with the control unit, system, method and computer programs for carrying out the methods.
  • the test run is carried out without a tool or load.
  • movement of one or more parts of the arm etc are monitored, logged and sensed.
  • Physical parameters for the robot during the test trajectory are then used to calculate base parameters for the robot, using, for example numerical methods .
  • the robot may then be controlled by the dynamic model of the method, control unit and/or system using the base parameters calculated as herein described.
  • To adjust the dynamic model for a change in load, or a change of tool it is only a value for the new load or tool change that is required to be input via, for example, the control unit and the dynamic model then incorporates the new value in the model.
  • a principal advantage of the invention is that configuration of a control unit or control system using the invention is greatly simplified because the amount of data input necessary to configure or re—configure is reduced to a minimum.
  • the need for making measurements at the robot arm to obtain parameters such as gravity angle, centre of gravity, and so on when configuring or reconfiguring a robot is, in practice, eliminated entirely. This greatly speeds up the process of configuring a robot.
  • a control unit and/or system according to the invention may be used to control almost any regular industrial robot without first having to measure and/or input a quantity of control data consisting of multiple physical parameters particular to a specific make, type or model of robot.
  • Use of the invention is also very advantageous when using robots to tend new or additional machines or processes, for example to supply a workpiece to a welding robot for welding or to remove a component after an operation has been carried out by another machine, as set—up times and configuration or re—configuration times can be reduced due to the greatly simplified method for configuring the control program. It is only a change in load or change in load due to change in tool that has to be input to the controller, so as to adapt the physical parameters to the next configuration . Neither the gravity angle nor any other parameter has to be measured or dimensions of the robot arm for example identified and retrieved from manufacturer' s data and then input .
  • the invention also provides reduced set—up times for production changeovers to facilitate flexible manufacturing.
  • Changes in the specification of a product manufactured using traditional batch or continuous production may also be implemented by a robot without any reconfiguration apart from any change in load.
  • a robot may be used to carry out a series of tasks that require a plurality of tool changes or load changes without the downtime and loss of production normally associated with re-programming a robot. This may even be configured for multiple load/tool changes occurring during the same process.
  • the identification of parameters for use in control of a multi—jointed robot arm is carried out using an additional numerical approach, a form of Least Squares treatment such as for a rank-deficient LS problem. This is particularly effective when combined with a process in which the initial parameters are re—grouped such that they become linearly independent .
  • a computer program is described for carrying out the method according to the invention.
  • a computer program product comprising a computer program for carrying out the method of the invention is described.
  • a graphical user interface for displaying operational and configuration data for a robot controlled according to the invention, and optionally as a means for inputting data such as physical parameter data or load change data .
  • a control system for controlling an industrial robot with at least one axis of rotation and/or translation and preferably a plurality (between 1—6) of axes.
  • FIGURE 1 is a schematic or block diagram showing a layout in an industrial installation for a system according to an embodiment of the invention
  • FIGURE 2 is a flowchart for a method according to an embodiment of the invention
  • FIGURE 3a is a flowchart for a method for an operator to update a change in load according to a preferred embodiment of the invention
  • FIGURE 3b is a flowchart for a method for updating the dynamic model with a change in load
  • FIGURE 5 is a schematic or block diagram showing a layout in an industrial installation for a system according to another embodiment of the invention.
  • FIGURE 6 is a schematic flowchart for a method for updating a dynamic model for use with an unknown load, according to another embodiment of the invention.
  • FIGURE 7 is a schematic or block diagram showing physical parameters and base parameters of a part of a robot according to a preferred embodiment of the invention.
  • FIG. 1 shows schematically an overview with a robot control unit 3 comprising a processor 6 and a device or process for generating signals 7 to a motor or other actuator 11.
  • the control unit is arranged with a dynamic model 1.
  • Dynamic model 1 may receive data either for physical parameters 8 of the robot, and/or for base parameters 4 of the robot. This data 8, and/or 4 and parameters for the load or tool 5 is fed into the dynamic control model.
  • the control unit 3 is arranged to control movements of an arm or other stiff, multi—link body or part 10 of a robot .
  • the robot part is arranged with at least one actuator 11, typically an electric motor, and one or more sensors 13 to sense a position and/or rotational speed of the moving part. Value for motor torque may also be logged. Measurements of position and/or speed are logged and fed back 14 to the control unit 3.
  • Signal generator 7 generates a control signal which may be any of a control signal to an actuator/motor 11, a current supply to actuator 11, and/or a feed-forward value for motor torque.
  • the process of generating a signal may alternatively comprise more actions.
  • a path generator may be used to generate a path along which the robot part shall be driven to follow a desired trajectory.
  • the dynamic model 1 may then be used to calculate control signals and/or motor supply currents to drive the robot part so as to follow the desired trajectory.
  • Figure 2 is a flowchart for steps of a method according to an embodiment of the invention.
  • the method may be employed after a robot has been installed ready for use, which may for example be a single robot in a stand-alone situation, and after a point at which a configuration mode has been selected via a control unit.
  • test trajectory 20 or movement cycle preferably a predetermined cycle, which may be provided with the control unit.
  • the test cycle may preferably be carried out under no—load conditions 21.
  • the test trajectory is run 23, and physical parameters of the robot such as torque, time, arm position, arm speed are logged or sensed and recorded while the robot moves through the predetermined, known test cycle .
  • Physical parameters of the robot such as position and torque are used in calculations 25 to derive one or more base parameters for the robot .
  • FIG. 3a shows a schematic flowchart for a method according to an preferred embodiment of the invention.
  • Figure 3b shows additional steps for the method carried out in the control unit.
  • Change in load is input 30, then new base parameters for the load are calculated 31.
  • the new base parameters are stored or updated 32 and available for retrieval for use in the dynamic model calculations.
  • Figure 5 shows a schematic layout in an industrial installation for a system comprising a control unit according to another embodiment of the invention.
  • Figure 5 shows a robot with a multi- link part 10, connected to a control unit 3.
  • Control unit 3 is connected to a data network 55, which may at least in part comprise a LAN based on a standard such as Ethernet .
  • the data network comprises a wireless node 56, a workstation 57a, a portable computing device 57b and a wireless portable computing device 57c.
  • the control unit 3 may be accessed for control and/or configuration purposes via a local panel or other means arranged on the control unit itself, via a workstation 57a connected to a LAN or other data network 55.
  • control unit may be accessed by a suitably logged-in user with a portable control device 57b or wireless portable device 57c.
  • Any of the control unit 3, workstation 57a, portable device 57b and wireless computing device or TPU 57c may comprise a graphical user interface .
  • a user such as an operator, engineer or technician in a factory or other installation for industrial or any other commercial or public service operations may, when suitably logged in, configure or otherwise program a manipulator arm or robot to carry out one or more tasks.
  • the processor 6 of the control unit may be a standard processor or computer, it may be an analogue or a digital device; alternatively it may be a custom computing device, such as an ASIC (application specific integrated circuit) . It is also possible to combine the function of a path generator with the processor or computing device 6 for processing inputs and providing outputs dependent on the dynamic model comprising the base parameters as described above.
  • H H(q,q,q,l) is a matrix
  • X PHrs is an array with the inertial parameters of the system.
  • the q , q and q are the generalized co-ordinates and its time derivatives in the dynamic model whereas / denotes an array of spatial lengths of the bodies in the system.
  • the inertial properties of a rigid body may be described by 10 parameters.
  • inertial properties of a rigid body such as mass, distance between centre of gravity of the rigid body and a point of attachment to the robot, moment of inertia for each of 6 axes, are sufficient for the dynamic model to model the robot structure with a load change.
  • the physical parameters may be determined in advance and provided, for example by a manufacturer of the robot or robot component or tool component concerned.
  • Ip IpIx 2 + lply 2 + Ip2x 2 + Ip2y 2 + 2IpIy Ip2y ( 6)
  • X BASE (Y) Jl 22 + 32 ⁇ + 2 lply m2y + QpIx 2 + lply 2 ) rn2 + Jl 22 . +
  • Figure 7 shows a robot base part 80 in a fixed position, with a body 81 joined to the first body by a joint PO 70 which is rotatable about a z—direction.
  • a rigid body 82, 83 is attached to body 81 by a second joint Pl 71 which is rotatable about a y axis, that is, in or out of the plane of the page.
  • the vector PO-Pl is a Euclidian vector which is described by (length) components lplx, lply, lplz in each of the x, y and z directions.
  • the vector Pl-P2 is described by components Ip2x, 1p2y, Ip2z.
  • the third rigid body 83 is joined to the rigid body
  • the tool 83 has a Tool Centre Point TCP 85 as shown.
  • the physical parameters 8 8 i for the first body 81 are given by its mass ml, mass times the center of gravity vector (mlx,mly,mlz) , and its inertia tensor defined by Jl xx , Jly ⁇ , Jl ⁇ zr Jl ⁇ / Jl ⁇ z/ Jl ⁇ f cf. Figure 7.
  • the new base parameters for the complete system may then be expressed as: ⁇ ROBOT+RBM _ Y ROBOT , ⁇ . j rv RBM , Q ,
  • the dynamic model may be updated by a base parameter based on a single value input representing a load change or load change due to tool change or similar, and without having to carry out an identification, that is, without having to make physical measurements on the robot or robot/tool to find angles or a gravitation angle or a moment.
  • a known change in load as described in this specification means a change which may be due to any of a number of changes, such as adding or removing power cables, hoses or control cabling to a robot, or a change in the arm geometry or dimensions by, for example, extending the length of an arm with an arm extender, load changes due to exchanging one tool for another, by adding a tool, by adding a tool accessory, or by a change in pay load, the "useful load” carried or otherwise manipulated by the robot .
  • the change in load has been input to the model and the model re-calculated then the robot can be operated again with the new load or new tool, without being forced to re-make the identification.
  • a test cycle may be carried out under no—load conditions to determine robot physical parameters from which base parameters for the robot may be calculated and used in the dynamic model.
  • the test cycle may be carried out with a known and non—zero Load or a different tool arranged on the robot.
  • the value of the known load is input via the control unit, locally or remotely, as otherwise described in relation to Figure 3a and/or 3b.
  • the difference in the case of a non—zero known load test cycle being that the base parameters for each of the robot and the load may be separately calculated and obtained from the robot physical parameters sensed and recorded under the known load test cycle -
  • Figure 4 shows a flowchart for method according to a further development of preferred embodiment.
  • the method shows generally that the dynamic model control may use existing values for physical parameters of the robot, if found 40, and then calculate base parameters for the robot 45 and store or update 52 the values for use by the dynamic model.
  • a check is made for stored robot base parameters 41. If base parameters are found they are stored/updated 52 for use in the dynamic model. If no base parameters are found the a process may be run to set up and start a test cycle 43 to measure physical parameters of the robot. During the test cycle position of the robot part is sensed and values for speed and/or motor torque may be logged 44.
  • Base parameters for the robot are calculated 45 as before and stored/updated 52 ready for use in the dynamic model.
  • An advantage of this method is a minimum of operator input is needed to identify and calculate base parameters for the dynamic model.
  • the test run is preferably run under no—load conditions, but may, if required be run with a known load.
  • the present invention may be operated using a computing device which may or may not be portable, and which may be a custom device or may be a general purpose computing device such as a Personal Data Assistant (PDA) , or a may be a more specialised computing device such a Teach Pendant (TPU) for a robot .
  • a computing device which may or may not be portable, and which may be a custom device or may be a general purpose computing device such as a Personal Data Assistant (PDA) , or a may be a more specialised computing device such a Teach Pendant (TPU) for a robot .
  • PDA Personal Data Assistant
  • TPU Teach Pendant
  • the computing device is a wireless portable computing device 57c embodied as a TPU.
  • the TPU may be activated or otherwise begin operations in respect of an industrial robot in a hot plug routine, that is, without performing a pause or power down/power up of the robot before the TPU can begin to operate or control the robot .
  • the TPU 57b, 57c may be equipped with a display screen, which may be relatively small in size, it may run an operating system of its own as well as application software for performing operations concerned with controlling and/or teaching a robot.
  • the user of the TPU can mark a part of the industrial device on the display screen, in this case an industrial robot or an automation device and then input data for load, change of tool or even other physical parameters associated with the movement to be performed by a robot arm, or part of.
  • the user manipulates the display screen or parts of a graphical user interface displayed on the display screen so as to cause or instruct the dynamic model to run a test cycle and/or calculate or re—calculate movements for the robot on the basis of the load changes or other physical parameters input by the user.
  • Signals based on outputs from sensors such as sensor 13 arranged on a robot or manipulator arm may also be sent to the computing device via a data network to provide monitoring and/or supervision of physical parameter data input to the dynamic model .
  • the invention may advantageously be used to configure or program a manipulator arm or industrial robot to carry out tasks associated with any from the list of operations as : gripping an object, manipulating an object, stacking, pick and place objects, welding, framing a vehicle body, riveting, de- burring, fettling, grinding, coating, painting, dry spraying, gluing, folding plate, bending plate, hemming plate.
  • control unit is also suitable for controlling and operating an amusement ride. That is to say controlling a robot implemented operation such as an amusement ride, in which one or more human passengers are conveyed along a trajectory by an adapted robot arm moveable with a plurality of degrees of freedom, fox example six degrees of freedom.
  • One or more microprocessors comprise a central processing unit CPU performing the steps of the methods according to one or more aspects of the invention, as described for example with reference to Figures 2, 3a, 3b, 4, 7, 6.
  • the method or methods are performed with the aid of one or more computer programs, which are stored at least in part in memory accessible by the one or more processors.
  • the computer programs for carrying out methods according to the invention may also be run on one or more general purpose industrial microprocessors or computers instead of one or more specially adapted computers or processors, which may comprise one or more FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits) or other devices such as simple programmable logic devices (SPLDs) , complex programmable logic devices (CPLDs) , field programmable system chips (FPSCs) .
  • FPGAs field programmable gate arrays
  • ASICs application specific integrated circuits
  • SPLDs simple programmable logic devices
  • CPLDs complex programmable logic devices
  • FPSCs field programmable system chips
  • the computer program comprises computer program code elements or software code portions that make the computer or processor perform the methods using equations, algorithms, data, stored values, calculations and statistical or pattern recognition methods previously described, for example in relation to Figures 2, 3a, 3b, 4, 7, 6.
  • the computer program may comprise one or more small executable programs.
  • a part of the program may be stored in a processor as above, but also in a ROM, RAM, PROM, EPROM or EEPROM chip or similar memory means.
  • the or some of the programs in part or in whole may also be stored locally (or centrally) on, or in, other suitable computer readable medium such as a magnetic disk, CD-ROM or DVD disk, hard disk, magneto—optical memory storage means, in volatile memory, in flash memory, as firmware, or stored on one or more data servers .
  • the program may also in part be supplied from a data network, including a public network such as the Internet.
  • the computer programs described may also be arranged in part as a distributed application capable of running on several different computers or computer systems at more or less the same time .
  • Figure 6 shows a schematic flowchart for another preferred embodiment.
  • a load value is not known, such as for example when a load is represented by a tool that may not be dismantled from the robot for some reason
  • a method is provided to determine the base parameters required to control the robot part with an unknown load.
  • the resulting parameters may be solved to find the value of the unknown load when the base parameters of the robot alone (from a no-load test cycle) are already known.
  • the control unit is configured to select 62 a process for an unknown load.
  • a test trajectory is run 63 as before and physical parameters of the robot part are sensed and/or measured and logged 64.
  • the base parameters are calculated for the unknown load 65.
  • Previously calculated base parameters for the robot may be used to find the value of the unknown load by, for example, solving the above equations in respect of the dynamic model using in particular equation (4) .

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

A method, control unit and control system for an industrial robot comprising using a dynamic model to provide control signals for moving a part of the robot dependent one or more known physical parameters for said part of the robot. The method is particularly applicable to a change in load or tool for a robot. The method comprises making a change to a load acting on a said part of the robot, identifying a physical parameter and inputting one or more predetermined values for the physical parameter, values being derived beforehand and by on treating the change in load as an addition of one or more rigid bodies acting on said part of the robot. A control unit and a system for control are also described.

Description

A method for control of an industrial robot
TECHNICAL FIELD
The invention concerns a method for computerised control of a robot or manipulator. The method relates to controlling movement of a mult!—jointed part of a robot, such as a robot arm. The method is particularly applicable to controlling an arm of a robot to carry out a plurality of tasks.
TECHNICAL BACKGROUND
A robot or manipulator arm generally includes a number of rigid arm parts jointed together to allow movement of the robot arm in three dimensions . For accurate control of a robot manipulator, it is necessary to know the relationship between the applied forces and the resulting motion. When the robot arm moves, this relationship changes with robot configuration. This configuration dependence within dynamic relationships of the robot motivates the use of inverse model control schemes.
EP 0 251 514 Bl to Toshiba entitled Apparatus for controlling a multijoint arm, published 1988, describes a control apparatus for a multijoint robot arm with links mechanically and rotatably coupled to each other at joint portions. The arm has actuators for rotating the links, and angle sensors for measuring the amount of link rotation. The control apparatus includes a driver for the actuators, a detector for detecting the actually measured data of the links, in response to the output signals from the sensors, and a parameter identifier unit. The parameter identifier unit is connected to the driver unit and the detector only when an initial dynamical model of the manipulator exceeds a predetermined allowance, thereby identifying the dynamical model of the manipulator. US 5, 357 424 to Nippon Telegraph and Telephone Corp. (NTT) entitled Dynamic model parameter identification system, 1994, describes a controller with a parameter classifying part and a motion planning part. The parameter classifying part calculates inertial parameters, and classifies the calculated inertial parameters into parameter groups. The motion planning part calculates a condition number for the parameter coefficient sub- matrix, and calculates a number of equilibriums which is shown by the quotient of the maximum and minimum values of the vector normal of the rows of the coefficient sub—matrix. The motion planning section then sets the motion for parameter identification so that the condition number and number of equilibriums are both below predetermined values .
The parameter estimating means for estimating parameters is based on a linear equation consisting of unknown vectors, drive torque vectors and parameter coefficient matrix consisting of motion measurement .
A model inverse control scheme, sometimes described as computed torque control, has been used for robot control. See for example US 5,444,612 assigned to Fanuc entitled Adaptive PI control system.
In order to employ model inverse or computed torque control effectively the inertial parameters of the robot arm must be known. These are usually found from relatively simple physical properties such as mass, location of centre of gravity, and inertia. However in practice it may be difficult to measure these parameters in an industrial setting with sufficient accuracy for a controlling a composite structure as complex as a robot arm. Certain of the physical parameters may require a new measurement each time that a load or a tool is changed. It may be difficult in an industrial setting to access a robot arm to make measurements . In addition, the number of parameters for a robot arm that have to be measured and then applied in calculations may become great . SUMMARY OF THE INVENTION
A primary aim of the present invention is to provide a method for controlling an industrial robot using a dynamic model for control that overcomes the drawbacks of known such robot control methods. A secondary aim is to provide a method for controlling an industrial robot using a dynamic model in which only a minimal number of measurements are required in order to determine base parameters for the model. Another aim of the invention is to provide a method for controlling an industrial robot using a dynamic model wherein the model may be updated with an effective change in net load or payload by supplying a value for the change in load to the dynamic model.
The above and more aims are achieved according to the invention by a method for controlling an industrial robot using a dynamic model for control according to independent claim 1, by a control unit according to an independent claim and a system according to another independent claim. Preferred embodiments are described in the dependent claims of each respective independent claim.
According to a first aspect of the invention these and more aims are met by the invention in the form of a method to control an industrial robot using a dynamic model to provide one or more control signals and/or control parameters to control the robot, where a first part of the dynamic model is obtained by identification of the base parameters of the model and where a second part of the dynamic robot model is obtained by using physical parameters, and by further transforming the physical dynamic parameters to base parameters, and then combining the identified base parameters for the first part of the dynamic model with the transformed physical parameters of the second part of the dynamic model to obtain a dynamic model represented in base parameters for the robot control.
According to a second aspect of the invention these and more aims are met by the invention in the form of a method for controlling an industrial robot using a dynamic model for control dependent one or more physical parameters for a part of the robot. The method comprises treating a load change as an addition of a rigid body module and inputting one or more known values for a physical parameter or for a plurality physical parameters and recalculating a base parameter of the dynamic model, thus adapting the dynamic model to include the effect of the change in load, or tool .
According to another aspect of the invention these and more aims are met by the invention in the form of a method for controlling an industrial robot using a dynamic model for control dependent one or more physical parameters for a part of the robot. The method comprises inputting one or more known values for one or more physical parameters into a control unit, the value or values being dependent on a change in load, calculating a base parameter based on the physical parameters of the changed load, and calculating by means of the dynamic model including the base parameter a value for one or more control signals make the robot carry out a movement.
According to another aspect of the invention these and more aims are met by the invention in the form of a method for controlling an industrial robot using a dynamic model for control to provide a control signal for moving a part of the robot dependent one or more physical parameters for said part of the robot, comprising moving said part of the robot along a first trajectory, determining at least one said physical parameter of said part of the robot during the movement of said part, calculating at least one non-redundant base parameter based on the at least one said physical parameter, adding the at least one non—redundant base parameter into said dynamic model, and calculating by means of the dynamic model a value for one or more control signals to cause said part of the robot to move along a second trajectory.
The invention may be described summarily as a method in which identification of parameters for use in control of a multi—jointed robot arm is simplified by measuring a plurality of physical parameters of the robot arm while the robot arm is driven along a trajectory. Preferably the robot arm is drive without a load or tool- Base parameters for the robot are then calculated from the physical parameters so obtained.
The calculations are preferably but not exclusively carried out by using a numerical approach, such as a form of matrix decomposition, to identify and derive a set of base parameters. The term base parameters is used to describe linear combinations of physical parameters, which grouping or form is used so as to eliminate or reduce the number of physical parameters that may become linearly .dependent on each other in certain movements, thus becoming redundant parameters in some calculations .
This is achieved by a method according an embodiment of the invention by running a movement cycle for a test trajectory, preferably a test trajectory that may be supplied with the control unit, system, method and computer programs for carrying out the methods. Preferably the test run is carried out without a tool or load. During performance of the test cycle movement of one or more parts of the arm etc are monitored, logged and sensed. Physical parameters for the robot during the test trajectory are then used to calculate base parameters for the robot, using, for example numerical methods . The robot may then be controlled by the dynamic model of the method, control unit and/or system using the base parameters calculated as herein described. To adjust the dynamic model for a change in load, or a change of tool, it is only a value for the new load or tool change that is required to be input via, for example, the control unit and the dynamic model then incorporates the new value in the model.
A principal advantage of the invention is that configuration of a control unit or control system using the invention is greatly simplified because the amount of data input necessary to configure or re—configure is reduced to a minimum. The need for making measurements at the robot arm to obtain parameters such as gravity angle, centre of gravity, and so on when configuring or reconfiguring a robot is, in practice, eliminated entirely. This greatly speeds up the process of configuring a robot. The elimination of the need for an operator/engineer to make multiple measurements of the robot for any change, together with the provision of a simple data input means for load/tool change means that a control unit and/or system according to the invention may be used to control almost any regular industrial robot without first having to measure and/or input a quantity of control data consisting of multiple physical parameters particular to a specific make, type or model of robot.
Use of the invention is also very advantageous when using robots to tend new or additional machines or processes, for example to supply a workpiece to a welding robot for welding or to remove a component after an operation has been carried out by another machine, as set—up times and configuration or re—configuration times can be reduced due to the greatly simplified method for configuring the control program. It is only a change in load or change in load due to change in tool that has to be input to the controller, so as to adapt the physical parameters to the next configuration . Neither the gravity angle nor any other parameter has to be measured or dimensions of the robot arm for example identified and retrieved from manufacturer' s data and then input . Because the as-configured dynamic model does not require adaption for normal variations in task load or tool the invention also provides reduced set—up times for production changeovers to facilitate flexible manufacturing. Changes in the specification of a product manufactured using traditional batch or continuous production may also be implemented by a robot without any reconfiguration apart from any change in load. Thus in particular a robot may be used to carry out a series of tasks that require a plurality of tool changes or load changes without the downtime and loss of production normally associated with re-programming a robot. This may even be configured for multiple load/tool changes occurring during the same process. This is of particular benefit in the case of a stand-alone situation in which a single robot, which may be the only robot in a department or even the whole industrial installation, is used to carry out a plurality of different tasks and typically where the operators do not already have experience or training in how to program a control system for robot movement. By means of the simple method for inputting just a change in tool/load, an opportunity for input of wrong information or instructions is also greatly reduced if not eliminated.
In a preferred embodiment of the invention, the identification of parameters for use in control of a multi—jointed robot arm is carried out using an additional numerical approach, a form of Least Squares treatment such as for a rank-deficient LS problem. This is particularly effective when combined with a process in which the initial parameters are re—grouped such that they become linearly independent .
In another aspect of the invention a computer program is described for carrying out the method according to the invention. In another aspect of the invention a computer program product comprising a computer program for carrying out the method of the invention is described.
In another, further aspect of the invention a graphical user interface is described for displaying operational and configuration data for a robot controlled according to the invention, and optionally as a means for inputting data such as physical parameter data or load change data .
In yet another, further aspect of the invention a control system is described for controlling an industrial robot with at least one axis of rotation and/or translation and preferably a plurality (between 1—6) of axes. BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will now be described, by way of example only, with particular reference to the accompanying drawings in which:
FIGURE 1 is a schematic or block diagram showing a layout in an industrial installation for a system according to an embodiment of the invention;
FIGURE 2 is a flowchart for a method according to an embodiment of the invention
FIGURE 3a is a flowchart for a method for an operator to update a change in load according to a preferred embodiment of the invention; and FIGURE 3b is a flowchart for a method for updating the dynamic model with a change in load;
FIGURE 5 is a schematic or block diagram showing a layout in an industrial installation for a system according to another embodiment of the invention;
FIGURE 6 is a schematic flowchart for a method for updating a dynamic model for use with an unknown load, according to another embodiment of the invention.
FIGURE 7 is a schematic or block diagram showing physical parameters and base parameters of a part of a robot according to a preferred embodiment of the invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
Figure 1 shows schematically an overview with a robot control unit 3 comprising a processor 6 and a device or process for generating signals 7 to a motor or other actuator 11. The control unit is arranged with a dynamic model 1. Dynamic model 1 may receive data either for physical parameters 8 of the robot, and/or for base parameters 4 of the robot. This data 8, and/or 4 and parameters for the load or tool 5 is fed into the dynamic control model.
The control unit 3 is arranged to control movements of an arm or other stiff, multi—link body or part 10 of a robot . The robot part is arranged with at least one actuator 11, typically an electric motor, and one or more sensors 13 to sense a position and/or rotational speed of the moving part. Value for motor torque may also be logged. Measurements of position and/or speed are logged and fed back 14 to the control unit 3.
Signal generator 7 generates a control signal which may be any of a control signal to an actuator/motor 11, a current supply to actuator 11, and/or a feed-forward value for motor torque. The process of generating a signal may alternatively comprise more actions. For example, a path generator may be used to generate a path along which the robot part shall be driven to follow a desired trajectory. The dynamic model 1 may then be used to calculate control signals and/or motor supply currents to drive the robot part so as to follow the desired trajectory.
Figure 2 is a flowchart for steps of a method according to an embodiment of the invention. The method may be employed after a robot has been installed ready for use, which may for example be a single robot in a stand-alone situation, and after a point at which a configuration mode has been selected via a control unit.
The following steps may begin with selecting a test trajectory 20 or movement cycle, preferably a predetermined cycle, which may be provided with the control unit. The test cycle may preferably be carried out under no—load conditions 21. The test trajectory is run 23, and physical parameters of the robot such as torque, time, arm position, arm speed are logged or sensed and recorded while the robot moves through the predetermined, known test cycle . Physical parameters of the robot such as position and torque are used in calculations 25 to derive one or more base parameters for the robot . The base parameters are then made available to the dynamic model, so a control sequence for a given operation or work cycle may be started at 27', the dynamic model now comprising robot base parameters derived at no-load, with the result that control signals and/or motor currents are generated to operate the robot according to the trajectory or trajectories required in any work cycle involving the same load or tool. Figure 3a shows a schematic flowchart for a method according to an preferred embodiment of the invention. When a tool shall be changed, or when the load on the robot arm or other robot part shall be changed, an operator or other user inputs a value for the change in load 30, which is then incorporated in the dynamic model. This is carried out by the operator or other user selecting a control operation to input a load change, and by inputting a value, a known value, for a load change or tool change 30. At that time the new value of the load is available to the dynamic model and the robot is from that point onward controlled and operated according to the new load value in the dynamic model.
Figure 3b shows additional steps for the method carried out in the control unit. Change in load is input 30, then new base parameters for the load are calculated 31. The new base parameters are stored or updated 32 and available for retrieval for use in the dynamic model calculations.
Figure 5 shows a schematic layout in an industrial installation for a system comprising a control unit according to another embodiment of the invention. Figure 5 shows a robot with a multi- link part 10, connected to a control unit 3. Control unit 3 is connected to a data network 55, which may at least in part comprise a LAN based on a standard such as Ethernet . The data network comprises a wireless node 56, a workstation 57a, a portable computing device 57b and a wireless portable computing device 57c. The control unit 3 may be accessed for control and/or configuration purposes via a local panel or other means arranged on the control unit itself, via a workstation 57a connected to a LAN or other data network 55. In addition the control unit may be accessed by a suitably logged-in user with a portable control device 57b or wireless portable device 57c. Any of the control unit 3, workstation 57a, portable device 57b and wireless computing device or TPU 57c may comprise a graphical user interface . A user such as an operator, engineer or technician in a factory or other installation for industrial or any other commercial or public service operations may, when suitably logged in, configure or otherwise program a manipulator arm or robot to carry out one or more tasks. The processor 6 of the control unit may be a standard processor or computer, it may be an analogue or a digital device; alternatively it may be a custom computing device, such as an ASIC (application specific integrated circuit) . It is also possible to combine the function of a path generator with the processor or computing device 6 for processing inputs and providing outputs dependent on the dynamic model comprising the base parameters as described above.
Mathematical aspects of the method and the dynamic model may be described as follows. It is well known, for example from Atkeson et al . (see references below), that the equations describing the rigid body dynamics of for example a robot may be stated in a . linear form with respect to the inertial parameters as τ= HXPHYS (1 ) where τ is the arm torque,
H = H(q,q,q,l) is a matrix, and
XPHrs is an array with the inertial parameters of the system. The q , q and q are the generalized co-ordinates and its time derivatives in the dynamic model whereas / denotes an array of spatial lengths of the bodies in the system. Generally, the inertial properties of a rigid body may be described by 10 parameters. Thus inertial properties of a rigid body such as mass, distance between centre of gravity of the rigid body and a point of attachment to the robot, moment of inertia for each of 6 axes, are sufficient for the dynamic model to model the robot structure with a load change. The physical parameters may be determined in advance and provided, for example by a manufacturer of the robot or robot component or tool component concerned.
A method that has been developed makes it possible to easily derive the relation τ = H*BASE (2) where the matrix H = H(g,q,q,l) generally has full rank (as opposed to the matrix H in Eq.1) and XBΛSE is an array of base parameters corresponding to H . Of most interest here is the relation between the base parameters and the physical parameters :
For the derivation of the matrix M-M(I) see Mayeda et al . and Gautier and Khali1 for the special case of a serial robot structure. We have developed a method to derive this relation for general rigid body dynamic models. The change in load on the robot or the robot arm due to a change in load, whether it be change in payload, other load or tool change etc., is treated as the addition of a rigid body module (RBM) to the existing structure. To apply this to achieve re-calculation of base parameters by according to the change in load only we re-state the relation in Eq. (3) in the following way: γ ROBOT+RBM Λ/fγ ROBOT+RBM γ ROBOT , τt/fγ RBM I /i \
Λ BASE — iV1Λ- PHYS — * BASE ÷ mΛ- PHYS I ^ >
From this equation (4) it can be seen that identified robot base parameters can be combined with known physical parameters of an extra RBM. A further and significant element of combining identified' robot base parameters together with physical parameters is the matrix M=MQ) .
To illustrate a method of obtaining base parameters, given known physical parameters, a simple example is described for a three axis serial robot shown in Figure 7 (described below) , using the above Eq. (3) . For the considered example of the three axis serial structure described in Figure 7, the matrix M defined in equation (3) is given as:
Figure imgf000014_0001
(5 ) with
Ip = IpIx2 + lply2 + Ip2x2 + Ip2y2 + 2IpIy Ip2y ( 6)
To further illustrate how a base parameter, say XBASE0) with
X, j(l) being the first element of the array XBASE , may be written in terms of the physical parameters of the system, the first row of equation (3) is given as
XBASE (Y) = Jl22 + 32^ + 2 lply m2y + QpIx2 + lply2) rn2 + Jl22. +
+ (2 lply + 2 Ip2y) m3y + (IpIx2 + lply2 ■+ Ip2x2 + Ip2y2 + 2 lply Ip2y) m3
The other 14 base parameters of this simple 3-axis robot are accordingly calculated, per row of the matrix in the same way.
The physical parameters for an simple 3—axis robot are illustrated schematically in Figure 7. Figure 7 shows a robot base part 80 in a fixed position, with a body 81 joined to the first body by a joint PO 70 which is rotatable about a z—direction. A rigid body 82, 83 is attached to body 81 by a second joint Pl 71 which is rotatable about a y axis, that is, in or out of the plane of the page. The vector PO-Pl is a Euclidian vector which is described by (length) components lplx, lply, lplz in each of the x, y and z directions. Likewise the vector Pl-P2 is described by components Ip2x, 1p2y, Ip2z. The third rigid body 83 is joined to the rigid body
82 by joint P2 that is rotatable about the y direction, in or out of the page. The tool 83 has a Tool Centre Point TCP 85 as shown.
The physical parameters 88i for the first body 81 are given by its mass ml, mass times the center of gravity vector (mlx,mly,mlz) , and its inertia tensor defined by Jlxx, Jlyγ, Jl∑zr Jlχγ/ Jlχz/ Jlγχf cf. Figure 7. The physical parameters 892, 8S3/ for bodies 82 and
83 are given in a corresponding way, as may also be seen from Figure 7.
For the 3—axis structure example described in Figure 7, the array with physical parameters defined in Eq. (1) is given by: J2xy J2,z J2yz m2x m2y m2Z m2\
Figure imgf000015_0001
J3V J3XZ /33, nβx nβy niiz m3]
Thus in this example with a 3-axis as described in Figure 7, only one physical parameter of body 81 enters the dynamic equation. The parameters are explained in reference to the example shown in Figure 7. Now, to illustrate and explain the concept of adding a rigid body module (RBM) to a base parameter model, we can recalculate base parameters in the case where a rigid body module 84 with known physical parameters is added to the last rigid body, shown as 83 in Figure 7. The RBM 84 that is added to body 83 is characterized by known physical parameters which parameters normally 10 in number, are denoted by
r τRBM τ RBM T RBM J RBM J RBM T RBM n,~RBM «,,,ΛBM RBM ^,RBM -, , Q .
I J M , J yy r J zz r J Xy ' J xz ' J yz ' ''1^ ' '"J ' '"*• ' m J * » ° '
The above array for the physical parameters part, XPHγS of Equation 7 comprises only 21 physical parameters instead of 3x10=30 parameters because only one inertial parameter is needed to describe body 81.
The new base parameters for the complete system (robot + RBM) may then be expressed as: γ ROBOT+RBM _ Y ROBOT , τ.jrv RBM , Q ,
Λ BASE — Λ BASE "*" mΛ PHYS V 3 > where M is given in Eq . ( 5 ) and by X pms = [ 0 I 0 0 0 0 0 0 0 0 0 0 | j RBM j RBM j RBM j RBM j RBM r RBM m~RBM ^,.,RBM ^^ RBM RBM -, n n \
J xx ' J yy ' zz ' ay ' J xz ' J yz ' "1^ ' "^J ' m% ' m J ( J- U ^
Thus the dynamic model may be updated by a base parameter based on a single value input representing a load change or load change due to tool change or similar, and without having to carry out an identification, that is, without having to make physical measurements on the robot or robot/tool to find angles or a gravitation angle or a moment. A known change in load as described in this specification means a change which may be due to any of a number of changes, such as adding or removing power cables, hoses or control cabling to a robot, or a change in the arm geometry or dimensions by, for example, extending the length of an arm with an arm extender, load changes due to exchanging one tool for another, by adding a tool, by adding a tool accessory, or by a change in pay load, the "useful load" carried or otherwise manipulated by the robot . Once the change in load has been input to the model and the model re-calculated then the robot can be operated again with the new load or new tool, without being forced to re-make the identification.
As described above in relation to Figure 2, a test cycle may be carried out under no—load conditions to determine robot physical parameters from which base parameters for the robot may be calculated and used in the dynamic model. According to another embodiment of the invention, the test cycle may be carried out with a known and non—zero Load or a different tool arranged on the robot. In this case, the value of the known load is input via the control unit, locally or remotely, as otherwise described in relation to Figure 3a and/or 3b. The difference in the case of a non—zero known load test cycle being that the base parameters for each of the robot and the load may be separately calculated and obtained from the robot physical parameters sensed and recorded under the known load test cycle -
Figure 4 shows a flowchart for method according to a further development of preferred embodiment. The method shows generally that the dynamic model control may use existing values for physical parameters of the robot, if found 40, and then calculate base parameters for the robot 45 and store or update 52 the values for use by the dynamic model. In the case where physical parameters for the robot are not found, a check is made for stored robot base parameters 41. If base parameters are found they are stored/updated 52 for use in the dynamic model. If no base parameters are found the a process may be run to set up and start a test cycle 43 to measure physical parameters of the robot. During the test cycle position of the robot part is sensed and values for speed and/or motor torque may be logged 44. Base parameters for the robot are calculated 45 as before and stored/updated 52 ready for use in the dynamic model. An advantage of this method is a minimum of operator input is needed to identify and calculate base parameters for the dynamic model. The test run is preferably run under no—load conditions, but may, if required be run with a known load.
In a preferred embodiment the present invention may be operated using a computing device which may or may not be portable, and which may be a custom device or may be a general purpose computing device such as a Personal Data Assistant (PDA) , or a may be a more specialised computing device such a Teach Pendant (TPU) for a robot .
In a particularly advantageous embodiment the computing device is a wireless portable computing device 57c embodied as a TPU. The TPU may be activated or otherwise begin operations in respect of an industrial robot in a hot plug routine, that is, without performing a pause or power down/power up of the robot before the TPU can begin to operate or control the robot .
The TPU 57b, 57c may be equipped with a display screen, which may be relatively small in size, it may run an operating system of its own as well as application software for performing operations concerned with controlling and/or teaching a robot. The user of the TPU can mark a part of the industrial device on the display screen, in this case an industrial robot or an automation device and then input data for load, change of tool or even other physical parameters associated with the movement to be performed by a robot arm, or part of. The user then manipulates the display screen or parts of a graphical user interface displayed on the display screen so as to cause or instruct the dynamic model to run a test cycle and/or calculate or re—calculate movements for the robot on the basis of the load changes or other physical parameters input by the user. Signals based on outputs from sensors such as sensor 13 arranged on a robot or manipulator arm may also be sent to the computing device via a data network to provide monitoring and/or supervision of physical parameter data input to the dynamic model .
The invention may advantageously be used to configure or program a manipulator arm or industrial robot to carry out tasks associated with any from the list of operations as : gripping an object, manipulating an object, stacking, pick and place objects, welding, framing a vehicle body, riveting, de- burring, fettling, grinding, coating, painting, dry spraying, gluing, folding plate, bending plate, hemming plate.
In addition to the known industrial applications of industrial robots, the control unit is also suitable for controlling and operating an amusement ride. That is to say controlling a robot implemented operation such as an amusement ride, in which one or more human passengers are conveyed along a trajectory by an adapted robot arm moveable with a plurality of degrees of freedom, fox example six degrees of freedom.
One or more microprocessors (or processors or computers) comprise a central processing unit CPU performing the steps of the methods according to one or more aspects of the invention, as described for example with reference to Figures 2, 3a, 3b, 4, 7, 6. The method or methods are performed with the aid of one or more computer programs, which are stored at least in part in memory accessible by the one or more processors. It is to be understood that the computer programs for carrying out methods according to the invention may also be run on one or more general purpose industrial microprocessors or computers instead of one or more specially adapted computers or processors, which may comprise one or more FPGAs (field programmable gate arrays) or ASICs (application specific integrated circuits) or other devices such as simple programmable logic devices (SPLDs) , complex programmable logic devices (CPLDs) , field programmable system chips (FPSCs) .
The computer program comprises computer program code elements or software code portions that make the computer or processor perform the methods using equations, algorithms, data, stored values, calculations and statistical or pattern recognition methods previously described, for example in relation to Figures 2, 3a, 3b, 4, 7, 6. The computer program may comprise one or more small executable programs. A part of the program may be stored in a processor as above, but also in a ROM, RAM, PROM, EPROM or EEPROM chip or similar memory means. The or some of the programs in part or in whole may also be stored locally (or centrally) on, or in, other suitable computer readable medium such as a magnetic disk, CD-ROM or DVD disk, hard disk, magneto—optical memory storage means, in volatile memory, in flash memory, as firmware, or stored on one or more data servers . Other known and suitable media, including removable memory media such as a Sony Memory stick (TM) and other removable flash memories, hard drives etc. may also be used. The program may also in part be supplied from a data network, including a public network such as the Internet. The computer programs described may also be arranged in part as a distributed application capable of running on several different computers or computer systems at more or less the same time .
Figure 6 shows a schematic flowchart for another preferred embodiment. In a case where a load value is not known, such as for example when a load is represented by a tool that may not be dismantled from the robot for some reason, a method is provided to determine the base parameters required to control the robot part with an unknown load. In addition, the resulting parameters may be solved to find the value of the unknown load when the base parameters of the robot alone (from a no-load test cycle) are already known. Figure 6 shows that the control unit is configured to select 62 a process for an unknown load. A test trajectory is run 63 as before and physical parameters of the robot part are sensed and/or measured and logged 64. The base parameters are calculated for the unknown load 65. Previously calculated base parameters for the robot may be used to find the value of the unknown load by, for example, solving the above equations in respect of the dynamic model using in particular equation (4) .
It should be noted that while the above describes exemplifying embodiments of the invention, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention as defined in the appended claims .
References
Gautier M- and Khal±l W. (1990) . Direct calculation of minimum inertial parameters of serial robots. IEEE Trans. Robotics and
Automation, Vol. 6, No. 3, pp. 368-373.
Mayeda H., Yoshida K., and Osuka K. (1990). Base parameters of manipulator dynamic models. IEEE Trans. Robotics and Automation,
Vol. 6, No. 3, pp. 312-321.
Atkeson C, An C, and Hollerbach J. (1986). Estimation of inertial parameters of manipulators loads and links. International
Journal of Robotics Research, Vol. 5, Wo. 3, pp. 101-119.

Claims

1. A method to control an industrial robot using a dynamic model (1) to provide one or more control signals and/or control parameters to control the robot, and where said dynamic model is obtained in part by identification of the base parameters for said dynamic model and in part by obtaining one or more physical parameters for the robot, characterised by
-transforming at least one of the dynamic physical parameters into one or more base parameters, and
-combining the identified base parameters of the dynamic model with the transformed dynamic physical parameters to obtain the dynamic model represented in base parameters for the robot control .
2. A method according to claim 1, characterised in that said dynamic model contains at least one dynamic physical parameter of a first part of the robot.
3. A method according to claim 2, characterised in that said dynamic model comprises one or more dynamic physical parameters of at least one rigid body mounted on the first part of the robot .
4. A method according to claim 3, characterised in that the first part of the robot is a robot arm system and that the rigid body mounted on the first part of the robot is a load arranged or mounted on the robot .
5. A method according to claim 4, characterised in that the load arranged or mounted on the robot is a tool or an object handled by the robot .
6. A method according to claim 4 characterised in that the load arranged or mounted on the robot is an equipment mounted on the robot structure .
7. A method according to claim 2, characterised in that the dynamic physical parameters are any from the list of: torque about a first axis, torque about another axis, angular velocity about a joint, time, arm position, arm speed.
8. A method according to claim 1, characterised by -identifying a base parameter,
-identifying a change of load on the robot,
—inputting one or more physical parameters dependent on the change of load into said dynamic model, and
—updating base parameters of the full dynamic model.
9. A method according to claim 8, characterised by -inputting the one or more physical parameters,
-calculating a value for a base parameter (4, Jl22) dependent on a new value for a load or a tool, and
—calculating by means of said dynamic model including the base parameter one or more control signals to make the robot move.
10. A method according to claim 9, characterised by inputting the value based on a known change in load or tool as at least one predetermined value, physical parameter or inertial parameter dependent on mass of a load applied to a part of the robot tool.
11. A method according to claim 10, characterised by inputting the value based on a change in load or tool as a change in position of a centre of mass of a part of the robot tool.
12. A method according to claim 4, characterised by
-moving said first part of the robot along a first trajectory, -determining at least one dynamic physical parameter of said part of the robot during the movement of said first part, —calculating at least one non-redundant base parameter based on a the at least one said predetermined physical parameter, —adding the at least one non—redundant base parameter into said dynamic model, and -calculating by means of the dynamic model a value for one or more control signals to cause said part of the robot to move along a second trajectory.
13. A method according to claim 12, characterised by obtaining a linear combination of one or more said physical parameters by means of a matrix decomposition.
14. A method according to claim 13, characterised by the matrix decomposition being a QR-decomposition or QR-decomposition with pivoting.
15. A method according to claim 14, characterised by selecting two or more non—redundant base parameters that are linearly independent of one another .
16. A method according to claim 15, characterised by applying a ntmerical method for rank deficient least squares to simulated data to provide the non-redundant base parameters for use as parameters in said dynamic model.
17. A method according to claim 15, characterised by applying the rank deficient least squares method to data simulated by a random procedure .
18. A method according to claim 16, characterised by storing non- redundant base parameters for use with said dynamic model.
19. A method according to claim 12, characterised in that the first trajectory is a predetermined trajectory to cause said part of the robot to move in a predetermined way or in a test trajectory or test cycle.
20. A method according to claim 19, characterised by determining (24, 44) the at least one non-redundant base parameter during a movement or first trajectory of said part of the robot under a no- load condition.
21. A method according to claim 20, characterised by inputting (30) a non-zero value for a load arranged on said part of the robot .
22. A method according to claim 20, characterised by inputting a value for a change of a tool arranged with or mounted on said part of the robot.
23. A method according to claim 21 or 21, characterised by automatically reading a value at a given point in a process for a change of load or change of a tool for said part of the robot from predetermined information or stored data, and inputting the load change or tool change value to update the dynamic model at the given process point accordingly.
24. A method according to any previous claim, characterised by inputting a predetermined value for a physical parameter dependent on a change in dimensions of an arm or manipulator of the industrial robot, such as by fitting an arm extender.
25. A method according to any previous claim, characterised by calculating a value for a feed-forward control signal by means of said dynamic model.
26. A method according to claim 8, characterised by configuring a load or change value of said dynamic model by means of a portable computing device (57b, c) .
27. A method according to claim 26, characterised in that the portable computing device is arranged in the form of a Teach Pendant for an industrial robot .
28. A method according to claims 26-27, characterised in that the portable computing device is connected to or otherwise activated for data retrieval or control of an industrial robot in way that is hot-pluggable and without pausing or shutting down the industrial robot.
29. A computer program recorded on a computer readable medium which when read into a computer or processor will cause the computer or processor to carry out a method to retrieve and display technical data for an industrial device using a computer program for control according to the steps of any of claims 1-28.
30. A computer program product embodied on a computer readable medium which when read into a computer or processor will cause the computer or processor to carry out one or more instructions for a method to retrieve and display technical data for an industrial device using a computer program for control according to the steps of any of claims 1—28.
31. A control unit for control of an industrial robot comprising a dynamic model (1) for control to provide one or more control signals for moving a part of the robot and where said dynamic model is obtained in part by identification of the base parameters for said dynamic model and in part by obtaining one or more physical parameters for the robot, characterised in that said control unit (3) is arranged with one or more input members for inputting a physical parameter value dependent on a change in load or tool input by means of any from the list of: graphical user interface, keyboard or keypad, joystick, computer pointing device, remote input.
32. A control unit according to claim 31, characterised in that said control unit is arranged with one or more calculation members for calculating at least one non-redundant base parameter, comprises one or more input means for inputting the at least one non—redundant base parameter into said dynamic model, and is arranged with one or more members for calculating a value to generate a movement or trajectory of said part of the robot.
33. A control unit according to claim 32, characterised at least one of the one or more input members said control unit (3) is arranged with for inputting a physical parameter for a moving part of the robot (10, 12, 81-83) dependent one or more physical parameters (8, 8ai, 8s2/ ββs) for said moving part of the robot
34. A control unit according to claim 31, characterised in that said control unit is arranged with one or more calculation members for calculating at least one base parameter (4, Jlzz) dependent on the change in load or tool.
35. A control unit according to claim 31, characterised by comprising an input member arranged locally on the control unit for input or manipulation of a value for a load and/or a change value for a tool.
36. A control unit according to claim 31, characterised by data communication means arranged suitable for accepting an input value for a load and/or a change value for a tool from a remote source.
37. A control unit according to claim 31, characterised by comprising means for wireless communication with any from the list of: robot, robot controller, robot control system.
38. A control unit according to any of claims 31-37, characterised by display means arranged locally on the control unit to display and/or manipulate a value for a load, physical parameter and/or a change value for a tool.
39. A system for control of an at least one industrial robot the system comprising using a dynamic model (1) to provide one or more control signals and/or control parameters to control the robot, and where said dynamic model is obtained in part by identification of the base parameters for said dynamic model and in part by obtaining one or more physical parameters for the robot, further comprising a control unit (3) and one or more said robots, characterised in that said control unit (3) is arranged with one or more input members for inputting a physical parameter value dependent on a change in load or tool .
40. A system according to claim 39, characterised in that said control unit is arranged with one or more members to accept a predetermined physical parameter value data input dependent on a change in load and/or a change value for a tool/ and calculation means for calculating at least one base parameter (4, Jlzz) for the dynamic model .
41. A system according to claim 39, characterised in that said control unit is arranged with one or more calculation members for calculating at least one non-redundant base parameter, and by means to accept predetermined input data dependent one or more (8, 8ai/ 8B2, 8S3) said physical parameters.
42. A system according to claim 39, characterised in that the system comprises sensor input means (13) for providing physical parameter data or operating data.
43. A system according to claim 40, characterised in that the system comprises computer input means for inputting any from the list of: physical parameter data, payload data, tool load data, TCP data.
44. A system according to claim 39, characterised by one or more computer programs according to claim 22 and/or 23.
45. A system according to claim 40, characterised by comprising at least one portable computing device (57b, c) arranged with data input means .
46. A system according to claim 45, characterised in that the portable computing device (57b, c) comprises functions of a TPU.
47. A system according to any of claims 45 or 46, characterised in that the portable computing device (57c) comprises wireless communication means compatible with a wireless LAN or wireless data network.
48. A system according to claim 47, characterised in that the portable computing device is arranged with a display member.
49. A system according to claim 47, characterised in that the portable computing device is arranged with an operating system.
50. A system according to any of claims 45—49, characterised in that the portable computing device is arranged such that it may be connected to the system or otherwise or activated in a way that is hot—pluggable, and without pausing or shutting down the control system.
51. Use of a system according to any of claims 31—38 for controlling or programming an industrial robot.
52. Use of a control unit according to any of claims 24-30 or a system according to any of claims 31-43 for controlling or programming an industrial robot to carry out any task from the list of: gripping an object, manipulating an object, stacking, pick and place objects, controlling and operating an amusement ride or an installation comprising a human passenger, welding, framing a vehicle body, riveting, de-burring, fettling, grinding, coating, painting, dry spraying, gluing, folding plate, bending plate, hemming plate.
PCT/EP2005/051999 2005-05-02 2005-05-02 A method for control of an industrial robot WO2006117022A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2005/051999 WO2006117022A1 (en) 2005-05-02 2005-05-02 A method for control of an industrial robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2005/051999 WO2006117022A1 (en) 2005-05-02 2005-05-02 A method for control of an industrial robot

Publications (1)

Publication Number Publication Date
WO2006117022A1 true WO2006117022A1 (en) 2006-11-09

Family

ID=35973709

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/051999 WO2006117022A1 (en) 2005-05-02 2005-05-02 A method for control of an industrial robot

Country Status (1)

Country Link
WO (1) WO2006117022A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009043969A1 (en) * 2007-10-01 2009-04-09 Sandvik Mining And Construction Oy Method, apparatus and computer program for adjusting hydraulically operated boom
DE102008006982A1 (en) * 2008-01-31 2009-08-13 Deutsches Zentrum für Luft- und Raumfahrt e.V. Robot and method for parameterizing a robot model
WO2014000766A1 (en) 2012-06-26 2014-01-03 Abb Technology Ltd Adjusting parameters of a dynamical robot model
CN104267598A (en) * 2014-09-19 2015-01-07 江南大学 Method for designing fuzzy PI controller of Delta robot movement mechanism
DE102013012446A1 (en) * 2013-07-26 2015-01-29 Kuka Laboratories Gmbh Method for monitoring a payload-carrying robot arrangement
US9393693B1 (en) 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices
WO2017079344A1 (en) 2015-11-02 2017-05-11 The Johns Hopkins University Generation of robotic user interface responsive to connection of peripherals to robot
US9962835B2 (en) 2013-12-17 2018-05-08 Syddansk Universitet Device for dynamic switching of robot control points
CN109213306A (en) * 2017-06-30 2019-01-15 沈阳新松机器人自动化股份有限公司 A kind of robot remote control platform and its design method
CN109732608A (en) * 2019-02-18 2019-05-10 上海电气集团股份有限公司 The discrimination method and system of the inertial parameter of industrial robot
WO2019108917A1 (en) * 2017-11-30 2019-06-06 Abb Schweiz Ag Method for operating a robot
JP2020011320A (en) * 2018-07-17 2020-01-23 オムロン株式会社 Parameter identification device, method and program
DE102009032278B4 (en) * 2009-07-08 2021-03-04 Kuka Roboter Gmbh Method and apparatus for operating a manipulator
CN113021331A (en) * 2019-12-24 2021-06-25 沈阳智能机器人创新中心有限公司 Seven-degree-of-freedom cooperative robot dynamics modeling and identification method
CN113924195A (en) * 2019-05-29 2022-01-11 优傲机器人公司 Control of multipurpose robot arm
CN114505864A (en) * 2022-03-11 2022-05-17 上海柏楚电子科技股份有限公司 Hand-eye calibration method, device, equipment and storage medium
WO2022188976A1 (en) * 2021-03-11 2022-09-15 Abb Schweiz Ag Method of handling manipulator, control system and industrial robot

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989006007A1 (en) * 1987-12-14 1989-06-29 Fanuc Ltd Method of teaching and reproducing operation program for an industrial articulated robot
US6343243B1 (en) * 1997-03-04 2002-01-29 Abb Ab Method for determining load parameters for a manipulator
EP1464453A2 (en) * 2003-03-31 2004-10-06 Fanuc Ltd Flexure correction apparatus and method for robot

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989006007A1 (en) * 1987-12-14 1989-06-29 Fanuc Ltd Method of teaching and reproducing operation program for an industrial articulated robot
US6343243B1 (en) * 1997-03-04 2002-01-29 Abb Ab Method for determining load parameters for a manipulator
EP1464453A2 (en) * 2003-03-31 2004-10-06 Fanuc Ltd Flexure correction apparatus and method for robot

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. GAUTIER ET AL.: "Direct Calculation of Minimum Set of Inertial Parameters of Serial Robots", IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, vol. 6, no. 3, June 1990 (1990-06-01), pages 368 - 373, XP002372958 *
MAYEDA H ET AL: "Base parameters of manipulator dynamic models", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION. PHILADELPHIA, APR. 24 - 29, 1988, WASHINGTON, IEEE COMP. SOC. PRESS, US, vol. VOL. 3, 24 April 1988 (1988-04-24), pages 1367 - 1372, XP010012548, ISBN: 0-8186-0852-8 *

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452454B2 (en) 2007-10-01 2013-05-28 Sandvik Mining And Construction Oy Method, apparatus and computer program for adjusting hydraulically operated boom
WO2009043969A1 (en) * 2007-10-01 2009-04-09 Sandvik Mining And Construction Oy Method, apparatus and computer program for adjusting hydraulically operated boom
DE102008006982A1 (en) * 2008-01-31 2009-08-13 Deutsches Zentrum für Luft- und Raumfahrt e.V. Robot and method for parameterizing a robot model
DE102009032278B4 (en) * 2009-07-08 2021-03-04 Kuka Roboter Gmbh Method and apparatus for operating a manipulator
WO2014000766A1 (en) 2012-06-26 2014-01-03 Abb Technology Ltd Adjusting parameters of a dynamical robot model
CN104321167A (en) * 2012-06-26 2015-01-28 Abb技术有限公司 Adjusting parameters of a dynamical robot model
US9616565B2 (en) 2012-06-26 2017-04-11 Abb Schweiz Ag Adjusting parameters of a dynamical robot model
US10213920B2 (en) 2013-07-26 2019-02-26 Kuka Deutschland Gmbh Apparatus and method for monitoring a payload handling robot assembly
DE102013012446A1 (en) * 2013-07-26 2015-01-29 Kuka Laboratories Gmbh Method for monitoring a payload-carrying robot arrangement
US9962835B2 (en) 2013-12-17 2018-05-08 Syddansk Universitet Device for dynamic switching of robot control points
US9393693B1 (en) 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices
CN104267598A (en) * 2014-09-19 2015-01-07 江南大学 Method for designing fuzzy PI controller of Delta robot movement mechanism
US10399220B2 (en) 2015-11-02 2019-09-03 The Johns Hopkins University Generation of robotic user interface responsive to connection of peripherals to robot
EP3371666A4 (en) * 2015-11-02 2019-04-24 The Johns Hopkins University GENERATING ROBOTIC USER INTERFACE IN RESPONSE TO CONNECTING PERIPHERALS TO A ROBOT
US11712800B2 (en) 2015-11-02 2023-08-01 The Johns Hopkins University Generation of robotic user interface responsive to connection of peripherals to robot
EP3979018A1 (en) * 2015-11-02 2022-04-06 The Johns Hopkins University Generation of robotic user interface responsive to connection of peripherals to robot
US11097415B2 (en) 2015-11-02 2021-08-24 The Johns Hopkins University Generation of robotic user interface responsive to connection of peripherals to robot
WO2017079344A1 (en) 2015-11-02 2017-05-11 The Johns Hopkins University Generation of robotic user interface responsive to connection of peripherals to robot
CN109213306A (en) * 2017-06-30 2019-01-15 沈阳新松机器人自动化股份有限公司 A kind of robot remote control platform and its design method
WO2019108917A1 (en) * 2017-11-30 2019-06-06 Abb Schweiz Ag Method for operating a robot
CN111655433A (en) * 2017-11-30 2020-09-11 Abb瑞士股份有限公司 Method for operating a robot
US10828778B2 (en) 2017-11-30 2020-11-10 Abb Schweiz Ag Method for operating a robot
CN111655433B (en) * 2017-11-30 2023-05-02 Abb瑞士股份有限公司 Method for operating a robot
CN112272601A (en) * 2018-07-17 2021-01-26 欧姆龙株式会社 Parameter identification device, method, and program
WO2020017092A1 (en) * 2018-07-17 2020-01-23 オムロン株式会社 Parameter identifying device, method, and program
JP2020011320A (en) * 2018-07-17 2020-01-23 オムロン株式会社 Parameter identification device, method and program
CN109732608B (en) * 2019-02-18 2022-04-12 上海电气集团股份有限公司 Method and system for identifying inertial parameters of industrial robot
CN109732608A (en) * 2019-02-18 2019-05-10 上海电气集团股份有限公司 The discrimination method and system of the inertial parameter of industrial robot
CN113924195A (en) * 2019-05-29 2022-01-11 优傲机器人公司 Control of multipurpose robot arm
CN113021331A (en) * 2019-12-24 2021-06-25 沈阳智能机器人创新中心有限公司 Seven-degree-of-freedom cooperative robot dynamics modeling and identification method
WO2022188976A1 (en) * 2021-03-11 2022-09-15 Abb Schweiz Ag Method of handling manipulator, control system and industrial robot
CN114505864A (en) * 2022-03-11 2022-05-17 上海柏楚电子科技股份有限公司 Hand-eye calibration method, device, equipment and storage medium
CN114505864B (en) * 2022-03-11 2024-02-09 上海柏楚电子科技股份有限公司 Hand-eye calibration method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
WO2006117022A1 (en) A method for control of an industrial robot
CN108883533B (en) Robot control
CN103495977B (en) A 6R type industrial robot load recognition method
CN103302667B (en) Robot control method, robot controller and robot control system
CN110662635B (en) Collision handling for robots
Hyatt et al. Configuration estimation for accurate position control of large-scale soft robots
Dallej et al. Vision-based modeling and control of large-dimension cable-driven parallel robots
CN112654467A (en) Obtaining gear stiffness of a robot joint gear of a robot arm
US11169502B2 (en) Life estimation device and machine learning device
Jamone et al. Incremental learning of context-dependent dynamic internal models for robot control
Afrough et al. Identification of Dynamic Parameters and Friction Coefficients: of a Robot with Planar Serial Kinemtic Linkage
Dean-Leon et al. From multi-modal tactile signals to a compliant control
CN110394802B (en) Polishing robot and position compensation method
Lu et al. Experimental determination of dynamic parameters of robotic arms
JPH1139019A (en) Off-line teaching method
CN113858189A (en) Robot control method and robot system
Suhaimin et al. Analysis of point-to-point robotic arm control using pid controller
CN114833820B (en) Action parameter adjusting method, recording medium and robot system
Scherzinger et al. A walking space robot for on-orbit satellite servicing: The recobot
JP3698770B2 (en) Load weight estimation method
Barrett et al. Mechatronic design and control of a light weight manipulator arm for mobile platforms
JP6896824B2 (en) Robot devices, robot systems, control methods for robot devices, manufacturing methods for articles using robot devices, information processing devices, information processing methods, control programs and recording media
Ma et al. Unknown constrained mechanisms operation based on dynamic hybrid compliance control
Pomares et al. Dynamic visual servo control of a 4-axis joint tool to track image trajectories during machining complex shapes
Golnazarian et al. Intelligent industrial robots

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Country of ref document: RU

122 Ep: pct application non-entry in european phase

Ref document number: 05740141

Country of ref document: EP

Kind code of ref document: A1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载