Control device for robot that performs work by pressing tool against workpiece
09895806 ยท 2018-02-20
Assignee
Inventors
Cpc classification
B25J9/1679
PERFORMING OPERATIONS; TRANSPORTING
Y10S901/28
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B25J9/1641
PERFORMING OPERATIONS; TRANSPORTING
G05B19/404
PHYSICS
G05B2219/41078
PHYSICS
Y10S901/41
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05B2219/41085
PHYSICS
International classification
Abstract
A robot control device includes a correction amount calculation unit that calculates a correction amount for collecting a deviation of a tip position of a tool attached to a tip of a robot due to an external force applied to the tool and a correction profile generation unit that generates a correction profile indicating a relationship between the correction amount calculated by the correction amount calculation unit and time.
Claims
1. A robot control device for controlling a robot to perform work by pressing a tool attached to a tip of the robot against a workpiece, the robot control device comprising a processor configured to: calculate a correction amount for correcting a deviation of a tip position of the tool due to an external force applied to the tool, and generate a correction profile indicating a relationship between the calculated correction amount calculated by the correction amount calculation unit and time, wherein the correction amount is calculated so that the external force applied to the tool becomes smaller than a maximum static friction force between the workpiece and the tool, wherein the correction amount is added to an operation command of the robot on the basis of the correction profile generated in advance, and wherein an operation of the robot is controlled based on the operation command.
2. The robot control device according to claim 1, wherein as the tool starts to be pressed against the workpiece and the external force applied to the tool increases, the processor is configured to generate the correction profile so as to increase the correction amount.
3. The robot control device according to claim 1, wherein as the tool starts to be separated from the workpiece and the external force applied to the tool decreases, the processor is configured to generate the correction profile so as to decrease the correction amount.
4. The robot control device according to claim 1, wherein the processor is further configured to determine, on the basis of a current value of a motor provided on the robot or the tool, whether the motor has been inverted, and when the processor determines that the motor has been inverted, calculate a backlash correction amount for correcting a deviation of the tip position of the tool due to backlash, and add the calculated backlash correction amount to the calculated correction amount.
5. The robot control device according to claim 1, further comprising: a storage that stores a relationship between (i) a current value of a motor provided on the robot or the tool and (ii) the external force applied to the tool, wherein the processor is further configured to calculate the external force on the basis of the relationship stored in the storage and the current value of the motor.
6. A robot control device for controlling a robot to perform work by pressing a tool attached to a tip of the robot against a workpiece, the robot control device comprising: a storage that stores a relationship between (i) a current value of a motor provided on the robot or the tool and (ii) an external force applied to the tool; a processor configured to calculate the external force on the basis of the relationship stored in the storage and the current value of the motor, calculate a correction amount for correcting a deviation of a tip position of the tool due to the external force applied to the tool, and generate a correction profile indicating a relationship between the correction amount and time; and a time-series storage that stores the current value of the motor in time series from (a) starting to press the tool against the workpiece to (b) completely separating the tool from the workpiece, wherein the processor is further configured to calculate the external force on the basis of the relationship stored in the storage and the current value of the motor stored in the time-series storage, wherein the correction amount is added to an operation command of the robot on the basis of the correction profile generated in advance, and wherein an operation of the robot is controlled based on the operation command.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. In the following drawings, the same members will be denoted by the same reference signs. For easier understanding of the invention, the drawings are depicted in different scales as appropriate.
(10)
(11) A workpiece W depicted in
(12) In addition, in
(13) In the mechanical joining (FDS) of the first metal member W1 and the second metal member W2, a device (not depicted in the drawing) for bringing the tool T close to the workpiece W or separate the tool T therefrom or the robot R moves the tool T to the workpiece W while rotating the tool T by the motor M. When the tool T reaches the workpiece W, a counter-force from the workpiece W is applied to the tool T in a direction opposite to a moving direction of the tool T. In
(14) Due to this, a tip position of the tool T slides on the workpiece W and a processing position on the workpiece W can move to a position indicated by a broken line, as depicted in
(15) Referring back to
(16) Furthermore, the robot control device 10 includes an inversion determination unit 13 that determines whether the motor has been inverted on the basis of a current value of a motor of each shaft of the robot R and a backlash correction amount calculation unit 14 that, when the inversion determination unit 13 determines that the motor has been inverted, calculates a backlash correction amount for correcting a deviation of the tip position of the tool due to backlash of an inverted shaft to add to the above-mentioned correction amount. Instead of determining the inversion of the motor of each shaft of the robot R, the inversion determination unit 13 may determine inversion of the motor M provided on the tool T or a motor (not depicted in the drawing) for bringing the tool T close to the workpiece W and separate it therefrom.
(17) Furthermore, the robot control device 10 includes a storage unit 15 that stores a relationship between the current value of the motor of each shaft of the robot R and the external force applied to the tool T in a form of a map or table and an external force calculation unit 16 that calculates an external force on the basis of the relationship stored in the storage unit 15 and the current value of the motor. The storage unit 15 may store a relationship between current value of the motor M provided on the tool T or the motor (not depicted in the drawing) for bringing the tool T close to the workpiece W and separate it therefrom and the external force.
(18) Additionally, the robot control device 10 includes a time-series storage unit 17 that stores the current value of the motor M in time series from starting to press the tool T against the workpiece W to completely separate the tool from the workpiece. The time-series storage unit 17 may store the current value of the motor of each shaft of the robot R or the current value of the motor (not depicted in the drawing) for bringing the tool T close to the workpiece W and separate it therefrom, as described above.
(19)
(20) Then, at a time point T3, the tool T reaches the workpiece W and starts to be pressed against the workpiece W, whereby a mechanical joining process starts. Accordingly, as depicted in
(21) At a time point T5 at which a predetermined time has passed from the time point T4, the robot control device 10 outputs a pressure reduction starting signal. Thereby, at a time point T6, the tool T starts to be separated from the workpiece W, thus causing the pressurization force to decrease. As can be seen in
(22) In order to cope with such a situation, in the present embodiment, the correction amount calculation unit 11 calculates a correction amount for correcting a deviation of the tip position of the tool due to an external force applied to the tool T. Then, the correction profile generation unit 12 generates a correction profile on the basis of a correction amount per predetermined control cycle.
(23)
(24) Hereinafter, a description will be given a method for calculating a correction amount.
(25) The correction amount calculation unit 11 calculates a correction amount (x, y, z) in the tip position of the tool T from the following formula (1) on the basis of the spring constants depicted in
(x,y,z)=f(,FORCE,Ks)(1)
(26) In the formula (1), represents a present position of the robot R; FORCE represents a previously designated external force; and Ks represents spring constants depicted in
(27) The correction amount calculation unit 11 calculates a torque applied to each of the shafts J1 to J6 before and after pressurization from the previously designated external force and the present position of the robot and multiplies the torque by the above-mentioned spring constants. As a result, a correction amount around each of the shafts J1 to J6 is calculated. Then, the correction amount calculation unit 11 calculates a difference between a position when forward conversion is performed in consideration of the correction amount around the each shaft and a position when forward conversion is performed without the consideration of the correction amount therearound, as a correction amount (x, y, z) in the tip position of the tool T due to an external force on the world coordinate system.
(28) An amount of an actual deviation in the tip position of the tool T is influenced by friction between the surface of the workpiece W and the surface of the tool T contacted therewith, but is substantially proportional to the torque applied to each of the shafts J1 to J6 before and after pressurization. However, elements dependent on friction due to rotation of the tool T and nonlinear characteristics of the robot R are not proportional to pressurization force. As for such elements not proportional to pressurization force, it is sufficient to cope with them by adding a variable adjustable per processing position to the formula (1).
(29) When feedback control by a secondary encoder is used in controlling the robot R, influences of backlash of the speed reducer of the robot R and a nonlinear component of a lost-motion region can be eliminated. However, the feedback control by the secondary encoder cannot correct twisting of parts other than a region around the speed reducer (a region around the axis Z in
(30) When the correction profile generation unit 12 generates a correction profile on the basis of the correction amount per predetermined control cycle calculated by the correction amount calculation unit 11, the following items (a) to (d) are set:
(31) (a) a delay time from the output of a pressurization starting signal at the time point T2 to the start of pressurization at the time point T3 (a pressurization delay time)
(32) (b) a time constant from the start of pressurization at the time point T3 to reaching a target pressurization force at the time point T4 (a pressurization time constant)
(33) (c) a delay time from the output of a pressure reduction starting signal at the time point T5 to the start of pressure reduction at the time point T6 (a pressure reduction delay time)
(34) (d) a time constant from the start of pressure reduction at the time point T6 to the completion of pressure reduction at the time point T7 (a pressure reduction time constant)
(35) The correction profile generation unit 12 generates, in advance, a correction profile from the correction amount per predetermined control cycle, and, from the time point T2 to the time point T7 in
(36) As described hereinabove, in the present embodiment, a correction amount is input to the operation command of the robot on the basis of the previously generated correction profile. Thereby, the robot can be controlled so that the tip position of the tool T does not deviate. Accordingly, positional deviation of the tool tip can be easily corrected.
(37) Thus, the present embodiment does not cause the deviation of the processing position on the workpiece W, as indicated by the broken line in
(38) At the time point T4 in
(39) Meanwhile, when performing pressurization operation by driving the robot R, it can sometimes occur that the current value of the motor before pressurization, for example, at the time point T2, is minus and the current value of the motor after the pressurization, for example, at the time point T4, changes to plus. In such a case, due to inversion of the motor, there is an influence of backlash, thereby causing a situation where there is a shortage of correction amount.
(40) Accordingly, preferably, the inversion determination unit 13 determines whether the sign of the current value of the motor changes before and after pressurization operation. Then, when the sign changes, a backlash correction amount calculated by the backlash correction amount calculation unit 14 is additionally added to the correction amount calculated by the correction amount unit 11.
(41)
(42) The backlash correction amount calculated by the backlash correction amount calculation unit 14 may be simultaneously identified in calibration of the spring constants for the spring model depicted in
(43)
(44) The relationship between such an external force applied to the tool and current value of the motor is previously stored in the form of a map or table in the storage unit 15. Then, in order to determine some variables of the correction profile, the robot R is driven to perform pressurization operation in a state without correction. In this case, the external force calculation unit 16 acquires a current value of each motor of the shafts J1 to J6.
(45) Then, the external force calculation unit 16 refers to the map or table stored in the storage unit 15 to calculate an external force corresponding to the acquired current value of the each motor. In this case, it is preferable to adopt a current value having a maximum amount of change before and after the pressurization operation. After that, the correction amount calculation unit 11 may calculate a correction amount using the calculated external force, and the correction profile generation unit 12 may generate a correction profile using the calculated correction amount. In such a case, the external force used by the correction amount calculation unit 11 can be automatically set using the relationship between external force and current value of the motor stored in the storage unit 15.
(46) In performing the pressurization operation by driving the robot R, the current value of the motor from starting to press the tool T against the workpiece W to completely separate the tool T from the workpiece W may be stored in time series in the time-series storage unit 17.
(47) When the stored current value of the motor includes a delay due to feedback, a pressurization delay time, a pressure reduction delay time, and the like are set in consideration of the delay. Instead of the current value of the motor, a deviation amount of the motor may be stored.
(48) As depicted in
Advantageous Effects of Invention
(49) In the first aspect of the present invention, a correction amount is input to an operation command of the robot on the basis of a previously generated correction profile. Thus, positional deviation of the tool tip can be easily corrected without using any specific component.
(50) In the second aspect of the invention, a correction amount at a time when starting to press the tool against the workpiece can be accurately obtained.
(51) In the third aspect of the invention, a correction amount at a time when starting to separate the tool from the workpiece can be accurately obtained.
(52) In the fourth aspect of the invention, a shortage of correction amount can be compensated for by adding a backlash correction amount, thereby allowing the tip position of the tool to be corrected more accurately. The motor provided on the robot or the tool may be any one of the motor of each shaft of the robot, the motor for rotating the tool, or the motor for bringing the tool close to the workpiece or separate it therefrom.
(53) In the fifth aspect of the invention, an external force used by the correction amount calculation unit can be automatically set using the relationship between external force and current value stored in the storage unit. The storage unit preferably stores a map or table of the relationship between external force and current value of the motor.
(54) In the sixth aspect of the invention, the use of the current value of the motor actually recorded by operating the robot allows more accurate calculation of an external force. Thus, a still more accurate correction amount can be calculated. This is particularly advantageous when the robot repeatedly performs the same work.
(55) While the present invention has been described using some typical embodiments, it should be understood by those skilled in the art that the foregoing and other various changes, omissions, and additions may be made therein and thereto without departing from the spirit and scope of the invention.