WO2024010012A1 - ロボットシステム、ロボット制御方法及びロボット制御プログラム - Google Patents
ロボットシステム、ロボット制御方法及びロボット制御プログラム Download PDFInfo
- Publication number
- WO2024010012A1 WO2024010012A1 PCT/JP2023/024839 JP2023024839W WO2024010012A1 WO 2024010012 A1 WO2024010012 A1 WO 2024010012A1 JP 2023024839 W JP2023024839 W JP 2023024839W WO 2024010012 A1 WO2024010012 A1 WO 2024010012A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hand
- workpiece
- robot
- control device
- target
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 10
- 239000000758 substrate Substances 0.000 claims description 22
- 230000033001 locomotion Effects 0.000 claims description 20
- 230000032258 transport Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000000630 rising effect Effects 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000011521 glass Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 235000012431 wafers Nutrition 0.000 description 4
- 210000000078 claw Anatomy 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/67—Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
- H01L21/677—Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for conveying, e.g. between different workstations
Definitions
- the technology disclosed herein relates to a robot system, a robot control method, and a robot control program.
- Patent Document 1 corrects the position of the hand of the robot in consideration of the deflection of the robot. Specifically, this robot system corrects the position of the robot's hand in consideration of the fact that the robot's deflection changes depending on the robot's posture.
- the positional accuracy of the hand can be improved by taking into account the deflection of the robot arm.
- the deflection of the robot also varies based on factors other than the robot's posture. In other words, there is room for further improvement in the positional accuracy of the hand.
- the technology disclosed herein has been made in view of this point, and its purpose is to improve the positional accuracy of the hand in the robot arm.
- a robot system of the present disclosure includes a robot having a hand that holds a workpiece and a robot arm to which the hand is connected, and a control device that operates the robot arm to control the position of the hand.
- the apparatus corrects a target height of the hand in the position control according to a workpiece held by the hand.
- a robot control method of the present disclosure includes operating a robot arm connected to a hand that holds a workpiece to control the position of the hand, and maintaining a target height of the hand in the position control by the hand. This includes making corrections according to the workpiece.
- the robot control program of the present disclosure is a robot control program for causing a computer to realize a function of controlling a robot having a hand that holds a workpiece and a robot arm to which the hand is connected, the program operating the robot arm. This allows the computer to realize a function of controlling the position 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.
- the positional accuracy of the hand on the robot arm can be improved.
- the positional accuracy of the hand on the robot arm can be improved.
- the positional accuracy of the hand on the robot arm can be improved.
- FIG. 1 is a schematic diagram showing a robot system.
- FIG. 2 is a schematic plan view of the robot system installed in a clean room.
- FIG. 3 is a diagram showing a schematic hardware configuration of the control device.
- FIG. 4 is a functional block diagram showing the configuration of the control system of the control unit of the control device.
- FIG. 5 is a schematic diagram showing a workpiece in the first box or the second box.
- FIG. 6 is a flowchart of the transport operation.
- FIG. 7 is a graph showing the motor current to the first electric motor and the height of the hand.
- FIG. 8 is a schematic diagram for explaining the hand in a rising motion.
- FIG. 9 is a graph showing the motor current to the first electric motor and the height of the hand during the transport operation when the target height of the hand is not corrected.
- FIG. 1 is a schematic diagram showing a robot system 100.
- FIG. 2 is a schematic plan view of the robot system 100 installed in a clean room 110.
- the robot system 100 includes a robot 1 and a control device 6 that controls the robot 1.
- the robot 1 includes a hand 3 that holds a workpiece W, and a robot arm 2 to which the hand 3 is connected.
- the robot 1 is a so-called horizontal articulated robot, and is a SCARA (Selective Compliance Assembly Robot Arm) type robot.
- the robot 1 may further include a base 10 to which the robot arm 2 is connected.
- the hand 3 is a so-called end effector.
- the control device 6 operates the robot arm 2 to control the position of the hand 3, that is, the position of the workpiece W.
- the robot 1 handles various types of workpieces W.
- the hand 3 holds any one of the plurality of types of workpieces W.
- one of the works W is a substrate.
- the substrate can be a thin plate that is a substrate material for semiconductor devices, such as a semiconductor substrate (ie, a semiconductor wafer) and a glass substrate (ie, a glass wafer).
- the semiconductor substrate include a silicon substrate and a sapphire substrate.
- Examples of the glass substrate include a glass substrate for FPD (Flat Panel Display), a glass substrate for MEMS (Micro Electro Mechanical Systems), and the like.
- FPD Fluor Panel Display
- MEMS Micro Electro Mechanical Systems
- the robot 1 can handle substrates of different sizes, such as 200 mm, 300 mm, or 450 mm, as workpieces W, for example.
- the plurality of works W includes a focus ring, a jig, an assembly in which the substrate is assembled into the jig, and the like. Note that the work W is not limited to these, and may include any parts.
- robot 1 is a robot compatible with clean rooms.
- the robot 1 is placed and used in a clean room 110.
- the clean room 110 is partitioned by a plurality of peripheral walls, and the inside thereof is kept clean, that is, kept clean.
- the clean room 110 is provided with a first box 111 as a first place where the workpiece W is placed, and a second box 112 as a second place where the workpiece W is placed.
- the robot arm 2 includes an elevator 21 provided on a base 10 so as to be able to move up and down in a substantially vertical direction, a plurality of links 22, a plurality of joints 23 that connect the links 22 so as to be rotatable in a horizontal direction, and an elevator 21. and a plurality of electric motors 24 that operate the links 22, and an encoder 25 provided in each electric motor 24.
- the elevator 21 is formed into a columnar shape. When the elevator 21 is in its lowest position, most of the elevator 21 is accommodated within the base 10. The elevator 21 rises so as to protrude upward from the base 10.
- the plurality of links 22 include a first link 22a, a second link 22b, and a third link 22c.
- links 22 When the first link 22a, the second link 22b, and the third link 22c are not distinguished from each other, they are simply referred to as "links 22."
- the first link 22a is connected to the elevator 21 via a joint 23 so as to be rotatable in a substantially horizontal direction.
- the second link 22b is connected to the first link 22a and the third link 22c via a joint 23 so as to be rotatable in a substantially horizontal direction.
- the hand 3 is connected to the third link 22c via a joint 23 so as to be rotatable in a substantially horizontal direction.
- the link 22 has a shape extending in a predetermined longitudinal direction.
- the link 22 is formed in a hollow shape and has an internal space.
- One end of both ends in the longitudinal direction of the link 22 is referred to as a first end, and the other end is referred to as a second end.
- a first end of the first link 22a is connected to the elevator 21 so as to be rotatable about an axis L1 extending substantially vertically.
- a first end of a second link 22b is rotatably connected to a second end of the first link 22a about an axis L2 extending substantially vertically.
- a first end of a third link 22c is rotatably connected to a second end of the second link 22b about an axis L3 extending substantially vertically.
- the hand 3 is rotatably connected to the second end of the third link 22c about an axis L4 extending substantially vertically.
- the first link 22a, second link 22b, third link 22c, and 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 substantially horizontally without interfering with each other.
- the hand 3 includes a main body 31 and a holding portion 32 that is connected to the main body 31 and divided into two.
- the hand 3 is formed into a plate shape.
- the hand 3 is formed into a substantially Y-shape when viewed in its thickness direction.
- the main body 31 is connected to the second end of the third link 22c.
- Holding by the hand 3 can be achieved in various ways, such as gripping, suction, placement, or fitting.
- the hand 3 is configured to grip the workpiece W.
- a claw 33 is fixedly provided at each of the two tips of the holding part 32.
- the main body 31 is provided with a movable pawl 34 and a holding actuator 35 (see FIG. 2) that drives the pawl 34.
- the holding actuator 35 includes, for example, an air cylinder.
- the holding actuator 35 switches between holding and releasing the holding of the workpiece W by the hand 3 by driving the claw 34 with an air cylinder.
- the electric motor 24 is, for example, a servo motor.
- 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 link 22.
- the first electric motor 24a raises and lowers the elevator 21.
- the first electric motor 24a is housed inside the base 10.
- the second electric motor 24b rotationally drives the corresponding joint 23.
- the second electric motor 24b is housed in the internal space of the link 22.
- the control device 6 controls the robot arm 2 and hand 3 to operate the robot 1.
- position control the control device 6 sets target positions of the robot arm 2 and hand 3, and controls the robot arm 2 and hand 3 so that the hand 3 is positioned 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 position control according to the workpiece W held by the hand 3.
- FIG. 3 is a diagram showing a schematic hardware configuration 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, a holding actuator 35, and the like. Although only one set is shown in FIG. 3, 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 controller 60 controls the holding actuator 35 and also controls the robot 1 via the servo amplifier 61.
- the main controller 60 controls an electromagnetic valve that switches the supply of air to the air cylinder of the holding actuator 35, and switches between holding and releasing the holding of the work W by the hand 3.
- the main controller 60 outputs command values regarding the rotational position, rotational speed, or rotational torque of each electric motor 24 of the robot 1 to the servo amplifier 61.
- Servo amplifier 61 applies motor current to each electric motor 24 according to a command value from main controller 60 .
- the servo amplifier 61 has 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 of the motor current based on the detection results of each encoder 25. Thereby, the control device 6 moves the hand 3 to the target position or moves it at the target speed or target acceleration.
- the control device 6 causes the robot 1 to perform a transport operation by controlling the electric motor 24 and the holding actuator 35.
- a target position that is, a target trajectory, of the hand 3 when performing the transport operation is set in advance.
- the main controller 60 outputs a command value corresponding to the target position of the hand 3, that is, a target rotational position of each electric motor 24 to the servo amplifier 61.
- the servo amplifier 61 applies a motor current corresponding to the command value to each electric motor 24.
- the servo amplifier 61 performs feedback control of the motor current based on the detection result of the encoder 25 so that the rotational position of the electric motor 24 becomes the target rotational position. In this way, the main controller 60 controls each electric motor 24 so that the hand 3 is positioned at the target position.
- the main controller 60 also operates the holding actuator 35 to switch between holding and releasing the holding of the workpiece W by the hand 3.
- the main control device 60 includes a control section 62, a storage section 63, and a memory 64.
- the control unit 62 controls the entire main control device 60.
- the control unit 62 performs various calculation processes.
- the control unit 62 is formed of a processor such as a CPU (Central Processing Unit).
- the control unit 62 may be formed of an MCU (Micro Controller Unit), an MPU (Micro Processor Unit), an FPGA (Field Programmable Gate Array), a PLC (Programmable Logic Controller), a system LSI, or the like.
- the storage unit 63 stores programs executed by the control unit 62 and various data. Specifically, the storage unit 63 stores a robot control program 63a. Furthermore, the storage unit 63 stores teaching data for operating the robot 1.
- the storage unit 63 is formed of a nonvolatile memory, an HDD (Hard Disc Drive), an SSD (Solid State Drive), or the like.
- Each memory 64 temporarily stores data and the like.
- memory 64 is formed of volatile memory.
- FIG. 4 is a functional block diagram showing the configuration of the control system of the control unit 62 of the control device 6.
- the control unit 62 implements various functions by reading the robot control program 63a from the storage unit 63 into the memory 64 and expanding it.
- the control section 62 functions as a goal setting section 65 , an operation control section 66 , and a correction section 67 .
- the target setting unit 65 determines the target positions of the robot arm 2 and hand 3 (hereinafter referred to as "target positions of the robot arm 2, etc.”), as well as the target positions of the robot arm 2 and hand 3 when operating and deactivating the holding actuator 35.
- a target position (hereinafter referred to as “target operation position of the holding actuator 35") is set.
- the target setting unit 65 reads the teaching data from the storage unit 63 and generates the target position of the robot arm 2 and the like and the operation target position of the holding actuator 35 according to the teaching data.
- the teaching data may be data corresponding to target trajectories of the robot arm 2 and hand 3, that is, target positions.
- the teaching data also includes the target positions of the robot arm 2 and hand 3 when operating and releasing the holding actuator 35.
- the teaching data is the target rotational position of each electric motor 24 corresponding to the target position of the robot arm 2 and hand 3.
- the target setting unit 65 substantially sets the target rotational position of each electric motor 24 corresponding to the target position of the robot arm 2 etc. and the operation target position of the holding actuator 35 .
- the operation 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 operation control unit 66 outputs the target rotational position of each electric motor 24 to the servo amplifier 61 as a command rotational position.
- the servo amplifier 61 applies a motor current corresponding to the commanded rotational position to each electric motor 24 .
- the servo amplifier 61 controls the motor current so that the rotational position of each electric motor 24 becomes a commanded rotational position.
- the operation control unit 66 outputs an operation command to the holding actuator 35 at the timing of outputting the command rotation position corresponding to the target operation position of the holding actuator 35 to the servo amplifier 61.
- the holding actuator 35 switches between holding and releasing the holding of the work W in accordance with an operation command.
- 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.
- the target rotational position of the electric motor 24 is set as the target position
- the target rotational position of the electric motor 24 corresponding to the target height of the hand 3 is corrected.
- the correction unit 67 corrects the target rotational position of the first electric motor 24a set by the target setting unit 65.
- the operation control unit 66 generates a command value corresponding to the corrected target height, and outputs the command value to the servo amplifier 61.
- the correction unit 67 corrects the target height of the hand 3 according to the workpiece W held by the hand 3.
- the correction unit 67 corrects the target height such that the heavier the workpiece W is, the higher the target height of the hand 3 is.
- the control device 6 causes the robot 1 to perform a transport operation of picking a workpiece W placed in the first box 111 and transporting it to the second box 112.
- FIG. 5 is a schematic diagram showing the work W in the first box 111 or the second box 112.
- FIG. 6 is a flowchart of the transport operation.
- the workpiece W is placed on the stage 113 in the first box 111 or the second box 112, as shown in FIG.
- the workpiece W is simply placed on the stage 113.
- the stage 113 supports the lower surface of the end of the workpiece W.
- the control device 6 first sets the target positions of the robot arm 2 and hand 3 in step S101. Specifically, the target setting unit 65 sets the target rotational position of each electric motor 24 corresponding to the target position of the robot arm 2 and hand 3 in the transfer operation based on the teaching data stored in the storage unit 63. .
- 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 the hand 3 can enter below the workpiece W in the first box 111. It's height.
- the target height at the starting position is referred to as "first target height Z1.”
- the control device 6 positions the robot arm 2 and the hand 3 at the starting position by applying a motor current to each electric motor 24.
- FIG. 7 is a graph showing the motor current to the first electric motor 24a and the height of the hand 3.
- illustration of the motor current to each second electric motor 24b and the horizontal position of the hand 3 is omitted.
- the servo amplifier 61 adjusts the motor current of the first electric motor 24a so that the rotational position of the first electric motor 24a becomes a position corresponding to the first target height Z1.
- the actual height of the hand 3 (hereinafter referred to as "actual height") is adjusted to approximately the same height as the first target height Z1.
- the control device 6 causes the robot 1 to perform the first horizontal movement in step S103.
- the robot arm 2 moves the hand 3 in the horizontal direction to below the work W in the first box 111.
- the control device 6 operates the link 22 by controlling the second electric motor 24b, and moves the hand 3 below the workpiece W in the first box 111.
- the height of the hand 3 is not changed, so the motor current to the first electric motor 24a hardly changes from when it is located at the starting position, as shown in FIG.
- FIG. 8 is a schematic diagram for explaining the hand 3 in a rising motion.
- 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 stage 113 inside the first box 111.
- the control device 6 causes the robot arm 2 and the hand 3 to perform a uniform motion in which the hand 3 ascends at a constant velocity.
- the control device 6 controls the rising speed of the hand 3 by adjusting the motor current to the first electric motor 24a.
- Step S104 corresponds to operating a robot arm to which a hand holding a workpiece is connected to control the position of the hand.
- the control device 6 detects the motor current of the first electric motor 24a using the current sensor 61a during the ascending operation.
- the control device 6 records the detected motor current, that is, the current value (hereinafter referred to as “detected current value”) in the storage unit 63 or the memory 64. Note that the control device 6 may detect and record the current value of the motor current of the first electric motor 24a not only during the lifting operation but also during the conveying operation.
- the hand 3 passes the position of the workpiece W from the first target height Z1 to the second target height Z2. At this time, the hand 3 picks up the workpiece W from the stage 113. The workpiece W is placed on the hand 3. Note that the hand 3 is ascending at a substantially constant speed at least before and after picking up the workpiece W, so the hand 3 picks up the workpiece W in a stable manner.
- the control device 6 monitors the variation in the motor current of the first electric motor 24a during the ascending operation, and determines in step S105 whether the amount of variation in the motor current is greater than or equal to a predetermined threshold. If the amount of variation in the motor current is less than the threshold, the control device 6 repeats step S105. If the amount of variation in the motor current is equal to or greater than the threshold value, the control device 6 proceeds to step S106 and corrects the target height of the hand 3. Step S106 corresponds to correcting the target height of the hand in the position control according to the workpiece held by the hand.
- the control device 6 calculates an average current value that is a moving average value of the detected current values recorded in the storage unit 63 or the memory 64 during the rising operation.
- the correction unit 67 of the control device 6 determines whether or not the amount of variation in the average current value is equal to or greater than a predetermined threshold value in the time-measured change in the average current value.
- the threshold value is a value corresponding to the amount of variation in the average current value caused by the hand 3 picking up the workpiece W.
- the threshold value is a value corresponding to the amount of variation in the average current value caused by the hand 3 picking up the lightest workpiece W handled by the robot 1.
- the correction unit 67 repeats step S105 and waits until the amount of variation in the average current value becomes equal to or greater than the threshold.
- the correction unit 67 sets the average current value immediately before the amount of variation is greater than or equal to the threshold as the first current value Ia, and determines that the amount of variation is greater than or equal to the threshold.
- the average current value when the current value becomes the second current value Ib, and the correction amount ⁇ Z of the target height of the hand 3 is determined by the following equation (1).
- ⁇ Z K ⁇ (Ib-Ia)...(1)
- K is a correction coefficient and is stored in the storage unit 63 in advance.
- Ib-Ia is the amount of variation ⁇ I in the motor current to the first electric motor 24a due to the hand 3 picking up the workpiece W. This variation in 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 is not picking 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.
- 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 during a series of transport operations, that is, during the same transport operation. Further, the first current value Ia is the current value immediately before the hand 3 picks up the workpiece W, and the second current value Ib is the current value immediately after the hand 3 picks up the workpiece W, so the first current value Ia and the second current value Ib are the current values of the motor current when the hand 3 is rising at approximately constant speed.
- the correction unit 67 corrects the second target height Z2 of the hand 3 using a 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 rotational position of the first electric motor 24a by a 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 before placing the workpiece W on the stage 113 in the second box 112.
- step S107 the control device 6 operates the holding actuator 35 to cause the hand 3 to hold the workpiece W. Since the control device 6 controls the position of the hand 3, it knows the timing when the hand 3 approximately passes the height of the workpiece W. The control device 6 operates the holding actuator 35 at a timing after the hand 3 passes the height of the workpiece W, that is, after the hand 3 picks up the workpiece W. Note that the operation timing of the holding actuator 35 may be after the hand 3 picks up the work W, but before the target height of the hand 3 is corrected.
- the motor current to the first electric motor 24a fluctuates due to the hand 3 picking up the workpiece W.
- the motor current for realizing the target rotational position of the first electric motor 24a increases by the weight of the workpiece W.
- the increase in the motor current due to the weight of the workpiece W becomes the motor current variation amount ⁇ I.
- the amount of variation ⁇ I in the motor current changes depending on the weight of the workpiece W.
- the amount of variation ⁇ I in the motor current also increases.
- the amount of variation ⁇ I in the motor current is approximately proportional to the weight of the workpiece W.
- 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 dimensions, deflection, wobbling, etc. 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 apparently heavier by the amount of the workpiece W. Even if the rotational position of the first electric motor 24a is the same, the deflection, wobbling, etc. of the robot arm 2 and hand 3 will vary depending on whether or not the hand 3 is holding the workpiece W, and the actual height of the hand 3 will vary. It can be different.
- FIG. 9 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.
- the weight of the work W increases the deflection and wobbling of the robot arm 2 and hand 3, so the actual height of the hand 3 corresponding to the target rotational position of the first electric motor 24a is lower than before picking up the work W. Become. In other words, the actual height of the hand 3 becomes lower than the target height corresponding to the target rotational position of the first electric motor 24a.
- the amount of variation in the actual height of the hand 3 due to the weight of the workpiece W is approximately proportional to the weight of the workpiece W. As the weight of the work W increases, the amount of variation in the actual height of the hand 3 also increases. As described above, the amount of variation ⁇ I in the motor current is also approximately proportional to the weight of the workpiece W. In other words, the amount of variation in the actual height of the hand 3 due to the weight of the workpiece W is approximately proportional to the amount of variation ⁇ I in the motor current. Therefore, the control device 6 multiplies the motor current variation amount ⁇ I by the correction coefficient K to obtain the correction amount ⁇ Z, as shown in equation (1).
- 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 positioned at a target rotational position corresponding to the corrected second target height Z2'.
- the actual height of the hand 3 becomes higher than when the target height is not corrected, and approaches the second target height Z2 before correction.
- the second target height Z2' after correction is a control target height, and the actual target height of the hand 3 remains the second target height Z2 before correction. Note that since the second target height Z2' becomes higher due to the correction, the time for the hand 3 to rise becomes longer, and the period during which the motor current to the first electric motor 24a is large increases accordingly.
- the control device 6 causes the robot 1 to execute the second horizontal movement in step S108.
- the robot arm 2 moves the hand 3 in the horizontal direction from the first box 111 to above the stage 113 in the second box 112.
- the control device 6 operates the link 22 by controlling the second electric motor 24b, and moves the hand 3 into the second box 112.
- the motor current to the first electric motor 24a hardly changes. That is, the actual height of the hand 3 remains substantially the same as the second target height Z2 before correction.
- the control device 6 causes the robot 1 to perform a descending operation in step S110.
- the robot 1 moves the hand 3 downward from the corrected second target height Z2' to the first target height Z1.
- the control device 6 causes the robot arm 2 and the hand 3 to perform a uniform motion in which the hand 3 descends at a constant velocity.
- the control device 6 controls the descending speed of the hand 3 by adjusting the motor current to the first electric motor 24a. Note that the lowering operation is omitted in FIGS. 7 and 9.
- the control device 6 stops the operation of the holding actuator 35 and causes the hand 3 to release the holding of the workpiece W in step S110. After the hand 3 releases the holding of the workpiece W, the workpiece W is transferred from the hand 3 to the stage 113.
- the conveyance operation ends.
- the target height of the hand 3 in 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.
- the height position of the hand 3 does not vary depending on the work 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 transports multiple types of workpieces W, the correction amount of the target height of the hand 3 is adjusted according to the weight of the workpieces W. As a result, the positional accuracy of the hand 3 with respect to any type of work W can be improved.
- the control device 6 automatically adjusts the correction amount according to the workpiece W.
- the user does not need to reset the correction amount and the like every time the workpiece W is changed.
- the control device 6 corrects the target height based on a change in the motor current to the first electric motor 24a caused by the hand 3 picking up the workpiece W.
- the motor current to the first electric motor 24a varies depending on the weight of the workpiece W.
- 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 transport operation, the control device 6 can correct the target height of the hand 3 without inputting the type or weight of the workpiece W from the user. The amount can be determined automatically.
- control device 6 also acquires the motor current to the first electric motor 24a before the hand 3 picks up the workpiece W during the transport operation.
- the control device 6 acquires 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 a series of transfer operations, that is, during the same transfer operation.
- the amount of correction for the target height of the hand 3 is determined based on the amount of variation in these motor currents. Therefore, the user does not need to input the motor current to the first electric motor 24a to the control device 6 before the hand 3 picks up the workpiece W.
- control device 6 controls the weight of the workpiece W. It is possible to realize correction of the target height that appropriately reflects the
- the control device 6 causes the robot arm 2 and the hand 3 to perform a uniform motion in which the height position of the hand 3 changes uniformly before and after the hand 3 picks up the workpiece W. That is, before and after the hand 3 picks up the workpiece W, fluctuations in the motor current to the first electric motor 24a due to factors other than the weight of the workpiece W can be reduced. Thereby, the control device 6 can realize correction of the target height that more appropriately reflects the weight of the workpiece W.
- the robot 1 is not limited to one used for transporting substrates.
- the robot 1 is not limited to use in a clean environment where semiconductors can be processed.
- the robot 1 may be incorporated into a production line or the like.
- the robot 1 is not limited to a horizontal articulated robot.
- the robot 1 may be a vertically articulated robot.
- the robot 1 only needs to have a robot arm to which a hand is connected.
- the robot arm 2 does not need to be composed of multiple links 22.
- the number of divisions of the robot arm 2, that is, the number of links 22 is not limited to three.
- the robot arm 2 may have two or more links 22.
- the configuration of the hand 3 is not limited to the above-mentioned configuration.
- the holding of the workpiece by the hand 3 is not limited to gripping with claws.
- the hand 3 can hold the workpiece by suction.
- the hand 3 can hold the work by simply supporting the work from below, that is, by simply placing the work on it.
- the hand 3 may grip the workpiece with a plurality of fingers.
- the correction of the target height of the hand 3 is not limited to the above-mentioned method.
- the amount of variation in the first electric motor 24a is not limited to the value determined by the method described above.
- the motor current is not limited to a moving average value, and may be a value that has not been averaged.
- the first current value Ia and the second current value Ib are not limited to the current values immediately before and after the amount of variation becomes equal to or greater than the threshold value. Since the positions of the hand 3 and the work W are approximately known, the current value at a predetermined timing before the hand 3 picks up the work W is set as the first current value Ia, and the current value at a predetermined timing after the hand 3 picks up the work W is set as the first current value Ia. The current value may be set as the second current value Ib.
- the first current value Ia may be a pre-obtained current value of the motor current to the first electric motor 24a when the hand 3 is not picking up the workpiece W.
- the second current value Ib reflects the weight of the workpiece W, and is therefore acquired during the actual transport operation.
- the conditions for acquiring the first current value Ia are preferably close to the conditions for acquiring the second current value Ib. Therefore, the robot 1 may perform the same operation as the transport operation without picking the workpiece W, and the first current value Ia may be acquired at the timing when the second current value Ib is acquired in the transport operation. Thereby, the first current value Ia and the second current value Ib can be obtained under substantially the same conditions except whether or not the workpiece W is held.
- the correction amount ⁇ Z is not limited to that determined by equation (1).
- the control device 6 may store in advance, in the storage unit 63 or the like, a table that defines the relationship between the amount of variation in motor current and the amount of correction of the target height. In that case, the control device 6 compares the amount of variation in the motor current with the table in the storage section 63 to determine the amount of correction for the target height. Further, the control device 6 is not limited to one that continuously changes the correction amount of the target height according to the amount of variation in the motor current. For example, the control device 6 may adjust the correction amount of the target height in stages according to the amount of variation in the motor current. For example, the control device 6 may prepare in advance a plurality of target height correction amounts having different sizes, and select one of the correction amounts depending on the amount of variation in the motor current.
- the timing for correcting the target height of the hand 3 can also be set arbitrarily.
- the control device 6 calculates the correction amount ⁇ Z and corrects the target height of the hand 3. For example, after controlling the height of the hand 3 to the second target height Z2, the control device 6 corrects the second target height Z2 to the second target height Z2', and controls the hand 3 to the second target height Z2. It may be controlled to be located at Z2'.
- the flowchart is just an example. Steps in the flowchart may be changed, replaced, added, omitted, etc. as appropriate. Furthermore, the order of steps in the flowchart may be changed, or serial processing may be processed in parallel. For example, in the flowchart of the transport operation (FIG. 6), the correction of the target height in step S106 and the holding operation in step S107 may be performed in parallel, or the order may be switched. Furthermore, the order of lowering in step S109 and release of holding in step 110 may be reversed.
- the functions achieved by the components described herein include general-purpose processors, special-purpose processors, integrated circuits, and ASICs (Application Specific Integrated Circuits) programmed to perform the described functions. It may be implemented in circuitry or processing circuitry, including a Central Processing Unit (CPU), conventional circuitry, and/or combinations thereof.
- a processor includes transistors and other circuits and is considered a circuit or an operational circuit.
- the processor may be a programmed processor that executes a program stored in memory.
- a circuit, unit or means is hardware that is programmed to perform or performs the functions described.
- the hardware may be any hardware disclosed herein or programmed to perform or known to perform the described functions. good.
- the circuit, means or unit is a combination of hardware and software used to configure the hardware and/or processor. be.
- the robot system 100 includes a robot 1 having a hand 3 that holds a workpiece W and a robot arm 2 to which the hand 3 is connected, and operates the robot arm 2 to control the position 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.
- the deflection of the robot arm 2 and hand 3 caused by acquiring the workpiece W differs depending on the weight of the workpiece W. That is, the height of the hand 3 can vary depending on the weight of the workpiece W.
- the target height of the hand 3 according to the workpiece W fluctuations in the height of the hand 3 according to the weight of the workpiece W can be reduced. Even if the weight of the workpiece W changes, the positional accuracy of the height of the hand 3 can be stabilized. As a result, the height positional accuracy of the hand 3 can be improved.
- the robot arm 2 includes a first electric motor 24a that changes the height position of the hand 3, and the control device 6 controls the hand 3 to move the workpiece W.
- the target height is corrected based on the variation in motor current to the first electric motor 24a caused by the change in height.
- the motor current to the first electric motor 24a varies depending on the weight of the workpiece W.
- the variation in the motor current to the first electric motor 24a caused by picking up the workpiece W reflects the weight of the workpiece W.
- the control device 6 controls the motor to the first electric motor 24a when the hand 3 is not picking up the workpiece W, which is acquired in advance.
- the target height is corrected based on the amount of variation between the current and the actual motor current flowing to the first electric motor 24a after the hand 3 picks up the workpiece W.
- the motor current to the first electric motor 24a when the hand 3 is not picking up the workpiece W that is, the first current value Ia is obtained in advance.
- 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
- the current value of the actual motor current is acquired during the position control of the hand 3.
- the second current value Ib changes depending on the weight of the workpiece W picked up by the hand 3.
- the first current value Ia is not affected by the workpiece W. Therefore, the first current value Ia can be obtained in advance. This makes it possible to simplify the processing during correction in actual position control.
- the control device 6 controls whether the hand 3 picks up the workpiece W in a series of operations in which the hand 3 picks up the workpiece W and transports it by the position control.
- the target height is corrected based on the amount of variation between the previous actual motor current and the actual motor current after the hand 3 picks up the workpiece W.
- the motor current to the first electric motor 24a when the hand 3 is not picking up the workpiece W is also the same as the motor current to the first electric motor 24a when the hand 3 is picking up the workpiece W.
- the motor current to the motor 24a ie, the second current value Ib, is also obtained during a series of actual conveyance operations. In this case, since there is no need to obtain the current value of the motor current in advance, the correction process is simplified in this respect.
- the control device 6 controls the height position of the hand 3 to be at a constant speed before and after the hand 3 picks up the workpiece W.
- the robot arm 2 and the hand 3 are caused to perform varying constant velocity motions, and the actual motor current before the hand 3 picks up the work W during the constant velocity motion and the actual motor current before the hand 3 picks up the work W are determined.
- the target height is corrected based on the subsequent amount of variation from the actual motor current.
- the motor current to the first electric motor 24a is stabilized before and after the hand 3 picks up the workpiece W.
- fluctuations in the motor current to the first electric motor 24a caused by the hand 3 picking up the workpiece W can be stably acquired. That is, the first current value Ia and the second current value Ib can be obtained while the motor current is relatively stable. Thereby, it is possible to accurately correct the height position of the hand 3 based on fluctuations in the motor current.
- control device 6 corrects the target height after the hand 3 picks up the workpiece W.
- the target height of the hand 3 is corrected after the hand 3 picks up the workpiece W.
- the motor current to the first electric motor 24a may vary before and after the hand 3 picks up the workpiece W. Therefore, the target height is corrected after the hand 3 picks up the workpiece W.
- the robot arm 2 includes a plurality of links 22 that are rotatably connected in a horizontal direction.
- the robot 1 is a so-called horizontal articulated robot.
- the positional accuracy of the height of the hand 3 in the horizontal articulated robot can be further improved.
- the robot 1 transports the substrate.
- handling semiconductor wafers requires high positional accuracy.
- the actual height of the hand 3 is appropriately adjusted according to the weight of the substrate such as a semiconductor wafer, so that the substrate can be transported with high positional accuracy.
- the hand 3 holds any one of a plurality of types of work W.
- the robot 1 handles multiple types of workpieces W.
- the hand 3 holds a workpiece W selected from a plurality of types of workpieces W. Since the control device 6 corrects the target height of the hand 3 according to the workpiece W, deterioration in the positional accuracy of the height of the hand 3 is suppressed even if the types of workpieces W held by the hand 3 are different.
- the robot control method includes operating a robot arm 2 to which a hand 3 that holds a workpiece W is connected to control the position of the hand 3, and setting a target height of the hand 3 in the position control. This includes correcting according to the workpiece W held by the hand 3.
- the robot control program 63a for causing the control device 6 (computer) to realize the function of controlling the robot 1 having the hand 3 that holds the workpiece W and the robot arm 2 to which the hand 3 is connected
- the control device 6 is provided with a function of controlling the position of the hand 3 by operating the arm 2, and a function of correcting the target height of the hand 3 in the position control according to the workpiece W held by the hand 3. make it happen.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- General Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
ロボットシステム100は、ワークWを保持するハンド3とハンド3が連結されたロボットアーム2とを有するロボット1と、ロボットアーム2を動作させて、ハンド3の位置制御を行う制御装置6とを備えている。制御装置6は、位置制御におけるハンド3の目標高さをハンド3によって保持されるワークWに応じて補正する。
Description
ここに開示された技術は、ロボットシステム、ロボット制御方法及びロボット制御プログラムに関する。
従来より、ワークを保持したハンドをロボットアームで移動させるロボットシステムが知られている。特許文献1に開示されたロボットシステムは、ロボットの撓みを考慮して、ロボットの手先位置を補正している。具体的には、このロボットシステムは、ロボットの姿勢に応じてロボットの撓みが変化することを考慮して、ロボットの手先位置を補正している。
前述の如く、ロボットアームによってワークを搬送するシステムにおいては、ロボットアームの撓み等を考慮することによって、ハンドの位置精度を向上させることができる。しかしながら、ロボットの撓みは、ロボットの姿勢以外の要因に基づいても変動する。つまり、ハンドの位置精度は、さらに向上させる余地がある。
ここに開示された技術は、かかる点に鑑みてなされたものであり、その目的とするところは、ロボットアームにおけるハンドの位置精度を向上させることにある。
本開示のロボットシステムは、ワークを保持するハンドと前記ハンドが連結されたロボットアームとを有するロボットと、前記ロボットアームを動作させて、前記ハンドの位置制御を行う制御装置とを備え、前記制御装置は、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持されるワークに応じて補正する。
本開示のロボット制御方法は、ワークを保持するハンドが連結されたロボットアームを動作させて、前記ハンドの位置制御を行うことと、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正することとを含む。
本開示のロボット制御プログラムは、ワークを保持するハンドと前記ハンドが連結されたロボットアームとを有するロボットを制御する機能をコンピュータに実現させるためのロボット制御プログラムであって、前記ロボットアームを動作させて、前記ハンドの位置制御を行う機能と、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正する機能とをコンピュータに実現させる。
前記ロボットシステムによれば、ロボットアームにおけるハンドの位置精度を向上させることができる。
前記ロボット制御方法によれば、ロボットアームにおけるハンドの位置精度を向上させることができる。
前記ロボット制御プログラムによれば、ロボットアームにおけるハンドの位置精度を向上させることができる。
以下、例示的な実施形態を図面に基づいて詳細に説明する。図1は、ロボットシステム100を示す模式図である。図2は、ロボットシステム100をクリーンルーム110に組み込んだ平面的な模式図である。
ロボットシステム100は、ロボット1と、ロボット1を制御する制御装置6とを備えている。ロボット1は、ワークWを保持するハンド3と、ハンド3が連結されたロボットアーム2とを有する。ロボット1は、いわゆる水平多関節ロボットであり、スカラ(SCARA: Selective Compliance Assembly Robot Arm)型のロボットである。ロボット1は、ロボットアーム2が連結された基台10をさらに有していてもよい。ハンド3は、いわゆるエンドエフェクタである。制御装置6は、ロボットアーム2を動作させて、ハンド3の位置制御、即ち、ワークWの位置制御を行う。
ロボット1は、様々な種類のワークWを扱う。つまり、ハンド3は、複数種類のワークWの何れかを保持する。例えば、ワークWの1つは、基板である。基板は、半導体基板(即ち、半導体ウェハ)及びガラス基板(即ち、ガラスウェハ)などの半導体デバイスの基板の材料となる薄板であり得る。半導体基板としては、例えば、シリコン基板、サファイヤ基板等がある。ガラス基板としては、例えば、FPD(Flat Panel Display)用ガラス基板、MEMS(Micro Electro Mechanical Systems)用ガラス基板等がある。ワークWが基板である場合、ロボット1は、複数種類の基板を扱い得る。ロボット1は、例えば、200mm、300mm又は450mm等のサイズの異なる基板をワークWとして扱い得る。複数のワークWには、基板以外に、フォーカスリング、治具、又は、治具に基板が組み込まれたアッセンブリ等が含まれる。尚、ワークWは、これらに限定されず、任意の部品が含まれ得る。
[ロボット]
例えば、ロボット1は、クリーンルーム対応のロボットである。ロボット1は、クリーンルーム110内に配置されて使用される。クリーンルーム110は、複数の周壁によって区画され、内部がクリーン化、即ち、清浄に保たれている。クリーンルーム110には、ワークWが配置される第1場所としての第1ボックス111と、ワークWが配置される第2場所としての第2ボックス112とが設けられている。
例えば、ロボット1は、クリーンルーム対応のロボットである。ロボット1は、クリーンルーム110内に配置されて使用される。クリーンルーム110は、複数の周壁によって区画され、内部がクリーン化、即ち、清浄に保たれている。クリーンルーム110には、ワークWが配置される第1場所としての第1ボックス111と、ワークWが配置される第2場所としての第2ボックス112とが設けられている。
ロボットアーム2は、略鉛直方向へ昇降可能に基台10に設けられた昇降器21と、複数のリンク22と、リンク22を水平方向に回転可能に連結する複数の関節23と、昇降器21及びリンク22を動作させる複数の電動モータ24と、各電動モータ24に設けられたエンコーダ25とを有している。
昇降器21は、柱状に形成されている。昇降器21が最も降下した状態においては、昇降器21の大部分が基台10内に収容される。昇降器21は、基台10から上方に突出するように上昇する。
複数のリンク22は、第1リンク22a、第2リンク22b及び第3リンク22cを含んでいる。第1リンク22a、第2リンク22b及び第3リンク22cのそれぞれを区別しない場合には、単に「リンク22」と称する。第1リンク22aは、略水平方向へ回転可能に関節23を介して昇降器21に連結されている。第2リンク22bは、第1リンク22aと第3リンク22cとにそれぞれ略水平方向へ回転可能に関節23を介して連結されている。第3リンク22cには、略水平方向へ回転可能にハンド3が関節23を介して連結されている。
具体的には、リンク22は、所定の長手方向に延びる形状を有している。リンク22は、中空状に形成され、内部空間を有している。リンク22の長手方向における両端部のうち一方の端部を第1端部と称し、他方の端部を第2端部と称する。第1リンク22aの第1端部は、略鉛直方向へ延びる軸L1回りに回転可能に昇降器21に連結されている。第1リンク22aの第2端部には、第2リンク22bの第1端部が略鉛直方向へ延びる軸L2回りに回転可能に連結されている。第2リンク22bの第2端部には、第3リンク22cの第1端部が略鉛直方向へ延びる軸L3回りに回転可能に連結されている。第3リンク22cの第2端部には、ハンド3が略鉛直方向へ延びる軸L4回りに回転可能に連結されている。
第1リンク22a、第2リンク22b、第3リンク22c、ハンド3は、この順で下から上へ、互いに接触しない状態で積み上げられている。第1リンク22a、第2リンク22b、第3リンク22c及びハンド3は、互いに干渉することなく略水平方向に回転する。
ハンド3は、本体31と、本体31に連結され、二又状に分かれた保持部32とを有している。ハンド3は、板状に形成されている。ハンド3は、その厚み方向を向いて見た場合に、略Y字状に形成されている。本体31は、第3リンク22cの第2端部に連結されている。
ハンド3による保持は、把持、吸着、載置又は嵌合等、様々な態様で実現し得る。この例では、ハンド3は、ワークWを把持するように構成されている。具体的には、保持部32の2つの先端部のそれぞれには爪33が固定的に設けられている。本体31には、移動可能な爪34と爪34を駆動する保持アクチュエータ35(図2参照)とが設けられている。保持アクチュエータ35は、例えばエアシリンダを有している。保持アクチュエータ35は、エアシリンダによって爪34を駆動することによって、ハンド3によるワークWの保持及び保持解除を切り替える。
電動モータ24は、例えばサーボモータである。エンコーダ25は、対応する電動モータ24の回転位置又は回転速度を検出する。複数の電動モータ24は、昇降器21用の第1電動モータ24aと、リンク22用の複数の第2電動モータ24bとを含む。第1電動モータ24aは、昇降器21を昇降させる。第1電動モータ24aは、基台10の内部に収容されている。第2電動モータ24bは、対応する関節23を回転駆動する。第2電動モータ24bは、リンク22の内部空間に収容されている。
制御装置6は、ロボットアーム2及びハンド3を制御して、ロボット1を動作させる。制御装置6は、位置制御において、ロボットアーム2及びハンド3の目標位置を設定し、ハンド3が目標位置に位置するようにロボットアーム2及びハンド3を制御する。ハンド3の目標位置には、ハンド3の目標高さが含まれる。制御装置6は、位置制御におけるハンド3の目標高さをハンド3によって保持するワークWに応じて補正する。
図3は、制御装置6の概略的なハードウェア構成を示す図である。制御装置6は、例えば、コンピュータである。制御装置6には、電動モータ24、エンコーダ25及び保持アクチュエータ35等が接続されている。尚、図3では、一組だけ図示されているが、制御装置6には複数組の第2電動モータ24b及びエンコーダ25が接続されている。制御装置6は、主制御装置60とサーボアンプ61とを有している。主制御装置60は、保持アクチュエータ35を制御すると共に、サーボアンプ61を介してロボット1を制御する。例えば、主制御装置60は、保持アクチュエータ35のエアシリンダへのエアの供給を切り替える電磁弁を制御して、ハンド3によるワークWの保持及び保持解除を切り替える。主制御装置60は、ロボット1の各電動モータ24の回転位置、回転速度又は回転トルクに関する指令値をサーボアンプ61に出力する。サーボアンプ61は、主制御装置60からの指令値に応じたモータ電流を各電動モータ24へ印加する。サーボアンプ61は、各電動モータ24へ印加されるモータ電流を検出する電流センサ61aを有している。このとき、サーボアンプ61は、各エンコーダ25の検出結果に基づいてモータ電流をフィードバック制御する。これにより、制御装置6は、ハンド3を目標位置へ移動させたり、目標速度又は目標加速度で移動させたりする。
一例として、制御装置6は、電動モータ24及び保持アクチュエータ35を制御することによって、ロボット1に搬送動作を実行させる。具体的には、制御装置6には、搬送動作を行う際のハンド3の目標位置、即ち、目標軌跡が予め設定されている。主制御装置60は、ハンド3の目標位置に対応する指令値、即ち、各電動モータ24の目標回転位置をサーボアンプ61へ出力する。サーボアンプ61は、指令値に対応するモータ電流を各電動モータ24へ印加する。サーボアンプ61は、電動モータ24の回転位置が目標回転位置になるように、モータ電流をエンコーダ25の検出結果に基づいてフィードバック制御する。こうして、主制御装置60は、ハンド3が目標位置に位置するように、各電動モータ24を制御する。また、主制御装置60は、保持アクチュエータ35を動作させて、ハンド3によるワークWの保持及び保持解除を切り替える。
主制御装置60は、制御部62と、記憶部63と、メモリ64とを有している。
制御部62は、主制御装置60の全体を制御する。制御部62は、各種の演算処理を行う。例えば、制御部62は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部62は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)、システムLSI等で形成されていてもよい。
記憶部63は、制御部62で実行されるプログラム及び各種データを格納している。具体的には、記憶部63は、ロボット制御プログラム63aを格納している。また、記憶部63は、ロボット1を動作させるための教示データを格納している。記憶部63は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
メモリ64はそれぞれ、データ等を一時的に格納する。例えば、メモリ64は、揮発性メモリで形成される。
図4は、制御装置6の制御部62の制御系統の構成を示す機能ブロック図である。制御部62は、記憶部63からロボット制御プログラム63aをメモリ64に読み出して展開することによって、各種機能を実現する。具体的には、制御部62は、目標設定部65と動作制御部66と補正部67として機能する。
目標設定部65は、ロボットアーム2及びハンド3の目標位置(以下、「ロボットアーム2等の目標位置」という)、並びに、保持アクチュエータ35を動作及び動作解除させるときのロボットアーム2及びハンド3の目標位置(以下、「保持アクチュエータ35の動作目標位置」という)を設定する。目標設定部65は、記憶部63から教示データを読み出し、教示データに従って、ロボットアーム2等の目標位置及び保持アクチュエータ35の動作目標位置を生成する。教示データは、ロボットアーム2及びハンド3の目標軌跡、即ち、目標位置に対応するデータであり得る。また、教示データは、保持アクチュエータ35を動作させるとき及び動作解除させるときのロボットアーム2及びハンド3の目標位置も含んでいる。この例では、教示データは、ロボットアーム2及びハンド3の目標位置に対応する各電動モータ24の目標回転位置である。つまり、目標設定部65は、実質的にロボットアーム2等の目標位置及び保持アクチュエータ35の動作目標位置として、それらに対応する各電動モータ24の目標回転位置を設定する。
動作制御部66は、目標設定部65によって設定された目標位置に従って、電動モータ24及び保持アクチュエータ35への指令値を生成して出力する。具体的に、動作制御部66は、各電動モータ24の目標回転位置を指令回転位置としてサーボアンプ61へ出力する。サーボアンプ61は、指令回転位置に対応するモータ電流を各電動モータ24へ印加する。サーボアンプ61は、各電動モータ24の回転位置が指令回転位置となるようにモータ電流を制御する。また、動作制御部66は、保持アクチュエータ35の動作目標位置に対応する指令回転位置をサーボアンプ61へ出力するタイミングで、保持アクチュエータ35へ動作指令を出力する。保持アクチュエータ35は、動作指令に応じて、ワークWの保持及び保持解除を切り替える。
補正部67は、目標設定部65によって設定された、ロボットアーム2及びハンド3の目標位置のうちハンド3の目標高さを補正する。この例では、目標位置として電動モータ24の目標回転位置が設定されているので、ハンド3の目標高さに対応する電動モータ24の目標回転位置が補正される。具体的には、補正部67は、目標設定部65によって設定された第1電動モータ24aの目標回転位置を補正する。目標高さが補正された結果、動作制御部66は、補正後の目標高さに対応する指令値を生成し、指令値をサーボアンプ61へ出力する。詳しくは、補正部67は、ハンド3の目標高さをハンド3によって保持するワークWに応じて補正する。例えば、補正部67は、ワークWの重量が重いほどハンド3の目標高さが高くなるように目標高さを補正する。
続いて、ロボットシステム100の動作例について説明する。例えば、制御装置6は、第1ボックス111に配置されたワークWをピッキングして第2ボックス112まで搬送する搬送動作をロボット1に実行させる。図5は、第1ボックス111又は第2ボックス112におけるワークWを示す模式図である。図6は、搬送動作のフローチャートである。
この例では、ワークWは、図5に示すように、第1ボックス111又は第2ボックス112においてステージ113上に載置される。この例では、ワークWは、ステージ113上に単純に載置されているだけである。ステージ113は、ワークWの端部の下面を支持している。
制御装置6は、まずステップS101において、ロボットアーム2及びハンド3の目標位置を設定する。具体的には、目標設定部65は、記憶部63に記憶された教示データに基づいて、搬送動作におけるロボットアーム2及びハンド3の目標位置に対応する各電動モータ24の目標回転位置を設定する。
次に、制御装置6は、ステップS102において、ハンド3を所定の開始位置へ移動させる。開始位置におけるハンド3の目標高さは、第1ボックス111におけるワークWの高さ(以下、「ワーク高さZ0」という)よりも低く且つ、第1ボックス111内においてワークWの下方に進入できる高さである。開始位置における目標高さを「第1目標高さZ1」と称する。制御装置6は、各電動モータ24へモータ電流を印加することによって、ロボットアーム2及びハンド3を開始位置に位置させる。
ロボット1の場合、第1電動モータ24aがハンド3の高さを調整し、第2電動モータ24bがハンド3の水平方向位置を調整する。図7は、第1電動モータ24aへのモータ電流及びハンド3の高さを示すグラフである。ここでは、各第2電動モータ24bへのモータ電流及びハンド3の水平方向の位置の図示は省略する。サーボアンプ61は、第1電動モータ24aの回転位置が第1目標高さZ1に対応する位置になるように第1電動モータ24aのモータ電流を調整する。その結果、ハンド3の実際の高さ(以下、「実高さ」という)は、第1目標高さZ1と略同じ高さに調整される。
続いて、制御装置6は、ステップS103において、ロボット1に第1水平移動を実行させる。第1水平移動では、ロボットアーム2は、ハンド3を第1ボックス111内におけるワークWの下方まで水平方向へ移動させる。制御装置6は、第2電動モータ24bを制御することによってリンク22を動作させ、ハンド3を第1ボックス111内のワークWの下方へ移動させる。第1水平移動中は、ハンド3の高さは変更されないので、第1電動モータ24aへのモータ電流は、図7に示すように、開始位置に位置するときからほとんど変化しない。
ハンド3が第1ボックス111内のワークWの下方へ移動すると、制御装置6は、ステップS104においてロボット1に上昇動作を実行させる。図8は、上昇動作におけるハンド3を説明するための模式図である。上昇動作では、ロボット1は、ハンド3を第1目標高さZ1から第2目標高さZ2まで上方へ移動させる。第2目標高さZ2は、例えば、第1ボックス111内のステージ113よりも高い高さである。この例では、上昇動作においては、制御装置6は、ハンド3が等速で上昇する等速動作をロボットアーム2及びハンド3に実行させる。制御装置6は、第1電動モータ24aへのモータ電流を調整することによってハンド3の上昇速度を制御する。制御装置6は、ハンド3の上昇速度が所定の目標速度に達するまではモータ電流を増大させ、上昇速度が目標速度に達するとモータ電流を制御して目標速度を略一定に維持する。ステップS104は、ワークを保持するハンドが連結されたロボットアームを動作させて、前記ハンドの位置制御を行うことに相当する。
制御装置6は、上昇動作中に第1電動モータ24aのモータ電流を電流センサ61aによって検出する。制御装置6は、検出されたモータ電流、即ち、電流値(以下、「検出電流値」という)を記憶部63又はメモリ64に記録していく。尚、制御装置6は、上昇動作中に限らず、搬送動作中に第1電動モータ24aのモータ電流の電流値を検出及び記録してもよい。
ハンド3の上昇動作が継続すると、図8に示すように、ハンド3は、第1目標高さZ1から第2目標高さZ2に達するまでの間にワークWの位置を通過する。このとき、ハンド3は、ワークWをステージ113から取り上げる。ワークWは、ハンド3上に載置された状態となる。尚、ハンド3は、少なくともハンド3がワークWを取る前後においては実質的に等速で上昇しているので、ハンド3は、ワークWを安定的に取り上げる。
制御装置6は、上昇動作中に第1電動モータ24aのモータ電流の変動を監視し、ステップS105において、モータ電流の変動量が所定の閾値以上か否かを判定する。モータ電流の変動量が閾値未満の場合には、制御装置6は、ステップS105を繰り返す。モータ電流の変動量が閾値以上の場合には、制御装置6は、ステップS106へ進み、ハンド3の目標高さを補正する。ステップS106は、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正することに相当する。
詳しくは、制御装置6は、上昇動作中に、記憶部63又はメモリ64に記録された検出電流値の移動平均値である平均電流値を求めている。制御装置6の補正部67は、ステップS105において、平均電流値の計時変化において平均電流値の変動量が所定の閾値以上になるか否かを判定する。閾値は、ハンド3がワークWを取ることに起因する平均電流値の変動量に相当する値である。例えば、閾値は、ロボット1で扱う、最軽量のワークWをハンド3が取ることに起因する平均電流値の変動量に相当する値である。
平均電流値の変動量が閾値未満の場合には、補正部67は、ステップS105を繰り返し、平均電流値の変動量が閾値以上となるまで待機する。
平均電流値の変動量が閾値以上の場合には、補正部67は、ステップS106において、変動量が閾値以上となった直前の平均電流値を第1電流値Iaとし、変動量が閾値以上となったときの平均電流値を第2電流値Ibとし、ハンド3の目標高さの補正量ΔZを以下の式(1)によって求める。
ΔZ=K×(Ib-Ia) ・・・(1)
ここで、Kは、補正係数であり、記憶部63に予め保存されている。Ib-Iaは、ハンド3がワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動量ΔIである。このモータ電流の変動は、ハンド3がワークWを取ることによって生じする。そのため、第1電流値Iaは、ハンド3がワークWを取っていない場合のモータ電流の電流値である。第2電流値Ibは、ハンド3がワークWを取った後のモータ電流の電流値である。この例では、第1電流値Ia及び第2電流値Ibは、一連の搬送動作中、即ち、同じ搬送動作中におけるハンド3がワークWを取る前の実際のモータ電流の電流値である。また、第1電流値Iaは、ハンド3がワークWを取る直前の電流値であり、第2電流値Ibは、ハンド3がワークWを取った直後の電流値であるので、第1電流値Ia及び第2電流値Ibは、ハンド3が略等速で上昇しているときのモータ電流の電流値である。
ここで、Kは、補正係数であり、記憶部63に予め保存されている。Ib-Iaは、ハンド3がワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動量ΔIである。このモータ電流の変動は、ハンド3がワークWを取ることによって生じする。そのため、第1電流値Iaは、ハンド3がワークWを取っていない場合のモータ電流の電流値である。第2電流値Ibは、ハンド3がワークWを取った後のモータ電流の電流値である。この例では、第1電流値Ia及び第2電流値Ibは、一連の搬送動作中、即ち、同じ搬送動作中におけるハンド3がワークWを取る前の実際のモータ電流の電流値である。また、第1電流値Iaは、ハンド3がワークWを取る直前の電流値であり、第2電流値Ibは、ハンド3がワークWを取った直後の電流値であるので、第1電流値Ia及び第2電流値Ibは、ハンド3が略等速で上昇しているときのモータ電流の電流値である。
補正部67は、ハンド3の第2目標高さZ2を補正量ΔZで補正する。具体的には、補正部67は、第2目標高さZ2を補正量ΔZだけ高くする。より詳しくは、補正部67は、第1電動モータ24aの目標回転位置を補正量ΔZに対応する回転量で補正する。つまり、補正部67は、ハンド3がワークWを取った後であってワークWを第2ボックス112内のステージ113に置くまでの間に第2目標高さZ2を補正する。
また、制御装置6は、ステップS107において、保持アクチュエータ35を動作させて、ハンド3にワークWを保持させる。制御装置6は、ハンド3の位置を制御しているので、ハンド3がワークWの高さを概ね過ぎるタイミングを知っている。制御装置6は、ハンド3がワークWの高さを過ぎた後、即ち、ハンド3がワークWを取った後のタイミングで保持アクチュエータ35を動作させる。尚、保持アクチュエータ35の動作タイミングは、ハンド3がワークWを取った後であれば、ハンド3の目標高さの補正前であってもよい。
図7に示すように、第1電動モータ24aへのモータ電流は、ハンド3がワークWを取ることに起因して変動する。詳しくは、第1電動モータ24aの目標回転位置を実現するためのモータ電流は、ワークWの重量の分だけ増加する。このワークWの重量に起因するモータ電流の増加分が、モータ電流の変動量ΔIとなる。モータ電流の変動量ΔIは、ワークWの重量に応じて変化する。ワークWの重量が重くなれば、モータ電流の変動量ΔIも大きくなる。モータ電流の変動量ΔIは、ワークWの重量に略比例する。
一方、制御装置6は、ハンド3の高さを第1電動モータ24aの回転位置によって制御している。そのため、ハンド3の目標高さを実現するための第1電動モータ24aの目標回転位置は、ロボットアーム2及びハンド3の寸法、撓み及びガタツキ等を考慮して決定されている。ところが、ハンド3がワークWを取ると、ハンド3の重量がワークWの分だけ見かけ上重くなる。第1電動モータ24aの回転位置が同じであっても、ハンド3がワークWを持っているか否かによって、ロボットアーム2及びハンド3の撓み及びガタツキ等が変動し、ハンド3の実高さが異なり得る。つまり、第1電動モータ24aの回転位置に対応するハンド3の実高さは、ハンド3がワークWを取ることに起因して変動する。図9は、ハンド3の目標高さを補正しない場合の搬送動作中の第1電動モータ24aへのモータ電流及びハンド3の高さを示すグラフである。ハンド3がワークWを取ることによって、第1電動モータ24aの目標回転位置を実現するための回転トルクが増大するので、図7と同様に、モータ電流が増大する。モータ電流がワークWの重量に応じて増大するものの、目標回転位置は補正されない。第1電動モータ24aは目標回転位置を実現するように動作する。しかしながら、ワークWの重量によってロボットアーム2及びハンド3の撓み及びガタツキが大きくなるので、第1電動モータ24aの目標回転位置に対応するハンド3の実高さはワークWを取る前に比べて低くなる。つまり、ハンド3の実高さは、第1電動モータ24aの目標回転位置に対応する目標高さよりも低くなってしまう。
ワークWの重量に起因するハンド3の実高さの変動量は、ワークWの重量に略比例する。ワークWの重量が重くなれば、ハンド3の実高さの変動量も大きくなる。前述の如く、モータ電流の変動量ΔIも、ワークWの重量に略比例する。つまり、ワークWの重量に起因するハンド3の実高さの変動量は、モータ電流の変動量ΔIに略比例する。そのため、制御装置6は、式(1)に示すように、モータ電流の変動量ΔIに補正係数Kを乗じて補正量ΔZを求める。制御装置6は、第2目標高さZ2を補正量ΔZを加算することによって第2目標高さZ2’に補正する。制御装置6は、第1電動モータ24aが補正後の第2目標高さZ2’に対応する目標回転位置に位置するようにモータ電流を調整する。結果として、ハンド3の実高さは、目標高さを補正しない場合に比べて高くなり、補正前の第2目標高さZ2に近づく。つまり、補正後の第2目標高さZ2’は、制御上の目標高さであり、実際のハンド3の目標高さは、補正前の第2目標高さZ2のままである。尚、補正により第2目標高さZ2’が高くなるので、ハンド3が上昇する時間が長くなり、その分、第1電動モータ24aへのモータ電流が大きい期間も増大する。
制御上、ハンド3が補正後の第2目標高さZ2’に達すると、即ち、第1電動モータ24aの回転位置が第2目標高さZ2’に対応する目標回転位置に達すると、制御装置6は、ステップS108において、ロボット1に第2水平移動を実行させる。第2水平移動では、ロボットアーム2は、ハンド3を第1ボックス111から第2ボックス112内におけるステージ113の上方まで水平方向へ移動させる。制御装置6は、第2電動モータ24bを制御することによってリンク22を動作させ、ハンド3を第2ボックス112内へ移動させる。図7に示すように、第2水平移動中は、第1電動モータ24aへのモータ電流は、ほとんど変化しない。つまり、ハンド3の実高さは、補正前の第2目標高さZ2と略同じままである。
ハンド3が第2ボックス112内のステージ113の上方へ移動すると、制御装置6は、ステップS110においてロボット1に下降動作を実行させる。下降動作では、ロボット1は、ハンド3を補正後の第2目標高さZ2’から第1目標高さZ1まで下方へ移動させる。この例では、下降動作においては、制御装置6は、ハンド3が等速で下降する等速動作をロボットアーム2及びハンド3に実行させる。制御装置6は、第1電動モータ24aへのモータ電流を調整することによってハンド3の下降速度を制御する。尚、図7及び図9においては、下降動作を省略している。
その後、ハンド3が下降していくと、やがてワークWにステージ113に接触する。ワークWがステージ113に接触する前のタイミングで、制御装置6は、ステップS110において、保持アクチュエータ35の動作を停止させ、ハンド3にワークWの保持を解除させる。ハンド3がワークWの保持を解除した後に、ワークWがハンド3からステージ113へ受け渡される。ハンド3が第1目標高さZ1まで下降すると、搬送動作が終了する。
このような搬送動作によれば、位置制御におけるハンド3の目標高さがハンド3によって保持されるワークWに応じて補正される。ロボットアーム2及びハンド3の撓み等は、少なくともワークWの重量に依存する。ロボット1が扱うワークWの種類が1つだけの場合には、ハンド3の高さ位置はワークWに応じて変動しない。制御装置6は、ハンド3の目標高さをワークWに応じて補正するので、ワークWの重量が変わってもハンド3の目標高さが適切に補正される。例えば、ロボットシステム100が複数種類のワークWを搬送する場合には、ハンド3の目標高さの補正量がワークWの重量に応じて調整される。その結果、どの種類のワークWに対してもハンド3の位置精度を向上させることができる。
さらに、制御装置6は、ワークWに応じた補正量の調整を自動的に行う。ユーザは、ワークWが変更されるたびに補正量等を設定し直す必要がない。具体的には、制御装置6は、ハンド3がワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動に基づいて目標高さを補正する。ハンド3がワークWを取ると、第1電動モータ24aへのモータ電流はワークWの重量に応じて変動する。つまり、ハンド3がワークWを取った後の第1電動モータ24aへのモータ電流は、ワークWの重量を反映している。第1電動モータ24aへのモータ電流は搬送動作中に制御装置6が取得できるため、ユーザからのワークWの種類又は重量等の入力なしに、制御装置6は、ハンド3の目標高さの補正量を自動的に決定することができる。
また、制御装置6は、ハンド3がワークWを取る前の第1電動モータ24aへのモータ電流も搬送動作中に取得している。制御装置6は、一連の搬送動作中、即ち、同じ搬送動作中にハンド3がワークWを取る前の実際のモータ電流とハンド3がワークWを取った後の実際のモータ電流とを取得し、それらのモータ電流の変動量に基づいてハンド3の目標高さの補正量を決定している。そのため、ユーザは、ハンド3がワークWを取る前の第1電動モータ24aへのモータ電流も制御装置6へ入力する必要がない。さらに、ハンド3がワークWを取る前の実際のモータ電流とハンド3がワークWを取った後の実際のモータ電流とが同じ条件下で取得されるため、制御装置6は、ワークWの重量を適切に反映した、目標高さの補正を実現することができる。
このとき、制御装置6は、ハンド3がワークWを取る前後でハンド3の高さ位置が等速に変化する等速動作をロボットアーム2及びハンド3に実行させている。つまり、ハンド3がワークWを取る前後において、ワークWの重量以外の要因での第1電動モータ24aへのモータ電流の変動を低減することができる。これにより、制御装置6は、ワークWの重量をより適切に反映した、目標高さの補正を実現することができる。
《その他の実施形態》
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
例えば、ロボット1は、基板搬送に使用されるものに限定されない。ロボット1は、半導体を処理できる程度のクリーン環境での使用に限定されるものではない。ロボット1は、生産ライン等に組み込まれてもよい。
ロボット1は、水平多関節ロボットに限定されない。例えば、ロボット1は、垂直多関節ロボットであってもよい。ロボット1は、ハンドが連結されたロボットアームを有していればよい。
ロボットアーム2は、複数のリンク22で構成されていなくてもよい。ロボットアーム32分割されている場合、ロボットアーム2の分割数、即ち、リンク22の個数は、3に限定されない。ロボットアーム2は、2又は4以上のリンク22を有していてもよい。
ハンド3の構成は、前述の構成に限定されない。例えば、ハンド3のワークの保持は、爪による把持に限定されない。例えば、ハンド3は、吸着によってワークを保持し得る。ハンド3は、ワークを単に下から支持するだけ、即ち、ワークを載せるだけでワークを保持し得る。ハンド3は、複数の指によってワークを把持してもよい。
ハンド3の目標高さの補正は、前述の方法に限定されない。例えば、第1電動モータ24aの変動量は、前述の方法で求められる値に限定されない。モータ電流は、移動平均値に限定されず、平均処理されていない値であってもよい。また、第1電流値Iaと第2電流値Ibは、変動量が閾値以上となった直前と直後の電流値に限定されない。ハンド3及びワークWの位置は概ね既知であるので、ハンド3がワークWを取る前の所定のタイミングの電流値を第1電流値Iaとし、ハンド3がワークWを取った後の所定のタイミングの電流値を第2電流値Ibとしてもよい。
また、第1電流値Iaは、予め取得された、ハンド3がワークWを取っていない場合の第1電動モータ24aへのモータ電流の電流値であってもよい。尚、第2電流値Ibは、ワークWの重量を反映するため、実際の搬送動作において取得される。第1電流値Iaが予め取得される場合、第1電流値Iaの取得条件は、第2電流値Ibの取得条件と近い方が好ましい。そのため、ロボット1に搬送動作と同じ動作をワークWをピッキングすることなく実行させ、搬送動作において第2電流値Ibが取得されるタイミングで第1電流値Iaを取得してもよい。これにより、ワークWを持っているか否か以外は略同じ条件で第1電流値Iaと第2電流値Ibとを取得することができる。
また、補正量ΔZは、式(1)によって求められるものに限定されない。制御装置6は、モータ電流の変動量と目標高さの補正量との関係を規定したテーブルを記憶部63等に予め保存しておいてもよい。その場合、制御装置6は、モータ電流の変動量を記憶部63のテーブルに照らし合わせて、目標高さの補正量を求める。また、制御装置6は、モータ電流の変動量に応じて目標高さの補正量を連続的に変化させるものに限定されない。例えば、制御装置6は、モータ電流の変動量に応じて段階的に目標高さの補正量を調整してもよい。例えば、制御装置6は、大きさの異なる複数の目標高さの補正量を予め用意しておき、モータ電流の変動量に応じて何れかの補正量を選択してもよい。
また、ハンド3の目標高さを補正するタイミングも任意に設定することができる。前述の例では、モータ電流の変動量が閾値以上になると、制御装置6は、補正量ΔZを求め、ハンド3の目標高さを補正している。例えば、制御装置6は、ハンド3の高さを第2目標高さZ2へ制御した後に、第2目標高さZ2を第2目標高さZ2’に補正し、ハンド3を第2目標高さZ2’に位置するように制御してもよい。
フローチャートは、一例に過ぎない。フローチャートにおけるステップを適宜、変更、置き換え、付加、省略等を行ってもよい。また、フローチャートにおけるステップの順番を変更したり、直列的な処理を並列的に処理したりしてもよい。例えば、搬送動作のフローチャート(図6)において、ステップS106の目標高さの補正とステップS107の保持動作とは、並行して行われてもよいし、順番が入れ替わってもよい。また、ステップS109の下降とステップ110の保持解除の順番が入れ替わってもよい。
本明細書中に記載されている構成要素により実現される機能は、当該記載された機能を実現するようにプログラムされた、汎用プロセッサ、特定用途プロセッサ、集積回路、ASICs(Application Specific Integrated Circuits)、CPU(a Central Processing Unit)、従来型の回路、及び/又はそれらの組合せを含む、回路(circuitry)又は演算回路(processing circuitry)において実装されてもよい。プロセッサは、トランジスタ及びその他の回路を含み、回路又は演算回路とみなされる。プロセッサは、メモリに格納されたプログラムを実行する、プログラマブルプロセッサ(programmed processor)であってもよい。
本明細書において、回路(circuitry)、ユニット、手段は、記載された機能を実現するようにプログラムされたハードウェア、又は実行するハードウェアである。当該ハードウェアは、本明細書に開示されているあらゆるハードウェア、又は、当該記載された機能を実現するようにプログラムされた、又は、実行するものとして知られているあらゆるハードウェアであってもよい。
当該ハードウェアが回路(circuitry)のタイプであるとみなされるプロセッサである場合、当該回路、手段、又はユニットは、ハードウェアと、当該ハードウェア及び又はプロセッサを構成する為に用いられるソフトウェアの組合せである。
本開示の技術をまとめると、以下のようになる。
[1]ロボットシステム100は、ワークWを保持するハンド3と前記ハンド3が連結されたロボットアーム2とを有するロボット1と、前記ロボットアーム2を動作させて、前記ハンド3の位置制御を行う制御装置6とを備え、前記制御装置6は、前記位置制御における前記ハンド3の目標高さを前記ハンド3によって保持されるワークWに応じて補正する。
この構成によれば、ワークWを取得することによって生じるロボットアーム2及びハンド3の撓みは、ワークWの重量によって異なる。つまり、ハンド3の高さは、ワークWの重量に応じて変動し得る。ハンド3の目標高さをワークWに応じて補正することによって、ワークWの重量に応じたハンド3の高さの変動を低減することができる。ワークWの重量が変わっても、ハンド3の高さの位置精度を安定させることができる。その結果、ハンド3の高さの位置精度を向上させることができる。
[2] [1]のロボットシステム100において、前記ロボットアーム2は、前記ハンド3の高さ位置を変更する第1電動モータ24aを有し、前記制御装置6は、前記ハンド3がワークWを取ることに起因する、前記第1電動モータ24aへのモータ電流の変動に基づいて前記目標高さを補正する。
この構成によれば、ハンド3がワークWを取ると、第1電動モータ24aへのモータ電流は、ワークWの重量に応じて変動する。つまり、ワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動は、ワークWの重量を反映している。このモータ電流の変動に基づいてハンド3の目標高さを補正することによって、ワークWに応じたハンド3の目標高さの補正を実現することができる。
[3] [1]又は[2]に記載のロボットシステム100において、前記制御装置6は、予め取得された、前記ハンド3がワークWを取っていない場合の第1電動モータ24aへの前記モータ電流と前記ハンド3がワークWを取った後の実際の第1電動モータ24aへの前記モータ電流との変動量に基づいて、前記目標高さを補正する。
この構成によれば、ハンド3がワークWを取っていない場合の第1電動モータ24aへのモータ電流、即ち、第1電流値Iaは、予め取得されている。一方、ハンド3がワークWを取った後の第1電動モータ24aへのモータ電流、即ち、第2電流値Ibは、ハンド3の位置制御中に実際のモータ電流の電流値が取得される。第2電流値Ibは、ハンド3が取ったワークWの重量に応じて変化する。一方、第1電流値Iaは、ワークWの影響を受けない。そのため、第1電流値Iaは、予め取得しておくことができる。これにより、実際の位置制御における補正時の処理を簡便にすることができる。
[4] [1]又は[2]のロボットシステム100において、前記制御装置6は、前記位置制御によって前記ハンド3がワークWを取って搬送する一連の動作における、前記ハンド3がワークWを取る前の実際の前記モータ電流と前記ハンド3がワークWを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正する。
この構成によれば、ハンド3がワークWを取っていない場合の第1電動モータ24aへのモータ電流、即ち、第1電流値Iaも、ハンド3がワークWを取っている場合の第1電動モータ24aへのモータ電流、即ち、第2電流値Ibも、実際の一連の搬送動作中に取得される。この場合、事前にモータ電流の電流値を取得しておく必要が無いので、その点において補正の処理が簡便になる。
[5] [2]乃至[4]の何れか1つに記載のロボットシステム100において、前記制御装置6は、前記ハンド3がワークWを取る前後において前記ハンド3の高さ位置が等速に変化する等速動作を前記ロボットアーム2及び前記ハンド3に実行させ、前記等速動作中における、前記ハンド3がワークWを取る前の実際の前記モータ電流と前記ハンド3がワークWを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正する。
この構成によれば、ハンド3がワークWを取る前後において第1電動モータ24aへのモータ電流が安定する。これにより、ハンド3がワークWを取ることに起因する、第1電動モータ24aへのモータ電流の変動を安定的に取得することができる。つまり、第1電流値Iaと第2電流値Ibとをモータ電流が比較的安定した状態で取得することができる。これにより、モータ電流の変動に基づいたハンド3の高さ位置の補正を精度よく行うことができる。
[6] [2]に記載のロボットシステム100において、前記制御装置6は、前記ハンド3がワークWを取った後に前記目標高さを補正する。
この構成によれば、ハンド3がワークWを取った後にハンド3の目標高さが補正される。つまり、ハンド3がワークWを取る前後で、第1電動モータ24aへのモータ電流が変動し得る。そのため、ハンド3がワークWを取った後に目標高さが補正される。
[7] [1]乃至[6]の何れか1つに記載のロボットシステム100において、前記ロボットアーム2は、水平方向へ回転可能に連結された複数のリンク22を有する。
この構成によれば、ロボット1は、いわゆる水平多関節ロボットである。前述のハンド3の目標高さの補正を行うことによって、水平多関節ロボットにおけるハンド3の高さの位置精度をより一層向上させることができる。
[8] [1]乃至[6]の何れか1つに記載のロボットシステム100において、前記ハンド3は、ワークWとして基板を保持する。
この構成によれば、ロボット1は、基板を搬送する。例えば、半導体ウェハの取り扱いには、高い位置精度が要求される。ロボット1によれば、半導体ウェハ等の基板の重量に応じて、ハンド3の実高さが適切に調整されるので、高い位置精度で基板を搬送することができる。
[9] [1]乃至[6]の何れか1つに記載のロボットシステム100において、前記ハンド3は、複数種類のワークWの何れかを保持する。
この構成によれば、ロボット1は、複数種類のワークWを扱う。ハンド3は、複数種類のワークWの中から選択されたワークWを保持する。制御装置6がハンド3の目標高さをワークWに応じて補正するので、ハンド3が保持するワークWの種類が異なっても、ハンド3の高さの位置精度の悪化が抑制される。
[10]ロボット制御方法は、ワークWを保持するハンド3が連結されたロボットアーム2を動作させて、前記ハンド3の位置制御を行うことと、前記位置制御における前記ハンド3の目標高さを前記ハンド3によって保持するワークWに応じて補正することとを含む。
この構成によれば、ハンド3の目標高さをワークWに応じて補正することによって、ワークWの重量に応じたハンド3の高さの変動を低減することができる。ワークWの重量が変わっても、ハンド3の高さの位置精度を安定させることができる。その結果、ハンド3の高さの位置精度を向上させることができる。
[11]ワークWを保持するハンド3と前記ハンド3が連結されたロボットアーム2とを有するロボット1を制御する機能を制御装置6(コンピュータ)に実現させるためのロボット制御プログラム63aは、前記ロボットアーム2を動作させて、前記ハンド3の位置制御を行う機能と、前記位置制御における前記ハンド3の目標高さを前記ハンド3によって保持するワークWに応じて補正する機能とを制御装置6に実現させる。
この構成によれば、ハンド3の目標高さをワークWに応じて補正することによって、ワークWの重量に応じたハンド3の高さの変動を低減することができる。ワークWの重量が変わっても、ハンド3の高さの位置精度を安定させることができる。その結果、ハンド3の高さの位置精度を向上させることができる。
Claims (11)
- ワークを保持するハンドと前記ハンドが連結されたロボットアームとを有するロボットと、
前記ロボットアームを動作させて、前記ハンドの位置制御を行う制御装置とを備え、
前記制御装置は、前記位置制御における前記ハンドの目標高さを前記ハンドによって保持されるワークに応じて補正するロボットシステム。 - 請求項1に記載のロボットシステムにおいて、
前記ロボットアームは、前記ハンドの高さ位置を変更する電動モータを有し、
前記制御装置は、前記ハンドがワークを取ることに起因する、前記電動モータへのモータ電流の変動に基づいて前記目標高さを補正するロボットシステム。 - 請求項2に記載のロボットシステムにおいて、
前記制御装置は、予め取得された、前記ハンドがワークを取っていない場合の前記モータ電流と前記ハンドがワークを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正するロボットシステム。 - 請求項2に記載のロボットシステムにおいて、
前記制御装置は、前記位置制御によって前記ハンドがワークを取って搬送する一連の動作における、前記ハンドがワークを取る前の実際の前記モータ電流と前記ハンドがワークを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正するロボットシステム。 - 請求項4に記載のロボットシステムにおいて、
前記制御装置は、
前記ハンドがワークを取る前後において前記ハンドの高さ位置が等速に変化する等速動作を前記ロボットアーム及び前記ハンドに実行させ、
前記等速動作中における、前記ハンドがワークを取る前の実際の前記モータ電流と前記ハンドがワークを取った後の実際の前記モータ電流との変動量に基づいて、前記目標高さを補正するロボットシステム。 - 請求項2に記載のロボットシステムにおいて、
前記制御装置は、前記ハンドがワークを取った後に前記目標高さを補正するロボットシステム。 - 請求項1乃至6の何れか1つに記載のロボットシステムにおいて、
前記ロボットアームは、水平方向へ回転可能に連結された複数のリンクを有するロボットシステム。 - 請求項1乃至6の何れか1つに記載のロボットシステムにおいて、
前記ハンドは、ワークとして基板を保持するロボットシステム。 - 請求項1乃至6の何れか1つに記載のロボットシステムにおいて、
前記ハンドは、複数種類のワークの何れかを保持するロボットシステム。 - ワークを保持するハンドが連結されたロボットアームを動作させて、前記ハンドの位置制御を行うことと、
前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正することとを含むロボット制御方法。 - ワークを保持するハンドと前記ハンドが連結されたロボットアームとを有するロボットを制御する機能をコンピュータに実現させるためのロボット制御プログラムであって、
前記ロボットアームを動作させて、前記ハンドの位置制御を行う機能と、
前記位置制御における前記ハンドの目標高さを前記ハンドによって保持するワークに応じて補正する機能とをコンピュータに実現させるためのロボット制御プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-108324 | 2022-07-05 | ||
JP2022108324A JP2024007104A (ja) | 2022-07-05 | 2022-07-05 | ロボットシステム、ロボット制御方法及びロボット制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024010012A1 true WO2024010012A1 (ja) | 2024-01-11 |
Family
ID=89453440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/024839 WO2024010012A1 (ja) | 2022-07-05 | 2023-07-04 | ロボットシステム、ロボット制御方法及びロボット制御プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024007104A (ja) |
WO (1) | WO2024010012A1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5890486A (ja) * | 1981-11-20 | 1983-05-30 | 株式会社日立製作所 | 工業用ロボツト |
JPS60118478A (ja) * | 1983-11-30 | 1985-06-25 | 株式会社日立製作所 | 関節形ロボツトの位置制御装置 |
JP2000183128A (ja) * | 1998-12-17 | 2000-06-30 | Komatsu Ltd | ワーク搬送装置の制御装置 |
JP2000223549A (ja) * | 1999-01-29 | 2000-08-11 | Canon Inc | 基板搬送装置、基板搬送方法、基板搬送用ハンド機構、灰化処理装置及び灰化処理方法 |
JP2004299010A (ja) * | 2003-03-31 | 2004-10-28 | Fanuc Ltd | ロボットのたわみ補正装置及びたわみ補正方法 |
JP2009249102A (ja) * | 2008-04-04 | 2009-10-29 | Hitachi Plant Technologies Ltd | 移載機 |
-
2022
- 2022-07-05 JP JP2022108324A patent/JP2024007104A/ja active Pending
-
2023
- 2023-07-04 WO PCT/JP2023/024839 patent/WO2024010012A1/ja unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5890486A (ja) * | 1981-11-20 | 1983-05-30 | 株式会社日立製作所 | 工業用ロボツト |
JPS60118478A (ja) * | 1983-11-30 | 1985-06-25 | 株式会社日立製作所 | 関節形ロボツトの位置制御装置 |
JP2000183128A (ja) * | 1998-12-17 | 2000-06-30 | Komatsu Ltd | ワーク搬送装置の制御装置 |
JP2000223549A (ja) * | 1999-01-29 | 2000-08-11 | Canon Inc | 基板搬送装置、基板搬送方法、基板搬送用ハンド機構、灰化処理装置及び灰化処理方法 |
JP2004299010A (ja) * | 2003-03-31 | 2004-10-28 | Fanuc Ltd | ロボットのたわみ補正装置及びたわみ補正方法 |
JP2009249102A (ja) * | 2008-04-04 | 2009-10-29 | Hitachi Plant Technologies Ltd | 移載機 |
Also Published As
Publication number | Publication date |
---|---|
JP2024007104A (ja) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11990323B2 (en) | Focus ring replacement method and plasma processing system | |
US6678581B2 (en) | Method of calibrating a wafer edge gripping end effector | |
WO2017104648A1 (ja) | 基板搬送ロボットおよびその運転方法 | |
US8752872B2 (en) | Edge grip end effector | |
WO2017038811A1 (ja) | 基板搬送ロボットおよび基板処理システム | |
JP4849825B2 (ja) | 処理装置、位置合わせ方法、制御プログラムおよびコンピュータ記憶媒体 | |
CN114730728A (zh) | 具有重力场传感器的晶片搬运机械手 | |
US8322963B2 (en) | End effector for a cluster tool | |
KR20200108504A (ko) | 다양한 크기의 기판들을 취급하기 위한 장치 | |
JP5755842B2 (ja) | ワーク搬送システム | |
JP2005262367A (ja) | 搬送ロボットの搬送ズレ確認方法及び処理装置 | |
WO2024010012A1 (ja) | ロボットシステム、ロボット制御方法及びロボット制御プログラム | |
US20210118719A1 (en) | Dual Arm with Opposed Dual End Effectors and No Vertical Wafer Overlap | |
US20180338397A1 (en) | Method and devices for picking and placing workpieces into devices under manufacture using dual robots | |
WO2020054386A1 (ja) | 基板移載装置及びその制御方法 | |
TW202419991A (zh) | 機器人系統、機器人控制方法及機器人控制程式 | |
JP2006069687A (ja) | 懸垂式昇降搬送装置における搬送台車の教示装置 | |
JP7149815B2 (ja) | ロボットシステム及びその運転方法 | |
CN113727813B (zh) | 基板搬运机器人及基板搬运机器人的控制方法 | |
WO2022059436A1 (ja) | ロボットシステム及びオフセット取得方法 | |
US20220181178A1 (en) | Correction method and substrate transfer apparatus | |
KR101700660B1 (ko) | 반송 로봇의 교시방법 | |
CN116198970A (zh) | 工业用机器人及工业用机器人的示教方法 | |
KR20030064475A (ko) | 웨이퍼 이송 로봇의 블레이드 | |
KR20030077804A (ko) | 웨이퍼 이송 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23835543 Country of ref document: EP Kind code of ref document: A1 |