Robot control device, robot control method, and robot control program

文档序号:927493 发布日期:2021-03-02 浏览:7次 中文

阅读说明:本技术 机器人控制装置、机器人控制方法以及机器人控制程序 (Robot control device, robot control method, and robot control program ) 是由 四方田真美 西田吉晴 木田直希 福永敦史 金尾显一朗 于 2019-07-30 设计创作,主要内容包括:本发明的机器人控制装置以规定的碰撞检测灵敏度检测机器人与其他物体的碰撞,使所述机器人动作,如果所述检测部检测到所述碰撞则以使所述机器人停止的方式进行控制,如果满足表示所述机器人的温度低的预先规定的条件,则与不满足所述预先规定的条件时相比使所述碰撞检测灵敏度降低。(The robot control device of the present invention detects a collision between a robot and another object with a predetermined collision detection sensitivity, operates the robot, controls the robot to stop if the collision is detected by the detection unit, and reduces the collision detection sensitivity compared to when the predetermined condition is not satisfied if a predetermined condition indicating that the temperature of the robot is low is satisfied.)

1. A robot control apparatus characterized by comprising:

a detection unit that detects a collision between the robot and another object at a predetermined collision detection sensitivity;

a robot control unit that controls the robot to operate and stop the robot if the collision is detected by the detection unit; and the number of the first and second groups,

and a detection control unit that, if a predetermined condition indicating that the temperature of the robot is low is satisfied, reduces the collision detection sensitivity compared to a case where the predetermined condition is not satisfied.

2. The robot control apparatus according to claim 1,

the predetermined condition is a condition that a measured temperature, which is an actually measured temperature of the robot, is low.

3. The robot control apparatus according to claim 2,

the detection control unit decreases the collision detection sensitivity when the measured temperature is lower than a predetermined temperature than when the measured temperature is equal to or higher than the predetermined temperature.

4. The robot control apparatus according to claim 3,

the detection unit detects the collision when a torque difference between an estimated torque and an actual torque of the robot or a disturbance torque directly estimated from the robot exceeds a predetermined threshold value,

the detection control unit increases the predetermined threshold value when the measured temperature is lower than the predetermined temperature than when the measured temperature is equal to or higher than the predetermined temperature.

5. The robot control apparatus according to claim 2,

the detection control unit decreases the sensitivity of the collision detection as the measurement temperature decreases.

6. The robot control apparatus according to claim 5,

the detection unit detects the collision when a torque difference between an estimated torque and an actual torque of the robot or a disturbance torque directly estimated from the robot exceeds a predetermined threshold value,

the detection control unit increases the threshold value as the measured temperature decreases.

7. The robot control apparatus according to claim 1,

the predetermined condition is a condition that the current time is included in a predetermined period, and the predetermined period is a period during which the temperature of the robot is estimated to be low.

8. The robot control apparatus according to claim 7,

the detection control unit reduces the collision detection sensitivity before a cumulative time during which the servo motors are started reaches a predetermined time after the power of the robot is turned on or after the servo motors of the robot are stopped for a predetermined stop time or more, as compared with the time after the cumulative time reaches the predetermined time.

9. The robot control apparatus according to claim 8,

the detection unit detects the collision when a torque difference between an estimated torque and an actual torque of the robot or a disturbance torque directly estimated from the robot exceeds a predetermined threshold value,

the detection control unit changes the predetermined threshold to an increased value larger than an initial value before an accumulated time during which the servo motor is started reaches the predetermined time after the power of the robot is turned on or after the servo motor of the robot stops for a predetermined stop time or more, and returns the predetermined threshold to the initial value after the accumulated time reaches the predetermined time.

10. The robot control apparatus according to claim 9, characterized by further comprising:

and an extension control unit that extends the predetermined time when the difference between the torque difference or the disturbance torque and the increase value is smaller than a predetermined value, in a predetermined monitoring time before the cumulative time during which the servomotor is started reaches the predetermined time.

11. The robot control apparatus according to claim 10,

the extension control unit determines that the difference between the torque difference or the disturbance value and the increase value is smaller than the predetermined value when the maximum value of the torque difference or the disturbance torque exceeds the initial value but is smaller than the increase value.

12. A robot control apparatus characterized by comprising:

a detection unit that detects a collision between the robot and another object at a predetermined collision detection sensitivity;

a robot control unit that controls the robot to operate and stop the robot if the collision is detected by the detection unit;

an estimation unit configured to identify a friction model that models friction generated in the robot using a predetermined matrix, and to obtain an estimated torque of the robot;

an identification progress degree calculation unit that obtains a progress degree of identifying the friction model based on the predetermined matrix; and the number of the first and second groups,

a detection control unit that decreases the collision detection sensitivity if the degree of progress is small.

13. The robot control apparatus according to claim 12,

the estimation unit uses a matrix A of time steps kk、BkAs the predetermined matrix, A for identificationkXk=BkExpressed friction model Xk

The identification progress degree calculating part is based on the utilization matrix Ak TAkThe degree of progress is found from the index calculated by the diagonal element(s).

14. The robot control apparatus according to claim 13,

the index is the matrix Ak TAkA combination of 1 or at least 2 of the trace values, singular values, first row, first column elements, and condition numbers.

15. The robot control apparatus according to claim 12,

the detection control unit reduces the collision detection sensitivity when the degree of progress is less than a predetermined value than when the degree of progress is equal to or greater than the predetermined value.

16. The robot control apparatus according to claim 15,

the detection unit detects the collision when a torque difference between the estimated torque and the actual torque of the robot exceeds a predetermined threshold value,

the detection control unit increases the predetermined threshold value when the degree of progress is smaller than the predetermined value than when the degree of progress is equal to or larger than the predetermined value.

17. The robot control apparatus according to claim 12,

the detection control unit decreases the magnetic collision detection sensitivity if a measured temperature, which is an actually measured temperature of the robot, is low.

18. A robot control method is characterized by comprising the following steps:

a detection step of detecting a magnetic collision of the robot with another object at a predetermined collision detection sensitivity;

a robot control step of controlling the robot so that the robot operates and stops if the collision is detected in the detection step; and the number of the first and second groups,

and a detection control step of, if a predetermined condition indicating that the temperature of the robot is low is satisfied, reducing the collision detection sensitivity compared to a case where the predetermined condition is not satisfied.

19. A robot control method is characterized by comprising the following steps:

a detection step of detecting a collision of the robot with another object at a predetermined collision detection sensitivity;

a robot control step of controlling the robot so that the robot operates and stops if the collision is detected in the detection step;

an estimation step of identifying a friction model that models friction occurring in the robot by using a predetermined matrix, and obtaining an estimated torque of the robot;

an identification progress degree calculation step of obtaining a progress degree for identifying the friction model based on the predetermined matrix; and the number of the first and second groups,

a detection control step of decreasing the collision detection sensitivity if the degree of progress is small.

20. A robot control program for causing a computer of a robot to realize:

a detection function of detecting a collision between the robot and another object with a predetermined collision detection sensitivity;

a robot control function of controlling the robot so that the robot is operated and stopped if the collision is detected by the detection function; and the number of the first and second groups,

and a detection control function that, if a predetermined condition indicating that the temperature of the robot is low is satisfied, reduces the collision detection sensitivity compared to a case where the predetermined condition is not satisfied.

21. A robot control program for causing a computer of a robot to realize:

a detection function of detecting a collision of the robot with another object at a predetermined collision detection sensitivity;

a robot control function of controlling the robot so that the robot is operated and stopped if the collision is detected by the detection function;

an estimation function for identifying a friction model that models friction occurring in the robot using a predetermined matrix, and obtaining an estimated torque of the robot;

an identification progress degree calculation function for finding a progress degree for identifying the friction model based on the predetermined matrix;

and the number of the first and second groups,

a detection control function that decreases the collision detection sensitivity if the degree of progress is small.

Technical Field

The present invention relates to a robot control device, a robot control method, and a robot control program for controlling a robot.

Background

A robot control apparatus is known, which includes: a necessary drive torque command element calculation unit for calculating each element of the necessary drive torque command based on at least one command among the position command, the speed command, and the acceleration command; a necessary drive torque calculation unit that calculates a necessary drive torque using at least one of the position, the speed, and the acceleration and at least one of the elements of the necessary drive torque command calculated by the necessary drive torque command element calculation unit; a threshold value calculation unit for calculating an upper threshold value and a lower threshold value; and a collision discrimination unit that discriminates a collision based on the necessary drive torque, the upper threshold value, the lower threshold value, and a current of a motor that drives each axis of the robot. In this robot control device, it is also known that the threshold value calculation means compares the stored time predetermined value with the elapsed time after the motor power supply was turned on, which is output from the timer means, and uses the first upper threshold value and the first lower threshold value when the predetermined time value is large, and uses the second upper threshold value and the second lower threshold value when the time predetermined value is small. Further, in this robot control device, there are also known: a parameter estimation unit that identifies the viscous friction coefficient and the coulomb friction coefficient of each shaft on-line, and transmits the identified friction coefficient of each shaft to the necessary drive torque command element calculation unit and the necessary drive torque calculation unit; the identification progress degree determination means selects a Coulomb friction coefficient (Coulomb friction coefficient) and a viscous friction coefficient of each axis from the parameter identification value input from the parameter estimation means, calculates the respective change amounts, sets the identification progress degree to 1 for an axis in which both the actual change amount of the Coulomb friction coefficient and the change amount of the viscous friction coefficient are equal to or less than a predetermined value, and sets the identification progress degree to 0 for an axis in which at least one of the actual change amount of the Coulomb friction coefficient and the change amount of the viscous friction coefficient is equal to or more than a predetermined value; the threshold value calculation unit sets an upper threshold value and a lower threshold value after parameter recognition has progressed for an axis whose degree of recognition progress output from the recognition progress degree determination unit is 1, and sets an upper threshold value and a lower threshold value before parameter recognition has progressed for an axis whose degree of recognition progress output from the recognition progress degree determination unit is 0 (for example, see patent document 1).

In the course of the movement of the robot, when the robot collides with another object, it is not desirable to continue the movement of the robot as it is. In contrast, it is required to accurately detect a collision between the robot and another object. Here, in the case where the threshold value for determining the collision between the robot and another object is changed depending on whether or not the elapsed time after the motor power supply is turned on exceeds a predetermined value, for example, in a situation where the threshold value needs to be changed due to a low temperature and a large friction of the robot, if the threshold value is not changed, the possibility of erroneous detection of the collision increases.

In the case of employing a configuration in which the threshold value for determining a collision between the robot and another object is changed depending on whether or not the amount of change in the estimated value of the friction coefficient is equal to or less than a predetermined value, in an area where the temperature of the robot is low, the convergence value of the estimated value of the friction coefficient changes due to the change in friction caused by the change in temperature, and therefore, it is difficult to determine whether or not the estimated value converges, and the possibility of erroneous detection of a collision increases.

Documents of the prior art

Patent document

Patent document 1: japanese patent application laid-open No. 3878054

Disclosure of Invention

The invention aims to provide a robot control device, a robot control method and a robot control program which can prevent high possibility of false detection of collision.

A robot control device according to an aspect of the present invention is a robot control device that detects a collision between a robot and another object with a predetermined collision detection sensitivity, operates the robot, controls the robot to stop if a detection unit detects the collision, and reduces the collision detection sensitivity compared to a case where a predetermined condition indicating that a temperature of the robot is low is not satisfied if the predetermined condition is satisfied.

Drawings

Fig. 1 is a schematic configuration diagram of a welding robot system in the present embodiment.

Fig. 2 is a graph showing a relationship between a frictional force of a joint of the welding robot and a temperature of a decelerator of the welding robot.

Fig. 3 is a block diagram showing a configuration example of the robot controller in the first embodiment.

Fig. 4 is a flowchart showing an example of the operation of the robot controller in the first embodiment.

Fig. 5 is a block diagram showing a configuration example of a robot controller in the second embodiment.

Fig. 6 is a graph showing a change in the estimated value of the coulomb friction coefficient when the coulomb friction coefficient changes from 2 to 1 with time.

FIG. 7 shows a trace tr (A)k TAk) A graph of the variation of (c).

FIG. 8A is a diagram showing a matrix Ak TAkA graph of the change in the singular value of (a).

FIG. 8B shows the matrix Ak TAkA graph of the change in the singular value of (a).

FIG. 9 shows a matrix Ak TAkA graph of the variation of the first row and the first column elements of (a).

Fig. 10 is a flowchart showing an example of the operation of the robot controller in the second embodiment.

Fig. 11 is a block diagram showing a configuration example of a robot controller according to the third embodiment.

Fig. 12 is a flowchart showing an example of the operation of the robot controller according to the third embodiment.

Fig. 13 is a block diagram showing a configuration example of a robot controller according to the fourth embodiment.

Fig. 14 is a timing chart in the fourth embodiment.

Fig. 15 is a flowchart showing an example of the operation of the robot controller according to the fourth embodiment.

Fig. 16A is a diagram showing an example of a screen in which a state of the collision determination threshold value is displayed.

Fig. 16B is a diagram showing an example of a screen in which a state of the collision determination threshold value is displayed.

Detailed Description

Embodiments of the present invention will be described in detail below with reference to the drawings. In the drawings, the same components are denoted by the same reference numerals, and detailed description thereof will be omitted as appropriate.

[ Structure of welding robot System ]

Fig. 1 is a schematic configuration diagram of a welding robot system 1 in the present embodiment. As shown in fig. 1, the welding robot system 1 includes: a welding robot 10 for performing arc welding; a welding power source 20 for applying a high voltage to a welding wire mounted on the welding robot 10 to generate an arc; a robot controller 30 that controls these welding robot 10 and welding power supply 20; and a teaching device 80 for inputting teaching data. If the power switch 20a of the welding power supply 20 is turned on, the power supply of the welding robot system 1 as a whole is turned on.

The welding robot 10 is an arc welding robot that is a vertical articulated robot having a six-joint (axis) structure. That is, the welding robot 10 is an industrial robot having a plurality of joints (6 joints as shown by arrows in fig. 1) driven by motors. If necessary driving torque τ', which will be described later, is applied from the robot controller 30, the welding robot 10 can take a desired posture by driving the built-in servo motor. A welding torch 11 to which a welding current, a shielding gas, and the like for welding are supplied is attached to the distal end of the arm of the welding robot 10 in the present embodiment. A feeding device 12 for feeding a welding wire to a welding torch 11 is attached to the welding robot 10.

The robot controller 30 includes a cpu (central Processing unit)30a and a memory 30f for performing arithmetic Processing and the like in the welding control. The memory 30f includes: rom (read Only memory)30b in which various data and programs executed by CPU30a are stored; a ram (random Access memory)30c used as a work memory of the CPU30 a; an EEPROM (Electrically Erasable and Programmable Read Only Memory)30d that can rewrite contents; and HDD (hard Disk drive)30 e.

The program stored in the ROM30b includes, for example, a teaching program describing a target position where the welding torch 11 attached to the welding robot 10 moves and a predetermined speed. The program may be stored in the EEPROM30d or the HDD30 e. The teaching program can be created and edited by an input operation from the teaching device 80 or an input operation from a not-shown connection device such as a personal computer.

The robot controller 30 will be described in detail later.

The teaching device 80 is used for inputting a welding path, welding operation conditions, and the like during teaching of the welding robot 10. The teaching device 80 includes a display screen 81 made of liquid crystal or the like and input buttons 82. Alternatively, the teaching device 80 may include a known touch panel such as a capacitive type in which a position touched by a finger is electrically detected by detecting a change in surface charge of a panel forming a low-voltage electric field, or a resistive type in which a position touched by a finger is electrically detected by changing a position touched by electrodes spaced apart from each other from a non-energized state to an energized state.

[ first embodiment ]

In the welding robot system 1, when the welding robot 10 collides with another object during the operation of the welding robot 10, if the welding robot 10 is continuously operated as it is, a serious accident or damage to the welding robot 10 may occur. In this regard, the welding robot system 1 in the first embodiment is equipped with a collision detection function of detecting a collision of the welding robot 10 with another object and stopping the welding robot 10 if the welding robot 10 collides with the other object.

The collision detection function determines that the welding robot 10 has collided with another object and stops the welding robot 10 when a collision determination value calculated from a torque difference between an actual torque that is a torque actually generated by the welding robot 10 and an estimated torque that is a total of estimated values of an inertial force, a centrifugal force, a gravity force, a friction force, and the like generated by the welding robot 10 exceeds a collision determination threshold value.

Here, the frictional force of the driving part of the welding robot 10 varies depending on the temperature. Therefore, if the collision determination value exceeds the collision determination threshold value when the frictional force is larger than that in the normal state, the collision detection function erroneously detects that the welding robot 10 has collided with another object. In particular, since the friction force immediately after the welding robot 10 is started is large at low temperatures such as the morning in the winter in cold regions, erroneous detection of the collision detection function frequently occurs.

In contrast, in the first embodiment, the collision determination condition for determining that the welding robot 10 has collided with another object in the collision detection function is changed according to the temperature, thereby reducing erroneous detection by the collision detection function.

Fig. 2 is a graph showing a relationship between the joint friction force of the welding robot 10 and the temperature of the decelerator of the welding robot 10. This graph shows the result of measuring the temperature change and the friction force change while the wrist of the welding robot 10 is continuously moved in the thermostatic bath. As can be seen from the graph, the change in the joint friction force of the welding robot 10 can be well expressed by the temperature of the decelerator of the welding robot 10. Therefore, in the first embodiment, the temperature of the speed reducer of the welding robot 10 or the like is measured, and the collision determination condition is changed according to the temperature.

Fig. 3 is a block diagram showing a configuration example of the robot controller 30 in the first embodiment. As shown in fig. 3, the memory 30f of the robot controller 30 includes a threshold storage unit 44. The threshold storage section 44 is included in the memory 30f, for example, the RAM30c (fig. 1) or the EEPROM30d (fig. 1). The CPU30a of the robot controller 30 reads and executes the program of the first embodiment stored in the ROM30b (fig. 1) into the RAM30c (fig. 1), thereby functioning as the control unit 41, the estimated torque calculation unit 42, the determination value calculation unit 43, the comparison unit 45, the temperature data acquisition unit 46, and the threshold setting unit 48.

The program for realizing the functions of the robot controller 30 according to the first embodiment may be provided from the outside through a communication function, or may be stored in a storage medium such as a DVD-ROM (Digital Versatile Disc-Read Only Memory) or a flash Memory.

The control unit 41 reads a model (dynamic characteristic) of the welding robot 10 stored in the memory 30f, for example, in the ROM30b (fig. 1) or the EEPROM30d (fig. 1), calculates a necessary drive torque of each joint (axis) for performing a desired operation with respect to the read model, and applies the necessary drive torque to the welding robot 10. Accordingly, the welding robot 10 moves based on the necessary driving torque from the control unit 41. The angle of each joint detected by the encoder of the motor of the welding robot 10 is fed back to the robot controller 30. When the comparison unit 45 notifies that the welding robot 10 collides with another object, the control unit 41 performs processing such as setting the necessary drive torque to zero so as to stop the operation of the welding robot 10. In the present embodiment, the control unit 41 corresponds to an example of a robot control unit.

The estimated torque calculation unit 42 periodically calculates an estimated torque, which is the sum of estimated values of inertial force, centrifugal force, gravity, friction force, and the like generated at each joint, based on the necessary drive torque input to the servo motor from the control unit 41, the joint angle input from the encoder of the welding robot 10, and the like. The estimated torque calculation unit 42 notifies the determination value calculation unit 43 of the calculated estimated torque.

The determination value calculation unit 43 calculates a collision determination value used for collision detection determination based on a torque difference between the estimated torque calculated by the estimated torque calculation unit 42 and the actual torque output from the welding robot 10, and outputs the collision determination value to the comparison unit 45.

The threshold value storage unit 44 stores a collision determination threshold value used for collision detection determination.

The comparison unit 45 compares the collision determination value calculated by the determination value calculation unit 43 with the collision determination threshold value stored in the threshold value storage unit 44, and determines whether or not the welding robot 10 collides with another object based on the comparison result. Specifically, the comparing unit 45 determines that the welding robot 10 collides with another object if the collision determination value is larger than the collision determination threshold value, and determines that the welding robot 10 does not collide with another object if the collision determination value is equal to or smaller than the collision determination threshold value. When determining that the welding robot 10 collides with another object, the comparing unit 45 notifies the control unit 41 of the collision. In the present embodiment, the comparison unit 45 corresponds to an example of the detection unit. That is, the comparing unit 45 detects the collision of the welding robot 10 with another object at a predetermined collision detection sensitivity determined according to the magnitude of the collision determination threshold.

The temperature data acquisition unit 46 acquires temperature data indicating the temperature of the decelerator of the welding robot 10. The temperature data acquisition unit 46 notifies the threshold setting unit 48 of the acquired temperature data. As the temperature of the decelerator, the temperature inside the decelerator (for example, grease temperature) or the temperature of the surface of the decelerator may be used. Alternatively, in view of ease of installation of the temperature sensor, the temperature of the reducer cover may be used, or as the encoder of the reducer, an encoder that can acquire the temperature as the encoder itself may be used.

The threshold setting unit 48 sets the collision determination threshold in the threshold storage unit 44 based on the temperature indicated by the temperature data acquired by the temperature data acquisition unit 46. In the first embodiment, the threshold setting unit 48 corresponds to an example of the detection control unit. The collision determination threshold value is set, for example, as follows.

The first method is a method in which the normal threshold is set as the collision determination threshold when the temperature indicated by the temperature data acquired by the temperature data acquisition unit 46 is equal to or higher than the reference temperature, and the threshold greater than the normal threshold is set as the collision determination threshold when the temperature indicated by the temperature data acquired by the temperature data acquisition unit 46 is lower than the reference temperature. In this case, in the relationship between the friction force and the temperature measured in advance (for example, fig. 2), if the temperature is equal to or lower than a certain temperature, the temperature may be set as the reference temperature when the difference between the actual friction force and the reference friction force becomes equal to or higher than the friction error estimated at the normal threshold value.

The second method is a method in which a threshold value calculated from the temperature data acquired by the temperature data acquisition unit 46 is set as a collision determination threshold value. Based on the relationship between the friction force and the temperature measured in advance (for example, fig. 2), a threshold value at which the collision determination value does not exceed in the normal operation is calculated as a value that changes linearly with respect to the temperature. For example, the calculation may be performed by a threshold calculation formula.

(threshold value) a × (temperature) + b

In the threshold calculation formula, coefficients a and b represent arbitrary constants. However, since it is necessary to set a larger threshold value as the temperature is lower, a < 0 is set. Here, the decreasing linear function is used as the threshold value calculation formula, but a decreasing section of another function such as a quadratic function may be used.

The third method is a method in which the normal threshold is set as the collision determination threshold when the temperature indicated by the temperature data acquired by the temperature data acquisition unit 46 is equal to or higher than the reference temperature, and the threshold calculated from the temperature data acquired by the temperature data acquisition unit 46 is set as the collision determination threshold when the temperature indicated by the temperature data is lower than the reference temperature. In this case, in the relationship between the friction force and the temperature measured in advance (for example, fig. 2), if the temperature is equal to or lower than a certain temperature, the temperature may be set as the reference temperature when the difference between the actual friction force and the reference friction force becomes equal to or higher than the friction error estimated at the normal threshold value. When the temperature is lower than the reference temperature, the threshold value may be set by the above-described threshold value calculation formula, for example. However, since it is necessary to set a larger threshold value as the temperature is lower, it is necessary to determine the values of the coefficients a and b so that the threshold value when the temperature is set as the reference temperature by the threshold value calculation formula is equal to or higher than the normal threshold value.

The fourth method is a method in which, when the temperature indicated by the temperature data acquired by the temperature data acquisition unit 46 is equal to or higher than the reference temperature, a threshold value calculated from the temperature data is set as a collision determination threshold value, and when the temperature indicated by the temperature data acquired by the temperature data acquisition unit 46 is lower than the reference temperature, a threshold value larger than a normal threshold value is set. However, since it is necessary to set a larger threshold value as the temperature is lower, it is necessary to determine the values of the coefficients a and b so that the threshold value when the temperature is set as the reference temperature by the threshold value calculation formula is equal to or lower than the above-mentioned normal threshold value.

If a threshold value larger than the normal threshold value is set as the collision determination threshold value by the threshold value setting unit 48 using any one of the first to fourth methods, the collision detection sensitivity of the comparison unit 45 is reduced as compared with the case where the normal threshold value is set as the collision determination threshold value.

In the first embodiment, the temperature indicated by the temperature data acquired by the temperature data acquiring unit 46 is an example of a measured temperature that is an actual measured temperature of the robot. The condition that the temperature indicated by the temperature data acquired by the temperature data acquisition unit 46 is low is an example of a predetermined condition indicating that the temperature of the robot is low.

In the above description, the temperature data acquired by the temperature data acquiring unit 46 when the estimated torque calculating unit 42 calculates the estimated torque is not described, but the temperature data acquired by the temperature data acquiring unit 46 may be used. Specifically, the estimated torque calculating unit 42 may use the temperature data acquired by the temperature data acquiring unit 46 for estimating the frictional force at the time of estimating the torque, to obtain a more accurate estimated frictional value. The friction estimate value is derived, for example, as follows.

The first method is a method in which the relationship between the friction force and the temperature measured in advance is held as a table in, for example, the ROM30b of the memory 30f, and the estimated torque calculating portion 42 reads the friction force value corresponding to the temperature data acquired by the temperature data acquiring portion 46 from the table in the memory 30f and uses the read friction force value.

The second method is a method in which a friction model having temperature as a variable is created by approximating the relationship between the friction force and the temperature measured in advance, and the estimated torque calculation unit 42 obtains the estimated friction value from the temperature data acquired by the temperature data acquisition unit 46 and the friction model in the memory 30f by holding the friction model in the ROM30b, for example, in the memory 30 f. The friction model can be approximated as follows, for example.

Log (estimated friction value) c × (temperature) + d

In the formula, the coefficients c and d are arbitrary constants.

Fig. 4 is a flowchart showing an example of the operation of the robot controller 30 in the first embodiment.

As shown in fig. 4, in the robot controller 30, the control unit 41 controls the welding robot 10 by driving the motor so as to realize a predetermined operation after the welding robot 10 is started (step 401).

Next, the estimated torque calculation unit 42 estimates inertial force, centrifugal force, frictional force, and the like generated in the welding robot 10, and calculates an estimated torque (step 402).

Next, the determination value calculation unit 43 calculates a collision determination value based on a torque difference between the actual torque, which is a measurement value of the torque actually generated by the welding robot 10, and the estimated torque calculated in step 402 (step 403).

On the other hand, in the robot controller 30, the temperature data acquisition unit 46 acquires temperature data indicating the temperature of the decelerator of the welding robot 10 measured by the temperature sensor (step 404).

Next, the threshold setting unit 48 sets the collision determination threshold in the threshold storage unit 44 based on the measured temperature indicated by the temperature data acquired at step 404. Here, the threshold setting unit 48 sets the collision determination threshold so as to determine that the vehicle has collided if the collision determination value exceeds the collision determination threshold. Specifically, the threshold setting unit 48 first determines whether or not the measured temperature indicated by the temperature data acquired at step 404 is higher than a reference temperature (step 405). If it is not determined that the measured temperature indicated by the temperature data acquired at step 404 is higher than the reference temperature, that is, if it is determined that the measured temperature is equal to or lower than the reference temperature (no at step 405), the threshold setting unit 48 sets a threshold larger than the normal threshold as the collision determination threshold (step 406). On the other hand, if it is determined that the measured temperature indicated by the temperature data acquired at step 404 is higher than the reference temperature (yes at step 405), the threshold setting unit 48 sets the normal threshold as the collision determination threshold (step 407).

Then, the comparing unit 45 compares the collision determination value calculated in step 403 with the collision determination threshold value set in step 406 or 407, and determines whether or not the collision determination value exceeds the collision determination threshold value (step 408). If it is not determined that the collision determination value exceeds the collision determination threshold value (no in step 408), the control unit 41 returns the process to step 401 to continue the operation of the welding robot 10. On the other hand, if it is determined that the collision determination value exceeds the collision determination threshold value (no in step 405), the control unit 41 stops the welding robot 10 (step 409) and ends the process.

In this operation example, the robot controller 30 executes steps 402 to 403 and then executes steps 404 to 407, but the present invention is not limited to this. The robot controller 30 may execute steps 402 to 403 and steps 404 to 407 in parallel, or may execute steps 402 to 403 after executing steps 404 to 407.

However, the motor input used by the estimated torque calculation unit 42 to calculate the estimated torque at step 402 and the actual torque used by the determination value calculation unit 43 to calculate the collision determination value at step 403 often include noise (noise). Therefore, the disturbance torque can also be directly estimated by a disturbance estimation observer (disturbance estimation observer). The disturbance estimation observer has a known configuration, and estimates a disturbance torque that is a total of a load torque based on a centrifugal force, friction, and the like, and a fluctuation torque based on a fluctuation of an inertia moment, a torque ripple of a motor, and the like. In this case, in fig. 3, a disturbance estimation observer may be provided instead of the estimated torque calculation unit 42. In fig. 4, step 402 may be changed to a step of estimating the disturbance torque by the disturbance estimation observer, and step 403 may be changed to a step of setting the disturbance torque estimated in step 402 as the collision determination value.

As described above, according to the first embodiment, for example, in a situation where the temperature of the robot 10 is low and the friction is large and the threshold needs to be changed, when the measured temperature of the robot 10 is equal to or lower than the reference temperature, the collision determination threshold is increased, so that it is possible to prevent the possibility of erroneous detection of a collision from increasing.

[ second embodiment ]

The welding robot system 1 in the second embodiment is equipped with a collision detection function for detecting a collision and stopping the welding robot 10 if the welding robot 10 collides with another object, as in the welding robot system 1 in the first embodiment. However, in the second embodiment, the friction change due to the operating condition or the temperature is estimated by a recursive least square method (deforming frictional least square wave) with a forgetting factor.

Fig. 5 is a block diagram showing a configuration example of the robot controller 30 according to the second embodiment. As shown in fig. 5, the memory 30f of the robot controller 30 includes a threshold storage unit 54. The threshold storage section 54 is included in the memory 30f, for example, the RAM30c (fig. 1) or the EEPROM30d (fig. 1). The CPU30a of the robot controller 30 reads and executes the program in the second embodiment stored in the ROM30b (fig. 1) into the RAM30c (fig. 1), thereby functioning as the control unit 51, the estimated torque calculation unit 52, the determination value calculation unit 53, the comparison unit 55, the identification (identification) progress degree calculation unit 57, and the threshold setting unit 58.

The program for realizing the functions of the robot controller 30 according to the second embodiment may be provided from the outside through a communication function, or may be stored in a storage medium such as a DVD-ROM or a flash memory.

The control unit 51 reads a model (dynamic characteristic) of the welding robot 10 stored in the memory 30f, for example, in the ROM30b (fig. 1) or the EEPROM30d (fig. 1), calculates a necessary driving torque of each joint (axis) for performing a predetermined operation with respect to the read model, and applies the necessary driving torque to the welding robot 10. Accordingly, the welding robot 10 moves based on the necessary driving torque from the control unit 51. Then, the angle of each joint detected by the encoder of the motor of the welding robot 10 is fed back to the robot controller 30. When the comparison unit 55 notifies that the welding robot 10 collides with another object, the control unit 51 sets the necessary drive torque to zero to stop the operation of the welding robot 10. In the present embodiment, the control unit 51 corresponds to an example of a robot control unit.

The estimated torque calculation unit 52 periodically calculates an estimated torque, which is the sum of estimated values of inertial force, centrifugal force, gravity, friction force, and the like generated at each joint, based on the necessary driving torque input from the control unit 51 to the motor of the welding robot 10, the joint angle input from the encoder of the welding robot 10, and the like.

If the torque generated by the motor of the welding robot 10 by the necessary driving torque input from the control unit 51 is τ, and the motor angle of the welding robot 10 based on the necessary driving torque input from the control unit 51 is θ, the torque τ is expressed by the following equation.

In the above equation, the second term Fr (d θ/dt) on the right represents frictional force, and the first term f (θ, d θ/dt, d2 θ/dt2) on the right represents estimated values of inertial force, centrifugal force, and the like other than frictional force. The third term d on the right is the interference term.

If Fr (D θ/dt) + D is D, D is obtained by the following equation.

If only coulomb friction and viscous friction act as friction, and if the coulomb friction coefficient is F and the viscous friction coefficient is B, Fr (d θ/dt) is expressed by the following formula.

Here, the estimated torque calculation unit 52 identifies the friction model by the recursive least square method with a forgetting factor, and obtains estimated values of the coulomb friction coefficient F and the viscous friction coefficient B.

That is, let the motor angle at time step k be θkThe disturbance at time step k, which includes friction, is DkMatrix A is defined as followsk、Bk

In the matrix, the coefficient ρ represents a forgetting factor. Matrix A is defined as follows0,B0

B0=D0

The estimated values of the coulomb friction coefficient F and the viscous friction coefficient B in the time step k are respectively set as Fk^、BkX is defined as followsk. In the present description, the cap symbol is attached directly above the character in the formula, but is attached to the rear of the character in the text.

Thus, the friction model is expressed by the following formula.

AkXk=Bk

Thus, by least squares, XkCan be identified as follows.

Accordingly, the estimated frictional force Fr at the time step kk^(dθkDt) as follows.

Therefore, the torque τ is estimatedk^ can be calculated by the following formula。

The estimated torque calculation unit 52 notifies the determination value calculation unit 53 of the calculated estimated torque.

The judgment value calculation unit 53 calculates a collision judgment value used for collision detection judgment from a torque difference between the estimated torque calculated by the estimated torque calculation unit 52 and the actual torque output from the welding robot 10 or from a value obtained by filtering the torque difference in order to avoid erroneous detection due to high-frequency noise, and outputs the collision judgment value to the comparison unit 55.

The actual torque is not limited to the torque measured by the torque sensor, for example. For example, the necessary drive torque input from the control unit 51 to the welding robot 10 may be used as the actual torque. In this case, the torque sensor may not be provided. Alternatively, the correspondence between the current value supplied to the servomotor and the torque generated at the joint of the welding robot 10 may be obtained in advance and stored in the memory 30f, and the torque sensor may detect the current value supplied to the servomotor. Further, a torque converted from the detected current value by using the correspondence relationship may be used as the actual torque.

The threshold storage unit 54 stores a collision determination threshold used for collision detection determination.

The comparison section 55 compares the collision determination value calculated by the determination value calculation section 53 with the collision determination threshold value stored in the threshold value storage section 54, and determines whether or not the welding robot 10 collides with another object based on the comparison result. Specifically, the comparing unit 55 determines that the welding robot 10 collides with another object if the collision determination value is larger than the collision determination threshold value, and determines that the welding robot 10 does not collide with another object if the collision determination value is equal to or smaller than the collision determination threshold value. When determining that the welding robot 10 collides with another object, the comparing unit 55 notifies the control unit 51 of the collision. In the present embodiment, the comparison unit 55 corresponds to an example of the detection unit. That is, the comparing unit 55 detects a collision between the welding robot 10 and another object with a predetermined collision detection sensitivity determined according to the magnitude of the collision determination threshold.

The recognition progress degree calculating unit 57 calculates the progress degree of the recognized friction model from the friction model recognized by the estimated torque calculating unit 52. For example, a model of the welding robot 10 is expressed by the following equation.

In the formula (1), the first term Jd on the left2θ/dt2Is the inertial term. The forgetting factor ρ is 0.9999.

FIG. 6 is a graph showing an estimated value F of the Coulomb friction coefficient when the Coulomb friction coefficient F changes from 2 to 1 with timekGraph of the variation of ^. FIG. 7 shows a friction model A recognized by the estimated torque calculation unit 52kXk=BkThe matrix (A) thus obtainedk TAk) Trace (trace) tr (A)k TAk) A graph of the variation of (c). From these figures, it can be seen that the convergence of the estimated value of the Coulomb friction coefficient and the trace tr (A)k TAk) The convergence of (c) corresponds to (d). Therefore, the recognition progress degree calculating section 57 may compare the trace tr (a)kTAk) The value of (d) is used as an index for identifying the degree of progress of the friction model.

Alternatively, the recognition progress degree calculating section 57 may use the matrix ak TAkThe singular value (singular value) of (a) is used as an index of the degree of progress of the recognition of the friction model. FIG. 8A and FIG. 8B are matrices A respectively representing friction estimation simulations in the model of the formula (1)k TAkA graph of the variation of the two singular values of (a). FIG. 8A shows matrix Ak TAkFig. 8B shows the matrix ak TAkSecond singular value of (a). As can be seen from fig. 6 and fig. 8A and 8B, the convergence of the estimated value of coulomb friction coefficient and the matrix ak TAkCorresponds to the convergence of the singular values of (a). Thus, identifyThe degree of progress calculating section 57 may use the matrix ak TAkThe singular value of (a) is used as an index of the degree of progress of the identification of the friction model.

Alternatively, the recognition progress degree calculating section 57 may use the matrix ak TAkAs an indicator of the degree of recognition progress of the friction model. FIG. 9 shows a matrix A in a friction estimation simulation under the model of the formula (1)k TAkA first row and a first column of elements. From fig. 6 and 9, it can be seen that the convergence of the estimated coulomb friction coefficient and the matrix ak TAkCorresponds to convergence of the first row and the first column elements of (a). Therefore, the recognition progress degree calculating section 57 may calculate the matrix ak TAkAs an indicator of the degree of recognition progress of the friction model.

Alternatively, the recognition progress degree calculating section 57 may use the condition number of the matrix Ak as an index of the recognition progress degree of the friction model. For example, in matrix AkIf the condition number of (2) is a value smaller to some extent, such as 100 or less, it can be determined that the recognition of the friction model is progressing.

Here, it is assumed that the recognition progress degree calculation unit 57 uses the matrix a alonek TAkTrace tr (A)k TAk) Value of (A), matrix Ak TAkSingular value of, matrix ak TAkFirst row and first column elements of and matrix akHowever, the recognition progress degree calculating unit 57 may use at least two of them in combination.

In the second embodiment, the matrix ak TAkTrace tr (A)k TAk) Value of (A), matrix Ak TAkSingular value of, matrix ak TAkFirst row and first column elements of and matrix akIs equivalent to using the matrix A used in recognizing the friction modelk TAkAn example of the index calculated by the diagonal line element(s). In the second embodiment, the estimated torque calculation unit 52 corresponds to an example of an estimation unit.

The threshold setting unit 58 sets the collision determination threshold in the threshold storage unit 54 based on the degree of recognition progress calculated by the degree of recognition progress calculation unit 57. The threshold setting unit 58 is, for example, in the matrix ak TAkTrace tr (A)k TAk) In the case of the variation shown in FIG. 7, when tr (A)k TAk) If < 5000, it is judged that the discrimination is not progressed and a threshold value larger than usual is set, and when tr (A)k TAk) When 5000 or more, it is determined that the recognition is achieved and a normal threshold value is set.

In the second embodiment, the threshold setting unit 58 corresponds to an example of the detection control unit.

In the above description, the estimated torque calculation unit 52 estimates the frictional force without considering the temperature change of the welding robot 10, but may consider the temperature change of the welding robot 10. That is, the model of the welding robot 10 in which the temperature change model of the friction is added to the formula (1) is as follows.

In the formula (2), symbol T represents temperature, symbol FT(T)、BT(T) represents a Coulomb friction coefficient and a viscous friction coefficient obtained from a temperature change model of friction, respectively, and symbols AF and Δ B represent an actual friction coefficient and F, respectivelyT(T)、BT(T) error between (T). If a temperature change model of the friction is obtained in advance through experiments, a friction model considering the temperature change of the welding robot 10 is as follows.

The estimated torque calculation unit 52 can estimate friction more accurately by recognizing the friction model using the friction model.

Fig. 10 is a flowchart showing an example of the operation of the robot controller 30 according to the second embodiment.

As shown in fig. 10, in the robot controller 30, first, the control unit 51 controls the welding robot 10 by driving the motor so as to realize a predetermined operation after the welding robot 10 is started (step 501).

Next, the estimated torque calculation unit 52 estimates inertial force, centrifugal force, frictional force, and the like generated in the welding robot 10, and calculates an estimated torque (step 502). At this time, the estimated torque calculation unit 52 recognizes the friction model by the recursive least square method with a forgetting factor as described above, and calculates the estimated torque using the friction model.

Next, the determination value calculation unit 53 calculates a collision determination value from a torque difference between the actual torque, which is a measurement value of the torque actually generated at the welding robot 10, and the estimated torque calculated at step 502 (step 503).

On the other hand, in the robot controller 30, the recognition progress degree calculating unit 57 calculates the recognition progress degree using the friction model recognized in step 502 (step 504).

Next, the threshold setting unit 58 sets the collision determination threshold in the threshold storage unit 54 based on the degree of progress of recognition calculated at step 504. Here, the threshold setting unit 58 sets the collision determination threshold so as to determine that the vehicle has collided if the collision determination value exceeds the collision determination threshold. Specifically, the threshold setting unit 58 first determines whether or not the degree of progress of the recognition of the friction model calculated in step 504 is greater than a reference value (step 505). If it is not determined that the degree of progress of recognition calculated at step 504 is higher than the reference value, that is, if it is determined that the degree of progress of recognition is equal to or lower than the reference value (no at step 505), the threshold setting unit 58 sets a threshold larger than the normal threshold as the collision determination threshold (step 506). On the other hand, if it is determined that the degree of progress of recognition calculated in step 504 is higher than the reference value (yes in step 505), the threshold setting unit 58 sets the normal threshold as the collision determination threshold (step 507).

Then, the comparing section 55 compares the collision determination value calculated in step 503 with the collision determination threshold value set in step 506 or step 507, and determines whether or not the collision determination value exceeds the collision determination threshold value (step 508). If it is not determined that the collision determination value exceeds the collision determination threshold value (no at step 508), the control unit 51 returns the process to step 501 to continue the operation of the welding robot 10. On the other hand, if it is determined that the collision determination value exceeds the collision determination threshold (yes at step 508), the control unit 51 stops the welding robot 10 (step 509) and ends the process.

In this operation example, the robot controller 30 executes steps 504 to 507 after executing step 503, but the present invention is not limited to this. The robot controller 30 may execute the step 503 and the steps 504 to 507 in parallel, or may execute the step 503 after executing the steps 504 to 507.

However, the motor input used by the estimated torque calculation unit 52 to calculate the estimated torque at step 502 and the actual torque used by the determination value calculation unit 53 to calculate the collision determination value at step 503 often include noise. Therefore, the disturbance value can also be directly estimated by the disturbance estimation observer. In this case, in fig. 5, a disturbance estimation observer may be provided instead of the estimated torque calculation unit 52. In fig. 10, step 502 may be changed to a step of estimating a disturbance value by a disturbance estimation observer, and step 503 may be changed to a step of setting the disturbance value estimated in step 502 as a collision determination value.

As described above, according to the second embodiment, since the matrix (A) is formed, for examplek TAk) Trace tr (A)k TAk) Since the value of (b) is used as an index of the degree of progress of the identification of the friction model, it is easy to determine whether or not the estimated value of the friction coefficient converges, and it is possible to prevent the possibility of erroneous detection of a collision from increasing.

[ third embodiment ]

The welding robot system 1 in the third embodiment is a combination of the welding robot system 1 in the first embodiment and the welding robot system 1 in the second embodiment.

Fig. 11 is a block diagram showing a configuration example of the robot controller 30 according to the third embodiment. As shown in fig. 11, the memory 30f of the robot controller 30 includes a threshold storage unit 64. The threshold storage section 64 is included in the memory 30f, for example, the RAM30c (fig. 1) or the EEPROM30d (fig. 1). The CPU30a of the robot controller 30 reads and executes the program of the third embodiment stored in the ROM30b (fig. 1) into the RAM30c (fig. 1), thereby functioning as the control unit 61, the estimated torque calculation unit 62, the determination value calculation unit 63, the comparison unit 65, the temperature data acquisition unit 66, the recognition progress degree calculation unit 67, and the threshold setting unit 68.

The control unit 61, the estimated torque calculation unit 62, the determination value calculation unit 63, the threshold value storage unit 64, the comparison unit 65, and the degree of progress of recognition calculation unit 67 are the same as the control unit 51, the estimated torque calculation unit 52, the determination value calculation unit 53, the threshold value storage unit 54, the comparison unit 55, and the degree of progress of recognition calculation unit 57 in fig. 5 (second embodiment), respectively, and therefore detailed description thereof is omitted. The temperature data acquisition unit 66 is the same as the temperature data acquisition unit 46 of fig. 3 (first embodiment), and therefore, detailed description thereof is omitted.

The threshold setting unit 68 sets the collision determination threshold in the threshold storage unit 64 based on the degree of progress of friction model recognition calculated by the degree of progress of recognition calculation unit 67 and the temperature data acquired by the temperature data acquisition unit 66. In the third embodiment, the threshold setting unit 68 corresponds to an example of the detection control unit.

Fig. 12 is a flowchart showing an example of the operation of the robot controller 30 according to the third embodiment.

Steps 601 to 603 are the same as steps 501 to 503 of fig. 10, and thus detailed description is omitted.

However, in the robot controller 30, the recognition progress degree calculating unit 67 calculates the degree of progress of the friction model recognition using the friction model recognized in step 602 (step 604).

The temperature data acquisition unit 66 acquires temperature data indicating the temperature of the decelerator of the welding robot 10 measured by the temperature sensor (step 605).

Next, the threshold setting unit 68 sets the collision determination threshold in the threshold storage unit 64 based on the degree of progress of the recognition of the friction model calculated in step 604 and the measured temperature indicated by the temperature data acquired in step 605. Here, the threshold value setting unit 68 sets the collision determination threshold value so as to determine that the vehicle has collided if the collision determination value exceeds the collision determination threshold value. Specifically, the threshold setting unit 68 first determines whether or not the degree of progress of the friction model recognition calculated in step 604 is higher than a reference value and whether or not the measured temperature of the speed reducer indicated by the temperature data acquired in step 605 is higher than a reference temperature (step 606).

If it is not determined that the degree of progress of the recognition of the friction model calculated at step 604 is higher than the reference value and the measured temperature indicated by the temperature data acquired at step 605 is higher than the reference temperature, that is, if it is determined that the degree of progress of the recognition of the friction model calculated at step 604 is equal to or lower than the reference value or the measured temperature indicated by the temperature data acquired at step 605 is equal to or lower than the reference temperature (no at step 606), the threshold setting unit 68 sets a threshold larger than the normal threshold as the collision determination threshold (step 607). On the other hand, if it is determined that the degree of progress of the identification of the friction model calculated at step 604 is higher than the reference value and the measured temperature indicated by the temperature data acquired at step 605 is higher than the reference temperature (yes at step 606), the threshold setting unit 68 sets the normal threshold as the magnetic crash determination threshold (step 608).

The subsequent steps 609 to 610 are the same as steps 508 to 509 of fig. 10, respectively, and thus detailed description is omitted.

In this operation example, the robot controller 30 executes steps 604 to 608 after executing step 603, but the present invention is not limited thereto. The robot controller 30 may perform step 603 and steps 604 to 608 in parallel, or may perform step 603 after performing steps 604 to 608. Alternatively, robot controller 30 may execute only step 605 of steps 604 to 608 before step 602, or may execute in parallel with step 602.

However, the motor input used by the estimated torque calculation unit 62 to calculate the estimated torque at step 602 and the actual torque used by the determination value calculation unit 63 to calculate the collision determination value at step 603 often include noise. Therefore, the disturbance value can also be directly estimated by the disturbance estimation observer. In this case, in fig. 11, a disturbance estimation observer may be provided instead of the estimated torque calculation unit 62. In fig. 12, step 602 may be changed to a step of estimating the disturbance value by the disturbance estimation observer, and step 603 may be changed to a step of setting the disturbance value estimated in step 602 as the collision determination value.

As described above, according to the third embodiment, for example, in a situation where the temperature of the robot 10 is low and the friction is large and the threshold needs to be changed, when the measured temperature of the robot 10 is equal to or lower than the reference temperature, the collision determination threshold is increased, so that it is possible to prevent the possibility of erroneous detection of a collision from increasing, and for example, the matrix (a) is usedk TAk) Trace tr (A)k TAk) Since the value of (b) is used as an index of the degree of progress of the identification of the friction model, it is easy to determine whether or not the estimated value of the friction coefficient converges, and it is possible to prevent the possibility of erroneous detection of a collision from increasing.

[ fourth embodiment ]

The welding robot system 1 in the fourth embodiment is also equipped with a collision detection function for detecting a collision and stopping the welding robot 10 if the welding robot 10 collides with another object, as in the welding robot system 1 in the first to third embodiments. However, in the fourth embodiment, if the operating condition of the welding robot 10 satisfies a predetermined condition during the winter season, the collision determination threshold value in the collision detection function is changed.

Fig. 13 is a block diagram showing a configuration example of the robot controller 30 according to the fourth embodiment. As shown in fig. 13, the memory 30f of the robot controller 30 includes a threshold value storage unit 74, a parameter storage unit 76, and a variation value storage unit 77. The threshold storage unit 74, the parameter storage unit 76, and the fluctuation value storage unit 77 are included in the RAM30c (fig. 1) or the EEPROM30d (fig. 1), for example, of the memory 30 f. The CPU30a of the robot controller 30 reads and executes the program of the fourth embodiment stored in the ROM30b (fig. 1) into the RAM30c (fig. 1), thereby functioning as the control unit 71, the estimated torque calculation unit 72, the determination value calculation unit 73, the comparison unit 75, the threshold setting unit 78, and the variation value calculation unit 79.

The control unit 71, the estimated torque calculation unit 72, the determination value calculation unit 73, the threshold value storage unit 74, and the comparison unit 75 are the same as the control unit 41, the estimated torque calculation unit 42, the determination value calculation unit 43, the threshold value storage unit 44, and the comparison unit 45 of fig. 3 (first embodiment), respectively, and therefore detailed description thereof is omitted.

The parameter storage unit 76 stores various parameters that are referred to when the threshold setting unit 78 sets the collision determination threshold in the threshold storage unit 74. The various parameters include the following.

That is, the first parameter is the start period during winter. The start period may be a start month (e.g., 11 months). The second parameter is the end period of the winter period. The end period may be an end month (e.g., 3 months).

The third parameter is a threshold value (hereinafter referred to as "stop time threshold value") of a time during which the welding robot 10 (or the servo motor) is stopped, and the stop time threshold value is a precondition for setting a threshold value larger than a normal threshold value as a collision determination threshold value during winter. Hereinafter, the stop time threshold is set to t 0. The stop time threshold t0 may be, for example, 1 hour.

The fourth parameter is an accumulated time (accumulated servo ON time) for the welding robot 10 to start (ON) the servo motor, and the accumulated servo ON time is a time required for performing an operation in which a value larger than a normal threshold value is set as a collision determination threshold value during the winter season (hereinafter referred to as "winter operation"). Hereinafter, the time is assumed to be t 1. Time t1 may be, for example, 30 minutes.

The fifth parameter is an accumulated time (accumulated servo ON time) for which the welding robot 10 required to start monitoring the collision determination value during the winter season starts the servo motor to be started (ON). Hereinafter, the time is assumed to be t 2. Time t2 may be, for example, 24 minutes. Alternatively, instead of time t2, the ratio of the cumulative servo ON time of the welding robot 10 required for the winter operation at that time may be determined as the fifth parameter.

The sixth parameter is a difference value obtained by subtracting the normal threshold value from a larger than normal threshold value set as the collision determination threshold value during winter. Hereinafter, this difference is referred to as Δ Th. The difference Δ Th may be, for example, 60% of the normal threshold value. That is, the greater than usual threshold may be 160% of the usual threshold.

The fluctuation value storage unit 77 stores various fluctuation values as values that fluctuate with the operation of the welding robot system 1. The various variations include the following variations.

That is, the first variation value is the accumulated servo ON time of the welding robot 10 required to perform the winter operation at that time. Hereinafter, the time is T1. In the initial state, time T1, which is the first variation value, is set to time T1, which is the fourth parameter stored in parameter storage unit 76.

The second variation value is the cumulative servo ON time of the welding robot 10 required to monitor the collision determination value at the start of this time. Hereinafter, the time is T2. In the initial state, time T2, which is the second variation, is set to time T2, which is the fifth parameter stored in parameter storage unit 76. However, when the parameter storage unit 76 stores not the time t2 but a ratio of the cumulative servo ON time of the welding robot 10 required for the winter operation at that time as the fifth parameter, the variation value storage unit 77 may not store the second variation value.

The third variation value is the maximum collision determination value (hereinafter referred to as "maximum determination value") in the section in which the collision determination value monitoring is performed at that time. In the initial state, the maximum determination value as the third variation value is set to the minimum value (for example, 0) of the collision determination value.

The threshold setting unit 78 has a timer function for counting the date and time. The threshold setting unit 78 sets the collision determination threshold in the threshold storage unit 74 based on the various parameters stored in the parameter storage unit 76 and the various variation values stored in the variation value storage unit 77.

Specifically, when the current date is between the start time of the winter period as the first parameter and the end time of the winter period as the second parameter stored in the parameter storage unit 76, the threshold setting unit 78 sets a threshold larger than the normal threshold in the threshold storage unit 74 instead of the normal threshold if the condition relating to the operating condition of the welding robot 10 is satisfied. Here, the conditions relating to the operating conditions of the welding robot 10 are as follows: after the power of the welding robot system 1 is turned ON (ON) or after the servomotor of the welding robot 10 is stopped (OFF) and is not less than the stop time threshold T0 as the third parameter stored in the parameter storage unit 76, the cumulative servo ON time from the start of the operation of the servomotor does not reach the time T1 as the first variation value stored in the variation value storage unit 77. The threshold value larger than the normal threshold value is obtained by adding the value Δ Th as the sixth parameter stored in the parameter storage unit 76 to the normal threshold value.

In the fourth embodiment, a winter period from a start time of the winter period as the first parameter stored in the parameter storage unit 76 to an end time of the winter period as the second parameter stored in the parameter storage unit 76 is an example of a period predetermined in advance as a period in which the temperature of the robot is estimated to be lower than a predetermined temperature. In the fourth embodiment, the condition that the current date is between the start time of the winter period as the first parameter and the end time of the winter period as the second parameter stored in the parameter storage unit 76 is an example of a predetermined condition indicating that the temperature of the robot is lower than a predetermined temperature. In the fourth embodiment, the threshold setting unit 78 is an example of the detection control unit.

The variation value calculation unit 79 counts the accumulated servo ON time from the start of the operation of the servo motor after the power of the welding robot 10 is turned ON (ON) or after the welding robot 10 stops being stored in the parameter storage unit 76 as the third parameter, i.e., the stop time threshold t0 or more. After the counted cumulative servo ON time has elapsed the time T2, which is the second variation stored in the variation storage unit 77, the variation calculation unit 79 reaches the time T1, which is the first variation stored in the variation storage unit 77, and if the collision determination value calculated by the determination value calculation unit 73 at that time is the maximum, the collision determination value is stored in the variation storage unit 77 as the maximum determination value, which is the third variation.

The variation value calculating unit 79 adds the time TI as the first variation value stored in the variation value storage unit 77 and the time T1 as the fourth parameter stored in the parameter storage unit 76 when the maximum determination value stored in the variation value storage unit 77 is larger than the normal threshold and smaller than a threshold (corresponding to an example of an increase value) that adds the value Δ Th as the sixth parameter stored in the parameter storage unit 76 and the normal threshold (corresponding to an example of an initial value) at a time when the accumulated servo ON time from the start of the operation of the servo motor reaches the time T1 as the first variation value stored in the variation value storage unit 77 after the power of the welding robot 10 is turned ON (ON) or after the welding robot 10 stops being stored in the parameter storage unit 76 as the stop time threshold T0 as the third parameter or more. Accordingly, the time for performing the winter operation is prolonged.

Similarly to the case where the parameter storage unit 76 stores the time T2 as the fifth parameter, the time T2 as the second variation stored in the variation storage unit 77 is added to the time T2 as the fifth parameter stored in the parameter storage unit 76. Accordingly, the timing to start monitoring of the collision determination value during the winter season is also reset.

Here, the variance value calculation unit 79 extends the time for performing the winter operation when the maximum determination value stored in the variance value storage unit 77 is greater than the normal threshold value and less than the threshold value obtained by adding the normal threshold value and the value Δ Th, but the present invention is not limited thereto. The variation value calculation unit 79 may extend the time for performing the winter operation when another condition indicating that the collision determination value calculated by the determination value calculation unit 73 is close to the threshold value obtained by adding the normal threshold value and the value Δ Th is satisfied.

In the fourth embodiment, the variation value calculation unit 79 is an example of an extension control unit.

Here, the variation value calculation unit 79 immediately reflects the change from the first parameter to the sixth parameter in the parameter storage unit 76. However, when the first parameter is changed to the fifth parameter during the time measurement of the time t0 as the third parameter or the time t1 as the fourth parameter, the change is applied after the time measurement is completed.

Fig. 14 is a timing chart in the fourth embodiment. In the timing chart, servo ON721 and servo OFF indicate transition of a state in which the servo motor is started (ON) and a state in which the servo motor is stopped (OFF). The applicable time 723 represents a time when the winter action is applicable. Specifically, the application time 723 indicates the time from the time when the servo motor is started to the end of the winter operation when the accumulated servo ON time reaches the time t 1. The collision determination value monitoring section 724 indicates a section for monitoring whether or not the collision determination value is the maximum. Specifically, the collision determination value monitoring section 724 indicates a time from when the accumulated servo ON time reaches the time t2 to when the accumulated servo ON time reaches the time t 1.

Reset time 725 represents the time when the servomotor is at a stop. During the reset time 725, the timing of the accumulated servo ON time stops. If the reset time 725 starts, the stop time of the servomotor is counted, and if the reset time 725 ends, the count value of the stop time of the servomotor is reset to zero. Winter action 726 and normal action 727 indicate a period in which a normal threshold value is set in the threshold value storage unit 74 and a period in which a normal threshold value is set in the threshold value storage unit 74, respectively. However, in this time chart, it is not considered to extend the time for performing the winter operation.

As shown in fig. 14, after the power is turned ON (ON), the winter operation is performed until the accumulated servo ON time from the start of the operation of the servo motor reaches time t 1. At this time, in a section from the start of the operation of the servomotor to the time t2 when the accumulated servo ON time reaches the time t1, it is determined whether or not the collision determination value is the maximum in the section.

As shown in the vicinity of the right end of fig. 14, after the stop time threshold t0 has elapsed since the servo motor was stopped (OFF), the winter operation is performed in the same manner as after the power was turned ON (ON). Although not shown later, the winter operation is performed until the cumulative servo ON time from the start of the operation of the servo motor reaches time t 1.

Fig. 15 is a flowchart showing an example of the operation of the robot controller 30 according to the fourth embodiment.

As shown in fig. 15, in the robot controller 30, first, the control unit 71 controls the welding robot 10 by driving the motor so as to realize a predetermined operation after the welding robot 10 is started (step 701).

Next, the estimated torque calculation unit 72 estimates inertial force, centrifugal force, frictional force, and the like generated in the welding robot 10, and calculates an estimated torque (step 702).

Next, the judgment value calculation unit 73 calculates a collision judgment value based on a torque difference between the actual torque, which is a measurement value of the torque actually generated at the welding robot 10, and the estimated torque calculated at step 702 (step 703).

On the other hand, in the robot controller 30, the threshold setting unit 78 sets the collision determination threshold in the threshold storage unit 74 based on the various parameters stored in the parameter storage unit 76 and the various variation values stored in the variation value storage unit 77. Here, the threshold setting unit 78 sets the collision determination threshold so that the collision determination threshold is determined to be a collision if the collision determination value exceeds the collision determination threshold.

Specifically, the threshold setting unit 78 determines whether or not the current time is within the winter period (step 704). Specifically, the threshold setting unit 78 determines whether or not the current time measured by the timer function is between the start time and the end time of the winter season stored in the parameter storage unit 76.

First, a case where the threshold setting unit 78 determines that the current time is within the winter period (yes at step 704) will be described. In this case, the threshold setting unit 78 determines whether or not the cumulative servo ON time from the start of the operation reaches the time T1 stored in the variation value storage unit 77 after the power is turned ON (ON) or after the welding robot 10 stops being stored in the parameter storage unit 76 for a time T0 or more (step 705).

If the variation value calculation unit 79 determines that the accumulated servo ON time from the start of the operation of the servo motor has not reached the time T1 (no at step 705), the threshold value setting unit 78 sets a threshold value, which is larger than the normal threshold value, that is, a value Δ Th to be stored in the parameter storage unit 76 and the normal threshold value, as the collision determination threshold value, in the threshold value storage unit 74 (step 706). Thereafter, the threshold setting unit 78 determines whether or not the accumulated servo ON time from the start of operation reaches time T2 stored in the variation storage unit 77 (step 707). If it is determined that the cumulative servo ON time from the start of operation has reached time T2 (yes at step 707), fluctuation value calculation unit 79 determines whether or not the collision determination value calculated at step 703 is greater than the maximum determination value stored in fluctuation value storage unit 77 (step 708).

If variance value calculating unit 79 determines that the collision determination value calculated at step 703 is larger than the maximum determination value stored in variance value storing unit 77 (yes at step 708), variance value calculating unit 79 updates the collision determination value calculated at step 703 as the maximum determination value and stores it in variance value storing unit 77 (step 709), and advances the process to step 713. On the other hand, if the variance value calculation unit 79 does not determine that the collision determination value calculated at step 703 is greater than the maximum determination value stored in the variance value storage unit 77 (no at step 708), the variance value calculation unit 79 does not store the collision determination value calculated at step 703 in the variance value storage unit 77, and advances the process to step 713. Note that, when the threshold setting unit 78 does not determine that the cumulative servo ON time from the start of the operation has reached the time T2 (no in step 707), the threshold setting unit 78 also directly advances the process to step 713.

ON the other hand, if the variation calculation unit 79 determines that the accumulated servo ON time from the start of the operation of the servo motor has reached the time T1 (yes at step 705), the variation calculation unit 79 determines whether or not the maximum determination value stored in the variation storage unit 77 is larger than the normal threshold and smaller than a threshold for adding the value Δ Th stored in the parameter storage unit 76 to the normal threshold (step 710).

If the variance value calculation section 79 determines that the maximum determination value stored in the variance value storage section 77 is larger than the normal threshold value and smaller than the threshold value at which the value Δ Th stored in the parameter storage section 76 and the normal threshold value are added (yes at step 710), the variance value calculation section 79 adds the time T1 stored in the variance value storage section 77 and the time T1 stored in the parameter storage section 76 (step 711), and advances the process to step 713.

On the other hand, if the variance value calculation unit 79 does not determine that the maximum determination value stored in the variance value storage unit 77 is larger than the normal threshold value and smaller than the threshold value obtained by adding the value Δ Th stored in the parameter storage unit 76 to the normal threshold value (no at step 710), the variance value calculation unit 79 does not change the time T1 stored in the variance value storage unit 77, the threshold value setting unit 78 returns the larger than normal threshold value stored in the threshold value storage unit 74 as the collision determination threshold value to the normal threshold value (step 712), and the process proceeds to step 713.

Next, a case will be described in which the threshold setting unit 78 does not determine that the current time is within the winter period (no in step 704). In this case, the threshold setting unit 78 stores the normal threshold as the collision determination threshold in the threshold storage unit 74 (step 712), and advances the process to step 713.

Then, the comparing unit 75 compares the collision determination value calculated in step 703 with the magnetic collision determination threshold set in step 706 or 712, and determines whether or not the collision determination value exceeds the collision determination threshold (step 713). If it is not determined that the collision determination value exceeds the collision determination threshold value (no at step 713), the control unit 71 returns the process to step 701 to continue the operation of the welding robot 10. On the other hand, if it is determined that the collision determination value exceeds the collision determination threshold value (yes at step 713), the control unit 71 stops the welding robot 10 (step 714), and ends the process.

However, the motor input used when the estimated torque calculation unit 72 calculates the estimated torque at step 702 and the actual torque used when the judgment value calculation unit 73 calculates the collision judgment value at step 703 often include noise. Therefore, the disturbance torque can also be directly estimated by the disturbance estimation observer. The disturbance estimation observer has a known configuration, and estimates a disturbance torque that is a total of a load torque based on a centrifugal force, friction, and the like, and a fluctuation torque based on a fluctuation of an inertia moment, a torque ripple of a motor, and the like. In this case, in fig. 13, a disturbance estimation observer may be provided instead of the estimated torque calculation unit 72. In fig. 15, step 702 may be changed to a step of estimating the disturbance torque by the disturbance estimation observer, and step 703 may be changed to a step of setting the disturbance torque estimated in step 702 as the collision determination value.

Fig. 16A and 16B are diagrams each showing an example of a screen showing a state in which the collision determination threshold value stored in the threshold value storage unit 74 is displayed.

Fig. 16A shows a screen 741 in a normal operation. As shown in fig. 16A, on a screen 741, in a threshold value column 742, a normal threshold value "50" is set for each axis as a collision determination threshold value for normal operation.

Fig. 16B shows a screen 751 during winter operation. As shown in fig. 16B, on screen 751, in threshold value column 752, a greater-than-normal threshold value "80" increased by 60% from normal threshold value "50" is set for each axis as a collision determination threshold value for winter action. The collision determination threshold value set in this manner for the winter action may be displayed in a different manner from the threshold value column 742 in fig. 16A in the threshold value column 752. In the example shown in fig. 16B, the threshold value column 752 is enclosed by a thick-line frame.

In addition, in a screen 741 in fig. 16A and a screen 751 in fig. 16B, a "current value" indicates an instantaneous value of the current collision determination value. On the other hand, "maximum value" represents the maximum value of the collision determination values up to this point. If the maximum value is sufficiently small relative to the collision determination threshold value, it indicates that the operation is normally performed. In determining the threshold value, a value having a margin with respect to the maximum value at the time of performing the consecutive operation may be given to the threshold value, and the maximum value may be referred to when determining the threshold value.

As described above, according to the fourth embodiment, when the current time is the winter period and the accumulated servo ON time does not reach the time t1, it is determined that the temperature of the robot 10 is low and the collision determination threshold value is increased, so that it is possible to prevent the possibility of erroneously detecting a collision from increasing.

The present specification discloses the techniques of the various modes described above, and the main techniques thereof are summarized as follows.

A first aspect of the present invention relates to a robot control device including: a detection unit that detects a collision between the robot and another object at a predetermined collision detection sensitivity; a robot control unit that controls the robot to operate and stop the robot if the collision is detected by the detection unit; and a detection control unit that, if a predetermined condition indicating that the temperature of the robot is low is satisfied, reduces the collision detection sensitivity compared to a case where the predetermined condition is not satisfied.

A second aspect of the present invention relates to a robot control method including the steps of: a detection step of detecting a collision of the robot with another object at a predetermined collision detection sensitivity; a robot control step of controlling the robot so that the robot operates and stops if the collision is detected in the detection step; and a detection control step of, if a predetermined condition indicating that the temperature of the robot is low is satisfied, reducing the collision detection sensitivity compared to when the predetermined condition is not satisfied.

A third aspect of the present invention relates to a robot control program for causing a computer of a robot to realize the following functions: a detection function of detecting a collision between the robot and another object with a predetermined collision detection sensitivity; a robot control function of controlling the robot so that the robot is operated and stopped if the collision is detected by the detection function; and a detection control function that, if a predetermined condition indicating that the temperature of the robot is low is satisfied, reduces the collision detection sensitivity compared to when the predetermined condition is not satisfied.

In the first, second, or third aspect, if a predetermined condition indicating that the temperature of the robot is low is satisfied, the collision detection sensitivity is reduced compared to when the predetermined condition is not satisfied. When the temperature of the robot is low, the friction of the driving part of the robot increases, and therefore, if the collision detection sensitivity is not changed, the possibility of false detection of a collision increases. In contrast, according to the first, second, or third aspect, when the temperature of the robot is low, the collision detection sensitivity is reduced, and therefore the possibility of erroneously detecting a collision can be prevented from increasing.

In the first mode, for example: the predetermined condition may be a condition that a measured temperature, which is an actually measured temperature of the robot, is low.

According to this aspect, since the predetermined condition is a condition that the actually measured temperature of the robot is low, it is possible to more reliably indicate that the temperature of the robot is low.

In the first mode, for example: the detection control unit may decrease the collision detection sensitivity when the measured temperature is lower than a predetermined temperature than when the measured temperature is equal to or higher than the predetermined temperature.

In this aspect, when the measured temperature is lower than a predetermined temperature, the collision detection sensitivity is reduced as compared to when the measured temperature is equal to or higher than the predetermined temperature. When the temperature of the robot is lower than a predetermined temperature, the friction force of the driving portion of the robot increases, and therefore, if the collision detection sensitivity is not changed, the possibility of erroneous detection of a collision increases. In contrast, according to this aspect, when the measured temperature is lower than the predetermined temperature, the collision detection sensitivity is reduced compared to when the measured temperature is higher than the predetermined temperature, and therefore the possibility of erroneously detecting a collision can be prevented from increasing.

In the manner, for example: the detection unit may detect the collision when a torque difference between an estimated torque and an actual torque of the robot or a disturbance torque directly estimated from the robot exceeds a predetermined threshold, and the detection control unit may increase the predetermined threshold when the measured temperature is lower than the predetermined temperature than when the measured temperature is higher than or equal to the predetermined temperature.

According to this aspect, when the measured temperature is lower than the predetermined temperature, the predetermined threshold value is larger than when the measured temperature is equal to or higher than the predetermined temperature. Therefore, even if the torque difference or the disturbance torque increases as the measured temperature becomes lower than the predetermined temperature, the predetermined threshold value increases, and therefore the possibility of erroneous detection of a collision can be prevented from increasing.

In the manner, for example: the detection control unit may decrease the sensitivity of the collision detection as the measured temperature decreases.

According to this aspect, the collision detection sensitivity decreases as the measured temperature decreases, and therefore, even when the temperature of the robot decreases, the possibility of false detection of a collision can be prevented from increasing.

In the manner, for example: the detection unit may detect the collision when a torque difference between an estimated torque and an actual torque of the robot or a disturbance torque directly estimated from the robot exceeds a predetermined threshold value, and the detection control unit may increase the threshold value as the measured temperature is lower.

According to this approach, the lower the measured temperature, the larger the prescribed threshold value. Therefore, even when the temperature of the robot becomes lower and the torque difference or the disturbance torque becomes larger, the predetermined threshold value is set larger, so that it is possible to prevent the possibility of erroneous detection of collision from being high.

In the manner, for example: the predetermined condition may be a condition that the current time is included in a predetermined period, and the predetermined period may be a period during which the temperature of the robot is estimated to be low.

According to this aspect, since the predetermined condition is a condition in which the current time is included in a period predetermined as a period in which the temperature of the robot is estimated to be low, it is possible to more easily indicate that the temperature of the robot is low as the predetermined condition.

In the manner, for example: the detection control unit may decrease the collision detection sensitivity before a cumulative time during which the servo motors are started reaches a predetermined time after the power of the robot is turned on or after the servo motors of the robot are stopped for a predetermined stop time or more, as compared with after the predetermined time.

It is considered that the robot is maintained in a low temperature state until a cumulative time during which the servo motors of the robot are started reaches a predetermined time after the power of the robot is turned on or after the servo motors of the robot are stopped for a predetermined stop time or more. In this case, according to this aspect, the collision detection sensitivity is reduced as compared to when the predetermined time has elapsed, and therefore the possibility of erroneously detecting a collision can be prevented from increasing.

In the manner, for example: the detection unit may detect the collision when a torque difference between an estimated torque and an actual torque of the robot or a disturbance torque directly estimated from the robot exceeds a predetermined threshold, and the detection control unit may change the predetermined threshold to an increase value larger than an initial value before an accumulated time during which the servo motors are started reaches the predetermined time after the power of the robot is turned on or after the servo motors of the robot are stopped for a predetermined stop time or longer, and restore the predetermined threshold to the initial value after the predetermined time.

It is considered that the robot is maintained in a low temperature state until a cumulative time during which the servo motors of the robot are started reaches a predetermined time after the power of the robot is turned on or after the servo motors of the robot are stopped for a predetermined stop time or more. In this case, according to this aspect, the predetermined threshold value is changed to an increased value larger than the initial value before the predetermined time is reached, and therefore, it is possible to prevent the possibility of false detection of a collision from increasing. On the other hand, the predetermined threshold value returns to the initial value after a predetermined time. The possibility that a collision cannot be detected can be reduced.

In the manner, for example: the servo control device may further include an extension control unit configured to extend the predetermined monitoring time before the cumulative time during which the servo motor is activated reaches the predetermined monitoring time, when the difference between the torque difference or the disturbance torque and the increase value is smaller than a predetermined value.

If the difference between the torque difference or the disturbance torque and the increase value is smaller than a predetermined value at a predetermined monitoring time before the cumulative time during which the servo motor is activated reaches a predetermined time, it is considered that there is a high possibility that the temperature of the robot is maintained in a low state. In contrast, according to this aspect, since the predetermined time is extended and the state in which the predetermined threshold value is changed to the increased value continues, it is possible to prevent the possibility of erroneous detection of a collision from increasing.

In the manner, for example: the extension control unit may determine that the difference between the torque difference or the disturbance value and the increase value is smaller than the predetermined value when the maximum value of the torque difference or the disturbance torque exceeds the initial value but is smaller than the increase value.

If the maximum value of the torque difference or the disturbance torque exceeds the initial value but is smaller than the increase value, it is considered that the possibility that the temperature of the robot is maintained in a low state is high. In contrast, according to this aspect, when the maximum value of the torque difference or the disturbance torque exceeds the initial value but is smaller than the increase value, it is determined that the difference between the value of the torque difference or the disturbance torque and the increase value is smaller than the predetermined value, and the predetermined time is extended. Therefore, the extension of the predetermined time can be easily determined.

A fourth aspect of the present invention relates to a robot control device including: a detection unit that detects a collision between the robot and another object at a predetermined collision detection sensitivity; a robot control unit that controls the robot to operate and stop the robot if the collision is detected by the detection unit; an estimation unit configured to identify a friction model that models friction generated in the robot using a predetermined matrix, and to obtain an estimated torque of the robot; an identification progress degree calculation unit that obtains a progress degree of identifying the friction model based on the predetermined matrix; and a detection control section that decreases the collision detection sensitivity if the degree of progress is small.

A fifth aspect of the present invention relates to a robot control method including the steps of: a detection step of detecting a collision of the robot with another object at a predetermined collision detection sensitivity; a robot control step of controlling the robot so that the robot operates and stops if the collision is detected in the detection step; an estimation step of identifying a friction model that models friction occurring in the robot by using a predetermined matrix, and obtaining an estimated torque of the robot; an identification progress degree calculation step of obtaining a progress degree for identifying the friction model based on the predetermined matrix; and a detection control step of decreasing the collision detection sensitivity if the degree of progress is small.

A sixth aspect of the present invention relates to a robot control program for causing a computer of a robot to realize the following functions: a detection function of detecting a collision of the robot with another object at a predetermined collision detection sensitivity; a robot control function of controlling the robot so that the robot is operated and stopped if the collision is detected by the detection function; an estimation function for identifying a friction model that models friction occurring in the robot using a predetermined matrix, and obtaining an estimated torque of the robot; an identification progress degree calculation function for finding a progress degree for identifying the friction model based on the predetermined matrix; and a detection control function of reducing the collision detection sensitivity if the degree of progress is small.

In the fourth, fifth, or sixth aspect, the collision detection sensitivity is reduced if the degree of progress of the recognition of the friction model is small. Since the friction force of the driving unit of the robot cannot be accurately estimated if the degree of progress of the recognition of the friction model is small, the estimated torque of the robot cannot be estimated as a rule, and as a result, the possibility of erroneous detection of a collision increases if the collision detection sensitivity is not changed. In contrast, according to the fourth, fifth, or sixth aspect, the collision detection sensitivity decreases as the degree of progress of the recognition of the friction model decreases, and therefore the possibility of false detection of a collision can be prevented from increasing.

In the fourth aspect, for example: the estimation unit may use a matrix a of time steps kk、BkAs the predetermined matrix, A for identificationkXk=BkExpressed friction model XkThe identification progress degree calculating section is based on the utilization matrix Ak TAkThe degree of progress is found from the index calculated by the diagonal element(s).

According to this mode, the matrix A is utilizedk TAkThe degree of progress of the recognition of the friction model is obtained by the index calculated by the diagonal line element of (1), and therefore, the degree of progress of the recognition of the friction model can be easily obtained.

In the manner, for example: the index may be the matrix Ak TAkA combination of 1 or at least 2 of the trace values, singular values, first row, first column elements, and condition numbers.

According to this mode, based on the matrix Ak TAkThe combination of 1 or at least 2 of the trace values, singular values, first row and first column elements, and condition numbers of the friction model can be easily found.

In the manner, for example: the detection control unit may decrease the collision detection sensitivity when the degree of progress is smaller than a predetermined value than when the degree of progress is equal to or larger than the predetermined value.

In this aspect, when the degree of progress of the recognition of the friction model is smaller than a predetermined value, the collision detection sensitivity is reduced as compared with when the degree of progress of the recognition of the friction model is equal to or larger than the predetermined value. If the degree of progress of the recognition of the friction model is less than a predetermined value, the friction force of the drive unit of the robot cannot be accurately estimated, and therefore, the estimated torque of the robot cannot be accurately estimated, and as a result, if the collision detection sensitivity is not changed, the possibility of erroneous detection of a collision increases. In contrast, according to this aspect, when the degree of progress of the recognition of the friction model is smaller than a predetermined value, the collision detection sensitivity is reduced as compared with the case where the degree of progress of the recognition of the friction model is equal to or larger than the predetermined value, and therefore the possibility of erroneously detecting a collision can be prevented from increasing.

In the manner, for example: the detection unit may detect the collision when a torque difference between an estimated torque and an actual torque of the robot exceeds a predetermined threshold, and the detection control unit may increase the predetermined threshold when the degree of progress is smaller than the predetermined value than when the degree of progress is equal to or larger than the predetermined value.

According to this aspect, when the degree of progress of the recognition of the friction model is smaller than a predetermined value, the predetermined threshold value is larger than that when the degree of progress of the recognition of the friction model is equal to or larger than the predetermined value. Therefore, even when the degree of progress of the recognition of the friction model is smaller than the prescribed threshold value, since the prescribed threshold value becomes large even if the torque difference becomes large, the possibility that the false detection of the collision can be prevented from becoming high.

In the manner, for example: the detection control unit may decrease the collision detection sensitivity if a measured temperature, which is an actually measured temperature of the robot, is low.

According to this manner, the collision detection sensitivity is reduced if the measurement temperature is low. Therefore, when the temperature of the robot is low, the possibility of false detection of a collision can be prevented from increasing.

The embodiments of the present invention have been illustrated and described in detail, but the embodiments are only illustrative and examples and are not limited thereto. The scope of the invention should be construed by the expressions in the claims.

The entire disclosure of japanese invention patent application No. 2018-146103 filed on 8/2/2018 is incorporated in the present invention by reference to its entirety.

Industrial applicability

The robot control device, the robot control method, and the robot control program according to the present invention can be used for a device for controlling an industrial robot.

43页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:预制土墙体的成型系统及用此的土墙体筑造方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!