Method and device for adjusting and controlling manipulators

09579792 ยท 2017-02-28

Assignee

Inventors

Cpc classification

International classification

Abstract

Methods and apparatus for adjusting and controlling a robotic manipulator based on a dynamic manipulator model. A model for gear mechanism friction torque is determined for at least one axis, based on driven axis speeds and accelerations, and on a motor temperature on the drive side of one of the motors that is associated with the axis. The model is used to determine target values, such as motor position or current. The gear mechanism friction torque that complies with the model is determined in accordance with a gear mechanism temperature.

Claims

1. A method of adjusting or controlling an automatically controlled robotic manipulator having shafts driven by motors and associated gear mechanisms, the method comprising: determining a gear mechanism friction torque as a function of gear mechanism temperature; determining a target value for at least one of a motor position or a motor current associated with at least one shaft of the robotic manipulator using a dynamic manipulator model that accounts for friction torques in the gear mechanisms, the model including a gear mechanism friction torque model for the at least one shaft based on driven-side shaft velocities and shaft accelerations; and actuating at least one motor of the robotic manipulator with a controller based on the determined target value.

2. The method of claim 1, further comprising: directly measuring the gear mechanism temperature.

3. The method of claim 2, wherein measuring the gear mechanism temperature comprises measuring the temperature during operation of the manipulator.

4. The method of claim 2, wherein measuring the gear mechanism temperature comprises measuring the temperature before operation of the manipulator.

5. The method of claim 4, wherein determination of the gear mechanism temperature comprises minimizing the following expression relative to G: t_act - T t_act .Math. I soll ( G ; / tqG ( t ) , / t 2 qG ( t ) , M ( t ) , G ( t ) ) - I ist ( t ) .Math. 2 w ( t ) t = t_act - T t_act .Math. M soll ( G ; / tqG ( t ) , / t 2 qG ( t ) , M ( t ) , G ( t ) ) / kr - I ist ( t ) .Math. 2 w ( t ) t = t_act - T t_act .Math. ( ( G + RG ) / R - RM ) soll ( G ; / tqG ( t ) , / t 2 qG ( t ) , M ( t ) , G ( t ) ) / kr - I ist ( t ) .Math. 2 w ( t ) t wherein: t designates the time coordinate t_act is a current time point T is the storage time period I.sub.soll is a target motor current G is the gear mechanism temperature to be determined qG(t) is a time-dependent drive-side position M(t) is the time-dependent motor temperature G(t) is a time-dependent drive-side torque I.sub.ist(t) is a time-dependent actual motor current M.sub.soll is a drive-side target torque k.sub.T is a proportionality factor according to M=k.sub.TI d/dtqG(t) is the first derivative with respect to time of the drive-side position (i.e., a drive-side velocity) d/dt.sup.2qG(t) is the second derivative with respect to time of the drive-side position, (i.e., a drive-side acceleration).

6. The method of claim 5, comprising using the most recently obtained value of the gear mechanism temperature as a starting value for numerical minimization of the expression.

7. The method of claim 4, wherein determination of the gear mechanism temperature comprises minimizing the following expression relative to G:
|M.sub.soll(G;d/dtqG(t),d/dt.sup.2qG(t),M(t),G(t))M.sub.ist(t)|.sup.2 wherein: t designates the time coordinate G is the gear mechanism temperature to be determined qG(t) is a time-dependent drive-side position M(t) is the time-dependent motor temperature G(t) is a time-dependent drive-side torque I.sub.ist(t) is a time-dependent actual motor current M.sub.soll is a drive-side target torque M.sub.ist is a drive-side actual torque d/dtqG(t) is the first derivative with respect to time of the drive-side position (i.e., a drive-side velocity) d/dt.sup.2qG(t) is the second derivative with respect to time of the drive-side position (i.e., a drive-side acceleration).

8. The method of claim 7, comprising using the most recently obtained value of the gear mechanism temperature as a starting value for numerical minimization of the expression.

9. The method of claim 1, further comprising: measuring drive-side parameters of the manipulator at discrete time intervals; periodically determining the heat input and heat conduction in the mechanical structure of the manipulator on the basis of a heat conduction model of the manipulator; and determining an approximate gear mechanism temperature based on the determined heat conduction.

10. The method of claim 9, further comprising: determining an ambient temperature at discrete time intervals; and periodically determining heat radiation from the manipulator to the environment based on the determined ambient temperature; wherein determining the gear mechanism temperature comprises determining the temperature based on the determined heat conduction and the determined heat radiation.

11. The method of claim 1, further comprising: measuring at least one of a drive-side motor current or motor position associated with the at least one shaft; determining a characteristic diagram of the gear mechanism friction torque model based on the gear mechanism temperatures; and determining a value of the gear mechanism temperature or a gear mechanism friction using the gear mechanism friction torque model and the measured drive-side motor current or motor position.

12. The method of claim 11, wherein determining the characteristic diagram and the gear mechanism friction model comprises determining the characteristic diagram and the gear mechanism friction model before operation of the manipulator and storing information related to the diagram and model for later use.

13. The method of claim 1, comprising: measuring drive-side motor current or motor position at discrete intervals; storing values of the measured drive-side motor current or motor position during a predetermined time period, wherein the time period is an order of magnitude smaller than the time it takes for the gear mechanism to change temperature; and approximating the gear mechanism temperature at the predetermined time period using the stored values of the drive-side motor current or motor position.

14. The method of claim 13, wherein the predetermined time period of storing measured values of drive-side motor current or motor position is the same order of magnitude as the time interval for measuring drive-side motor current or motor position.

15. The method of claim 1, further comprising: determining initial values for at least one of target motor positions or target motor currents corresponding to a desired sequence of manipulator positions to effect a desired movement of the manipulator with respect to geometry, time variation, and velocities of the movement.

16. The method of claim 15, further comprising: determining new values for at least one of target motor positions or target motor currents corresponding to the desired sequence of manipulator positions prior to interpolating the desired sequence of manipulator positions if a predetermined time has passed between the determination of the initial values and the interpolation.

17. The method of claim 1, further comprising: determining at least one of actual motor positions or motor currents based on the gear mechanism temperature; and interpolating a desired sequence of manipulator positions needed to effect a desired movement of the manipulator based on the determined actual motor positions or motor currents.

18. A device for controlling an automatically controlled robotic manipulator having shafts driven by motors and associated gear mechanisms, the device comprising: a control unit that determines a gear mechanism friction torque as a function of a gear mechanism temperature using a dynamic manipulator model that accounts for friction torques in the gear mechanisms, the model including a gear mechanism friction torque model for at least one shaft based on driven-side shaft velocities and shaft accelerations; and a temperature determination unit that determines a gear mechanism temperature; the determination unit generating a signal related to the gear mechanism temperature and communicating the signal to the control unit; the control unit actuating at least one motor of the robotic manipulator based on the determined a gear mechanism friction torque.

19. The device of claim 18, wherein the temperature determination unit comprises a temperature sensor that is integrated in a gear mechanism.

20. The device of claim 18, wherein the temperature determination unit is adapted to measure a temperature of the gear mechanism oil.

21. The device of claim 18, further comprising a heat conduction model in the control unit, whereby the control unit approximates gear mechanism temperature based on heat input into the mechanical structure of the robotic manipulator.

22. The device of claim 21, wherein the control unit determines heat input into the mechanical structure of the robotic manipulator based on a measured speed of the gear mechanism and a measured temperature at the motor.

23. The device of claim 21, further comprising: an ambient temperature unit communicating with the control unit and adapted to determine an ambient temperature of the robotic manipulator at defined time intervals; the control unit periodically determining heat radiation from the robotic manipulator to the environment based on the determined ambient temperature; the temperature determination unit determining gear mechanism temperature based on the heat input and heat radiation.

24. The device of claim 18, further comprising: a characteristic diagram unit communicating with the control unit and determining a characteristic diagram of the gear mechanism friction torque model based on gear mechanism temperatures using values of actual drive-side motor current or motor position of the robotic manipulator; the control unit determining at least one of a gear mechanism temperature or a gear mechanism friction torque as a function of the actual drive-side motor current or motor position.

25. The device of claim 24, further comprising a first storage unit communicating with the control unit and storing the characteristic diagram or the gear mechanism friction torque model for use by the control unit during operation of the robotic manipulator.

26. The device of claim 18, further comprising a second storage unit that continuously stores values of drive-side motor current or motor position at predetermined intervals and to hold the stored values for a predetermined time period, wherein the time period is an order of magnitude smaller than the rate of change of temperature of the gear mechanism.

27. The device of claim 26, wherein the time period is approximately 0.1 second to approximately 1.0 second.

28. The device of claim 26, wherein the time period is approximately 0.5 second.

29. The device of claim 26, wherein the second storage unit comprises a circular buffer.

30. The device of claim 26, wherein the control unit determines gear mechanism temperature at predetermined intervals using values stored in the second storage unit.

31. The device of claim 30, wherein the storage time period and the interval for determining gear mechanism temperature are on the same order of magnitude.

32. The device of claim 18, wherein the control unit determines gear mechanism temperature by minimizing the value of an expression relative to G: t_act - T t_act .Math. I soll ( G ; / tqG ( t ) , / t 2 qG ( t ) , M ( t ) , G ( t ) ) - I ist ( t ) .Math. 2 w ( t ) t = t_act - T t_act .Math. M soll ( G ; / tqG ( t ) , / t 2 qG ( t ) , M ( t ) , G ( t ) ) / kr - I ist ( t ) .Math. 2 w ( t ) t = t_act - T t_act .Math. ( ( G + RG ) / R - RM ) soll ( G ; / tqG ( t ) , / t 2 qG ( t ) , M ( t ) , G ( t ) ) / kr - I ist ( t ) .Math. 2 w ( t ) t wherein: t designates the time coordinate t_act is a current time point T is the storage time period I.sub.soll is a target motor current G is the gear mechanism temperature to be determined qG(t) is a time dependent drive-side position M(t) is a time-dependent motor temperature G(t) is a time-dependent drive-side torque I.sub.ist(t) is a time-dependent actual motor current M.sub.soll is a drive-side target torque k.sub.T is a proportionality factor according to M=k.sub.TI d/dtqG(t) is the first derivative with respect to time of the drive-side position (i.e., a drive-side velocity) d/dt.sup.2qG(t) is the second derivative with respect to time of the drive-side position (i.e., a drive-side acceleration).

33. The device of claim 18, wherein the control unit determines gear mechanism temperature by minimizing the value of an expression relative to G:
|M.sub.soll(G;d/dtqG(t),d/dt.sup.2qG(t),M(t),G(t))M.sub.ist(t)|.sup.2 wherein: t designates the time coordinate G is the gear mechanism temperature to be determined qG(t) is a time dependent drive-side position M(t) is a time-dependent motor temperature G(t) is a time-dependent drive-side torque I.sub.ist(t) is a time-dependent actual motor current M.sub.soll is a drive-side target torque M.sub.ist is a drive-side actual torque d/dtqG(t) is the first derivative with respect to time of the drive-side position (i.e., a drive-side velocity) d/dt.sup.2qG(t) is the second derivative with respect to time of the drive-side position (i.e., a drive-side acceleration).

34. The device of claim 18, wherein: the control unit determines values for target motor positions or motor currents corresponding to a desired sequence of manipulator positions to effect a desired movement of the manipulator with respect to geometry, time variation, and velocities of the movement; the control unit interpolates between the target motor positions or motor currents; the device further comprises a time measurement unit communicating with the control unit and indicating when a predetermined time has lapsed between the determination of values for target motor positions or motor currents and interpolation of the values; and the control unit determines new values for target motor positions or motor currents when the time measurement unit indicates that the predetermined time has lapsed.

Description

(1) Additional details and advantages of the invention result from the description below of embodiments on the basis of the drawings. Shown are

(2) FIG. 1, a flow diagram relating to planning, interpolation and adjustment in a robot controller;

(3) FIGS. 2a-d, the dependency of the gear mechanism torque G on the (driven-side) velocity d/dt q;

(4) FIG. 3, a block diagram relating to the data flow in the inventive offline measurements for setting up a friction model;

(5) FIG. 4, a block/flow diagram relating to the invented method with gear mechanism temperature sensors;

(6) FIG. 5, a representation corresponding to FIG. 4, but without temperature sensors in the gear mechanisms;

(7) FIGS. 6a-e graphical representations of various time-variable robot-specific parameters for determining the gear mechanism temperature; and

(8) FIG. 7, a block/flow diagram relating to the data flow for the measurement of an ambient temperature.

(9) FIG. 1 serves to explain the meaning of the repeatedly used terms planning, interpolation and adjustment within the context of the present method, on the basis of a simplified flow diagram.

(10) An interpreter/compiler IC, which is regularly present in the controller of a robot, in particular, an industrial robot, is constructed to convert the programmed movements of the manipulator (program movements), manual movements or interrupt movements into a movement plan for the robot, where planning means, as already stated, is understood to mean (advance) planning of varying robot positions with respect to geometry and time progression, particularly movement planning. Such movement planning takes place according to FIG. 1 in a step BP and supplies a geometrical path and a velocity profile for a movement of the manipulator. Subsequently there is an interpolation IP of the determined robot positions, which is understood to mean a sensing of the positions. The interpolation IP results in values for the axis angles of the manipulator and corresponding current specifications for its drives, which can be used according to FIG. 1 via a drive interface AS for control, adjustment and monitoring purposes in the adjustment unit RE of the manipulator. Adjustment of a robot is understood according to its general definition as a process in which a (control) parameter is continuously detected, compared to another parameter (guide parameter) and is influenced in the sense of an adaptation to the guide parameter.

(11) As already mentioned, the invented method for improving the adjustment and running behavior of a manipulator can be used both in the field of movement planning BP, interpolation IP, as well as in that of adjustment RE.

(12) This is successful according to the invention by means of improved modeling of the friction with regard to its temperature behavior. FIGS. 2a-d schematically show the approaches of different friction models. In each case, the driven-side torque G (gear mechanism torque) is shown versus the time variation of position q, i.e., an axis speed d/dt q. The gear mechanism torque G is linked to a motor torque M via the gear mechanism transmission ratio and the friction, cf. equation 4. In FIG. 2[a], the model of a Coulomb friction is represented. In FIG. 2b, the same model with additional viscous friction is shown, in which the gear mechanism torque G increases with increasing magnitude of the axis velocity. FIG. 2c shows a model in which an increased breakaway torque at d/dt q=0 is necessary due to static friction. FIG. 2d shows a variation of the case in 2c (figures according to H. Olsson, K. J. strm, C. Canudas, de Wit, M. Gfvert, P. Lischinsky: Friction Models and Friction Compensation, European Journal of Control 29(4), 1998, pp. 176-195).

(13) In order to take temperature influences into account within the framework of the friction models on which FIGS. 2a-2d are based, the invention proposes first of all the method shown schematically in FIG. 3, or a correspondingly constructed device. Shown on the basis of a block schematic diagram is an automatically controlled manipulator or robot RO that has, for the movement of its axes (not shown), a series of motors M1, . . . , Mn, with which corresponding gear mechanisms G1, . . . , Gn are associated. For motors M1, . . . , Mn, robot RO of FIG. 3 additionally has position and temperature sensors PS or TS, respectively, which are shown in FIG. 3 explicitly only for motor M1 for reasons of clarity. For measurement purposes, robot RO also has gear mechanism temperature sensors GTS1, . . . , GTSn, which need not be provided for the corresponding robot in series production. To illustrate this, gear mechanism temperature sensors GTS1, . . . , GTSn are shown in FIG. 3 outside of robot RO, and are actively connected to the respective gear mechanism G1, . . . , Gn via connections drawn in dashed lines.

(14) Position sensors PS of the motors can be constructed as transmitters, resolvers or the like.

(15) Gear mechanism temperature sensors GTS1, . . . , GTSn are preferably designed and arranged so that they can determine the gear mechanism oil temperature of gear mechanisms G1, . . . , Gn.

(16) According to FIG. 3, a control unit SE is additionally provided for controlling robot RO. It can be constructed, for instance, as a control computer in the form of a PC, and according to the invention comprises at least one internal memory IS for an operating system and a control core BS, as well as for required application programs AP. In addition, control unit SE has an external storage medium ES in the form, for instance, of a hard disk drive that serves, according to FIG. 3, for the storage of measurement data MD and models MO, in particular, friction models for robot RO.

(17) According to the invented method, robot RO supplies information regarding motor temperatures and motor positions via its sensors to control unit SE (thick arrow in FIG. 3). Gear mechanism temperature sensors GTS1, . . . , GTSn additionally supply information regarding the respective gear mechanism temperatures prevailing in gear mechanisms G1, . . . , Gn to control unit SE, which in turn supplies position and current specifications to robot RO.

(18) The application program AP advantageously contain programs for measurement runs, by means of which control unit SE causes robot RO to carry out movements that cover the entire range of input parameters for the friction model in use (cf. equation 7). The detected actual values for position, motor temperature and gear mechanism temperature are ascertained cyclically during these measurement runs and stored in a file (measurement data MD) in external storage device ES. From measured data MD after termination of the measurement runs, either control unit SE or optionally a different, external computer (not shown) can prepare a temperature-dependent gear mechanism friction model MO for robot RO, which remains permanently in external storage device ES and thus can be subsequently used, even during ordinary operation of robot RO without sensors, for determining a gear mechanism temperature or a gear mechanism friction by comparison to the motor temperatures and motor positions, which can be determined on a regular basis.

(19) In the simplest case, however, an invented robot according to FIG. 4 is equipped permanently, i.e., even during ordinary operation, with temperature sensors GTS1, . . . , GTSn that measure the respective gear mechanism temperature G directly by way of sensors in the gear mechanism oil.

(20) In its external storage device ES, control unit SE required for ordinary operation of robot RO contains, alongside model MO using gear mechanism temperature G, corresponding algorithms AL for planning, interpolation and adjustment of movements or movement states of robot RO (cf. FIG. 1). The currently measured gear mechanism temperature G.sub.ist is then used in all planning, interpolation and adjustment routines of control device SE and influences the target specifications of position and current (arrow P in FIG. 4). Thus the respective actual temperatures M.sub.ist and G.sub.ist are fixed in the (time-optimal) planning at the start of the planning of each set, and the torques that occur are determined using these temperatures. In addition, control unit SE preferably also has a time measurement unit ZM, according to which new planning is performed if an interruption occurs between planning and interpolation of a set (see FIG. 1) that lasts sufficiently long that a cooling of the motors and gear mechanisms must be expected. The corresponding time threshold can be specified appropriately by the user.

(21) In addition to the planning, the corresponding (precontrol) torques are calculated for interpolation and adjustment by using the current actual temperatures.

(22) Particularly for reasons of cost, it can be desirable to forgo a direct measurement of the gear mechanism temperature during ordinary operation of the robot, while retaining the basic idea of the invention as previously. This state of affairs is illustrated in the subsequent FIG. 5. The robot RO provided for ordinary operation that is shown there comprises only temperature sensors TS in motors M1, . . . , Mn, but no gear mechanism temperature sensors.

(23) According to a preferred configuration of the invention, control unit SE now comprises a circular buffer RP as a storage unit for the actual-value measurement data relating to a motor position and a motor temperature qM and M, respectively, in its internal memory IS shown in FIG. 5, in addition to operating system and program components BS and AP, respectively, which are not shown again for reasons of clarity (cf. FIG. 4). Control unit SE further contains an optimizer OP, which is preferably implemented in software and is inherently intended for the solution of the above-formulated optimization problem. Corresponding to the implementation of FIG. 4, control unit SE again contains planning, interpolation and adjustment algorithms AL as well as model MO of robot RO making use of the gear mechanism temperature.

(24) According to the invented method, optimizer OP supplies, by numerical solution of a temporally extended or a temporally local optimization problem (Equation 12 or 13, respectively), an estimated gear mechanism temperature G*, which is subsequently provided to model MO, and with which corresponding, temperature-dependent target values for motor positions qM and motor currents I are supplied by means of algorithm AL to robot RO.

(25) The fundamentals of the algorithms used according to the invention were already explained in detail above. In addition, the determination of gear mechanism temperature G (or estimated gear mechanism temperature G*) can be illustrated on the basis of FIGS. 6a-e as follows. First, an (axis) acceleration d/dt.sup.2 q is shown in FIG. 6a as a unitless variable over time t. The time curve resulting from this hypothetical acceleration is shown by FIG. 6b in a representation of d/dt q with respect to t. The corresponding actual current I(t) can be measured, and is illustrated in FIG. 6c as a noisy signal. According to the invention, the signal curve of FIG. 6c is preferably recorded over a time period [t_actT, t_act], and is stored in circular buffer RP of FIG. 5.

(26) For each hypothetical value G, a current curve I can be calculated (cf. equation 9) from the parameters qG, d/dt qG, d/dt.sup.2 qG, qM, d/dt qM, d/dt.sup.2 qM, M measured over time period [t_act-Y, t_act] (and stored), together with G. The result of such a calculation is a bundle of curves, parameterized in .sub.G, for the current variation I.sub.G. Such a curve bundle is illustrated in FIG. 6e, while FIG. 6d shows the target current I.sub.soll for the actual (correct) friction temperature (gear mechanism temperature).

(27) For the optimal variation of the assumed/estimated gear mechanism temperature G*, this current I.sub.G (cf. FIG. 6e) is brought, according to the invention, into optimal coincidence with actual current list whereupon the determined optimal value for the gear mechanism temperature is set as the genuine gear mechanism temperature for the friction model. In the context of the invention, the term optimal is typically defined to mean the smallest quadratic distance between the calculated motor current I.sub.G and the measured motor current I.sub.ist, so that the invented calculation method according to equation 12 or 13 is solved by a generally nonlinear least squares method in a robot control unit analogous to the illustrated control unit SE (cf. FIGS. 3-5). This is described in principle in Charles Lawson and Richard Hanson: Solving Least Squares Problems, Prentice-Hall, 1974, revised edition, SIAM 1995, as well as in P. Deuflhard: Newton Methods for Nonlinear Problems: Affine Invariance and Adaptive Algorithms, Computational Mathematics Series 35, Springer (2004).

(28) The representation in FIG. 6e is based on an (artificial) friction model of the form

(29) RG = RG ( qG , / tqG , / t 2 qG , G ) = C 1 .Math. / tqG + C 2 .Math. G ( 14 )
(C.sub.1, C.sub.2 constant). Since temperature G enters additively into this model, the torque line, as shown in FIG. 6e, is only pushed up and down in case of a variation of G.

(30) Finally, FIG. 7 shows another configuration of the invented method or the invented device, in which no gear mechanism temperature sensors are used on robot RO, corresponding to the illustration in FIG. 5.

(31) In this case, the invented device has an ambient temperature sensor UTS that is actively connected to control unit SE and via which the ambient temperature of robot RO can be supplied to control unit SE. In its internal memory IS, control unit SE accordingly has means TH for calculating the heat and energy input into robot structure (all structures including gear mechanisms), wherein the measured actual value of the ambient temperature also enters into the calculation. The above-mentioned calculation means TH are preferably implemented in software, and supply an estimated value G* for the gear mechanism temperature as a function of the speeds traveled and corresponding parameters, using models for heat conduction in the mechanical structure of robot RO and for heat radiation to the environment.

(32) The thick arrows in FIG. 7 show how, during the ordinary operation of robot RO, data regarding motor positions qM and motor temperatures M are first cyclically sent from the drives of robot RO to control unit SE. Additionally, the ambient temperature is read by control unit SE via sensor UTS, as already mentioned. At a given cycle timing, a model calculation (calculation means TH) is subsequently called up, which estimates the current gear mechanism temperature G on the basis of the measured data of the robot and the ambient temperature via a heat flow model. The estimated gear mechanism temperature G* is them made available to all planning, interpolation and adjustment processes, analogously to the above-described invented method. As a function of the estimated gear mechanism temperature G*, current and position specifications are sent to robot RO (arrow P in FIG. 7).

(33) Accordingly, a target temperature can be calculated with this method variant from the target parameters via the energy input in the system.

LIST OF REFERENCE CHARACTERS

(34) AL Algorithms

(35) AP Application programs

(36) AS Drive interface

(37) BP Movement planning

(38) BS Operating system/controller core

(39) ES External storage device

(40) G1, . . . ,Gn Gear mechanisms

(41) GTS1, . . . , GTSn Gear mechanism temperature sensors

(42) IC Interpreter/compiler

(43) IP Interpolation

(44) IS Internal memory

(45) MD Measurement data

(46) MO Model

(47) M1, . . . ,Mn Motor

(48) OP Optimizer

(49) PS Position sensor

(50) RE Adjustment

(51) RO Robot

(52) RP Circular buffer

(53) SE Control unit

(54) TH Heat flow calculation means

(55) TS Temperature sensor

(56) UTS Ambient temperature sensor

(57) ZM Time measurement unit

(58) G* Estimated gear mechanism temperature

(59) k.sub.T Time-dependent proportionality factor between motor current and motor torque