Robot system, robot control method, and robot control program
By using a control device in a robot system to correct the target height of the hand according to the characteristics of the workpiece, the problem of difficult to improve the position accuracy of the robot arm and hand in the prior art is solved, and higher position accuracy and adaptability are achieved.
Patent Information
- Application Number
- CN202380048697.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-05
- Filing Date
- 2023-07-04
- Publication Date
- 2025-02-07
AI Technical Summary
The existing robot systems have limitations in improving the position accuracy of the hand, especially because the flexure of the robot arm is affected by factors other than the posture, making it difficult to further improve the position accuracy of the hand.
By introducing a control device into the robot system, the target height of the hand in position control is corrected according to the workpiece held by the hand, thereby improving the position accuracy of the hand of the robot arm.
The position accuracy of the hand of the robot arm is improved, and it can adapt to different types and weights of workpieces, ensuring the stability of the height position accuracy of the hand.
Smart Images

Figure CN119404301A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot system, a robot control method and a robot control program. Background Art
[0002] Until now, a robot system that uses a robot arm to move a hand holding a workpiece is well known. The robot system disclosed in Patent Document 1 corrects the position of the robot's fingertips in consideration of the robot's deflection. Specifically, the robot system corrects the position of the robot's fingertips in consideration of the fact that the robot's deflection changes according to the robot's posture.
[0003] Patent Document 1: Japanese Patent Application Laid-Open No. 4-233602 Summary of the invention
[0004] As described above, in a system in which a workpiece is transported by a robot arm, the position accuracy of the hand can be improved by taking into account the deflection of the robot arm, etc. However, the deflection of the robot also varies depending on factors other than the posture of the robot. In other words, there is room for further improvement in the position accuracy of the hand.
[0005] In view of the foregoing, an object of the present invention is to improve the position accuracy of the hand of a robot arm.
[0006] The robot system of the present invention comprises a robot and a control device, wherein the robot has a hand and a robot arm, the hand holds a workpiece, the robot arm is connected to the hand, and the control device moves the robot arm to perform position control of the hand. The control device corrects the target height of the hand in the position control according to the workpiece held by the hand.
[0007] The robot control method of the present invention includes the steps of moving a robot arm connected to a hand holding a workpiece, performing position control of the hand, and correcting a target height of the hand in the position control according to the workpiece held by the hand.
[0008] The robot control program of the present invention is a program for causing a computer to realize a function of controlling a robot, wherein the robot has a hand and a robot arm, the hand holds a workpiece, and the robot arm is connected to the hand. The robot control program causes a computer to realize a function of causing the robot arm to move, performing position control of the hand, and correcting a target height of the hand during the position control according to the workpiece held by the hand.
[0009] (Effects of the Invention)
[0010] According to the robot system, the position accuracy of the hand of the robot arm can be improved.
[0011] According to the robot control method, the position accuracy of the hand of the robot arm can be improved.
[0012] According to the robot control program, the position accuracy of the hand of the robot arm can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 is a schematic diagram showing a robot system.
[0014] Figure 2 This is a schematic diagram of installing the robot system into the clean room.
[0015] Figure 3 : is a diagram showing a schematic hardware configuration of a control device.
[0016] Figure 4 : is a functional block diagram showing the structure of a control system of a control unit of a control device.
[0017] Figure 5 is a schematic diagram showing the workpieces in the first box or the second box.
[0018] Figure 6 It is a flow chart of the transport operation.
[0019] Figure 7 is a graph showing the motor current to the first electric motor and the height of the hand.
[0020] Figure 8 It is a schematic diagram for explaining the hand in the rising action.
[0021] Fig. 9 Graph showing the motor current to the first electric motor and the hand height during the transport operation when the target hand height is not corrected. DETAILED DESCRIPTION
[0022] Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. Figure 1 is a schematic diagram showing the robot system 100 . Figure 2 1 is a schematic plan view of installing the robot system 100 into the clean room 110 .
[0023] The robot system 100 includes a robot 1 and a control device 6, and the control device 6 controls the robot 1. The robot 1 has a hand 3 and a robot arm 2, the hand 3 holds a workpiece W, and the robot arm 2 is connected to the hand 3. The robot 1 is a so-called horizontal multi-joint robot, which is a SCARA (SCARA: Selective Compliance Assembly Robot Arm) type robot. The robot 1 may also have a base 10 connected to the robot arm 2. The hand 3 is a so-called end effector. The control device 6 moves the robot arm 2 to control the position of the hand 3, that is, the position of the workpiece W.
[0024] The robot 1 handles various workpieces W. That is, the hand 3 holds any one of the multiple workpieces W. For example, one of the workpieces W is a substrate. The substrate can be a thin plate of substrate material for semiconductor devices such as a semiconductor substrate (i.e., semiconductor crystal) and a glass substrate (i.e., glass crystal). As a semiconductor substrate, for example, it is a silicon substrate, a sapphire substrate, etc. As a glass substrate, for example, it is a glass substrate for FPD (Flat Panel Display), a glass substrate for MEMS (Micro Electro Mechanical Systems), etc. When the workpiece W is a substrate, the robot 1 can handle a variety of substrates. For example, the robot 1 can handle substrates of different sizes such as 200mm, 300mm or 450mm as the workpiece W. In addition to the substrate, the multiple workpieces W also include focusing rings, clamps, or components for assembling the substrate into the clamp. In addition, the workpiece W is not limited to these, and can also include any parts.
[0025] 〔robot〕
[0026] For example, the robot 1 is a robot for a clean room. The robot 1 is configured and used in a clean room 110. The clean room 110 is divided by a plurality of peripheral walls, and the interior is purified, that is, kept clean. The clean room 110 is provided with a first box 111 as a first place for arranging the workpiece W and a second box 112 as a second place for arranging the workpiece W.
[0027] The robot arm 2 has an elevator 21, multiple connecting rods 22, multiple joints 23, multiple electric motors 24 and an encoder 25. The elevator 21 is set on the base 10 so that it can be raised and lowered in a roughly vertical direction. The multiple joints 23 are rotatably connected to the connecting rods 22 in the horizontal direction. The multiple electric motors 24 move the elevator 21 and the connecting rods 22, and the encoder 25 is set on each electric motor 24.
[0028] The lift 21 is formed in a cylindrical shape. When the lift 21 is in the most descended state, most of the lift 21 is accommodated in the base 10. The lift 21 rises so as to protrude upward from the base 10.
[0029] The plurality of links 22 include a first link 22a, a second link 22b, and a third link 22c. When each of the first link 22a, the second link 22b, and the third link 22c is not distinguished, it is simply referred to as a "link 22". The first link 22a is rotatably connected to the lift 21 via a joint 23 in a substantially horizontal direction. The second link 22b is rotatably connected to each of the first link 22a and the third link 22c via a joint 23 in a substantially horizontal direction. The hand 3 is rotatably connected to the third link 22c via a joint 23 in a substantially horizontal direction.
[0030] Specifically, the connecting rod 22 has a shape extending in a predetermined length direction. The connecting rod 22 is formed into a hollow shape and has an internal space. One of the two ends in the length direction of the connecting rod 22 is referred to as the first end, and the other of the two ends in the length direction of the connecting rod 22 is referred to as the second end. The first end of the first connecting rod 22a is rotatably connected to the elevator 21 around an axis L1 extending in a substantially vertical direction. The first end of the second connecting rod 22b is rotatably connected to the second end of the first connecting rod 22a around an axis L2 extending in a substantially vertical direction. The first end of the third connecting rod 22c is rotatably connected to the second end of the second connecting rod 22b around an axis L3 extending in a substantially vertical direction. The hand 3 is rotatably connected to the second end of the third connecting rod 22c around an axis L4 extending in a substantially vertical direction.
[0031] The first link 22a, the second link 22b, the third link 22c, and the hand 3 are stacked in this order from bottom to top without contacting each other. The first link 22a, the second link 22b, the third link 22c, and the hand 3 rotate in a substantially horizontal direction without interfering with each other.
[0032] The hand 3 has a body 31 and a holding portion 32, and the holding portion 32 is connected to the body 31 and is forked. The hand 3 is formed in a plate shape. When the hand 3 is viewed in the thickness direction, it is formed in a substantially Y-shape. The body 31 is connected to the second end of the third link 22c.
[0033] The holding by the hand 3 can be achieved by various methods such as gripping, adsorption, placement or fitting. In this example, the hand 3 is configured to hold the workpiece W. Specifically, the claw 33 is fixedly provided at each of the two front ends of the holding portion 32. The body 31 is provided with a movable claw 34 and a holding actuator 35 for driving the claw 34 (see Figure 2 The holding actuator 35 includes, for example, an air cylinder. The holding actuator 35 switches between holding and releasing the workpiece W by the hand 3 by driving the claw 34 with the air cylinder.
[0034] The electric motor 24 is, for example, a servo motor. The encoder 25 detects the rotational position or rotational speed of the corresponding electric motor 24. The plurality of electric motors 24 include a first electric motor 24a for the elevator 21 and a plurality of second electric motors 24b for the connecting rod 22. The first electric motor 24a moves the elevator 21 up and down. The first electric motor 24a is housed inside the base 10. The second electric motor 24b drives the corresponding joint 23 to rotate. The second electric motor 24b is housed in the internal space of the connecting rod 22.
[0035] The control device 6 controls the robot arm 2 and the hand 3 to move the robot 1. The control device 6 sets the target positions of the robot arm 2 and the hand 3 in the position control, and controls the robot arm 2 and the hand 3 so that the hand 3 is located at the target position. The target position of the hand 3 includes the target height of the hand 3. The control device 6 corrects the target height of the hand 3 in the position control according to the workpiece W held by the hand 3.
[0036] Figure 3 2 is a diagram showing a schematic hardware structure of the control device 6. The control device 6 is, for example, a computer. The control device 6 is connected to an electric motor 24, an encoder 25, and a holding actuator 35. Figure 3 , although only one set is shown in the figure, a plurality of sets of second electric motors 24b and encoders 25 are connected to the control device 6. The control device 6 includes a main control device 60 and a servo amplifier 61. The main control device 60 controls the holding actuator 35 and controls the robot 1 via the servo amplifier 61. For example, the main control device 60 controls the solenoid valve that switches the air supply to the cylinder of the holding actuator 35 to switch the holding and release of the workpiece W performed by the hand 3. The main control device 60 outputs a command value related to the rotation position, rotation speed, or rotation torque of each electric motor 24 of the robot 1 to the servo amplifier 61. The servo amplifier 61 applies a motor current according to the command value from the main control device 60 to each electric motor 24. The servo amplifier 61 includes a current sensor 61a that detects the motor current applied to each electric motor 24. At this time, the servo amplifier 61 performs feedback control on the motor current according to the detection result of each encoder 25. In this way, the control device 6 moves the hand 3 to a target position, or moves the hand 3 at a target speed or a target acceleration.
[0037] As an example, the control device 6 controls the electric motor 24 and the holding actuator 35 to make the robot 1 perform a conveying action. Specifically, the target position of the hand 3 when performing the conveying action, that is, the target trajectory, is pre-set in the control device 6. The main control device 60 outputs the command value corresponding to the target position of the hand 3, that is, the target rotation position of each electric motor 24, to the servo amplifier 61. The servo amplifier 61 applies the motor current corresponding to the command value to each electric motor 24. The servo amplifier 61 performs feedback control on the motor current based on the detection result of the encoder 25 so that the rotation position of the electric motor 24 becomes the target rotation position. In this way, the main control device 60 controls each electric motor 24 so that the hand 3 is located at the target position. In addition, the main control device 60 activates the holding actuator 35 to switch the holding and release of the workpiece W performed by the hand 3.
[0038] The main control device 60 includes a control unit 62 , a storage unit 63 , and a memory 64 .
[0039] The control unit 62 controls the entire main control device 60. The control unit 62 performs various calculations. For example, the control unit 62 is formed by a processor such as a CPU (central processing unit). The control unit 62 can also be formed by an MCU (microcontroller unit), an MPU (microprocessor unit), an FPGA (field programmable gate array), a PLC (programmable logic controller), a system LSI, etc.
[0040] The storage unit 63 stores programs and various data executed by the control unit 62. Specifically, the storage unit 63 stores a robot control program 63a. In addition, the storage unit 63 stores teaching data for operating the robot 1. The storage unit 63 is formed by a nonvolatile memory, a HDD (hard disk drive), or an SSD (solid state drive).
[0041] The memory 64 temporarily stores data etc. For example, the memory 64 is formed of a volatile memory.
[0042] Figure 4 6 is a functional block diagram showing the structure of the control system of the control unit 62 of the control device 6. The control unit 62 realizes various functions by reading the robot control program 63a from the storage unit 63 into the memory 64 and developing it. Specifically, the control unit 62 functions as a target setting unit 65, an action control unit 66, and a correction unit 67.
[0043] The target setting unit 65 sets the target position of the robot arm 2 and the hand 3 (hereinafter referred to as "the target position of the robot arm 2, etc.") and the target position of the robot arm 2 and the hand 3 when the holding actuator 35 is actuated and released (hereinafter referred to as "the target position of the holding actuator 35"). The target setting unit 65 reads the teaching data from the storage unit 63, and generates the target position of the robot arm 2, etc. and the target position of the holding actuator 35 according to the teaching data. The teaching data may be the target trajectory of the robot arm 2 and the hand 3, that is, data corresponding to the target position. In addition, the teaching data also includes the target position of the robot arm 2 and the hand 3 when the holding actuator 35 is actuated and released. In this example, the teaching data is the target rotation position of each electric motor 24 corresponding to the target position of the robot arm 2 and the hand 3. That is, the target setting unit 65 substantially sets the target rotation position of each electric motor 24 corresponding to the target position of the robot arm 2, etc. and the target position of the holding actuator 35 as the target position of the robot arm 2, etc. and the target position of the holding actuator 35.
[0044] The motion control unit 66 generates and outputs command values to the electric motor 24 and the holding actuator 35 according to the target position set by the target setting unit 65. Specifically, the motion control unit 66 outputs the target rotation position of each electric motor 24 as the command rotation position to the servo amplifier 61. The servo amplifier 61 applies a motor current corresponding to the command rotation position to each electric motor 24. The servo amplifier 61 controls the motor current so that the rotation position of each electric motor 24 becomes the command rotation position. In addition, the motion control unit 66 outputs an action command to the holding actuator 35 at the moment when the command rotation position corresponding to the action target position of the holding actuator 35 is output to the servo amplifier 61. The holding actuator 35 switches the holding and release of the workpiece W according to the action command.
[0045] The correction unit 67 corrects the target height of the hand 3 among the target positions of the robot arm 2 and the hand 3 set by the target setting unit 65. In this example, since the target rotation position of the electric motor 24 is set as the target position, the target rotation position of the electric motor 24 corresponding to the target height of the hand 3 is corrected. Specifically, the correction unit 67 corrects the target rotation position of the first electric motor 24a set by the target setting unit 65. As a result of the correction of the target height, the motion control unit 66 generates a command value corresponding to the corrected target height, and outputs the command value to the servo amplifier 61. In detail, the correction unit 67 corrects the target height of the hand 3 according to the workpiece W held by the hand 3. For example, the correction unit 67 corrects the target height in such a way that the heavier the weight of the workpiece W, the higher the target height of the hand 3.
[0046] Next, an operation example of the robot system 100 will be described. For example, the control device 6 causes the robot 1 to perform a transport operation of picking up the workpiece W arranged in the first box 111 and transporting it to the second box 112 . Figure 5 1 is a schematic diagram showing the workpiece W in the first box 111 or the second box 112 . Figure 6 It is a flow chart of the transport operation.
[0047] In this example, if Figure 5 As shown in FIG. 1 , the workpiece W is placed on the table 113 in the first box 111 or the second box 112. In this example, the workpiece W is simply placed on the table 113. The table 113 supports the lower surface of the end portion of the workpiece W.
[0048] First, in step S101 , the control device 6 sets the target positions of the robot arm 2 and hand 3 . Specifically, the target setting unit 65 sets the target rotation positions of the electric motors 24 corresponding to the target positions of the robot arm 2 and hand 3 in the conveying operation based on the teaching data stored in the storage unit 63 .
[0049] Next, the control device 6 moves the hand 3 to a predetermined starting position in step S102. The target height of the hand 3 at the starting position is lower than the height of the workpiece W in the first box 111 (hereinafter referred to as "workpiece height Z0") and is a height that can enter below the workpiece W in the first box 111. The target height at the starting position is referred to as "first target height Z1". The control device 6 places the robot arm 2 and the hand 3 at the starting position by applying motor current to each electric motor 24.
[0050] In the case of the robot 1 , the first electric motor 24 a adjusts the height of the hand 3 , and the second electric motor 24 b adjusts the horizontal position of the hand 3 . Figure 7 2 is a graph showing the motor current to the first electric motor 24a and the height of the hand 3. Here, the motor current to each second electric motor 24b and the horizontal position of the hand 3 are omitted. The servo amplifier 61 adjusts the motor current of the first electric motor 24a so that the rotation position of the first electric motor 24a is located at a position corresponding to the first target height Z1. As a result, the actual height of the hand 3 (hereinafter referred to as "actual height") is adjusted to a height substantially the same as the first target height Z1.
[0051] Next, the control device 6 causes the robot 1 to perform a first horizontal movement in step S103. In the first horizontal movement, the robot arm 2 causes the hand 3 to move horizontally to below the workpiece W in the first box 111. The control device 6 controls the second electric motor 24b to operate the connecting rod 22, causing the hand 3 to move below the workpiece W in the first box 111. Since the height of the hand 3 is not changed in the first horizontal movement, Figure 7 As shown, the motor current to the first electric motor 24 a hardly changes from when it is in the starting position.
[0052] After the hand 3 moves below the workpiece W in the first box 111 , the control device 6 causes the robot 1 to perform a lifting operation in step S104 . Figure 8 It is a schematic diagram for explaining the hand 3 in the rising action. In the rising action, the robot 1 moves the hand 3 upward from the first target height Z1 to the second target height Z2. The second target height Z2 is, for example, a height higher than the workbench 113 in the first box 111. In this example, in the rising action, the control device 6 causes the robot arm 2 and the hand 3 to perform a constant speed action in which the hand 3 rises at a constant speed. The control device 6 controls the rising speed of the hand 3 by adjusting the motor current to the first electric motor 24a. The control device 6 increases the motor current until the rising speed of the hand 3 reaches a specified target speed. When the rising speed reaches the target speed, the motor current is controlled to maintain the target speed at a substantially constant level. Step S104 is equivalent to causing the robot arm connected to the hand holding the workpiece to move and perform position control of the hand.
[0053] The control device 6 detects the motor current of the first electric motor 24a by the current sensor 61a during the ascending action. The control device 6 records the detected motor current, i.e., the current value (hereinafter referred to as the "detected current value") in the storage unit 63 or the memory 64. In addition, the control device 6 is not limited to the ascending action, and can also detect and record the current value of the motor current of the first electric motor 24a during the conveying action.
[0054] When the upward movement of hand 3 continues, Figure 8 As shown, the hand 3 passes through the position of the workpiece W between the first target height Z1 and the second target height Z2. At this time, the hand 3 picks up the workpiece W from the workbench 113. The workpiece W is placed on the hand 3. In addition, since the hand 3 rises at a substantially constant speed at least before and after the hand 3 picks up the workpiece W, the hand 3 picks up the workpiece W stably.
[0055] The control device 6 monitors the change of the motor current of the first electric motor 24a during the ascending operation, and determines in step S105 whether the change amount of the motor current is above a predetermined threshold value. When the change amount of the motor current is below the threshold value, the control device 6 repeats step S105. When the change amount of the motor current is above the threshold value, the control device 6 proceeds to step S106 to correct the target height of the hand 3. Step S106 is equivalent to correcting the target height of the hand in the position control according to the workpiece held by the hand.
[0056] Specifically, the control device 6 obtains the moving average value of the detected current value recorded in the storage unit 63 or the memory 64 during the ascending operation, that is, the average current value. The correction unit 67 of the control device 6 determines in step S105 whether the variation of the average current value in the timed variation of the average current value is greater than a predetermined threshold value. The threshold value is a value equivalent to the variation of the average current value caused by the hand 3 picking up the workpiece W. For example, the threshold value is a value equivalent to the variation of the average current value caused by the hand 3 picking up the lightest workpiece W handled by the robot 1.
[0057] When the amount of change in the average current value is lower than the threshold value, the correction unit 67 repeats step S105 and waits until the amount of change in the average current value becomes equal to or larger than the threshold value.
[0058] When the change in the average current value is above the threshold, the correction unit 67 sets the average current value before the change becomes above the threshold to the first current value Ia, and sets the average current value when the change becomes above the threshold to the second current value Ib in step S106, and calculates the correction amount ΔZ of the target height of the hand 3 by the following formula (1).
[0059] ΔZ=K×(Ib-Ia) ··· (1)
[0060] Here, K is a correction coefficient, which is pre-stored in the memory 63. Ib-Ia is the change ΔI of the motor current to the first electric motor 24a caused by the hand 3 picking up the workpiece W. The change in the motor current is caused by the hand 3 picking up the workpiece W. Therefore, the first current value Ia is the current value of the motor current when the hand 3 does not pick up the workpiece W. The second current value Ib is the current value of the motor current after the hand 3 picks up the workpiece W. In this example, the first current value Ia and the second current value Ib are the current values of the actual motor current before the hand 3 picks up the workpiece W in a series of conveying actions, that is, in the same conveying action. In addition, since the first current value Ia is the current value before the hand 3 picks up the workpiece W, and the second current value Ib is the current value just after the hand 3 picks up the workpiece W, the first current value Ia and the second current value Ib are the current values of the motor current when the hand 3 rises at a substantially constant speed.
[0061] The correction unit 67 corrects the second target height Z2 of the hand 3 by the correction amount ΔZ. Specifically, the correction unit 67 increases the second target height Z2 by the correction amount ΔZ. More specifically, the correction unit 67 corrects the target rotation position of the first electric motor 24a by the rotation amount corresponding to the correction amount ΔZ. That is, the correction unit 67 corrects the second target height Z2 after the hand 3 picks up the workpiece W and until the workpiece W is placed on the workbench 113 in the second box 112.
[0062] Then, the control device 6 activates the holding actuator 35 in step S107 to make the hand 3 hold the workpiece W. Since the control device 6 controls the position of the hand 3, the time when the hand 3 roughly passes the height of the workpiece W is known. The control device 6 activates the holding actuator 35 after the hand 3 passes the height of the workpiece W, that is, after the hand 3 picks up the workpiece W. In addition, the activation time of the holding actuator 35 can be after the hand 3 picks up the workpiece W, and it can also be before the target height of the hand 3 is corrected.
[0063] like Figure 7 As shown, the motor current to the first electric motor 24a changes due to the hand 3 picking up the workpiece W. In detail, the motor current to achieve the target rotation position of the first electric motor 24a increases by the weight of the workpiece W. The increase in the motor current caused by the weight of the workpiece W becomes the change in the motor current ΔI. The change in the motor current ΔI changes according to the weight of the workpiece W. If the weight of the workpiece W becomes heavier, the change in the motor current ΔI also increases. The change in the motor current ΔI is roughly proportional to the weight of the workpiece W.
[0064] On the other hand, the control device 6 controls the height of the hand 3 by the rotational position of the first electric motor 24a. Therefore, the target rotational position of the first electric motor 24a to achieve the target height of the hand 3 is determined in consideration of the size, deflection, and shaking of the robot arm 2 and the hand 3. However, when the hand 3 picks up the workpiece W, the weight of the hand 3 becomes heavier by the weight of the workpiece W. Even if the rotational position of the first electric motor 24a is the same, the deflection and shaking of the robot arm 2 and the hand 3 may change depending on whether the hand 3 holds the workpiece W, and the actual height of the hand 3 may also be different. In other words, the actual height of the hand 3 corresponding to the rotational position of the first electric motor 24a changes because the hand 3 picks up the workpiece W. Fig. 9 2 is a graph showing the motor current to the first electric motor 24a and the height of the hand 3 during the transport operation when the target height of the hand 3 is not corrected. Since the hand 3 picks up the workpiece W, the rotation torque for achieving the target rotation position of the first electric motor 24a increases, and Figure 7Similarly, the motor current increases. Although the motor current increases according to the weight of the workpiece W, the target rotation position is not corrected. The first electric motor 24a operates to achieve the target rotation position. However, since the weight of the workpiece W increases the bending and shaking of the robot arm 2 and the hand 3, the actual height of the hand 3 corresponding to the target rotation position of the first electric motor 24a becomes lower than before the workpiece W is picked up. In other words, the actual height of the hand 3 is lower than the target height corresponding to the target rotation position of the first electric motor 24a.
[0065] The amount of change in the actual height of the hand 3 caused by the weight of the workpiece W is approximately proportional to the weight of the workpiece W. If the weight of the workpiece W becomes heavier, the amount of change in the actual height of the hand 3 also increases. As described above, the amount of change ΔI of the motor current is also approximately proportional to the weight of the workpiece W. That is, the amount of change in the actual height of the hand 3 caused by the weight of the workpiece W is approximately proportional to the amount of change ΔI of the motor current. Therefore, as shown in equation (1), the control device 6 multiplies the amount of change ΔI of the motor current by the correction coefficient K to obtain the correction amount ΔZ. The control device 6 corrects the second target height Z2 to the second target height Z2' by adding the correction amount ΔZ. The control device 6 adjusts the motor current so that the first electric motor 24a is located at the target rotation position corresponding to the corrected second target height Z2'. As a result, the actual height of the hand 3 becomes higher than when the target height is not corrected, and is close to the second target height Z2 before correction. That is, the corrected second target height Z2' is the target height in control, and the actual target height of the hand 3 is still the second target height Z2 before correction. Furthermore, since the second target height Z2 ′ becomes higher due to the correction, the time for the hand 3 to rise becomes longer, and accordingly, the period during which the motor current to the first electric motor 24 a is large also becomes longer.
[0066] During the control, when the hand 3 reaches the corrected second target height Z2', that is, when the rotation position of the first electric motor 24a reaches the target rotation position corresponding to the second target height Z2', the control device 6 causes the robot 1 to perform the second horizontal movement in step S108. In the second horizontal movement, the robot arm 2 causes the hand 3 to move horizontally from the first box 111 to above the workbench 113 in the second box 112. The control device 6 controls the second electric motor 24b to operate the connecting rod 22 to move the hand 3 into the second box 112. Figure 7 As shown, during the second horizontal movement, the motor current to the first electric motor 24a remains almost unchanged. That is, the actual height of the hand 3 remains substantially the same as the second target height Z2 before correction.
[0067] After the hand 3 moves to the top of the workbench 113 in the second box 112, the control device 6 causes the robot 1 to perform a descending action in step S110. In the descending action, the robot 1 moves the hand 3 downward from the corrected second target height Z2' to the first target height Z1. In this example, in the descending action, the control device 6 causes the robot arm 2 and the hand 3 to perform a constant speed action in which the hand 3 descends at a constant speed. The control device 6 controls the descending speed of the hand 3 by adjusting the motor current to the first electric motor 24a. In addition, Figure 7 as well as Fig. 9 The descending action is omitted.
[0068] Then, when the hand 3 descends, the workpiece W finally contacts the workbench 113. At a point before the workpiece W contacts the workbench 113, the control device 6 stops the operation of the holding actuator 35 in step S110, so that the hand 3 releases the holding of the workpiece W. After the hand 3 releases the holding of the workpiece W, the workpiece W is transferred from the hand 3 to the workbench 113. When the hand 3 descends to the first target height Z1, the transport operation ends.
[0069] Through such a conveying action, the target height of the hand 3 in the position control is corrected according to the workpiece W held by the hand 3. The deflection of the robot arm 2 and the hand 3 depends on at least the weight of the workpiece W. When the robot 1 processes only one type of workpiece W, the height position of the hand 3 does not change according to the workpiece W. Since the control device 6 corrects the target height of the hand 3 according to the workpiece W, the target height of the hand 3 is appropriately corrected even if the weight of the workpiece W changes. For example, when the robot system 100 conveys multiple types of workpieces W, the correction amount of the target height of the hand 3 is adjusted according to the weight of the workpiece W. As a result, the position accuracy of the hand 3 can be improved for any type of workpiece W.
[0070] Furthermore, the control device 6 automatically adjusts the correction amount according to the workpiece W. The user does not have to reset the correction amount every time the workpiece W changes. Specifically, the control device 6 corrects the target height according to the change in the motor current to the first electric motor 24a caused by the hand 3 picking up the workpiece W. When the hand 3 picks up the workpiece W, the motor current to the first electric motor 24a changes according to the weight of the workpiece W. In other words, the motor current to the first electric motor 24a after the hand 3 picks up the workpiece W reflects the weight of the workpiece W. Since the control device 6 can obtain the motor current to the first electric motor 24a during the conveying action, the control device 6 can automatically determine the correction amount for the target height of the hand 3 without inputting the type or weight of the workpiece W from the user.
[0071] Furthermore, the control device 6 also obtains the motor current to the first electric motor 24a before the hand 3 picks up the workpiece W during the transporting action. The control device 6 obtains the actual motor current before the hand 3 picks up the workpiece W and the actual motor current after the hand 3 picks up the workpiece W in a series of transporting actions, that is, in the same transporting action, and determines the correction amount of the target height of the hand 3 based on the change amount of those motor currents. Therefore, the user does not need to input the motor current to the first electric motor 24a before the hand 3 picks up the workpiece W to the control device 6. Furthermore, since the actual motor current before the hand 3 picks up the workpiece W and the actual motor current after the hand 3 picks up the workpiece W are obtained under the same conditions, the control device 6 can realize the correction of the target height that appropriately reflects the weight of the workpiece W.
[0072] At this time, the control device 6 causes the robot arm 2 and the hand 3 to perform a constant speed operation in which the height position of the hand 3 changes at a constant speed before and after the hand 3 picks up the workpiece W. In other words, it is possible to reduce the change in the motor current to the first electric motor 24a caused by factors other than the weight of the workpiece W before and after the hand 3 picks up the workpiece W. In this way, the control device 6 can achieve a correction of the target height that more appropriately reflects the weight of the workpiece W.
[0073] 《Other Implementation Methods》
[0074] As described above, the embodiments are described as examples of the technology disclosed in this application. However, the technology disclosed in the present invention is not limited thereto, and can also be applied to embodiments that have been appropriately changed, replaced, added, omitted, etc. Furthermore, the various constituent elements described in the embodiments can also be combined as new embodiments. Furthermore, the constituent elements recorded in the drawings and detailed descriptions include not only the constituent elements necessary for solving the problem, but also constituent elements that are not necessary for solving the problem in order to exemplify the technology. Therefore, it should not be immediately assumed that those non-essential constituent elements are necessary because they are recorded in the drawings and detailed descriptions.
[0075] For example, the robot 1 is not limited to a robot used for substrate transport. The robot 1 is not limited to a robot used in a clean environment to the extent that semiconductors can be processed. The robot 1 may also be incorporated into a production line or the like.
[0076] The robot 1 is not limited to a horizontal multi-joint robot. For example, the robot 1 may also be a vertical multi-joint robot. The robot 1 may also have a robot arm to which a hand is connected.
[0077] The robot arm 2 may not be composed of a plurality of links 22. When the robot arm 2 is divided, the number of divisions of the robot arm 2, that is, the number of links 22, is not limited to 3. The robot arm 2 may have 2 or 4 or more links 22.
[0078] The structure of the hand 3 is not limited to the above structure. For example, the holding of the workpiece by the hand 3 is not limited to the gripping by the claws. For example, the hand 3 can hold the workpiece by adsorption. The hand 3 can hold the workpiece by simply supporting the workpiece from below, that is, by simply placing the workpiece. The hand 3 can also hold the workpiece by a plurality of fingers.
[0079] The correction of the target height of the hand 3 is not limited to the above method. For example, the change amount of the first electric motor 24a is not limited to the value obtained by the above method. The motor current is not limited to the moving average value, but may be a value that has not been averaged. Furthermore, the first current value Ia and the second current value Ib are not limited to the current values before and after the change amount becomes above the threshold. Since the positions of the hand 3 and the workpiece W are generally known, the current value at a specified time before the hand 3 picks up the workpiece W may be the first current value Ia, and the current value at a specified time after the hand 3 picks up the workpiece W may be the second current value Ib.
[0080] Furthermore, the first current value Ia may be a pre-acquired current value of the motor current to the first electric motor 24a when the hand 3 does not pick up the workpiece W. In addition, the second current value Ib is acquired during the actual conveying action because it reflects the weight of the workpiece W. When the first current value Ia is acquired in advance, it is preferred that the acquisition condition of the first current value Ia is closer to the acquisition condition of the second current value Ib. Therefore, it is also possible to make the robot 1 perform the same action as the conveying action without picking up the workpiece W, and acquire the first current value Ia at the moment when the second current value Ib is acquired during the conveying action. In this way, the first current value Ia and the second current value Ib can be acquired under substantially the same conditions, regardless of whether the workpiece W is picked up.
[0081] Furthermore, the correction amount ΔZ is not limited to the correction amount obtained by equation (1). The control device 6 may also pre-store a table that specifies the relationship between the change in motor current and the correction amount of the target height in the storage unit 63 or the like. At that time, the control device 6 compares the change in motor current with the table in the storage unit 63 to obtain the correction amount of the target height. Furthermore, the control device 6 is not limited to a device that continuously changes the correction amount of the target height according to the change in motor current. For example, the control device 6 may also adjust the correction amount of the target height in stages according to the change in motor current. For example, the control device 6 may also pre-prepare a plurality of correction amounts for target heights of different sizes and select one of the correction amounts according to the change in motor current.
[0082] Furthermore, the timing of correcting the target height of the hand 3 can also be set arbitrarily. In the above example, when the change amount of the motor current is greater than the threshold value, the control device 6 obtains the correction amount ΔZ and corrects the target height of the hand 3. For example, the control device 6 can also perform the following control, that is, after controlling the height of the hand 3 to the second target height Z2, the second target height Z2 is corrected to the second target height Z2', so that the hand 3 is located at the second target height Z2'.
[0083] The flowchart is just an example. The steps in the flowchart may be changed, replaced, added, omitted, etc. as appropriate. Also, the order of the steps in the flowchart may be changed, or serial processing may be performed in parallel. For example, in the flowchart of the transport action ( Figure 6 ), the correction of the target height in step S106 and the holding action in step S107 can be performed in parallel, or the order can be exchanged. Furthermore, the order of the descent in step S109 and the release of the holding in step S110 can also be exchanged.
[0084] The functions implemented by the components described in this specification may also be implemented in a circuit or processing circuitry that includes a general-purpose processor, a special-purpose processor, an integrated circuit, an ASIC (Application Specific Integrated Circuits), a CPU (a Central Processing Unit), a conventional circuit, and / or a combination thereof that is programmed to perform the described functions. The processor includes transistors and other circuits and is considered a circuit or processing circuit. The processor may also be a programmable processor that executes a program stored in a memory.
[0085] In this specification, a circuit, unit or device is hardware programmed or executed to implement the described functions. The hardware may also be various hardware disclosed in this specification or various hardware well-known as hardware programmed or executed to implement the described functions.
[0086] When the hardware is a processor of a type regarded as a circuit, the circuit, device or unit is a combination of hardware and software used to constitute the hardware and / or processor.
[0087] A summary of the technology of the present invention is as follows.
[0088] [1] The robot system 100 includes a robot 1 and a control device 6, wherein the robot 1 has a hand 3 and a robot arm 2, wherein the hand 3 holds a workpiece W, and the robot arm 2 is connected to the hand 3, and the control device 6 moves the robot arm 2 to perform position control of the hand 3. The control device 6 corrects the target height of the hand 3 during the position control according to the workpiece W held by the hand 3.
[0089] According to this structure, the deflection of the robot arm 2 and the hand 3 caused by acquiring the workpiece W varies depending on the weight of the workpiece W. That is, the height of the hand 3 may vary depending on the weight of the workpiece W. By correcting the target height of the hand 3 according to the workpiece W, the change in the height of the hand 3 caused by the weight of the workpiece W can be reduced. Even if the weight of the workpiece W changes, the position accuracy of the height of the hand 3 can be stabilized. As a result, the position accuracy of the height of the hand 3 can be improved.
[0090] [2] In the robot system 100 of [1], the robot arm 2 has a first electric motor 24a, which changes the height position of the hand 3, and the control device 6 corrects the target height according to the change of the motor current to the first electric motor 24a caused by the hand 3 picking up the workpiece W.
[0091] According to this configuration, when the hand 3 picks up the workpiece W, the motor current supplied to the first electric motor 24a changes according to the weight of the workpiece W. In other words, the change in the motor current supplied to the first electric motor 24a caused by picking up the workpiece W reflects the weight of the workpiece W. By correcting the target height of the hand 3 according to the change in the motor current, the target height of the hand 3 according to the workpiece W can be corrected.
[0092] [3] In the robot system 100 of [1] or [2], the control device 6 corrects the target height based on the motor current to the first electric motor 24a obtained in advance when the hand 3 does not pick up the workpiece W and the actual change in the motor current to the first electric motor 24a after the hand 3 picks up the workpiece W.
[0093] According to this structure, the motor current to the first electric motor 24a when the hand 3 does not pick up the workpiece W, that is, the first current value Ia, is acquired in advance. On the other hand, the motor current to the first electric motor 24a after the hand 3 picks up the workpiece W, that is, the second current value Ib, is acquired as the current value of the actual motor current in the position control of the hand 3. The second current value Ib changes according to the weight of the workpiece W picked up by the hand 3. On the other hand, the first current value Ia is not affected by the workpiece W. Therefore, the first current value Ia can be acquired in advance. In this way, the processing during correction in the actual position control can be simplified.
[0094] [4] In the robot system 100 of [1] or [2], the control device 6 corrects the target height based on the actual change in the motor current before the hand 3 picks up the workpiece W and the actual change in the motor current after the hand 3 picks up the workpiece W in a series of actions in which the hand 3 picks up the workpiece W for transportation through the position control.
[0095] According to this structure, both the motor current to the first electric motor 24a when the hand 3 does not hold the workpiece W, that is, the first current value Ia, and the motor current to the first electric motor 24a when the hand 3 holds the workpiece W, that is, the second current value Ib, are obtained during an actual series of conveying operations. At this time, since it is not necessary to obtain the current value of the motor current in advance, the correction process becomes simple in this regard.
[0096] [5] In the robot system 100 described in any one of [2] to [4], the control device 6 causes the robot arm 2 and the hand 3 to perform a constant speed action in which the height position of the hand 3 changes at a constant speed before and after the hand 3 picks up the workpiece W, and corrects the target height based on the actual motor current before the hand 3 picks up the workpiece W and the actual motor current after the hand 3 picks up the workpiece W during the constant speed action.
[0097] According to this structure, the motor current to the first electric motor 24a is stable before and after the hand 3 picks up the workpiece W. In this way, the change in the motor current to the first electric motor 24a caused by the hand 3 picking up the workpiece W can be stably obtained. In other words, the first current value Ia and the second current value Ib can be obtained in a state where the motor current is relatively stable. In this way, the height position of the hand 3 based on the change in the motor current can be corrected with good accuracy.
[0098] [6] In the robot system 100 described in [2], the control device 6 corrects the target height after the hand 3 picks up the workpiece W.
[0099] According to this configuration, the target height of the hand 3 is corrected after the hand 3 picks up the workpiece W. That is, the motor current to the first electric motor 24a may vary before and after the hand 3 picks up the workpiece W. Therefore, after the hand 3 picks up the workpiece W, the target height is corrected.
[0100] [7] In the robot system 100 described in any one of [1] to [6], the robot arm 2 has a plurality of links 22 connected so as to be rotatable in the horizontal direction.
[0101] According to this configuration, the robot 1 is a so-called horizontal articulated robot. By correcting the target height of the hand 3, the positional accuracy of the height of the hand 3 in the horizontal articulated robot can be further improved.
[0102] [8] In the robot system 100 described in any one of [1] to [6], the hand 3 holds a substrate as a workpiece W.
[0103] According to this structure, the robot 1 transports a substrate. For example, the processing of semiconductor crystals requires high positional accuracy. Since the robot 1 appropriately adjusts the actual height of the hand 3 according to the weight of the substrate such as the semiconductor crystal, the substrate can be transported with high positional accuracy.
[0104] [9] In the robot system 100 described in any one of [1] to [6], the hand 3 holds any one of a plurality of types of workpieces W.
[0105] According to this configuration, the robot 1 handles multiple types of workpieces W. The hand 3 holds a workpiece W selected from the multiple types of workpieces W. Since the control device 6 corrects the target height of the hand 3 according to the workpiece W, even if the hand 3 holds different types of workpieces W, the height position accuracy of the hand 3 can be suppressed from deteriorating.
[0106]
[10] The robot control method includes the steps of operating a robot arm 2 connected to a hand 3 holding a workpiece W, performing position control of the hand 3 , and correcting a target height of the hand 3 during the position control according to the workpiece W held by the hand 3 .
[0107] According to this configuration, by correcting the target height of the hand 3 according to the workpiece W, it is possible to reduce the change in the height of the hand 3 due to the weight of the workpiece W. Even if the weight of the workpiece W changes, the position accuracy of the height of the hand 3 can be stabilized. As a result, the position accuracy of the height of the hand 3 can be improved.
[0108]
[11] In order to enable the control device 6 (computer) to realize the function of controlling the robot 1, the robot control program 63a enables the control device 6 to realize the function of moving the robot arm 2 to perform position control of the hand 3 and the function of correcting the target height of the hand 3 in the position control according to the workpiece W held by the hand 3, the robot 1 has a hand 3 and a robot arm 2, the hand 3 holds the workpiece W, and the robot arm 2 is connected to the hand 3.
[0109] According to this configuration, by correcting the target height of the hand 3 according to the workpiece W, it is possible to reduce the change in the height of the hand 3 due to the weight of the workpiece W. Even if the weight of the workpiece W changes, the position accuracy of the height of the hand 3 can be stabilized. As a result, the position accuracy of the height of the hand 3 can be improved.
Claims
1. A robot system, characterized in that: The robot system includes a robot and a control device, wherein the robot has a hand and a robot arm, the hand holds a workpiece, the robot arm is connected to the hand, and the control device moves the robot arm to control the position of the hand. The control device corrects a target height of the hand in the position control according to a workpiece held by the hand.
2. The robot system according to claim 1, characterized in that: The robot arm has an electric motor that changes the height position of the hand, The control device corrects the target height based on a change in motor current supplied to the electric motor caused by the hand picking up the workpiece.
3. The robot system according to claim 2, characterized in that: The control device corrects the target height based on a previously acquired amount of change in the motor current when the hand does not pick up the workpiece and an actual amount of change in the motor current after the hand picks up the workpiece.
4. The robot system according to claim 2, characterized in that: The control device corrects the target height based on the actual amount of change in the motor current before the hand picks up the workpiece and the actual amount of change in the motor current after the hand picks up the workpiece in a series of actions in which the hand picks up the workpiece and transports the workpiece through the position control.
5. The robot system according to claim 4, characterized in that: The control device causes the robot arm and the hand to perform a constant speed motion in which the height position of the hand changes at a constant speed before and after the hand picks up the workpiece. The target height is corrected based on an amount of change in the actual motor current before the hand picks up the workpiece and the actual motor current after the hand picks up the workpiece during the constant speed operation.
6. The robot system according to claim 2, characterized in that: The control device corrects the target height after the hand picks up the workpiece.
7. The robot system according to any one of claims 1 to 6, characterized in that: The robot arm has a plurality of links rotatably connected in a horizontal direction.
8. The robot system according to any one of claims 1 to 6, characterized in that: The hand holds the substrate as a workpiece.
9. The robot system according to any one of claims 1 to 6, characterized in that: The hand holds any one of a variety of workpieces.
10. A robot control method, characterized in that: The robot control method includes the steps of operating a robot arm to which a hand holding a workpiece is connected, performing position control of the hand, and correcting a target height of the hand in the position control according to the workpiece held by the hand.
11. A robot control program, used to enable a computer to realize a function of controlling a robot, wherein the robot has a hand and a robot arm, wherein the hand holds a workpiece and the robot arm is connected to the hand, characterized in that: The robot control program is used to cause a computer to realize a function of operating the robot arm to perform position control of the hand and a function of correcting a target height of the hand in the position control according to a workpiece held by the hand.
Citation Information
Patent Citations
Deflection correcting system for robot
JP1992233602A