Robot control device and robot control method
The robot control device addresses the challenge of accurately adjusting the workpiece supply position by using load and attitude information to automatically correct for deviations and prevent overload, ensuring precise and reliable operation.
Patent Information
- Application Number
- JP2023193972
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-14
- Publication Date
- 2025-05-26
AI Technical Summary
Conventional methods for adjusting the workpiece supply position in robot-controlled systems are inadequate, particularly when handling heavy workpieces, as they fail to accurately detect deviations due to robot arm deflection and do not account for load variations.
A robot control device that includes a load information acquisition unit, an attitude information acquisition unit, and a control unit to automatically adjust the workpiece supply position by measuring load and attitude information, and controlling the robot's operations to maintain accurate positioning and prevent overload.
The solution enables automatic and precise adjustment of the workpiece supply position, reducing the risk of errors and damage, and ensuring consistent operation even with heavy workpieces by accounting for load and attitude variations.
Smart Images

Figure 2025080669000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot control device and a robot control method.
Background Art
[0002] Conventionally, there has been an operation of moving a robot such as a robot arm to attach and detach a workpiece to and from a machine tool fixture. In this operation, the workpiece supply position where the robot arm supplies the workpiece to the machine tool fixture may deviate from the original position. When the deviation of the workpiece supply position occurs, there are problems such as mistakes when the robot arm inserts the workpiece into the machine tool fixture and damage to the workpiece when the machine tool fixture closes. In addition, when the robot arm handles a heavy workpiece, the robot arm may bend and the workpiece position may drop. For this reason, there has been a demand for an automatic teaching function that automatically measures the deviation amount of the workpiece supply position and corrects the workpiece supply position.
[0003] Patent Document 1 discloses "a control device that includes a tool for holding a workpiece and a force measurement unit that measures a force acting on the tool in a state where the workpiece is held, and controls a robot arm that holds and transports the workpiece".
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] Conventionally, there has been a method of adjusting the workpiece supply position by estimating the center-of-gravity position and posture of a gripped workpiece from force sensor information attached to a robot arm. In the conventional method, although the center-of-gravity position of the workpiece was obtained, an error in the height direction might occur because the posture of the robot arm that actually moves the workpiece differed from the assumed posture. For example, when the robot arm handles a heavy workpiece, the position of the hand changes due to the deflection of the robot arm, and thus the conventional method could not detect the amount of deviation of the workpiece supply position.
[0006] There has also been a method of estimating the amount of deviation of the workpiece supply position based on a camera image captured by a camera attached to the hand and adjusting the workpiece supply position. However, with this method, the load applied to the robot arm could not be estimated, and if an overload was applied to the robot arm, the operation of the robot arm might stop.
[0007] The present invention has been made in view of such circumstances, and an object thereof is to enable a robot to automatically adjust the workpiece supply position at which the workpiece is supplied to a processing machine.
Means for Solving the Problems
[0008] The present invention is a robot control device that controls a robot that attaches and detaches a workpiece to and from a workpiece holding part of a workpiece processing machine. This robot control device includes a load information acquisition unit that acquires load information representing the load applied to the robot that holds the workpiece, an attitude information acquisition unit that acquires attitude information representing the attitude of the robot, and a control unit that controls the operations of the robot and the processing machine. The control unit performs a first operation of causing the robot to hold the workpiece, acquiring the load information from the load information acquisition unit, and moving the workpiece held by the robot to the workpiece supply position of the workpiece holding part, a second operation of causing the workpiece holding part and the robot to hold the workpiece, applying a load of the workpiece to the workpiece holding part, and acquiring, as the removal attitude information, the attitude information of the robot in a state where the load applied to the robot is eliminated, a third operation of causing the workpiece holding part and the robot to hold the workpiece and controlling the attitude of the robot so that the load information acquired from the load information acquisition unit is equal to the load information acquired in the first operation, and a fourth operation of moving the robot without causing the workpiece holding part to hold the workpiece and acquiring, from the load information acquisition unit, the load information equal to the load information acquired from the load information acquisition unit in a state where the workpiece holding part holds the workpiece and applies a load of the workpiece to the workpiece holding part, and then acquiring, from the attitude information acquisition unit, the attitude information of the robot as the attachment attitude information, thereby controlling the operations of the robot and the processing machine.
Effect of the Invention
[0009] According to the present invention, the workpiece supply position where the robot supplies the workpiece to the processing machine can be automatically adjusted. Problems, configurations, and effects other than those described above will be clarified by the description of the following embodiments.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Embodiments for Carrying Out the Invention
[0011] Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings. In this specification and the drawings, components having substantially the same function or configuration are denoted by the same reference numerals, and redundant descriptions are omitted.
[0012] <Examples of Malfunctions due to Conventional Robot Control> First, examples of conventional malfunctions that occur in the operation of a robot supplying a workpiece to a machine tool holder will be specifically described with reference to FIGS. 1 and 2.
[0013] FIG. 1 is a diagram showing an example of a problem that occurs when a robot arm 1 supplies a workpiece 4 to a machine tool holder 5 by conventional robot control. FIG. 1 shows a state in which a robot arm 1 including a robot arm 1 and a hand 2 inserts a workpiece 4 between the claw portions 6 of the machine tool holder 5. The robot arm 1 is composed of a plurality of links and joints that move the links in a predetermined direction. The workpiece 4 is a heavy object. When the robot arm 1 closes the hand 2 to hold the workpiece 4, due to the weight of the workpiece 4, the hand 2 sinks below its original position.
[0014] In the explanatory diagram (1) of FIG. 1, when the hand 2 of the robot arm 1 grips the workpiece 4, the robot arm 1 is shown to be deflected due to the weight of the workpiece 4. When the robot arm 1 deflects, a positional deviation d1 occurs at the workpiece supply position. In the figure, the original workpiece supply position is represented by a thin broken line together with the robot arm 1, and the workpiece supply position where the positional deviation d1 has occurred is represented by a thick line together with the robot arm 1. The positional deviation d1 represents the actual workpiece supply position that is displaced downward from the original workpiece supply position.
[0015] The explanatory diagram (2) of FIG. 1 shows a first example of a problem that occurs when the robot arm 1 inserts the workpiece 4 between the claws 6 of the processing machine holder 5 with the workpiece supply position shifted. In this example, since the actual workpiece supply position is shifted with respect to the original workpiece supply position, when the workpiece 4 is inserted into the processing machine holder 5, a state d2 where the workpiece 4 collides with the claws 6 of the processing machine holder 5 is shown. For this reason, at least one of the workpiece 4, the processing machine holder 5, the hand 2, and the robot arm 1 may be damaged.
[0016] The explanatory diagram (3) of FIG. 1 shows a second example of a problem that occurs when the processing machine holder 5 closes to hold the workpiece 4 with the workpiece supply position shifted. In this example, while the actual workpiece supply position remains shifted, when the claws 6 of the processing machine holder 5 hold the workpiece 4, the workpiece 4 is lifted, so an excessive load d3 is applied to the joints of the robot arm 1 that holds the workpiece 4. When such an excessive load d3 is applied to the joints, the robot arm 1 stops due to overloading.
[0017] The explanatory diagram (4) of FIG. 1 shows a third example of a problem where the workpiece 4 is rubbed against the claws 6 of the processing machine holder 5. In this example, while the workpiece supply position remains shifted, when the workpiece 4 is inserted between the claws 6 of the processing machine holder 5, a part of the workpiece 4 is rubbed by the claws 6 (defective part d4 in the figure). When the workpiece 4 is rubbed by the claws 6, the workpiece 4 is damaged.
[0018] FIG. 2 is a diagram showing how the workpiece supply position of the hand 2 holding the workpiece 4 changes by conventional robot control. The explanatory diagram (1) of FIG. 2 shows the operation state of the robot arm 1 with the hand 2 holding the workpiece 4. The explanatory diagram (2) of FIG. 2 shows an example of the workpiece supply position p0 calculated assuming that the robot arm 1 is not bent by a conventional calculation method.
[0019] When the hand 2 grips the workpiece 4, the robot arm 1 deflects due to the weight of the workpiece 4. Therefore, the actual workpiece supply position p1 deviates from the original workpiece supply position p0. The amount of deviation between the actual workpiece supply position p1 and the original workpiece supply position p0 becomes an error.
[0020] The error between the original workpiece supply position p0 and the actual workpiece supply position p1 is a cause of various problems shown in FIG. 1. Therefore, it is necessary to control the operation of the robot arm 1 so as to eliminate the error. Hereinafter, a configuration example and an operation example of the robot control device 14 according to the first embodiment for controlling the robot arm 1 will be described in order.
[0021] [One Embodiment] FIG. 3 is a block diagram showing an overall configuration example of a robot control system 100 according to one embodiment. The robot control system 100 includes a processing machine holder 5, a robot arm 1, a work instruction device 12, and a robot control device 14.
[0022] The processing machine holder 5 is an example of a processing machine holding unit that the processing machine 10 shown in FIG. 4 described later has and holds the workpiece 4. The processing machine holder 5 has a plurality of claw portions 6. The processing machine holder 5 moves the claw portions 6 at a predetermined timing under the control of the robot control device 14 to hold the workpiece 4 inserted between the claw portions 6. The workpiece 4 shown in FIG. 3 is a cylindrical object, but the shape is not limited.
[0023] The robot arm 1 is an example of a workpiece supply device that supplies the workpiece 4 to the processing machine holder 5. The robot arm 1 includes a robot arm 1, a hand 2, and a force sensor 3.
[0024] The robot arm 1 is composed of a plurality of joints and a plurality of links, and moves the hand 2 to an arbitrary position and angle. The robot arm 1 is assumed to be composed of six joints (six axes). The operation of the robot arm 1 is controlled by the robot control device 14.
[0025] The hand 2 is an example of a holding part that holds the workpiece 4 by narrowing the tip of the claw part 6. Narrowing the tip of the claw part 6 by the hand 2 is referred to as "the hand 2 closes". Conversely, the hand 2 widens the tip of the claw part 6 and releases the workpiece 4. Widening the tip of the claw part 6 by the hand 2 is referred to as "the hand 2 opens".
[0026] The robot arm 1 may be configured to hold the workpiece 4 by means other than gripping. For example, an electromagnet that holds the workpiece 4 attracted by magnetic force, a suction part that holds the workpiece 4 attracted by reduced pressure, or a catching part that holds the workpiece 4 hooked by a claw-shaped claw may be attached to the robot arm 1. The operation of the hand 2 is controlled by the robot control device 14 through a lead wire (not shown) provided in the robot arm 1.
[0027] The force sensor 3 detects the magnitude and angle of various forces applied to the hand 2. For this reason, one force sensor 3 is attached to the wrist part of the robot arm 1. One force sensor 3 can acquire data of a total of six dimensions of translational forces Fx, Fy, Fz and rotational forces (torques) Mx, My, Mz. Information on the magnitude and angle of various forces detected by the force sensor 3 is sent to the robot control device 14 as a force sensor value.
[0028] The work instruction device 12 instructs the robot control device 14 about the path along which the robot arm 1 moves and the operation of the hand 2 gripping the workpiece 4.
[0029] The robot control device 14 controls the robot arm 1 that attaches and detaches the workpiece 4 to and from the workholder 5 of the processing machine 10 of the workpiece 4. This robot control device 14 controls the operation of the robot arm 1 so that the robot arm 1 moves on a preset path. Further, the robot control device 14 feeds back the force sensor value acquired from the force sensor 3 and adjusts the position and angle of the robot arm 1 and the gripping force of the hand 2.
[0030] FIG. 4 is a diagram showing various coordinate systems used in the robot control system 100.
[0031] In the robot control system 100, a unique coordinate system is set for each of the robot arm 1, the processing machine 10, and the processing machine holder 5. For example, a coordinate system that defines the entire space where the robot control system 100 is arranged is defined as the world coordinate system in the lower right of FIG. 4. The processing machine holder 5 has a holder coordinate system centered on the position where the workpiece 4 is inserted. The processing machine 10 including the processing machine holder 5 (for example, a cutting part not shown in the figure and the pedestal of the processing machine holder 5) has a processing machine coordinate system defined.
[0032] A robot coordinate system is defined for the pedestal part of the robot arm 1. A link coordinate system is defined for the link part of the robot arm 1. A hand coordinate system is defined for the hand 2. A force sensor coordinate system is defined for the force sensor 3. In the upper right of FIG. 4, the directions of pitch, roll, and yaw, which are the inclinations of the robot arm 1, are shown. Hereinafter, the direction of the force and the insertion direction of the workpiece 4, etc. will be described using the coordinate system according to the part of interest.
[0033] In the following description, before the claw part 6 of the processing machine holder 5 grips the workpiece 4, the state where the claw part 6 is spread is called "opening of the processing machine holder 5". The processing machine holder 5 takes a posture of receiving the workpiece 4 in the released state. The robot control device 14 sets a robot position command value such that the robot arm 1 does not lower when the processing machine holder 5 is opened.
[0034] Therefore, the robot control device 14 controls the operation of the robot arm 1 so that the same robot load (also called the opening load) as when the processing machine holder 5 is opened is obtained when the processing machine holder 5 holds the workpiece 4. In the robot control by the robot control device 14, the reverse kinematics is used to obtain the direction in which the difference from the opening load is reduced, and the force sensor value is acquired after slightly moving the robot arm 1 in that direction. The robot control device 14 repeats this operation until the difference from the opening load becomes equal to or less than the threshold value. The outline of the control of the robot arm 1 by the robot control device 14 will be described with reference to FIG. 5.
[0035] FIG. 5 is a diagram showing an example of the operations of the robot arm 1 whose operation is controlled by the robot control system 100 and the work holding tool 5. In FIG. 5, the operations of the work holding tool 5 will be described in the order of the first to fourth operations. In the following description, reference numerals such as the hand 2 and the force sensor 3 are omitted from the figures.
[0036] (First Operation) Explanatory diagram (1) of FIG. 5 shows an example of the operations of the robot arm 1 and the work holding tool 5 in the first operation. In the first operation, the control unit 318 (see FIG. 6) causes the robot arm 1 to hold the workpiece 4, moves the workpiece 4 held by the robot arm 1 to the vicinity of the workpiece supply position of the work holding tool 5, and then acquires load information from the force sensor value acquisition unit 313 (see FIG. 6). Thereafter, the control unit 318 moves the workpiece 4 held by the robot arm 1 to the workpiece supply position of the work holding tool 5. In the first operation, the hand 2 of the robot arm 1 is in a state of lifting the workpiece 4, and the force sensor 3 acquires a force sensor value in a state where the robot arm 1 is deflected. For example, (Fx, Fy, M) is detected as a force sensor value by the force sensor 3. (Fx, Fy, M) is referred to as first force sensor information. The force sensor value is a value in the force sensor coordinate system shown in FIG. 4. Also, m1 is detected as the rotational force M of the hand 2 by the force sensor 3. Here, Fx of the force sensor value is equal to fx1 in the hand coordinate system. Also, Fz of the force sensor value is equal to fz1 in the hand coordinate system. fx1 and fz1 indicate that the weight of the workpiece 4 acts on the hand 2.
[0037] (Second Operation) The explanatory diagram (2) of FIG. 5 shows an operation example of the robot arm 1 and the machining tool holder 5 in the second operation after the machining tool holder 5 holds the workpiece 4. In the second operation, the control unit 318 causes the machining tool holder 5 and the robot arm 1 to hold the workpiece 4, and applies a load to the workpiece 4 on the machining tool holder 5. At this time, the control unit 318 controls the robot arm 1 using the load information acquired from the force sensor value acquisition unit 313 so as to eliminate the load applied to the robot arm 1, and acquires the posture information of the robot arm 1 at that time as the removal posture information 322 from the robot posture information acquisition unit 312.
[0038] For example, in the second operation, in the operation of gripping the workpiece 4 while executing the operation of closing the claw portion 6 of the machining tool holder 5, the force applied to the hand 2 is acquired as load information (referred to as second force sensor information) acquired from the force sensor value acquisition unit 313, and the workpiece 4 is gripped while correcting the robot arm 1 in real time so that the force applied to the hand 2 becomes zero. At that time, the robot second position and posture information is acquired. In the second operation, since the machining tool holder 5 holds the workpiece 4, the force applied to the robot arm 1 is zero. Therefore, both the force sensor values Fx and Fy are zero. Also, since the hand 2 does not rotate, the rotational force M is also zero. The second position and posture information representing the position and posture of the robot arm 1 includes, as an example of the robot coordinates, the joint angles (θ1, θ2, θ3, θ4, θ5, θ6) of the arm or the tip coordinates (x, y, z, r, p, y) of the arm. The joint angles of the arm are the angles of the respective joints of the robot arm 1. The tip coordinates of the arm are obtained, for example, with the position of the force sensor 3 attached to the robot arm 1 as the origin of the hand coordinate system shown in FIG. 4.
[0039] (Third operation) The explanatory diagram (3) of FIG. 5 shows the state where the hand 2 grips the workpiece 4 and the robot arm 1 is finely moved so that the same sensor information as the force sensor information 1 obtained in the first operation can be obtained from the force sensor 3. In the third operation, the control unit 318 causes the machining tool holder 5 and the robot arm 1 to hold the workpiece 4, and controls the posture of the robot arm 1 so that the load information acquired from the force sensor value acquisition unit 313 is equal to the load information acquired in the first operation. For example, in the third operation, a force is applied to the robot arm 1 so that a force of fx1 is detected for Fx which is the force sensor value, a force of fz1 is detected for Fz, and a force of m1 is detected for the rotational force M. At the end of the third operation, a load is applied to the hand 2 and no load is applied to the machining tool holder 5 for the workpiece 4.
[0040] (Fourth operation) The explanatory diagram (4) of FIG. 5 shows the state of the fourth operation in which the fourth position and posture information representing the position and posture of the robot arm 1 is acquired with the claw portion 6 of the machining tool holder 5 opened. In the fourth operation, the control unit 318 executes an operation of spreading the claw portion 6 of the machining tool holder 5, and when the load information acquired from the force sensor value acquisition unit 313 (referred to as the third force sensor information) in the state of not holding the workpiece 4 is equal to the load information acquired from the force sensor value acquisition unit 313 (referred to as the fourth force sensor information) in the state where the claw portion 6 of the machining tool holder 5 is closed, the posture information of the robot arm 1 is acquired from the robot posture information acquisition unit 312 as the mounting posture information 321. When the third force sensor information and the fourth force sensor information are not equal, the third force sensor information is changed to the value of the fourth force sensor information, and the process returns to the third operation. Thereafter, the third operation and the fourth operation are repeatedly executed until the third force sensor information and the fourth force sensor information become equal.
[0041] For example, even if the claw portion 6 narrows, if the hand 2 is in a state where the load of the workpiece 4 is applied, the processing machine holder 5 should not be subjected to the load of the workpiece 4. On the other hand, when the claw portion 6 of the processing machine holder 5 is opened, third force sensor information is acquired from the force sensor 3 as the force sensor value when the load of the workpiece 4 is applied to the hand 2 and the hand 2 sinks. The third force sensor information is stored in the hand gripping force sensor information 323 of the storage unit 32 (see FIG. 6). When the third force sensor information becomes the same as the force sensor information (fourth force sensor information) acquired in the state where the claw portion 6 is closed, the posture information of the robot arm 1 at that time is stored in the storage unit 32 as the mounting posture information 321. The mounting posture information 321 also stores the robot movement coordinates generated by the robot movement coordinate generation unit 314 when the robot arm 1 attaches the workpiece 4 to the processing machine holder 5.
[0042] <Internal Configuration Example of Control Device> FIG. 6 is a block diagram showing an internal configuration example of the robot control device 14. The robot control device 14 includes an arithmetic unit 31, a storage unit 32, an input unit 34, a display unit 35, and a communication unit 36 that are communicably connected to each other via an internal bus.
[0043] The arithmetic unit 31 performs various numerical operations used for controlling the robot arm 1. The arithmetic unit 31 includes a force feedback correction unit 311, a robot posture information acquisition unit 312, a force sensor value acquisition unit 313, a robot movement coordinate generation unit 314, a mounting posture information update unit 315, an abnormality determination unit 316, a processing machine holder operation instruction unit 317, and a control unit 318.
[0044] The force feedback correction unit 311 outputs correction information for correcting the posture of the robot arm 1 to the control unit 318 so that the load applied to the robot arm 1 for holding the workpiece 4 is smaller than a preset threshold value in a state where a load of the workpiece 4 is applied to the processing machine holder 5. For example, the force feedback correction unit 311 causes the hand 2 to grip the workpiece 4 held by the processing machine holder 5 while real-time correcting the robot arm 1 so that the force applied to the hand 2 becomes zero. The control unit 318 corrects the posture of the robot arm 1 based on the correction information input from the force feedback correction unit 311.
[0045] The robot posture information acquisition unit 312 acquires posture information representing the posture of the robot arm 1. For example, the robot posture information acquisition unit 312 acquires the position and trajectory of each part of the robot arm 1, the position of the joint, etc. as posture information as a robot representing the posture of the robot arm 1.
[0046] The force sensor value acquisition unit 313 acquires a force sensor value, which is an example of load information representing the load applied to the robot arm 1 holding the workpiece 4, from the force sensor 3. As shown in FIGS. 13 and 14 described later, the force sensor value is acquired as any one of the first force sensor information to the fourth force sensor information. The force sensor value acquisition unit 313 outputs a signal substantially proportional to the external force applied to the robot arm 1 holding the workpiece 4 to the control unit 318.
[0047] The robot movement coordinate generation unit 314 generates robot movement coordinates representing the movement destination of the robot arm 1 based on the posture of the robot arm 1 corrected by the force feedback correction unit 311. The robot movement coordinates are information for determining how the robot arm 1 moves when the hand 2 moves while gripping the workpiece 4. Further, the robot movement coordinates are also used, for example, in the third operation, for the control unit 318 to finely move the robot arm 1 so that the force sensor information acquired by the force sensor value acquisition unit 313 in a state where both the processing machine holder 5 and the hand 2 hold the workpiece 4 becomes the same as the force sensor information acquired in the first operation.
[0048] The mounting posture information update unit 315 updates the mounting posture information 321 stored in the storage unit 32 with the mounting posture information 321 acquired by the control unit 318. For example, in a state where the machining tool holder 5 is released, the mounting posture information update unit 315 acquires the fourth position and posture information representing the position and posture of the robot arm 1, and stores this fourth position and posture information in the mounting posture information 321.
[0049] The abnormality determination unit 316 determines an abnormality of the robot arm 1 based on the tendency of the mounting posture information read from the storage unit 32. The mounting posture information stored in the storage unit 32 is acquired by the robot posture information acquisition unit 312 when the first operation, the second operation, the third operation, and the fourth operation are performed in order at regular intervals. For example, the abnormality determination unit 316 determines that there is an abnormality when the load or the like applied to the robot arm 1 is higher than the allowable value, and determines that it is normal when the load or the like is equal to or less than the allowable value. Examples of the detailed determination process of the abnormality determination unit 316 will be described with reference to FIGS. 15 and 16 described later.
[0050] The machining tool holder operation instruction unit 317 instructs an operation on the machining tool holder 5. The operation of the machining tool holder 5 includes, for example, an operation of holding the workpiece 4 by narrowing the claw portion 6 when the workpiece 4 is inserted into the claw portion 6 of the machining tool holder 5, and an operation of opening the claw portion 6 of the machining tool holder 5 after machining the workpiece 4 to enable the hand 2 to take out the workpiece 4.
[0051] The control unit 318 controls the operations of the robot arm 1, the machining tool holder 5, and the machine tool 10 using the results calculated by each unit in the calculation unit 31. For example, the control unit 318 controls the robot arm 1, the machining tool holder 5, and the machine tool 10 by the first to fourth operations shown in FIG. 5. Further, after moving the robot arm 1 to the robot movement coordinates, the control unit 318 acquires load information from the force sensor value acquisition unit 313. Further, the control unit 318 moves the robot arm 1 based on the robot movement coordinates read from the storage unit 32, acquires the posture information from the robot posture information acquisition unit 312, and controls the posture of the robot arm 1 holding the workpiece 4 based on the mounting posture information 321 read from the storage unit 32.
[0052] The storage unit 32 stores attachment posture information 321, removal posture information 322, force sense sensor information 323 during hand gripping, threshold value information 325, workpiece information 326, environment information 327, and robot information 328. The force sense sensor information 323 during hand gripping is the force sense sensor value (an example of load information) acquired by the force sense sensor value acquisition unit 313 in the first to fourth operations described above. Also, the robot movement coordinates generated by the robot movement coordinate generation unit 314 are stored in the storage unit 32.
[0053] The attachment posture information 321 is information representing the attachment posture of the robot arm 1 when the robot arm 1 attaches the workpiece 4 between the claw portions 6 of the machine tool holder 5. When attaching the workpiece 4 to the machine tool holder 5, since a load of the workpiece 4 is applied to the robot arm 1, if the posture of the robot arm 1 is not corrected, it will drop from the original workpiece supply position. Therefore, the attachment posture information 321 stored in the storage unit 32 represents the posture of the robot arm 1 that can attach the workpiece 4 to the original workpiece supply position even when a load of the workpiece 4 is applied to the robot arm 1 in the fourth operation described above. That is, the fourth position and posture information is stored in the attachment posture information 321.
[0054] The removal posture information 322 is information representing the removal posture of the robot arm 1 when the robot arm 1 removes the workpiece 4 from the claw portion 6 of the machine tool holder 5. Until immediately before the robot arm 1 removes the workpiece 4 from the machine tool holder 5, no load of the workpiece 4 is applied to the robot arm 1. Therefore, the second position and posture information acquired in the second operation described above is stored in the removal posture information 322.
[0055] The force sense sensor information 323 during hand gripping is acquired as the force sense sensor information when the workpiece 4 is gripped only by the hand 2.
[0056] The threshold information 325 stores thresholds such as force sensor information and mounting positions. For example, the end threshold (Mf) for force feedback correction stores a set value of 1 [N] (see Fig. 9). The maximum values (Fx_max, Fy_max, Fz_max, Mr_max, Mp_max, My_max) of the force sensor 3 store set values of (300, 300, 100, 30, 30, 30). The allowable error (α) from the set value of the force sensor 3 stores a set value of 20 [%]. The allowable error for the work supply position (second and fourth position and orientation information) stores set values of 10 mm for position and 5 degrees for angle. The allowable error for the variation in the mounting orientation (second and fourth position and orientation information) stores set values of 5 mm for position and 3 degrees for angle.
[0057] The work information 326 stores information representing the shape of the work 4, etc. For example, the dimensions (x, y, z) [mm] of the work 4 store (30, 30, 300) (see Fig. 10). The weight [kg] of the work 4 stores 3 [kg]. The gripping points [mm] of the hand 2 store (0, 0, 50). The gripping points [mm] of the machine tool holder 5 store (0, 0, 230). The gripping points of the machine tool holder 5 are the points where the claw part 6 of the machine tool holder 5 contacts the work 4 on the gripping surface that grips the work 4.
[0058] The environment information 327 includes, for example, information on the machine tool 10 and peripheral devices (conveyors, shelves, etc. not shown). Also, the environment information 327 includes information representing the relative position relationships among the machine tool 10, peripheral devices, the machine tool holder 5, and the robot arm 1.
[0059] The robot information 328 has detailed information on each part such as the robot arm 1 and the hand 2 of the robot arm 1.
[0060] The input unit 34 receives a work instruction from the work instruction device 12. Each piece of information input to the input unit 34 is saved in the storage unit 32 or output to the arithmetic unit 31.
[0061] The display unit 35 displays the operating state of the robot arm 1. Further, the display unit 35 can also display each piece of information input to the input unit 34.
[0062] The communication unit 36 receives force sensor information from the force sensor 3 and operating information such as that of the robot arm 1 from the robot arm 1 via a communication line or the like. Also, the work instruction input to the input unit 34 is interpreted by the arithmetic unit 31 and output to the communication unit 36 as a control instruction for operating the robot arm 1. The communication unit 36 transmits the control instruction via a communication line or the like. The robot arm 1 operates according to the control instruction.
[0063] <Example of the hardware configuration of a computer> Next, the hardware configuration of the computer 50 that constitutes each device of the robot control system 100 will be described. FIG. 7 is a block diagram showing an example of the hardware configuration of the computer 50. The computer 50 is an example of the hardware used as a computer that can operate as the robot control device 14 according to the present embodiment. The robot control device 14 according to the present embodiment realizes the robot control method in which the functional blocks shown in FIG. 6 cooperate by the computer 50 (computer) executing a program.
[0064] The computer 50 includes a CPU (Central Processing Unit) 51, a ROM (Read Only Memory) 52, and a RAM (Random Access Memory) 53, which are respectively connected to a bus 54. Further, the computer 50 includes a non-volatile storage 55 and a network interface 56.
[0065] The CPU 51 reads the program code of the software that realizes each function according to the present embodiment from the ROM 52, loads it into the RAM 53, and executes it. In the RAM 53, variables, parameters, etc. that occur during the arithmetic processing of the CPU 51 are temporarily written, and these variables, parameters, etc. are appropriately read by the CPU 51. However, an MPU (Micro Processing Unit) may be used instead of the CPU 51.
[0066] As the non-volatile storage 55, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), a flexible disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, or a non-volatile memory, etc. are used. In this non-volatile storage 55, in addition to the OS (Operating System) and various parameters, a program for operating the computer 50 is recorded. The ROM 52 and the non-volatile storage 55 record programs, data, etc. necessary for the operation of the CPU 51, and are used as an example of a computer-readable non-transitory storage medium storing the programs executed by the computer 50.
[0067] For the network interface 56, for example, a NIC (Network Interface Card) etc. are used, and various data can be transmitted and received between devices via a LAN (Local Area Network), a dedicated line, etc. connected to the terminals of the NIC.
[0068] Next, the details of each piece of information stored in the storage unit 32 will be described. FIG. 8 is a configuration diagram showing the data formats of the attachment attitude information 321, the detachment attitude information 322, and the hand gripping force sense sensor information 323.
[0069] The attachment posture information 321 and the removal posture information 322 are both in the same data format, but are stored separately in the storage unit 32. Here, the data format of the attachment posture information 321 will be described. "No" represents the number of processes of the workpiece 4. For example, when "No" is 1, it means that the robot arm 1 has attached and removed the workpiece 4 to / from the machining tool holder 5 for the first time, and the first control process has been performed.
[0070] The attachment posture information 321 stores the respective values of x, y, and z in the robot coordinate system and the respective values of Roll, Pitch, and Yaw obtained in each control process. The data with "No" from "1" to "3" represents normal values. Since the x and Yaw values of the data with "n" are significantly different from the x and Yaw values of the data with "No" from "1" to "3", the data with "n" represents abnormal values.
[0071] The hand gripping force sensor information 323 stores the force sensor information detected by the force sensor 3 when the hand 2 grips each workpiece 4. A, B, and C in the "Product" item represent the types of the workpiece 4. Fx, Fy, and Fz represent the force sensor information in the force sensor coordinate system. Mr, Mp, and My represent the values of the respective moments of Roll, Pitch, and Yaw in the force sensor coordinate system.
[0072] Figure 9 is a configuration diagram showing the data format of the threshold value information 325. Various types of information are assumed as the threshold value information. For example, the set value of the end threshold (Mf) for force feedback correction is 1 [N]. By setting the end threshold (Mf), when the robot arm 1 makes a fine movement in the second operation of FIG. 5, even if the second force sensor information does not exactly equal the first force sensor information in step S18 of FIG. 13 described later, if the difference value is less than the end threshold (Mf), it is determined as an allowable error, and the process of step S18 of FIG. 13 can be exited.
[0073] The set values representing the maximum values (Fx_max, Fy_max, Fz_max, Mr_max, Mp_max, My_max) of the force sensor 3 are (300, 300, 100, 30, 30, 30). The set value of the allowable error (α) from the set values of the force sensor 3 is 20 [%]. For example, from the first operation to the second operation in FIG. 5, when the force sensor value deviates significantly from the set value of the allowable error (α), it can be determined that an abnormality has occurred in the robot arm 1.
[0074] The set value of the allowable error of the work supply position indicated by the second and fourth position and orientation information is 10 mm for the position and 5 degrees for the angle. For example, when the jaw portion 6 is closed and holds the work 4, the work supply position of the work 4 in the machine tool fixture 5 slightly varies. Therefore, if the work supply position indicated by the fourth position and orientation information is within the range of the allowable error of the original work supply position, the control unit 318 can determine that the work 4 is normally attached to the machine tool fixture 5. Note that the work supply position may also be the position indicated by the second position and orientation information.
[0075] Also, the set value of the allowable error of the variation in the mounting orientation indicated by the fourth position and orientation information is 5 mm for the position and 3 degrees for the angle. The mounting orientation represents the position and orientation of the robot arm 1. Therefore, if the mounting orientation of the robot arm 1 is within the range of the allowable error of the mounting orientation at the original work supply position, the control unit 318 can determine that the robot arm 1 has attached the work 4 to the machine tool fixture 5 in the correct orientation.
[0076] FIG. 10 is a diagram showing the data format of the work information 326 and the dimensions of each part. Above FIG. 10, a configuration diagram (1) representing the data format of the work information 326 is shown. The work information 326 indicates that the dimensions (x, y, z) [mm] of the work 4 are (30, 30, 300) [mm], the weight [kg] is 3 [kg], the gripping point [mm] of the hand 2 is (0, 0, 50) [mm], and the gripping point [mm] of the jaw portion 6 of the machine tool fixture 5 is (0, 0, 230) [mm].
[0077] Below FIG. 10, a perspective view (2) showing an arrangement example of the hand 2, the work 4, and the claw portion 6 is shown. The gripping point of the hand 2 (50 mm from the right end of the work 4) where the hand 2 grips the work 4 (total length 300 mm) and the gripping point of the claw portion 6 of the machine tool holder 5 where the claw portion 6 grips the work 4 (230 mm from the right end of the work 4) are shown. Note that the work 4 is gripped when the inner gripping surface 6a of the claw portion 6 contacts the surface of the work 4. Therefore, the point where the center 6b of the gripping surface 6a contacts the surface of the work 4 becomes the gripping point of the claw portion 6.
[0078] FIG. 11 is a configuration diagram showing the data format of the environmental information 327. The environmental information 327 is composed of a major item, a middle item, a minor item 1, and a minor item 2. Specific examples of the minor item 2 are stored in the example item.
[0079] In the first major item, "environment", which is the location where the robot arm 1 is installed, is stored. In the middle item, the robot coordinate origin, the holder coordinate origin, the machine tool coordinate origin, and the information of the machine tool are stored. In the minor item 1, the positions of the robot coordinate origin, the holder coordinate origin, and the machine tool coordinate origin in the middle item, and the outer dimensions and shape of the machine tool are stored. In the minor item 2, the world coordinate system (x, y, z, r, p, y) of the positions of the robot coordinate origin, the holder coordinate origin, and the machine tool coordinate origin in the middle item, the world coordinate system (x, y, z, r, p, y) of the outer dimensions of the machine tool, and the 3D model of the shape of the machine tool are stored. As an example of the 3D model, for example, there is the STL (Standard Triangulated Language) format.
[0080] In the second major item, "machine tool holder", which represents the machine tool holder 5, is stored. In the middle item, no information is stored. In the minor item 1, the outer dimensions, shape, and gripping point information of the machine tool holder 5 are stored. In the minor item 2, the holder coordinate system in the outer dimensions of the machine tool holder 5, the 3D model of the shape, and the holder coordinate system of the gripping point are stored.
[0081] FIG. 12 is a configuration diagram showing the data format of robot information 328. The robot information 328 is composed of major items, middle items, minor item 1, and minor item 2. Specific examples of minor item 2 are stored in the example items.
[0082] In the major items, "Hand" representing the hand 2 and "Robot" representing the robot arm 1 are stored. In the middle items, the number of links of the robot arm 1, the identifiers of the links such as link 1, and the names of the identifiers of the joints such as joint J1 are stored. Note that since the hand 2 has no links or joints, the information of the middle item corresponding to "Hand" is not stored.
[0083] In minor item 1, the external dimensions, shape, and gripping point information of the hand 2 with respect to the major item "Hand" are stored. In minor item 2, the hand coordinate system (x, y, z) with respect to the external dimensions of minor item 1, the 3D model with respect to the shape, and the hand coordinate system (x, y, z) with respect to the gripping point are stored.
[0084] Similarly, in minor item 1, the link shape and shape information of the robot arm 1 with respect to the major item "Robot" and the middle item "Link 1", and the rotation axis direction, movable range, maximum angular velocity, and maximum acceleration of each joint with respect to the middle item "Joint J1" are stored. In minor item 2, the link coordinate system (x, y, z) with respect to the link shape of minor item 1 and the 3D model with respect to the shape are stored. Also, in minor item 2, the robot coordinate system (x, y, z) with respect to the rotation axis direction of minor item 1 and the angle with respect to the movable range are stored.
[0085] Note that the information of the 3D model included in the shape of minor item 1 of the environmental information 327 and the robot information 328 is mainly used when the robot control device 14 is used as a simulator, as described in the modification example described later. Therefore, in the control of the actual robot arm 1, the information of the 3D model may not be stored in minor item 2 of the environmental information 327 and the robot information 328.
[0086] <Control Process of Robot Arm> Next, a method for controlling the robot arm 1 performed by the robot control system 100 will be described with reference to the flowcharts of FIGS. 13 and 14. FIG. 13 shows the first half of the control process of the robot arm 1, and FIG. 14 shows the second half of the control process of the robot arm 1.
[0087] (First operation in FIG. 5) First, the control unit 318 of the robot control device 14 moves the robot arm 1 to the workpiece gripping position and causes the hand 2 to grip the workpiece 4 (S11). Next, the control unit 318 moves the robot arm 1 near the workpiece supply position (S12). Next, the force sensor value acquisition unit 313 acquires the first force sensor information (fx1, fz1, m1) as the force sensor value from the force sensor 3 (S13). Next, the control unit 318 moves the robot arm 1 to the workpiece supply position (S14). The first operation ends at step S14.
[0088] (Second operation in FIG. 5) When the workpiece 4 is positioned between the claws 6 of the machining tool holder 5, the control unit 318 starts the closing operation of the claws 6 (S15). The closing operation of the claws 6 is an operation in which the claws 6 close slowly. The force sensor value acquisition unit 313 acquires the second force sensor information as the force sensor value from the force sensor 3 (S16).
[0089] Next, the control unit 318 determines whether the absolute value of the second force sensor information is greater than the absolute value of the first force sensor information (S17). If the absolute value of the second force sensor information is greater than the absolute value of the first force sensor information (YES in S17), the control unit 318 finely moves the robot arm 1 so that the second force sensor information becomes the same as the first force sensor information (S18).
[0090] When it is determined that the absolute value of the second force sensor information is less than or equal to the absolute value of the first force sensor information (NO in S17), or after the robot arm 1 makes a fine movement in step S18, the control unit 318 determines whether the closing operation of the claw unit 6 has been completed (S19). If the closing operation of the claw unit 6 has not been completed (NO in S19), the control unit 318 returns to the process of step S16.
[0091] If the closing operation of the claw unit 6 has been completed (YES in S19), the control unit 318 finely moves the robot arm 1 so that Fx = 0, Fz = 0, and M = 0 (S20). Next, the control unit 318 acquires second position and orientation information representing the position of the robot arm 1 when Fx = 0, Fz = 0, and M = 0 (S21). When the second position and orientation information is acquired in step S21, the second operation shown in FIG. 5 is completed. At the time of step S21, the work supply position of the robot arm 1 is deviated from the original work supply position. The subsequent process of step S21 is connected to step S22 in FIG. 14 by the connector A.
[0092] Until Fx = fx1, Fz = fz1, and M = m1, the position of the robot arm 1 is not immediately determined. Therefore, the control unit 318 repeats the fine movement of the robot arm 1 (S22). Reasons for the position of the robot arm 1 not being determined include, for example, mechanical errors, installation errors of the robot arm 1, the machining tool holder 5, and the machining tool 10, uncertain factors such as friction between the claw unit 6 and the work 4, displacement of the gripping positions of the hand 2 and the claw unit 6, change in the sinking amount due to the posture change of the robot arm 1, and deformation of the work 4.
[0093] In step S22, with the work 4 being gripped by the claw unit 6, the hand 2 of the robot arm 1 grips the work 4 so as to be the same as the gripping force with which the claw unit 6 grips the work 4. When the robot arm 1 is finely moved to Fx = fx1, Fz = fz1, and M = m1, the third operation shown in FIG. 5 is completed. Even at the time of step S22, the work supply position of the robot arm 1 is deviated from the original work supply position.
[0094] Next, the control unit 318 releases the claw portion 6 (S23). Even when the claw portion 6 is released, since the hand 2 holds the workpiece 4 by the process of step S22, the workpiece 4 does not fall. In a state where the claw portion 6 is released, the force sensor value acquisition unit 313 acquires third force sensor information (fx2, fz2, m2) as a force sensor value from the force sensor 3 (S24). The third force sensor information represents the force sensor value at the completion position of the third operation. When the claw portion 6 is released, the third force sensor information is acquired when a load of the workpiece 4 is applied to the hand 2 and the hand 2 sinks.
[0095] However, due to the change in the posture of the robot arm 1, the amount of sinking of the robot arm 1 changes. The reason why the workpiece 4 moves when the claw portion 6 is released is that the claw portion 6 before release supported the workpiece 4. Therefore, the first force sensor information (fx1, fz1, m1) acquired in step 13 is different from the third force sensor information (fx2, fz2, m2) acquired in step S24.
[0096] Next, the control unit 318 closes the claw portion 6 (S25). Next, the control unit 318 repeats the fine movement of the robot arm 1 until Fx = fx2, Fz = fz2, and M = m2 shown in the fourth operation of FIG. 5 (S26). Next, the control unit 318 releases the claw portion 6 (S27).
[0097] Next, the force sensor value acquisition unit 313 acquires fourth force sensor information (fx3, fz3, m3) as a force sensor value from the force sensor 3 (S28). Next, the control unit 318 determines whether the third force sensor information (fx2, fz2, m2) is equal to the fourth force sensor information (fx3, fz3, m3) (S29).
[0098] If the third force sensor information (fx2, fz2, m2) is not equal to the fourth force sensor information (fx3, fz3, m3) (NO in S29), the control unit 318 substitutes the fourth force sensor information for the third force sensor information (S30), and repeats the processes after step S25.
[0099] On the other hand, if the third force sensor information (fx2, fz2, m2) is equal to the fourth force sensor information (fx3, fz3, m3) (YES in S29), the robot posture information acquisition unit 312 acquires the fourth position and posture information (S31), and ends this process. The fourth operation ends in step S31.
[0100] Here, with reference to FIGS. 15 and 16, three types of abnormality determination conditions (first to third abnormality determination conditions) performed by the abnormality determination unit 316 shown in FIG. 6 will be described.
[0101] FIG. 15 is a diagram showing an example of the first abnormality determination condition. In FIG. 15, a graph showing the change in the force sensor value shown in FIG. 5 is displayed. The horizontal axis of the graph shown in FIG. 15 represents time, and the vertical axis represents the force sensor value.
[0102] A maximum value is set in advance for the force sensor value. When the force sensor value exceeds the preset maximum value (Fx_max) (abnormal value Er1 shown in FIG. 15), the abnormality determination unit 316 determines that an abnormality has occurred in the robot arm 1.
[0103] Also, during the period when the third operation shown in FIG. 5 is performed, let the force sensor value acquired when the hand 2 grips the workpiece 4 be Fx_1. When the force sensor value acquired during the third operation period exceeds the range of (Fx_1) ± α% (abnormal value Er2 shown in FIG. 15), the abnormality determination unit 316 determines that an abnormality has occurred in the robot arm 1. For example, if α = 20, it is determined as abnormal when the force sensor value exceeds the range of (Fx_1) ± 20%.
[0104] In this way, since the abnormality determination unit 316 determines the abnormality of the robot arm 1 based on the force sensor value, it is possible to prevent an excessive force from being applied to the robot arm 1.
[0105] FIG. 16 is a diagram showing examples of the second and third abnormality determination conditions. In FIG. 16, the mounting posture of the robot arm 1 is specified by the fourth position and posture information acquired in step S31 of FIG. 14.
[0106] On the left side of the explanatory diagram (1) of FIG. 16, the state when the robot arm 1 normally passes the workpiece 4 to the machine tool holder 5 is shown. On the other hand, on the right side of the explanatory diagram (1) of FIG. 16, the state when the workpiece 4 is passed to the machine tool holder 5 with an abnormality occurring in the robot arm 1 is shown. As shown in both figures, since the workpiece supply position is the same, at first glance, it seems that no abnormality has occurred in the robot arm 1. However, on the right side of the explanatory diagram (1), the hand 2 is deformed. Due to the deformation of the hand 2, the position and orientation information of the robot arm 1 changes. Therefore, the abnormality determination unit 316 determines the abnormality of the robot arm 1 based on the change in the position and orientation information of the robot arm 1.
[0107] In the explanatory diagram (2) of FIG. 16, an example of a graph representing the mounting posture is shown. The horizontal axis of this graph is the number of workpieces 4 processed by the machine tool 10 (referred to as the number of processed workpieces), and the vertical axis is the mounting posture. In the second abnormality determination condition, the abnormality determination unit 316 creates a moving average based on the average value of the mounting postures calculated by performing the operation of supplying the workpiece 4 to the machine tool holder 5 about 100 times for the mounting posture of the robot arm 1 specified by the fourth position and orientation information. The abnormality determination unit 316 determines that there is an abnormality when the maximum value of the change amount of the mounting posture with respect to the moving average changes beyond a predetermined threshold value. When the abnormality determination unit 316 determines that there is an abnormality, an alert is reported, and the alert is displayed on the display unit 35 shown in FIG. 6.
[0108] The explanatory diagram (3) of FIG. 16 shows an example of a graph representing variations in the mounting posture. The horizontal axis of this graph is the number of workpieces 4 processed by the processing machine 10 (referred to as the number of processed workpieces), and the vertical axis is the variation in the mounting posture. In the third abnormal determination condition, the abnormality determination unit 316 creates a graph of the standard deviation of the variation in the mounting posture calculated when moving 100 workpieces 4 for the mounting posture of the robot arm 1 specified by the fourth position and posture information. Then, the abnormality determination unit 316 determines that there is an abnormality when the maximum value of the change amount of the standard deviation with respect to the initial value of the variation in the mounting posture changes beyond a predetermined threshold. When the abnormality determination unit 316 determines an abnormality, an alert is issued and the alert is displayed on the display unit 35 shown in FIG. 6.
[0109] In this way, even when the hand 2 is deformed, the abnormality determination unit 316 determines the abnormality of the robot arm 1 based on the mounting posture or the variation (standard deviation) of the mounting posture, so that excessive force can be prevented from being applied to the robot arm 1.
[0110] In the robot control device 14 according to the embodiment described above, in the operation of the robot arm 1 that supplies the workpiece 4 to the processing machine holder 5, even when the workpiece supply position deviates from the original position, the position deviation is automatically measured, the adjustment amount is calculated, and the target position is automatically adjusted. For this reason, the robot control device 14 can automatically adjust the workpiece supply position while taking into account both the overload generated in the robot arm 1 when the claw portion 6 of the processing machine holder 5 grips the workpiece 4 and the deviation of the workpiece supply position due to the deflection of the robot arm 1.
[0111] Therefore, the operation of aligning the actual workpiece supply position by the robot arm 1, which was conventionally performed manually by the operator, with the original workpiece supply position can be automated. For this reason, the time required for adjusting the robot arm 1 can be shortened, and an operator for adjusting the robot arm 1 can also be eliminated.
[0112] Also, each time the number of times the robot arm 1 supplies the workpiece 4 to the machine tool holder 5 exceeds a certain number of times, the first to fourth operations shown in FIG. 5 are executed, and the fourth position and orientation information is acquired. Therefore, for example, even when the floor surface on which the heavy machine tool holder 5 is installed sinks and deviates from the original workpiece supply position, the workpiece supply position can be automatically adjusted to maintain the machining accuracy of the workpiece 4 by the machine tool 10.
[0113] [Modification Example] In the above-described embodiment, the robot control device 14 supplies the workpiece 4 to the machine tool holder 5 based on the operation of the actual robot arm 1. However, when the workpiece 4 is a heavy object, there is a risk of the workpiece 4 falling or the like. Therefore, based on information such as the shape and weight of the workpiece 4, the robot control device 14 may be used as a simulator that can virtualize the robot arm 1, the workpiece 4, and the machine tool holder 5 to confirm the operation of the robot arm 1. In this case, the robot control device 14 can correct the deviation of the workpiece supply position of the robot arm 1 without operating the actual robot arm 1 and the machine tool holder 5.
[0114] In the above-described embodiment, an example was described in which the force sensor 3 detects a force sensor value, which is an example of load information, and stores it in the storage unit 32 as the force sensor information 323 during hand gripping. However, various types of information are assumed as the load information, and various sensors and the like are also assumed as the load information acquisition unit that acquires the load information. For example, as the load information acquisition unit attached to the robot arm 1, it may include at least one of a pressure sensor, an image sensor, and a strain gauge. When a pressure sensor is used, a pressure value is used as the load information. When an image sensor is used, a deviation amount obtained from the image is used as the load information. When a strain gauge is used, a strain amount is used as the load information. When an image sensor is used, for example, when shifting from the third operation to the fourth operation shown in FIG. 5, when the claw portion 6 of the machine tool holder 5 is opened, the posture of the robot arm 1 sinks due to the weight of the workpiece 4 gripped by the hand 2. In this case, the image captured by the image sensor attached to the hand 2 is shifted from the original image. Therefore, it can be understood that the larger the deviation amount of the image, the greater the load applied to the robot arm 1.
[0115] In the above-described embodiment, an example was described in which the robot arm 1 is used as an example of a robot that supplies the workpiece 4 to the machine tool holder 5. However, in addition to the robot arm 1, a robot having an arbitrary shape may be used to supply the workpiece 4 to the machine tool holder 5.
[0116] Note that the present invention is not limited to the above-described embodiment, and it goes without saying that various other application examples and modification examples can be adopted without departing from the gist of the present invention described in the claims. For example, the above-described embodiment describes the configuration of the system in detail and specifically in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to a configuration including all the configurations described. Also, it is possible to add, delete, or replace a part of the configuration of this embodiment with another configuration. In addition, the control lines and information lines show those considered necessary for explanation, and not all control lines and information lines are necessarily shown on the product. In fact, it may be considered that almost all components are interconnected.
Explanation of Signs
[0117] 1…Robot arm, 2…Hand, 3…Force sensor, 4…Workpiece, 5…Machine tool holder, 6…Claw part, 10…Machine tool, 12…Work instruction device, 14…Robot control device, 31…Arithmetic unit, 32…Memory unit, 34…Input unit, 35…Display unit, 36…Communication unit, 50…Computer, 100…Robot control system
Claims
1. A robot control device that controls a robot for attaching and detaching a workpiece to and from a machine holding part of a workpiece processing machine, wherein the robot control device, comprises a load information acquisition unit that acquires load information representing the load applied to the robot holding the workpiece, an attitude information acquisition unit that acquires attitude information representing the attitude of the robot, and a control unit that controls the operations of the robot and the processing machine, wherein the control unit, performs a first operation of causing the robot to hold the workpiece, acquiring the load information from the load information acquisition unit, and moving the workpiece held by the robot to a workpiece supply position of the machine holding part, performs a second operation of causing the machine holding part and the robot to hold the workpiece, applying a load of the workpiece to the machine holding part, and acquiring, as removal attitude information, the attitude information of the robot in a state where the load applied to the robot is eliminated from the attitude information acquisition unit, performs a third operation of causing the machine holding part and the robot to hold the workpiece, and controlling the attitude of the robot so that the load information acquired from the load information acquisition unit is equal to the load information acquired in the first operation, and controls the operations of the robot and the processing machine by performing a fourth operation of acquiring, as attachment attitude information, the attitude information of the robot from the attitude information acquisition unit when the load information acquired from the load information acquisition unit with the robot moved without holding the workpiece by the machine holding part is equal to the load information acquired from the load information acquisition unit with the workpiece held by the machine holding part and a load of the workpiece applied to the machine holding part Robot control device.
2. comprises a correction unit that outputs correction information for correcting the attitude of the robot so that the load applied to the robot holding the workpiece becomes smaller than a preset threshold value in a state where a load of the workpiece is applied to the machine holding part, to the control unit The robot control device according to claim 1.
3. comprises a robot movement coordinate generation unit that generates robot movement coordinates representing a movement destination of the robot based on the attitude of the robot corrected by the correction unit, and after moving the robot to the robot movement coordinates, the control unit acquires the load information from the load information acquisition unit to The robot control device according to claim 2.
4. A storage unit that stores the load information, the mounting posture information, the removal posture information, and the robot movement coordinates; A mounting posture information update unit that updates the mounting posture information stored in the storage unit with the mounting posture information acquired by the control unit; The control unit moves the robot based on the robot movement coordinates read from the storage unit, acquires the posture information from the posture information acquisition unit, and controls the posture of the robot holding the workpiece based on the mounting posture information read from the storage unit The robot control device according to claim 3.
5. An abnormality determination unit that periodically performs the first operation, the second operation, the third operation, and the fourth operation in order and determines an abnormality of the robot based on the tendency of the plurality of mounting posture information stored in the storage unit; The robot control device according to claim 4.
6. The load information acquisition unit outputs a signal substantially proportional to an external force applied to the robot holding the workpiece. The robot control device according to claim 4.
7. The load information acquisition unit includes at least one of a force sensor, a pressure sensor, an image sensor, and a strain gauge attached to the robot. The robot control device according to claim 6.
8. The processing machine holding unit is any one of a hand that grips the workpiece by an opening and closing operation, an electromagnet that holds the workpiece adsorbed by magnetic force, a suction unit that holds the workpiece adsorbed by reduced pressure, or a catching unit that holds the workpiece caught by claw-shaped claws. The robot control device according to claim 6.
9. A processing machine holding unit operation instruction unit that instructs an operation on the processing machine holding unit; The robot control device according to claim 6.
10. A robot control method for controlling a robot that attaches and detaches a workpiece to and from a processing machine holding unit of a processing machine, comprising: A first operation of causing the robot to hold the workpiece and acquiring load information representing a load applied to the robot holding the workpiece from a load information acquisition unit, and moving the workpiece held by the robot to a workpiece supply position of the processing machine holding unit; A second operation of causing the machining tool holding part and the robot to hold the workpiece, applying a load on the workpiece to the machining tool holding part, and obtaining, from a posture information acquisition part, posture information representing the posture of the robot in a state where the load applied to the robot is eliminated as removal posture information; A third operation of causing the machining tool holding part and the robot to hold the workpiece and controlling the posture of the robot so that the load information obtained from the load information acquisition part is equal to the load information obtained in the first operation; A fourth operation of moving the robot without causing the machining tool holding part to hold the workpiece and obtaining load information from the load information acquisition part, and when the load information obtained from the load information acquisition part with the machining tool holding part holding the workpiece and applying a load on the workpiece to the machining tool holding part is equal, obtaining, from the posture information acquisition part, the posture information of the robot as attachment posture information, and controlling the operations of the robot and the machining tool by these; Robot control method.
Citation Information
Patent Citations
Control device of robot carrying work
JP2014210311A