WO2025239244A1 - モータ制御システム、ロボットシステム、および、モータ制御方法 - Google Patents
モータ制御システム、ロボットシステム、および、モータ制御方法Info
- Publication number
- WO2025239244A1 WO2025239244A1 PCT/JP2025/016622 JP2025016622W WO2025239244A1 WO 2025239244 A1 WO2025239244 A1 WO 2025239244A1 JP 2025016622 W JP2025016622 W JP 2025016622W WO 2025239244 A1 WO2025239244 A1 WO 2025239244A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- control
- motor
- unit
- robot arm
- feedback
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D3/00—Control of position or direction
- G05D3/12—Control of position or direction using feedback
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/14—Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P29/00—Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10P—GENERIC PROCESSES OR APPARATUS FOR THE MANUFACTURE OR TREATMENT OF DEVICES COVERED BY CLASS H10
- H10P72/00—Handling or holding of wafers, substrates or devices during manufacture or treatment thereof
- H10P72/30—Handling or holding of wafers, substrates or devices during manufacture or treatment thereof for conveying, e.g. between different workstations
Definitions
- This disclosure relates to a motor control system, a robot system, and a motor control method.
- Japanese Patent No. 5206994 describes an electric motor control device that controls an electric motor.
- This electric motor control device is configured with a feedback loop that controls the electric motor so that a command signal and the operating amount of the electric motor match.
- the electric motor control device described in Japanese Patent No. 5206994 adds a swept sine wave disturbance signal to the drive signal, thereby causing vibration in the operation of the electric motor. The control gain is then automatically adjusted based on the magnitude and frequency of the vibration caused by the disturbance signal.
- This disclosure has been made to solve the above-mentioned problems, and one purpose of this disclosure is to provide a motor control system, robot system, and motor control method that are capable of automatically adjusting control parameters without causing vibrations in the moving object.
- a motor control system includes a motor, an operating object that is operated by driving the motor, and a control unit that operates the operating object through feedback control using feedback values that indicate the driving state of the motor, and that performs an adjustment operation to adjust the control parameters through data-driven control that sets control parameters for the feedback control based on posture information that indicates the posture of the operating object and is obtained separately from the feedback values.
- the motor control system operates an object to be moved by feedback control using a feedback value indicating the drive state of the motor, and includes a control unit that performs an adjustment operation to adjust the control parameters by data-driven control, which sets the control parameters for the feedback control based on posture information indicating the posture of the object to be moved, obtained separately from the feedback value.
- a control unit that performs an adjustment operation to adjust the control parameters by data-driven control, which sets the control parameters for the feedback control based on posture information indicating the posture of the object to be moved, obtained separately from the feedback value.
- a robot system includes a motor, a robot arm having a plurality of interconnected links and operating when driven by the motor, and a control unit that operates the robot arm through feedback control using a feedback value indicating the drive state of the motor, and that performs an adjustment operation to adjust the control parameters through data-driven control that sets the control parameters for the feedback control based on posture information indicating the posture of the robot arm obtained separately from the feedback value.
- a robot system operates the robot arm unit through feedback control using feedback values that indicate the drive state of the motor, and is equipped with a control unit that performs adjustment operations to adjust the control parameters through data-driven control, which sets the control parameters for feedback control based on posture information that indicates the posture of the robot arm unit obtained separately from the feedback values.
- This makes it possible to adjust the control parameters based on the posture information through data-driven control, without causing vibrations in the object being operated.
- a motor control method comprises: operating an object that is operated by driving a motor through feedback control using a feedback value that indicates the driving state of the motor, thereby acquiring posture information that indicates the posture of the object separately from the feedback value; and adjusting the control parameters through data-driven control that sets control parameters for feedback control based on the posture information acquired separately from the feedback value.
- a motor control method adjusts control parameters using data-driven control, which sets control parameters for feedback control based on attitude information acquired separately from feedback values, as described above. This allows control parameters to be adjusted based on attitude information using data-driven control without causing vibrations in the moving object. As a result, a motor control method can be provided that can automatically adjust control parameters without causing vibrations in the moving object.
- the motor control system, robot system, and motor control method disclosed herein can automatically adjust control parameters without causing vibrations in the moving object.
- FIG. 1 is a schematic diagram illustrating a substrate processing system in which a robot system according to a first embodiment of the present disclosure is arranged.
- FIG. 1 is a block diagram illustrating a configuration of a robot system according to a first embodiment of the present disclosure.
- FIG. 2 is a perspective view schematically illustrating the configuration of a robot arm unit.
- FIG. 2 is a block diagram showing the configuration of a drive unit disposed in a robot arm unit.
- FIG. 3 is a block diagram for explaining a control process performed by a control unit.
- FIG. 2 is a schematic diagram for explaining a link angle in a robot arm portion.
- FIG. 1 is a block diagram for explaining data-driven control using the FRIT method.
- FIG. 2 is a flowchart illustrating a motor control method according to the first embodiment.
- FIG. 10 is a block diagram showing the configuration of a robot system according to a second embodiment of the present disclosure.
- FIG. 4 is a block diagram for explaining estimation of posture information by
- the configuration of a robot system 100 according to a first embodiment will be described with reference to Figures 1 to 7.
- the robot system 100 is an example of a motor control system.
- the robot system 100 is arranged in a substrate processing system 900 that performs processes such as resist coating or etching on a substrate 101, for example, in a clean room.
- the substrate processing system 900 includes a processing device 102 that performs processes on the substrate 101.
- a substrate placement part 102a on which the substrate 101 is placed for transferring the substrate 101 to the processing device 102 is arranged in a load lock part that is a place for loading and unloading the substrate 101.
- the robot system 100 transports the substrates 101 between a FOUP 103 (Front Opening Unify Pod), which is a container that stores multiple substrates 101, and a processing device 102.
- the robot system 100 is, for example, an EFEM (Equipment Front End Module).
- the FOUP 103 has a substrate placement section 103a on which the substrates 101 are placed.
- multiple substrates 101 are arranged vertically.
- the substrates 101 are semiconductor wafers having a disk shape.
- the substrates 101 are formed, for example, from silicon, germanium, or quartz glass.
- the robot system 100 includes a robot 10.
- the robot 10 includes a robot arm unit 20, a substrate holding hand 30, and a drive unit 40.
- the robot system 100 also includes a sensor unit 50, a control unit 60, a memory unit 70, and a display unit 80.
- the robot 10 is a substrate transport robot that transports a substrate 101.
- the robot 10 is located in a transport chamber that is partitioned off from the outside of the EFEM.
- the robot arm unit 20 is an example of an object to be operated.
- the robot arm unit 20 has a plurality of interconnected link units 21, 22, and 23.
- Link units 21, 22, and 23 rotate around parallel rotation axes A1, A2, and A3. That is, the robot arm unit 20 is a horizontally articulated robot arm.
- the rotation axes A1, A2, and A3 extend along the Z direction, which is the vertical direction.
- Link units 21, 22, and 23 are connected to each other in this order from the base end of the robot arm unit 20 to the tip end.
- the base end of the robot arm unit 20 is connected to a base unit 24 arranged on the floor.
- a substrate holding hand 30 is connected to the tip end of the robot arm unit 20.
- one end of link unit 21 is connected to the base unit 24 via joint JT1.
- link unit 22 is connected to the other end of link unit 21 via joint JT2.
- link portion 23 is connected to the other end of link portion 22 via joint JT3.
- substrate holding hand 30 is connected to the other end of link portion 23.
- Joint JT1 rotates link portion 21 relative to base portion 24 about rotation axis A1 extending in the Z direction, which is the vertical direction.
- Joint JT2 rotates link portion 22 relative to link portion 21 about rotation axis A2 extending in the Z direction, which is the vertical direction.
- Joint JT3 rotates link portion 23 relative to link portion 22 about rotation axis A3 extending in the Z direction, which is the vertical direction.
- Substrate holding hand 30 is connected to link portion 23 so as to operate integrally.
- robot arm portion 20 moves up and down relative to base portion 24.
- the substrate holding hand 30 is connected to the tip of the robot arm unit 20 and is an end effector that holds the substrate 101.
- the substrate holding hand 30 holds the substrate 101 along a horizontal plane and transports the substrate 101.
- the substrate holding hand 30 has a U-shaped plate with a bifurcated tip.
- the robot 10 transports the substrate 101 by operating the robot arm unit 20 with the substrate 101 placed on the upper surface, which is on the Z1 direction side, of the substrate holding hand 30.
- a drive unit 40 that drives the robot arm unit 20 is disposed at each of joints JT1, JT2, and JT3.
- the drive unit 40 includes a motor 41, an encoder 42, and a transmission mechanism 43.
- the motor 41, the encoder 42, and the transmission mechanism 43 are each disposed at each of joints JT1, JT2, and JT3.
- the motor 41 is the driving source for the drive force of the drive unit 40.
- the robot arm unit 20 operates by being driven by the motor 41.
- the motor 41 is, for example, a servo motor.
- the encoder 42 detects the rotation angle of the motor 41. Specifically, the encoder 42 detects the rotation position of the output shaft of the motor 41.
- the transmission mechanism 43 transmits the driving force of the motor 41.
- the transmission mechanism 43 includes, for example, a reducer having multiple gears.
- the drive unit 40 changes the link angle, which is the angle formed between the multiple link units 21, 22, and 23 in the robot arm unit 20, by transmitting the driving force of the motor 41 via the transmission mechanism 43.
- the encoder 42 is an example of a rotation angle detection unit.
- the sensor unit 50 detects the posture of the robot arm unit 20.
- the sensor unit 50 includes a laser tracker that detects the posture of the robot arm unit 20 by emitting detection light.
- the sensor unit 50 detects the three-dimensional position of the tip of the robot arm unit 20 by irradiating the tip of the robot arm unit 20 with laser light as detection light and detecting the detection light reflected from the tip of the robot arm unit 20.
- the sensor unit 50 detects the position of the base end of the substrate holding hand 30, which is the tip of the link unit 23 as the tip of the robot arm unit 20.
- a pair of targets 50a that reflect detection light are arranged at the tip of the link unit 23.
- the sensor unit 50 detects the positions of the pair of targets 50a by emitting detection light to the pair of targets 50a and detecting the detection light reflected by the pair of targets 50a.
- the sensor unit 50 detects the posture of the robot arm unit 20 by detecting the position of the targets 50a.
- the sensor unit 50 is positioned so that it irradiates the robot arm unit 20 with detection light, for example, above the robot arm unit 20.
- the target 50a is positioned on the upper surface of the link unit 23 of the robot arm unit 20.
- the control unit 60 includes a main control unit 60a, a servo control unit 60b, and a drive circuit unit 60c.
- the control unit 60 controls the operation of the robot arm unit 20.
- the control unit 60 also controls the operation of each unit of the robot system 100.
- the control unit 60 is a robot controller that controls the operation of the robot 10.
- the control unit 60 controls the transport operation of the substrate 101 by the robot 10.
- the main control unit 60a and the servo control unit 60b include, for example, a CPU (Central Processing Unit).
- the main control unit 60a controls the rotational operation of each of the joints JT1, JT2, and JT3 of the robot arm unit 20.
- the servo control unit 60b controls the drive current output to the motor 41, which serves as the drive source for operating the robot arm unit 20, based on commands from the main control unit 60a.
- the drive circuit unit 60c supplies drive power to the joints JT1, JT2, and JT3.
- the drive circuit unit 60c includes an inverter circuit that supplies AC power to the motor 41.
- a drive circuit unit 60c is provided for each of the joints JT1, JT2, and JT3.
- the memory unit 70 includes a storage device such as a hard disk.
- the memory unit 70 stores various programs and parameters used in the control processing executed by the control unit 60.
- the control unit 60 executes the control processing based on the programs and parameters stored in the memory unit 70.
- the display unit 80 displays information indicating the operating status of the robot system 100 under the control of the control unit 60.
- the display unit 80 includes a monitor display such as an LCD or organic EL display.
- the control unit 60 controls the operation of the robot arm unit 20 through feedback control using a set control parameter ⁇ .
- the control unit 60 drives the motor 41 through feedback control, outputting an operation amount u ini for operating the motor 41 based on an input target value r and a feedback value FB, thereby operating the robot arm unit 20.
- the control unit 60 includes a controller 61, a controller 62, and a controller 63 as functional components for feedback control.
- the controllers 61, 62, and 63 are functional blocks realized by the arithmetic device of the control unit 60 reading and executing a predetermined control program stored in the storage unit 70. In other words, the control unit 60 operates as the controllers 61, 62, and 63. Note that the controllers 61, 62, and 63 may each be configured using hardware such as an electronic circuit.
- the control unit 60 performs two-degree-of-freedom control using controllers 61 and 62 as feedforward controllers and a controller 63 as a feedback controller. If the calculation process by controller 61 is C A , the calculation process by controller 62 is C B , and the calculation process by controller 63 is K( ⁇ ), the manipulated variable u ini for the input target value r is expressed by the following equation (1).
- the target value r is, for example, an angle command value for the rotation angle of the motor 41.
- ⁇ indicates a control parameter in the controller 63.
- the controller 63 performs, for example, PID control using the control parameter ⁇ . P indicates proportional control, I indicates integral control, and D indicates differential control.
- the control parameter ⁇ includes values of proportional gain, integral gain, and differential gain in the PID control.
- FB indicates a feedback value indicating the driving state of the motor 41.
- the control unit 60 acquires, as the feedback value FB, a value indicating the rotation angle of the motor 41 based on the detection result by the encoder 42.
- the operation amount u ini includes a current command for the motor 41.
- the feedforward control parameters in each of the controllers 61 and 62 are set in advance and stored in the storage unit 70.
- the feedforward control parameters in each of the controllers 61 and 62 may be fixed values, or may be variable depending on the operation of the robot arm unit 20, the state of external disturbances, or the like.
- the control parameter ⁇ of the feedback control in the controller 63 is stored in the storage unit 70 .
- control unit 60 operates the robot arm unit 20 by feedback control using a feedback value FB according to a preset control parameter ⁇ , and also performs an adjustment operation to adjust the control parameter ⁇ by data-driven control that sets the control parameter ⁇ in the feedback control based on posture information y ini that indicates the posture of the robot arm unit 20 acquired separately from the feedback value FB.
- the control unit 60 causes the robot arm unit 20 to perform an operation to transport the substrate 101 from the substrate mounting unit 102a of the processing device 102 to the substrate mounting unit 103a of the FOUP 103, for example, in order to acquire the posture information y ini .
- the control unit 60 acquires posture information y ini based on the detection signal from the sensor unit 50. Specifically, in the adjustment operation, the control unit 60 outputs an operation amount u ini as time-series data based on a preset control parameter ⁇ , thereby causing the robot arm unit 20 to change the position of the substrate holding hand 30. The control unit 60 operates the robot arm unit 20 based on the operation amount u ini , thereby acquiring posture information y ini as time-series data based on the detection signal from the sensor unit 50. The control unit 60 acquires information indicating the position of the tip of the robot arm unit 20 as the posture information y ini .
- control unit 60 acquires a detection signal indicating the position of the target 50 a from the sensor unit 50, and also acquires the three-dimensional position of the target 50 a placed at the tip of the robot arm unit 20. Then, the control unit 60 acquires information indicating the three-dimensional position and orientation of the tip of the robot arm unit 20 based on the acquired position of the target 50 a.
- the control unit 60 performs arithmetic processing based on structural characteristics such as the lengths of the link units 21, 22, and 23, which are stored in advance in the storage unit 70, and the positions of the pair of targets 50a on the link unit 23, to obtain link angles ⁇ 1 , ⁇ 2, and ⁇ 3, which are angles formed between the link units 21, 22 , and 23.
- the link angle ⁇ 1 is the angle of the extension direction of the link unit 21 relative to the reference direction of the base unit 24.
- the reference direction is, for example, the X direction.
- the extension direction of the link unit 21 is the direction from the position of the rotation axis A1 of the joint JT1 to the position of the rotation axis A2 of the joint JT2 in the XY plane, which is a horizontal plane.
- the link angle ⁇ 2 is the angle of the extension direction of the link unit 22 relative to the extension direction of the link unit 21.
- the extension direction of link portion 22 is the direction from the position of rotation axis A2 of joint JT2 to the position of rotation axis A3 of joint JT3 in the horizontal XY plane.
- Link angle ⁇ 3 is the angle of the extension direction of link portion 23 with respect to the extension direction of link portion 22.
- the extension direction of link portion 23 is the direction from the position of rotation axis A3 of joint JT3 in the horizontal XY plane to the position where the center of substrate 101 is located in substrate holding hand 30.
- the control unit 60 calculates link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 from the position of the tip of the robot arm unit 20 acquired based on the detection signal from sensor unit 50 by inversely transforming, using an inverse function, the arithmetic process that calculates the position of the tip of the robot arm unit 20 using link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 and the lengths of link portions 21, 22, and 23 .
- the control unit 60 acquires posture information yini indicating the position of the tip of the robot arm unit 20 based on the acquired link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 .
- the posture information yini is a value obtained by converting the acquired link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 into a value corresponding to the rotation angle of the motor 41 based on the reduction ratio of the transmission mechanism 43 including reducers arranged for each of the joints JT1, JT2, and JT3.
- the control unit 60 operates the multiple motors 41 arranged for each of the joints JT1, JT2, and JT3 to acquire posture information yini indicating a common posture of the robot arm unit 20.
- the "posture information indicating a common posture” here means that posture information yini is acquired for each of the joints JT1, JT2, and JT3 based on common information indicating the position of the tip of the robot arm unit 20. That is, the control unit 60 does not cause the robot arm unit 20 to perform individual operations for each of the joints JT1, JT2, and JT3 to obtain the posture information y ini , but rather causes the robot arm unit 20 to perform a single common operation, thereby obtaining the posture information y ini corresponding to each of the joints JT1, JT2, and JT3.
- the control unit 60 adjusts the control parameter ⁇ by data-driven control using the FRIT (Fictitious Reference Iterative Tuning) method, which is an iterative adjustment method using a pseudo reference input rf ( ⁇ ), based on the acquired attitude information yini .
- the control unit 60 acquires a pseudo reference input rf( ⁇ ) that is a pseudo-calculation of the target value r based on the manipulated variable uini including a current command and attitude information yini acquired separately from the feedback value FB.
- the pseudo reference input rf ( ⁇ ) is calculated by the following equation (2): Then, the control unit 60 adjusts the control parameter ⁇ by data-driven control by calculating the control parameter ⁇ using an evaluation function J F ( ⁇ ) that uses the posture information y ini in the adjustment operation using the following equation (3): Specifically, the control unit 60 adjusts the control parameter ⁇ by optimizing the evaluation function J F ( ⁇ ) that uses a preset target response characteristic T d , the acquired pseudo reference input r f ( ⁇ ), and the acquired posture information y ini .
- the control unit 60 performs the adjustment operation by calculating the control parameter ⁇ through data-driven control using the posture information y ini , which is one piece of acquired time-series data, and the operation amount u ini , which is the corresponding piece of time-series data. That is, the control unit 60 causes the robot arm unit 20 to execute one common operation, thereby acquiring the posture information y ini corresponding to each of the multiple motors 41 and the operation amount u ini including a current command, which is an output by feedback control in the adjustment operation, and acquires a pseudo reference input r f ( ⁇ ) for each of the multiple motors 41 through calculation processing using equation (2).
- the control unit 60 acquires an evaluation function J F ( ⁇ ) expressed by equation (3) as the L2 norm of the error between the output due to the target response characteristic T d based on the pseudo reference input r f ( ⁇ ) and the posture information y ini acquired as the actual output. That is, the control unit 60 calculates a control parameter ⁇ that minimizes the squared error between the output of the response characteristic Td due to the pseudo reference input rf ( ⁇ ) and the acquired attitude information yini . The control unit 60 acquires the control parameter ⁇ that takes the minimum value in the evaluation function JF ( ⁇ ), thereby optimizing the evaluation function JF ( ⁇ ) and acquiring an appropriate value for the control parameter ⁇ .
- the control unit 60 adjusts multiple types of control parameters ⁇ corresponding to each of the multiple motors 41 by optimizing the evaluation function JF ( ⁇ ) based on the attitude information yini and the operation amount uini as one piece of time-series data corresponding to each of the multiple motors 41. That is, in adjusting the control parameter ⁇ once, the control unit 60 calculates an appropriate control parameter ⁇ by performing arithmetic processing using data-driven control using a single set of data obtained by a single operation, without performing multiple operations.
- the target response characteristic Td may be, for example, a first-order transfer function or a second-order transfer function.
- the response speed is set by setting the time constant T shown in the following equation (4).
- the time constant T represents the time from the moment when the command value changes from 0 to 1 due to a step input to the moment when the output by the transfer function of the target response characteristic Td takes on a value of 0.632. Note that s represents elapsed time.
- the target response characteristic Td is set by setting and storing the value of the time constant T in advance.
- the response characteristic is set by setting the natural frequency ⁇ n and damping coefficient ⁇ shown in the following equation (5).
- the natural frequency ⁇ n is set to a frequency that is likely to resonate in the robot arm unit 20.
- the damping coefficient ⁇ is set according to the strength of vibration.
- the natural frequency ⁇ n and the damping coefficient ⁇ set the response speed in the target response characteristic Td . Note that, if the dead time in the control response in the operation of the robot arm unit 20 is known in advance, a dead time characteristic may be added to the target response characteristic Td .
- the control unit 60 changes the operation of the robot arm unit 20 to acquire the posture information y ini when the magnitude of the current flowing through the motor 41 reaches a predetermined current upper limit during the adjustment operation. For example, the control unit 60 determines that the current flowing through the motor 41 has reached the current upper limit when the value of the current command acquired as the operation amount u ini reaches a current upper limit previously set and stored in the storage unit 70.
- the current upper limit is set as the smallest value among multiple upper limits, such as the current upper limit for the motor 41, the current upper limit for the drive circuit unit 60c, or a current upper limit set by software.
- the current upper limit may be determined using an instantaneous peak value, an effective value, a moving average value, or the like.
- control unit 60 determines that the current flowing through the motor 41 has reached the current upper limit during the adjustment operation, the control unit 60 reduces the operating speed of the robot arm unit 20 during the adjustment operation and performs the adjustment operation again at the changed operating speed.
- control unit 60 changes the set value of the operating speed of the robot arm unit 20 during the adjustment operation by a predetermined percentage, such as a preset 90%.
- control unit 60 stores the adjusted control parameter ⁇ in the storage unit 70 each time an adjustment operation is performed.
- the control unit 60 performs the adjustment operation at predetermined intervals, such as during maintenance of the substrate processing system 900, and stores the value of the control parameter ⁇ adjusted in the adjustment operation in the storage unit 70.
- the predetermined interval is, for example, one day.
- the control unit 60 also outputs history information of the control parameter ⁇ stored in the storage unit 70.
- the control unit 60 displays the history information on the display unit 80 by outputting the history information of the control parameter ⁇ .
- the control unit 60 may output the history information of the control parameter ⁇ to an external computer or server device used by an inspection operator.
- the control unit 60 may also output notification information notifying the degree of adjustment of the control parameter ⁇ .
- the control unit 60 may also determine whether the value of the control parameter ⁇ is appropriate. For example, if the value of the control parameter ⁇ set by the adjustment operation is not within a predetermined determination range, the control unit 60 determines that the value of the control parameter ⁇ is inappropriate. When it is determined that the value of the control parameter ⁇ is inappropriate, the control unit 60 outputs notification information indicating that the value of the control parameter ⁇ is inappropriate, as notification information for notifying the degree of adjustment of the control parameter ⁇ .
- the control unit 60 may, for example, display the notification information on the display unit 80, or may output the notification information to an external computer or server device.
- step S1 the operation of the robot arm unit 20 in the adjustment operation is set.
- the control unit 60 sets a movement path for how the robot arm unit 20 is to operate in the adjustment operation to acquire posture information y ini .
- a plurality of types of movement paths for the robot arm unit 20 in the adjustment operation are set.
- the number of movement paths for the robot arm unit 20 in the adjustment operation is set equal to the number of transport destinations of the substrate 101.
- two types of operations are set as the adjustment operation: an operation for transporting the substrate 101 from the substrate mounting unit 102a of the processing device 102 to the substrate mounting unit 103a of the FOUP 103, and an operation for transporting the substrate 101 from the substrate mounting unit 103a to the substrate mounting unit 102a.
- the operation of the robot arm unit 20 in the adjustment operation is set to be the same as the transport operation of the substrate 101 in the substrate processing system 900. Therefore, in the adjustment operation, the robot arm section 20 may be operated in a state where the substrate 101 or a jig simulating the substrate 101 is held by the substrate holding hand 30 .
- step S2 the robot arm unit 20 is operated by feedback control based on a preset control parameter ⁇ , thereby acquiring posture information y ini separately from the feedback value FB in the feedback control.
- the control unit 60 operates the robot arm unit 20 along one movement path set from among a plurality of movement paths.
- the control unit 60 operates the robot arm unit 20 according to the set one movement, and acquires posture information y ini as time-series data during the period in which the one movement is being performed, and an operation amount u ini as time-series data corresponding to the one movement.
- step S3 it is determined whether data acquisition of the posture information y ini has been completed successfully. If it is determined that acquisition of the posture information y ini has been completed successfully, the process proceeds to step S5. If it is determined that acquisition of the posture information y ini has not been completed successfully, the process proceeds to step S4. Specifically, in step S3, the control unit 60 determines whether data acquisition has been completed successfully by determining whether the magnitude of the current flowing through the motor 41 has reached a predetermined upper current limit during the adjustment operation in step S2. That is, if the magnitude of the current flowing through the motor 41 has reached the predetermined upper current limit, the control unit 60 determines that acquisition of the posture information y ini has not been completed successfully, and the process proceeds to step S4.
- control unit 60 determines that acquisition of the posture information y ini has been completed successfully, and the process proceeds to step S5. Note that the control unit 60 determines that data acquisition has not been completed successfully if the magnitude of the current flowing through at least one of the multiple motors 41 has reached the predetermined upper current limit. Then, the control unit 60 determines that data acquisition is complete when the magnitude of the current flowing through all of the plurality of motors 41 has not reached a predetermined upper current limit value.
- step S4 the movement of the robot arm unit 20 in the adjustment operation is corrected. Specifically, the control unit 60 determines that the magnitude of the current flowing through the motor 41 in the adjustment operation has reached a predetermined upper current limit, and corrects the set movement of the robot arm unit 20 so as to reduce the movement speed of the robot arm unit 20. After the movement of the robot arm unit 20 has been corrected in step S4, the process returns to step S2 again, and the operation of acquiring posture information y ini is performed again.
- step S5 preprocessing such as noise removal is performed on the acquired time-series data of the posture information y ini and the operation amount u ini .
- the noise removal includes, for example, low-pass filtering.
- step S6 the control parameter ⁇ is adjusted.
- the control unit 60 adjusts the control parameter ⁇ by performing the calculation process expressed by equations (2) and (3) using data-driven control that sets the control parameter ⁇ in the feedback control based on the attitude information y ini acquired separately from the feedback value FB.
- step S7 it is determined whether all operations in the adjustment operation have been completed. If it is determined that all operations have been completed, the process proceeds to step S9. If it is determined that all operations have not been completed, the process proceeds to step S8.
- the control unit 60 determines whether all of the multiple types of operations of the robot arm unit 20 set in the adjustment operation have been completed.
- step S8 another of the set operations is set. In other words, the operation of the robot arm unit 20 in the adjustment operation is changed. After that, the process returns to step S2, and steps S2 to S6 are executed using the changed operation, thereby adjusting the control parameter ⁇ again.
- step S9 a table storing the control parameter ⁇ acquired in step S6 is created and stored in the memory unit 70.
- the control unit 60 stores the control parameter ⁇ for each set operation in the memory unit 70. In other words, the control unit 60 sets a control parameter ⁇ separately for each of the multiple types of operation of the robot arm unit 20 and stores them in the memory unit 70.
- step S10 the adjustment operation for adjusting the control parameter ⁇ is completed. This completes the control processing of the motor control method of this embodiment.
- the robot system 100 operates the robot arm unit 20 as an object to be operated by feedback control using the feedback value FB indicating the drive state of the motor 41, and is equipped with the control unit 60 that performs an adjustment operation to adjust the control parameter ⁇ by data-driven control that sets the control parameter ⁇ in the feedback control based on posture information y ini indicating the posture of the robot arm unit 20 acquired separately from the feedback value FB.
- This makes it possible to adjust the control parameter ⁇ based on the posture information y ini by data-driven control without causing vibrations in the robot arm unit 20.
- the control parameter ⁇ can be automatically adjusted based on the posture information y ini without directly setting the control parameter ⁇ . Therefore, the control parameter ⁇ can be adjusted more easily than when the control parameter ⁇ is directly set. Furthermore, compared to when the control parameter ⁇ is adjusted through data-driven control based on the feedback value FB, by adjusting the control parameter ⁇ through data-driven control based on the posture information y ini acquired separately from the feedback value FB, the control parameter ⁇ can be adjusted based on the actual posture of the robot arm unit 20 as the object to be operated.
- control parameter ⁇ can be adjusted to more accurately control the movement of the robot arm unit 20. Therefore, the automatic adjustment of the control parameter ⁇ can be performed more accurately without causing vibration in the robot arm unit 20.
- the control unit 60 adjusts the control parameter ⁇ by data-driven control by calculating the control parameter ⁇ using an evaluation function JF ( ⁇ ) that uses posture information yini acquired separately from the feedback value FB.
- This makes it possible to evaluate the adjustment of the control parameter ⁇ directly from the posture of the actual robot arm unit 20 using the evaluation function JF ( ⁇ ) acquired by directly using the posture information yini that indicates the posture of the robot arm unit 20 as the object of operation. Therefore, the control parameter ⁇ can be adjusted by data-driven control so as to correspond to the posture of the actual robot arm unit 20, and therefore the automatic adjustment of the control parameter ⁇ can be performed with greater accuracy without causing vibrations in the robot arm unit 20.
- the robot system 100 which serves as a motor control system, includes, as an object to be operated, a robot arm unit 20 having a plurality of interconnected link units 21, 22, and 23.
- the control unit 60 adjusts the control parameter ⁇ based on posture information y ini indicating the posture of the robot arm unit 20 acquired by operating the robot arm unit 20 through feedback control. This makes it possible to easily automatically adjust the control parameter ⁇ without causing vibrations in the robot arm unit 20, even when operating the robot arm unit 20. Therefore, even when the robot arm unit 20 is arranged to operate in a small space, it is possible to effectively prevent the robot arm unit 20 from physically interfering with surrounding members, and to automatically adjust the control parameter ⁇ for controlling the operation of the robot arm unit 20.
- the control unit 60 performs an adjustment operation by calculating a control parameter ⁇ through data-driven control using the acquired single piece of posture information y ini .
- the robot system 100 as a motor control system includes a plurality of motors 41.
- the control unit 60 adjusts a plurality of types of control parameters ⁇ corresponding to each of the plurality of motors 41 based on posture information y ini indicating a common posture acquired by operating the plurality of motors 41.
- posture information y ini indicating a common posture acquired by operating the plurality of motors 41.
- control parameters ⁇ corresponding to each of the plurality of motors 41 can be automatically adjusted based on the overall posture of the robot arm unit 20, adjustment of the control parameters ⁇ can be easily performed taking into account interference such as resonance between a plurality of members, unlike when posture information y ini is acquired by operating the robot arm unit 20 individually for each of the plurality of motors 41.
- the control parameter ⁇ can be adjusted to suppress vibrations caused by resonance between multiple components, and the control parameter ⁇ can be adjusted more appropriately than when the robot arm unit 20 is operated individually for each of the multiple motors 41 to acquire posture information y ini .
- the operating range of the robot arm unit 20 is increased.
- control parameter ⁇ corresponding to each of the multiple motors 41 can be adjusted using posture information y ini acquired from a common posture, even when the robot arm unit 20 is arranged to operate in a narrow area, physical interference of the robot arm unit 20 with surrounding components can be more effectively suppressed.
- the control unit 60 operates the robot arm unit 20 as an object to be operated by driving the motor 41 through feedback control that outputs an operation amount u ini for operating the motor 41 based on the input target value r and feedback value FB. Furthermore, in the adjustment operation, the control unit 60 acquires a pseudo reference input rf ( ⁇ ) that artificially calculates the target value r based on the operation amount u ini and posture information y ini acquired separately from the feedback value FB, and adjusts the control parameter ⁇ by optimizing an evaluation function JF ( ⁇ ) that uses a preset target response characteristic Td , the acquired pseudo reference input rf ( ⁇ ), and the acquired posture information y ini .
- the pseudo reference input rf ( ⁇ ) is calculated based on the posture information yini acquired separately from the feedback value FB, and therefore, compared to when the pseudo reference input rf ( ⁇ ) is calculated using the feedback value FB, the pseudo reference input rf ( ⁇ ) can be calculated to correspond to the actual posture of the robot arm unit 20. Therefore, by comparing and evaluating the output based on the target response characteristic Td for the pseudo reference input rf ( ⁇ ) with the posture information yini indicating the actual posture of the robot arm unit 20 using the evaluation function JF ( ⁇ ), the control parameter ⁇ can be more appropriately adjusted to correspond to the actual posture of the robot arm unit 20.
- the control unit 60 operates the robot arm unit 20 by driving the motor 41 through feedback control, which outputs an operation amount u ini for operating the motor 41 based on the input target value r and feedback value FB. Furthermore, in the adjustment operation, the control unit 60 adjusts the control parameter ⁇ through data-driven control based on the operation amount u ini , which includes a torque command or a current command for the motor 41, and posture information y ini , which indicates the position of the tip of the robot arm unit 20.
- an elastic component is included in the rigidity of the robot arm unit 20 or in the transmission mechanism 43, such as a reducer, that transmits the driving force of the motor 41, the position of the tip of the robot arm unit 20 may be shifted due to the elastic component.
- the control parameter ⁇ is adjusted by data-driven control based on the manipulated variable u ini including a torque command or a current command for the motor 41 and on the posture information y ini indicating the position of the tip of the robot arm unit 20. Therefore, unlike when data-driven control is performed that directly uses the feedback value FB of the rotation angle of the motor 41 or the like, by adjusting the control parameter ⁇ by data-driven control based on the posture information y ini indicating the position of the tip of the robot arm unit 20, the control parameter ⁇ can be adjusted to correspond to the actual position of the tip of the robot arm unit 20. As a result, the control parameter ⁇ that controls the operation of the robot arm unit 20 can be more appropriately adjusted.
- the robot system 100 as a motor control system includes a sensor unit 50 that detects the posture of the robot arm unit 20 as an object to be operated.
- the control unit 60 adjusts the control parameter ⁇ by data-driven control by acquiring posture information y ini based on the detection signal from the sensor unit 50.
- the posture information y ini can be acquired based on the detection signal from the sensor unit 50, and therefore the posture information y ini used in the data-driven control can be easily acquired. Therefore, the control parameter ⁇ can be easily automatically adjusted without causing vibration in the robot arm unit 20.
- the control unit 60 changes the operation of the robot arm unit 20 to acquire the posture information y ini when the magnitude of the current flowing through the motor 41 reaches a predetermined upper current limit.
- the control parameter ⁇ is adjusted by data-driven control based on the unstable posture information y ini , which may reduce the accuracy of the adjustment of the control parameter ⁇ .
- the control unit 60 changes the operation of the robot arm unit 20 to acquire the posture information y ini when the magnitude of the current flowing through the motor 41 reaches a predetermined upper current limit. This allows the adjustment operation to be performed in a state where the magnitude of the current flowing through the motor 41 does not reach the predetermined upper current limit, thereby preventing the posture information y ini acquired during the adjustment operation from becoming unstable. As a result, it is possible to prevent a reduction in the accuracy of the adjustment of the control parameter ⁇ by data-driven control.
- the robot system 100 as a motor control system includes a substrate holding hand 30 connected to the tip of a robot arm unit 20 and configured to hold a substrate 101.
- the control unit 60 adjusts a control parameter ⁇ by data-driven control based on posture information y ini acquired by the robot arm unit 20 performing an operation to change the position of the substrate holding hand 30 during an adjustment operation.
- the transport operation may be performed in a narrow space. In such cases, it may be difficult to vibrate the robot arm unit 20 to perform the adjustment operation.
- the control parameter ⁇ is adjusted by data-driven control based on posture information y ini acquired by the robot arm unit 20 performing an operation to change the position of the substrate holding hand 30 during an adjustment operation.
- This allows the control parameter ⁇ to be adjusted by data-driven control based on posture information y ini acquired by performing a normal operation to transport the substrate 101.
- automatic adjustment of the control parameter ⁇ can be performed more effectively without causing vibrations in the robot arm section 20.
- the robot system 100 which serves as a motor control system, includes a horizontally articulated robot arm 20 including multiple link units 21, 22, and 23 that rotate around parallel rotation axes A1, A2, and A3.
- the control unit 60 adjusts a control parameter ⁇ that controls the operation of the horizontally articulated robot arm 20 using data-driven control.
- the structural differences such as the lengths of the multiple link units 21, 22, and 23 included in the robot arm 20, may be reduced to reduce the area of the region in which the robot arm 20 is installed in a top view and to increase the operating range of the robot arm 20.
- the robot system 100 adjusts the control parameter ⁇ that controls the operation of the horizontally articulated robot arm unit 20 by data-driven control during the adjustment operation. This allows the control parameter ⁇ to be automatically adjusted by data-driven control based on the posture information y ini of the horizontally articulated robot arm unit 20, so that the control parameter ⁇ can be effectively adjusted so as to suppress vibrations caused by interference between the multiple link units 21, 22, and 23.
- the control unit 60 outputs at least one of the history information of the stored control parameter ⁇ and notification information that notifies the degree of adjustment of the control parameter ⁇ . This makes it possible to check how the control parameter ⁇ has changed as a result of the adjustment operation by referring to at least one of the history information and notification information output by the control unit 60.
- a robot system 200 according to the second embodiment will be described with reference to Figures 9 and 10.
- the posture information y ini is estimated based on a detection result from an encoder 42 serving as a rotation angle detection unit.
- the same components as those in the first embodiment are denoted by the same reference numerals, and description thereof will be omitted.
- the robot system 200 is an example of a motor control system.
- a robot system 200 includes a robot 10 including a robot arm unit 20, a substrate holding hand 30, and a drive unit 40, a storage unit 70, and a display unit 80, similar to the first embodiment.
- the robot system 200 does not include a sensor unit 50 for detecting the posture of the robot arm unit 20, but includes a control unit 260.
- the control unit 260 of the second embodiment controls the operation of each unit of the robot system 200, similar to the control unit 60 of the first embodiment.
- control unit 260 controls the operation of the robot arm unit 20 by feedback control based on a set control parameter ⁇ , and also performs an adjustment operation to adjust the control parameter ⁇ by data-driven control using the FRIT method, based on posture information y ini acquired separately from the feedback value FB in the feedback control and the manipulated variable u ini in the feedback control.
- the control unit 260 in feedback control, acquires a feedback value FB indicating the driving state of the motor 41 based on the detection result by the encoder 42. Then, in the second embodiment, in the adjustment operation, the control unit 260 estimates posture information y ini based on the detection result by the encoder 42, separately from the feedback value FB acquired based on the detection result by the encoder 42, and adjusts the control parameter ⁇ by data-driven control based on the estimated posture information y ini .
- the control unit 260 includes, as its functional configuration, controllers 61, 62, 63, and an estimation unit 264.
- the estimation unit 264 is a functional block that is realized when the arithmetic unit of the control unit 260 reads and executes a predetermined control program stored in the memory unit 70.
- the control unit 260 operates as the estimation unit 264.
- the estimation unit 264 may also be configured using hardware such as an electronic circuit.
- the estimator 264 acquires the rotation angle of the motor 41 for each of the joints JT1, JT2, and JT3 based on the detection results by the encoder 42.
- the estimator 264 estimates the link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 of the link units 21, 22, and 23 based on the acquired rotation angle of the motor 41.
- the controller 260 then acquires posture information y ini based on the estimated link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 , in the same manner as in the first embodiment, to estimate the posture information y ini . That is, the estimator 264 functions as a state estimation observer that estimates the posture information y ini based on the information stored in the memory unit 70 and the detection results by the encoder 42.
- the estimation unit 264 of the control unit 260 may estimate the link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 of the link units 21, 22, and 23 based on the rotation angle of the motor 41 by performing calculation processing that is set in advance and stored in the storage unit 70.
- the estimation unit 264 may estimate the link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 by using a 3D model of the robot arm unit 20 that is stored in advance in the storage unit 70.
- the storage unit 70 stores a 3D model that simulates the shape, size, rigidity, and other characteristics of each of the link units 21, 22, and 23 of the robot arm unit 20.
- the estimation unit 264 simulates the operation of the robot arm unit 20 by operating the 3D model based on the acquired rotation angle of the motor 41. Based on the simulation results, the estimation unit 264 estimates the link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 .
- the control process for adjusting the control parameter ⁇ by data-driven control based on the estimated attitude information y ini is the same as in the first embodiment. That is, the control unit 260 acquires a pseudo reference input r f ( ⁇ ) using the estimated attitude information y ini and the manipulated variable u ini , and adjusts the value of the control parameter ⁇ by data-driven control using the FRIT method that optimizes an evaluation function J F ( ⁇ ) using the acquired pseudo reference input r f ( ⁇ ), a target response characteristic T d , and the attitude information y ini.
- Other configurations according to the second embodiment are the same as in the first embodiment.
- the robot system 200 as a motor control system includes an encoder 42 as a rotation angle detection unit that detects the rotation angle of the motor 41.
- the control unit 260 acquires a feedback value FB indicating the driving state of the motor 41 based on the detection result by the encoder 42. Then, in the adjustment operation, the control unit 260 estimates posture information y ini based on the detection result by the encoder 42, separately from the feedback value FB acquired based on the detection result by the encoder 42, and adjusts the control parameter ⁇ by data-driven control based on the estimated posture information y ini .
- control unit 260 This allows the control unit 260 to acquire the feedback value FB used to control the driving of the motor 41 based on the detection result by the encoder 42 and to estimate the posture information y ini separately from the feedback value FB. This prevents the configuration of the robot system 200 from becoming more complex than when a configuration for acquiring the posture information y ini is provided separately from the encoder 42.
- Other advantages of the second embodiment are similar to those of the first embodiment.
- the robot arm unit 20 serving as the object of operation is a horizontally articulated robot arm
- the present disclosure is not limited to this.
- the robot arm unit may be a vertically articulated robot arm.
- the robot arm unit may have a parallel link mechanism.
- a movement mechanism other than a robot arm such as a linear movement mechanism having a slide mechanism, may also be the object of operation.
- an aligner device that detects the orientation of a substrate may also be the object of operation.
- control parameters for controlling a motor for rotating a substrate placed in an aligner device may be adjusted using data-driven control by acquiring the rotational position of the substrate as posture information.
- control parameters may be adjusted using data-driven control based on posture information.
- posture information When the pair of robot arms in a dual-arm robot have a common shape, interference such as resonance may easily occur in the operation of the pair of robot arms.
- the substrate holding hand 30 that holds the substrate 101 is connected to the robot arm unit 20 as the object of operation, but the present disclosure is not limited to this.
- a hand that holds a workpiece other than a substrate may be connected to the robot arm unit as an end effector.
- the robot arm unit may be connected to an end effector that performs processing such as machining on the workpiece.
- the robot arm unit 20 as the object to be operated, was connected to a base unit 24 placed on the floor, but the present disclosure is not limited to this.
- the robot arm unit may be placed on a wall surface or a ceiling surface.
- the robot arm unit may also be placed on a movable cart unit having wheel units and a drive unit for driving the wheel units.
- control parameter ⁇ is adjusted based on the attitude information y ini by data-driven control using the FRIT method, in which a pseudo reference input r f ( ⁇ ) expressed by equation (2) is acquired and the control parameter ⁇ is calculated by the evaluation function J F ( ⁇ ) expressed by equation (3).
- the control parameter may be adjusted based on the attitude information by data-driven control other than the FRIT method.
- the control parameter may be adjusted based on the attitude information by data-driven control using the VRFT method (virtual reference feedback tuning: feedback adjustment using a virtual reference input).
- VRFT method virtual reference feedback tuning: feedback adjustment using a virtual reference input
- z ⁇ ini is attitude information representing the link angle.
- J VRFT ( ⁇ ) obtained by the following equation (7).
- control parameters are obtained so that the characteristics of the control system approach the target response characteristic Td .
- u ⁇ ini indicates the manipulated variable in feedback control
- y ⁇ ini is a value representing the rotation angle of the motor.
- the VRFT method adjusts the control parameters by evaluating the manipulated variable u ⁇ ini , which is the input side of the motor, using a virtual reference input r v.
- preprocessing such as filtering for noise removal may be performed on the manipulated variable u ⁇ ini , the motor rotation angle y ⁇ ini , and the attitude information z ⁇ ini .
- NCbT method noniterative version of correlation based tuning
- control parameters may be adjusted by data-driven control using the FRIT method.
- the control parameters may be adjusted by the E-FRIT method (Extended-FRIT) using the evaluation function J EF ( ⁇ ) shown in equation (8).
- ⁇ u indicates the difference between the control parameter being adjusted and the manipulated variable u ini .
- ⁇ is set in advance as a parameter for setting the magnitude of the input penalty.
- a penalty is added to the evaluation function of the FRIT method for fluctuations in the input manipulated variable u ini .
- the control parameter ⁇ is adjusted based on posture information y ini indicating a common posture acquired by operating multiple motors 41 during the adjustment operation.
- the control parameter may be adjusted based on multiple posture information.
- posture information based on a common operation may not be used when adjusting the control parameters for each of the multiple motors.
- posture information may be acquired for each of the multiple motors through mutually different operations.
- posture information may be acquired by operating multiple joints in a robot arm unit as a target, one axis at a time, for each axis.
- the number of motors required to operate the target may be one.
- the manipulated variable for the motor 41 in the adjustment operation includes a current command
- the manipulated variable for the motor may include a torque command.
- a torque sensor may be provided in the robot system. Feedback control based on a torque command may be performed by providing a torque sensor for each joint of the robot arm.
- a current sensor may be provided as a torque sensor in the robot system. That is, the torque for each joint may be calculated based on the current detected by the current sensor.
- a current sensor may be provided for each joint in the robot arm, or the current for each joint may be detected in a drive circuit unit of a control unit serving as a robot controller.
- the present disclosure is not limited to this.
- the posture of the object of operation may be detected by a sensor unit other than a laser tracker.
- the position of the tip of the robot arm may be detected by using a photoelectric sensor that emits detection light and detects the robot arm when the emitted detection light is blocked.
- posture information indicating the position of the tip of the robot arm may be obtained by detecting the position of an end effector, such as a substrate holding hand, placed at the tip of the robot arm, or a workpiece, such as a substrate, held by the end effector, and performing a predetermined calculation process, such as an inverse transformation process, on the detection results.
- the posture of the object of operation may be detected by using a sensor such as a magnetic sensor, capacitance sensor, mechanical contact sensor, or current sensor as the sensor unit, without emitting detection light.
- the posture of the object of operation may be detected based on the captured image by optically capturing an image of the object of operation.
- a target may not be placed on the object of operation, such as the robot arm.
- the posture of the moving object may be detected by directly detecting the detection light reflected from the outer surface of the moving object.
- the operation of the robot arm unit 20 during the adjustment operation is changed when the current command value, based on the manipulated variable u ini , reaches a predetermined upper current limit, indicating that the current flowing through the motor 41 has reached the predetermined upper current limit.
- the present disclosure is not limited to this.
- the control parameters may be adjusted by data-driven control based on acquired data such as posture information without changing the operation of the robot arm unit.
- a current sensor may be provided to detect the current flowing through the motor, and whether the current flowing through the motor has reached the current limit may be determined based on the detection result of the current sensor, rather than the value of the current command as the manipulated variable.
- the operation speed of the robot arm unit may be detected instead of the current, and the operation of the robot arm unit during the adjustment operation may be changed when the detected speed reaches the speed limit.
- the operation of the operation object during the adjustment operation may be changed when the current flowing through the motor reaches a predetermined upper current limit.
- a transmission mechanism 43 including a reducer was arranged for each of the joints JT1, JT2, and JT3 in the robot arm unit 20, which is the object of movement driven by multiple motors 41, but the present disclosure is not limited to this.
- a transmission mechanism such as a reducer does not need to be arranged.
- the robot arm unit may be operated by a direct drive method in which it is operated directly by the rotation shaft of the motor. Even in this case, a discrepancy may occur between the rotation angle of the motor and the link angle due to the elastic component of the link section of the robot arm unit itself, so appropriate control parameters can be obtained by performing data-driven control based on posture information.
- the link angles ⁇ 1 , ⁇ 2 , and ⁇ 3 are converted into values corresponding to the rotation angle of the motor 41 based on the reduction ratio of the transmission mechanism 43 and acquired as the posture information y ini, but the present disclosure is not limited to this.
- the acquired link angles may be acquired directly as posture information, and an adjustment operation may be performed to adjust the control parameters based on the posture information.
- a value may be corrected according to the reduction ratio, so that calculation processing using data-driven control such as the FRIT method may be performed using posture information in the dimension of the link angles rather than the dimension of the rotation angle of the motor.
- adjustment operations are performed at predetermined intervals, such as during maintenance of the substrate processing system 900 in which the robot systems 100 and 200 serving as motor control systems are installed, but the present disclosure is not limited to this.
- adjustment operations may be performed before the motor control system is shipped, before use of the motor control system begins.
- the control parameters may be adjusted by performing operations that differ from those that will occur when the object to be operated is actually in operation.
- the control units 60 and 260 output history information of the control parameter ⁇ stored in the storage unit 70, and, if the value of the control parameter ⁇ is not within a predetermined judgment range, output notification information indicating that the value of the control parameter ⁇ is inappropriate.
- the control unit may output at least one of the history information and the notification information.
- the control unit may also output notification information indicating the degree of adjustment of the control parameter by calculating a moving average of the control parameter. For example, the control unit may calculate a moving average of the control parameters acquired in each of multiple adjustment operations and determine whether the result of the moving average is within a predetermined range.
- the control unit may output notification information indicating that the value of the control parameter is inappropriate as notification information indicating the degree of adjustment of the control parameter.
- the control unit may also output the control parameter or the determination result itself of whether the result of the moving average of the control parameter is within the predetermined range as notification information.
- control of the movement of the robot arm unit 20 as the object to be moved and the control of the adjustment of the control parameter ⁇ by data-driven control based on the posture information y ini are performed by common control units 60 and 260, but the present disclosure is not limited to this.
- the control of the movement of the object to be moved and the control of the adjustment of the control parameter by data-driven control based on the posture information may be performed by separate control devices.
- the control of obtaining posture information based on a detection signal from a sensor unit may be performed by a control device arranged separately from the control unit that controls the movement of the object to be moved.
- circuits or processing circuits including general-purpose processors, special-purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), conventional circuits, and/or combinations thereof, configured or programmed to perform the disclosed functions.
- Processors are considered processing circuits or circuits because they include transistors and other circuitry.
- a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions.
- the hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and/or processor.
- a motor an operating object that operates when driven by the motor; a control unit that operates the object to be operated by feedback control using a feedback value that indicates the driving state of the motor, and that performs an adjustment operation to adjust the control parameters by data-driven control that sets control parameters in the feedback control based on posture information that indicates the posture of the object to be operated, obtained separately from the feedback value.
- the operating object includes a robot arm having a plurality of link portions connected to each other, 3.
- the motor includes a plurality of the motors, A motor control system according to any one of aspects 1 to 4, wherein the control unit, in the adjustment operation, adjusts the plurality of types of control parameters corresponding to each of the plurality of motors based on the posture information indicating a common posture obtained by operating the plurality of motors.
- the control unit The robot arm unit is operated by driving the motor through the feedback control that outputs an operation amount for operating the motor based on an input target value and the feedback value, and 4.
- a sensor unit for detecting the posture of the motion target is provided, 8.
- (Aspect 9) a rotation angle detection unit that detects a rotation angle of the motor;
- the control unit acquiring the feedback value indicating the driving state of the motor based on the detection result by the rotation angle detection unit;
- 9. The motor control system according to claim 1, wherein, in the adjustment operation, the attitude information is estimated based on a detection result by the rotation angle detection unit separately from the feedback value obtained based on a detection result by the rotation angle detection unit, and the control parameter is adjusted by the data-driven control based on the estimated attitude information.
- the robot arm unit includes a horizontally articulated robot arm unit including the plurality of link units that rotate around rotation axes that are parallel to each other, A motor control system according to aspect 3, wherein the control unit adjusts the control parameters that control the operation of the horizontally articulated robot arm unit by the data-driven control during the adjustment operation.
- a motor ; a robot arm unit having a plurality of link units connected to each other and operated by the drive of the motor; a control unit that operates the robot arm unit through feedback control using a feedback value that indicates a drive state of the motor, and performs an adjustment operation to adjust the control parameters through data-driven control that sets control parameters in the feedback control based on posture information that indicates the posture of the robot arm unit obtained separately from the feedback value.
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)
- Control Of Position Or Direction (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
このロボットシステム(100)は、モータの駆動状態を示すフィードバック値(FB)を用いたフィードバック制御により動作対象を動作させるとともに、フィードバック値(FB)とは別個に取得された姿勢情報(yini)に基づいて、フィードバック制御における制御パラメータ(ρ)を設定するデータ駆動型制御によって、制御パラメータ(ρ)を調整する調整動作を行う。
Description
この開示は、モータ制御システム、ロボットシステム、および、モータ制御方法に関する。
従来、モータ制御システムが開示されている。特許第5206994号公報には、電動機を制御する電動機制御装置が記載されている。この電動機制御装置では、指令信号と、電動機の動作量とが一致するように電動機を制御するフィードバックループが構成されている。また、特許第5206994号公報に記載の電動機制御装置は、フィードバック制御における制御ゲインを自動的に調整するために、駆動信号に掃引正弦波の外乱信号を加えることによって電動機による動作に振動を生じさせる。そして、外乱信号により生じた振動の大きさおよび周波数に基づいて制御ゲインが自動調整される。
しかしながら、上記特許第5206994号公報に記載の電動機制御装置のように、制御パラメータとしての制御ゲインの自動調整において外乱信号を加える場合には、電動機の駆動により動作する動作対象に振動が生じる。この場合には、生じた振動に起因して、動作対象が周囲に配置された部材に対して物理的に干渉する場合がある。そこで、動作対象に振動を生じさせることなく制御パラメータの自動調整を行うことが望まれている。
この開示は、上記のような課題を解決するためになされたものであり、この開示の1つの目的は、動作対象に振動を生じさせることなく制御パラメータの自動調整を行うことが可能なモータ制御システム、ロボットシステム、および、モータ制御方法を提供することである。
この開示の第1の局面によるモータ制御システムは、モータと、モータの駆動により動作する動作対象と、モータの駆動状態を示すフィードバック値を用いたフィードバック制御により動作対象を動作させるとともに、フィードバック値とは別個に取得された動作対象の姿勢を示す姿勢情報に基づいて、フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、制御パラメータを調整する調整動作を行う制御部と、を備える。
この開示の第1の局面によるモータ制御システムは、上記のように、モータの駆動状態を示すフィードバック値を用いたフィードバック制御により動作対象を動作させるとともに、フィードバック値とは別個に取得された動作対象の姿勢を示す姿勢情報に基づいて、フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、制御パラメータを調整する調整動作を行う制御部を備えている。これにより、動作対象に振動を生じさせることなく、データ駆動型制御によって姿勢情報に基づいて制御パラメータを調整できる。その結果、動作対象に振動を生じさせることなく制御パラメータの自動調整を行うことができる。
この開示の第2の局面によるロボットシステムは、モータと、互いに接続された複数のリンク部を有し、モータの駆動により動作するロボットアーム部と、モータの駆動状態を示すフィードバック値を用いたフィードバック制御によりロボットアーム部を動作させるとともに、フィードバック値とは別個に取得されたロボットアーム部の姿勢を示す姿勢情報に基づいて、フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、制御パラメータを調整する調整動作を行う制御部と、を備える。
この開示の第2の局面によるロボットシステムは、上記のように、モータの駆動状態を示すフィードバック値を用いたフィードバック制御によりロボットアーム部を動作させるとともに、フィードバック値とは別個に取得されたロボットアーム部の姿勢を示す姿勢情報に基づいて、フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、制御パラメータを調整する調整動作を行う制御部を備えている。これにより、動作対象に振動を生じさせることなく、データ駆動型制御によって姿勢情報に基づいて制御パラメータを調整できる。その結果、動作対象に振動を生じさせることなく制御パラメータの自動調整を行うことが可能なロボットシステムを提供できる。
この開示の第3の局面によるモータ制御方法は、モータの駆動により動作する動作対象を、モータの駆動状態を示すフィードバック値を用いたフィードバック制御により動作させることによって、フィードバック値とは別個に動作対象の姿勢を示す姿勢情報を取得することと、フィードバック値とは別個に取得された姿勢情報に基づいて、フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、制御パラメータを調整することと、を備える。
この開示の第3の局面によるモータ制御方法は、上記のように、フィードバック値とは別個に取得された姿勢情報に基づいて、フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、制御パラメータを調整する。これにより、動作対象に振動を生じさせることなく、データ駆動型制御によって姿勢情報に基づいて制御パラメータを調整できる。その結果、動作対象に振動を生じさせることなく制御パラメータの自動調整を行うことが可能なモータ制御方法を提供できる。
本開示のモータ制御システム、ロボットシステム、および、モータ制御方法は、動作対象に振動を生じさせることなく制御パラメータの自動調整を行うことができる。
以下、本開示を具体化した本開示の一実施形態を図面に基づいて説明する。
[第1実施形態]
図1から図7までを参照して、第1実施形態によるロボットシステム100の構成について説明する。ロボットシステム100は、モータ制御システムの一例である。
図1から図7までを参照して、第1実施形態によるロボットシステム100の構成について説明する。ロボットシステム100は、モータ制御システムの一例である。
(ロボットシステムの構成)
図1に示すように、ロボットシステム100は、たとえば、クリーンルームにおいて、基板101に対してレジストの塗布、または、エッヂングなどの処理を行う基板処理システム900に配置されている。基板処理システム900は、基板101に対して処理を行う処理装置102を備えている。処理装置102では、基板101の取入れ、および、取出しを行うための場所であるロードロック部において、処理装置102に基板101を受け渡すために基板101が載置される基板載置部102aが配置されている。
図1に示すように、ロボットシステム100は、たとえば、クリーンルームにおいて、基板101に対してレジストの塗布、または、エッヂングなどの処理を行う基板処理システム900に配置されている。基板処理システム900は、基板101に対して処理を行う処理装置102を備えている。処理装置102では、基板101の取入れ、および、取出しを行うための場所であるロードロック部において、処理装置102に基板101を受け渡すために基板101が載置される基板載置部102aが配置されている。
ロボットシステム100は、基板101に対して処理が行われる基板処理システム900において、複数の基板101が収納される容器であるFOUP103(Front Opening Unify Pod)と、処理装置102との間における基板101の搬送を行う。ロボットシステム100は、たとえば、EFEM(Equipment Front End Module)である。FOUP103は、基板101が載置される基板載置部103aを有する。FOUP103では、複数の基板101が上下方向に並んで配置される。基板101は、円板形状を有する半導体ウエハである。基板101は、たとえば、シリコン、ゲルマニウム、または、石英ガラスなどにより形成されている。
図2に示すように、ロボットシステム100は、ロボット10を備えている。ロボット10は、ロボットアーム部20、基板保持ハンド30、および、駆動部40を備えている。また、ロボットシステム100は、センサ部50、制御部60、記憶部70、および、表示部80を備えている。ロボット10は、基板101を搬送する基板搬送ロボットである。ロボット10は、EFEMにおいて外部から区画された搬送室内に配置されている。なお、ロボットアーム部20は、動作対象の一例である。
図3に示すように、ロボットアーム部20は、互いに接続された複数のリンク部21、リンク部22、および、リンク部23を有する。リンク部21、22、および、23同士は、互いに平行な回転軸線A1、A2、および、A3回りに回転する。すなわち、ロボットアーム部20は、水平多関節のロボットアームである。回転軸線A1、A2、および、A3は、上下方向であるZ方向に沿って延びている。リンク部21、22、および、23は、ロボットアーム部20の基端から先端に向かってこの順に互いに接続されている。ロボットアーム部20の基端は、床面に配置されたベース部24に接続されている。ロボットアーム部20の先端には、基板保持ハンド30が接続されている。具体的には、リンク部21の一方端部は、関節JT1を介してベース部24に接続されている。リンク部22の一方端部は、関節JT2を介してリンク部21の他方端部に接続されている。リンク部23の一方端部は、関節JT3を介してリンク部22の他方端部に接続されている。リンク部23の他方端部には、基板保持ハンド30が接続されている。関節JT1は、ベース部24に対してリンク部21を、上下方向であるZ方向に延びる回転軸線A1回りに回転させる。関節JT2は、リンク部21に対してリンク部22を、上下方向であるZ方向に延びる回転軸線A2回りに回転させる。関節JT3は、リンク部22に対してリンク部23を、上下方向であるZ方向に延びる回転軸線A3回りに回転させる。基板保持ハンド30は、リンク部23に対して一体的に動作するように接続されている。また、ロボットアーム部20は、ベース部24に対して上下方向に移動する。
基板保持ハンド30は、ロボットアーム部20の先端に接続されており、基板101を保持するエンドエフェクタである。ロボット10は、FOUP103と処理装置102との間における基板101の搬送動作を行う場合に、基板保持ハンド30において水平面に沿って基板101を保持した状態で、基板101を搬送する。基板保持ハンド30は、板状のU字形状を有しており、先端部分が二股に分かれている。ロボット10は、基板保持ハンド30のZ1方向側である上方側の面に基板101を載置した状態で、ロボットアーム部20を動作させることによって、基板101を搬送する。
図4に示すように、関節JT1、関節JT2、および、関節JT3の各関節には、ロボットアーム部20を駆動する駆動部40が配置されている。駆動部40は、モータ41、エンコーダ42、および、伝達機構43を含む。モータ41、エンコーダ42、および、伝達機構43の各々は、関節JT1、関節JT2、および、関節JT3の各関節ごとに配置されている。モータ41は、駆動部40における駆動力の駆動源となる。すなわち、ロボットアーム部20は、モータ41の駆動により動作する。モータ41は、たとえば、サーボモータである。エンコーダ42は、モータ41の回転角を検出する。具体的には、エンコーダ42は、モータ41の出力軸の回転位置を検出する。伝達機構43は、モータ41の駆動力を伝達する。伝達機構43は、たとえば、複数の歯車を有する減速機を含む。駆動部40は、モータ41の駆動力を伝達機構43が伝達することによって、ロボットアーム部20における複数のリンク部21、22、および、23が互いに成す角であるリンク角を変更させる。なお、エンコーダ42は、回転角検出部の一例である。
図3に示すように、センサ部50は、ロボットアーム部20の姿勢を検出する。センサ部50は、検出光を出射することによって、ロボットアーム部20の姿勢を検出するレーザートラッカーを含む。たとえば、センサ部50は、ロボットアーム部20の先端に対して検出光としてのレーザ光を照射するとともに、ロボットアーム部20の先端から反射された検出光を検出することによって、ロボットアーム部20の先端の3次元的な位置を検出する。たとえば、センサ部50は、ロボットアーム部20の先端として、リンク部23の先端であって、基板保持ハンド30の基端の位置を検出する。具体的には、リンク部23の先端において、検出光を反射する一対のターゲット50aが配置されている。センサ部50は、一対のターゲット50aに対して検出光を出射するとともに、一対のターゲット50aにおいて反射された検出光を検出することによって、一対のターゲット50aの位置を検出する。センサ部50は、ターゲット50aの位置を検出することによって、ロボットアーム部20の姿勢を検出する。センサ部50は、ロボットアーム部20に対して検出光を照射する位置に配置されており、たとえば、ロボットアーム部20の上方に配置されている。ターゲット50aは、ロボットアーム部20において、リンク部23の上方の面に配置されている。
図2に示すように、制御部60は、メイン制御部60a、サーボ制御部60b、および、駆動回路部60cを含む。制御部60は、ロボットアーム部20の動作を制御する。また、制御部60は、ロボットシステム100の各部の動作を制御する。制御部60は、ロボット10の動作を制御するロボットコントローラである。制御部60は、ロボット10による基板101の搬送動作を制御する。メイン制御部60a、および、サーボ制御部60bは、たとえば、CPU(Central Processing Unit)を含む。メイン制御部60aは、ロボットアーム部20の関節JT1、JT2、および、JT3の各々における回転動作を制御する。サーボ制御部60bは、メイン制御部60aからの指令に基づいてロボットアーム部20を動作させるための駆動源となるモータ41に出力される駆動電流を制御する。駆動回路部60cは、関節JT1、JT2、および、JT3に駆動電力を供給する。駆動回路部60cは、モータ41に交流電力を供給するインバータ回路を含む。駆動回路部60cは、関節JT1、JT2、および、JT3の各々ごとに配置されている。
記憶部70は、ハードディスクなどの記憶装置を含む。記憶部70は、制御部60により実行される制御処理に用いられる各種のプログラムおよびパラメータなどを記憶している。制御部60は、記憶部70に記憶されたプログラムおよびパラメータなどに基づいて制御処理を実行する。
表示部80は、制御部60の制御によりロボットシステム100の動作状況を示す情報を表示する。表示部80は、液晶または有機ELなどのモニターディスプレイを含む。
(ロボットアーム部の動作の制御)
図5に示すように、本実施形態では、制御部60は、設定された制御パラメータρによるフィードバック制御によって、ロボットアーム部20の動作を制御する。制御部60は、入力された目標値rとフィードバック値FBとによりモータ41を動作させるための操作量uiniを出力するフィードバック制御によって、モータ41を駆動させることによりロボットアーム部20を動作させる。制御部60は、フィードバック制御における機能的な構成として、制御器61、制御器62、および、制御器63を含む。制御器61、制御器62、および、制御器63は、記憶部70に格納された所定の制御プログラムを制御部60の演算装置が読み出して実行することによって実現される機能ブロックである。すなわち、制御部60が、制御器61、制御器62、および、制御器63として動作する。なお、制御器61、制御器62、および、制御器63の各々を、電子回路等のハードウェアにより構成してもよい。
図5に示すように、本実施形態では、制御部60は、設定された制御パラメータρによるフィードバック制御によって、ロボットアーム部20の動作を制御する。制御部60は、入力された目標値rとフィードバック値FBとによりモータ41を動作させるための操作量uiniを出力するフィードバック制御によって、モータ41を駆動させることによりロボットアーム部20を動作させる。制御部60は、フィードバック制御における機能的な構成として、制御器61、制御器62、および、制御器63を含む。制御器61、制御器62、および、制御器63は、記憶部70に格納された所定の制御プログラムを制御部60の演算装置が読み出して実行することによって実現される機能ブロックである。すなわち、制御部60が、制御器61、制御器62、および、制御器63として動作する。なお、制御器61、制御器62、および、制御器63の各々を、電子回路等のハードウェアにより構成してもよい。
制御部60は、フィードフォワードコントローラとしての制御器61および62と、フィードバックコントローラとしての制御器63とを有する2自由度制御を行う。制御器61による演算処理をCA、制御器62による演算処理をCB、そして、制御器63による演算処理をK(ρ)とすると、入力された目標値rに対する操作量uiniは、以下の式(1)により表される。
ここで、目標値rは、たとえば、モータ41の回転角の角度指令値である。ρは、制御器63における制御パラメータを示す。制御器63は、たとえば、制御パラメータρによるPID制御を行う。なお、Pは、比例制御、Iは、積分制御、Dは、微分制御を表している。制御パラメータρは、PID制御における、比例ゲイン、積分ゲイン、および、微分ゲインの値を含む。また、FBは、モータ41の駆動状態を示すフィードバック値を表す。制御部60は、フィードバック値FBとして、エンコーダ42による検出結果に基づいてモータ41の回転角を示す値を取得する。操作量uiniは、モータ41に対する電流指令を含む。制御器61および62の各々におけるフィードフォワード制御のパラメータは、予め設定されて記憶部70に記憶されている。制御器61および62の各々におけるフィードフォワード制御のパラメータは、固定値であってもよいし、ロボットアーム部20の動作、または、外乱の状態などに応じて値が変化するようにしてもよい。また、制御器63におけるフィードバック制御の制御パラメータρは、同様に、記憶部70に記憶されている。
〈制御パラメータの調整動作〉
本実施形態では、制御部60は、予め設定された制御パラメータρによって、フィードバック値FBを用いたフィードバック制御によりロボットアーム部20を動作させるとともに、フィードバック値FBとは別個に取得されたロボットアーム部20の姿勢を示す姿勢情報yiniに基づいて、フィードバック制御における制御パラメータρを設定するデータ駆動型制御によって、制御パラメータρを調整する調整動作を行う。調整動作において、制御部60は、姿勢情報yiniを取得するために、たとえば、処理装置102の基板載置部102aから、FOUP103の基板載置部103aまで基板101を搬送する動作をロボットアーム部20に実行させる。
本実施形態では、制御部60は、予め設定された制御パラメータρによって、フィードバック値FBを用いたフィードバック制御によりロボットアーム部20を動作させるとともに、フィードバック値FBとは別個に取得されたロボットアーム部20の姿勢を示す姿勢情報yiniに基づいて、フィードバック制御における制御パラメータρを設定するデータ駆動型制御によって、制御パラメータρを調整する調整動作を行う。調整動作において、制御部60は、姿勢情報yiniを取得するために、たとえば、処理装置102の基板載置部102aから、FOUP103の基板載置部103aまで基板101を搬送する動作をロボットアーム部20に実行させる。
制御部60は、センサ部50からの検出信号に基づいて、姿勢情報yiniを取得する。具体的には、制御部60は、調整動作において、予め設定された制御パラメータρに基づいて、時系列データとしての操作量uiniを出力することによって、ロボットアーム部20により基板保持ハンド30の位置を変更する動作を行う。制御部60は、操作量uiniによりロボットアーム部20を動作させることによって、センサ部50からの検出信号に基づいて時系列データとしての姿勢情報yiniを取得する。制御部60は、姿勢情報yiniとして、ロボットアーム部20の先端の位置を示す情報を取得する。制御部60は、たとえば、センサ部50からのターゲット50aの位置を示す検出信号を取得するとともに、ロボットアーム部20の先端に配置されたターゲット50aの3次元的な位置を取得する。そして、制御部60は、取得されたターゲット50aの位置に基づいて、ロボットアーム部20の先端の3次元的な位置および向きを示す情報を取得する。
詳細には、図6に示すように、制御部60は、予め記憶部70に記憶しているリンク部21、22、および、23の長さなどの構造的な特徴と、リンク部23における一対のターゲット50aの位置とに基づいて演算処理を行うことによって、リンク部21、22、および、23同士が互いになす角度であるリンク角θ1、リンク角θ2、および、リンク角θ3を取得する。リンク角θ1は、ベース部24の基準方向に対するリンク部21の延びる方向の角度である。基準方向は、たとえば、X方向である。リンク部21の延びる方向は、水平面であるXY平面における関節JT1の回転軸線A1の位置から関節JT2の回転軸線A2の位置に向かう方向である。また、リンク角θ2は、リンク部21の延びる方向に対するリンク部22の延びる方向の角度である。リンク部22の延びる方向は、水平面であるXY平面における関節JT2の回転軸線A2の位置から関節JT3の回転軸線A3の位置に向かう方向である。リンク角θ3は、リンク部22の延びる方向に対するリンク部23の延びる方向の角度である。リンク部23の延びる方向は、水平面であるXY平面における関節JT3の回転軸線A3の位置から基板保持ハンド30において基板101の中心が配置される位置に向かう方向である。制御部60は、リンク角θ1、θ2、および、θ3と、リンク部21、22、および、23の長さとによって、ロボットアーム部20の先端の位置を算出する演算処理を逆関数により逆変換することによって、センサ部50からの検出信号に基づいて取得されるロボットアーム部20の先端の位置から、リンク角θ1、θ2、および、θ3を算出する。
制御部60は、取得されたリンク角θ1、θ2、および、θ3に基づいて、ロボットアーム部20の先端の位置を示す姿勢情報yiniを取得する。姿勢情報yiniは、取得されたリンク角θ1、θ2、および、θ3を、それぞれ、関節JT1、JT2、および、JT3ごとに配置された減速機を含む伝達機構43における減速比に基づいて、モータ41の回転角に相当する値に変換した値である。このようにして、制御部60は、関節JT1、JT2、および、JT3ごとに配置された複数のモータ41を動作させることによって、ロボットアーム部20の共通の姿勢を示す姿勢情報yiniを取得する。ここで言う「共通の姿勢を示す姿勢情報」とは、ロボットアーム部20の先端の位置を示す共通の情報に基づいて、関節JT1、JT2、および、JT3の各々ごとの姿勢情報yiniが取得されることを意味する。すなわち、制御部60は、姿勢情報yiniを取得するために関節JT1、JT2、および、JT3ごとにロボットアーム部20に個別の動作を行わせるのではなく、共通の一の動作を行わせることによって、関節JT1、JT2、および、JT3の各々に対応する姿勢情報yiniを取得する。
図7に示すように、制御部60は、取得された姿勢情報yiniに基づいて、疑似参照入力rf(ρ)による繰り返し調整法であるFRIT法(Fictitious Reference Iterative Tuning)によって、データ駆動型制御による制御パラメータρの調整を行う。制御部60は、調整動作において、電流指令を含む操作量uiniと、フィードバック値FBとは別個に取得された姿勢情報yiniとに基づいて目標値rを擬似的に算出した疑似参照入力rf(ρ)を取得する。2自由度制御のFRIT法では、下記の式(2)により、疑似参照入力rf(ρ)が算出される。
そして、制御部60は、下記の式(3)により、調整動作において、姿勢情報yiniを用いた評価関数JF(ρ)により制御パラメータρを算出することによって、データ駆動型制御による制御パラメータρの調整を行う。具体的には、制御部60は、予め設定された目標となる応答特性Tdと、取得された疑似参照入力rf(ρ)と、取得された姿勢情報yiniとを用いた評価関数JF(ρ)を最適化することによって、制御パラメータρの調整を行う。
詳細には、FRIT法による調整動作において、制御部60は、取得された一の時系列データである姿勢情報yiniと、対応する一の時系列データである操作量uiniとを用いたデータ駆動型制御により制御パラメータρを算出することによって、調整動作を行う。すなわち、制御部60は、共通の一の動作をロボットアーム部20に実行させることによって、複数のモータ41の各々に対応する姿勢情報yiniと、調整動作におけるフィードバック制御による出力である電流指令を含む操作量uiniとを取得して、複数のモータ41の各々ごとに式(2)による演算処理により疑似参照入力rf(ρ)を取得する。そして、制御部60は、疑似参照入力rf(ρ)に基づく目標となる応答特性Tdによる出力と、実際の出力として取得された姿勢情報yiniとの誤差のL2ノルムとして、式(3)により表される評価関数JF(ρ)を取得する。すなわち、制御部60は、疑似参照入力rf(ρ)による応答特性Tdの出力と取得された姿勢情報yiniとの二乗誤差が最小となる制御パラメータρを算出する。制御部60は、評価関数JF(ρ)において最小値をとる制御パラメータρを取得することによって、評価関数JF(ρ)を最適化して適切な制御パラメータρの値を取得する。制御部60は、複数のモータ41の各々ごとに対応する一の時系列データとしての姿勢情報yiniと操作量uiniとによる評価関数JF(ρ)を最適化することによって、複数のモータ41の各々ごとに、対応する複数種類の制御パラメータρを調整する。すなわち、制御部60は、1度の制御パラメータρの調整において、複数回に渡る動作を行うことなく、1度の動作による1組のデータセットを用いることによって、データ駆動型制御による演算処理を行って適切な制御パラメータρを算出する。
なお、目標となる応答特性Tdは、たとえば、一次系の伝達関数、または、二次系の伝達関数が用いられる。目標となる応答特性Tdとして一次系の伝達関数を用いる場合、下記の式(4)に示される時定数Tを設定することにより、応答の速さが設定される。
時定数Tは、指令値がステップ入力により0から1に変化したタイミングから、目標となる応答特性Tdの伝達関数による出力が0.632の値を取るタイミングまでの時間を表している。なお、sは経過時間を表す。一次系の伝達関数を用いる場合には、時定数Tの値を予め設定して記憶しておくことによって、目標となる応答特性Tdが設定される。また、目標となる応答特性Tdとして二次系の伝達関数を用いる場合、下記の式(5)に示される固有周波数ωnおよび減衰係数ζを設定することにより、応答の特性が設定される。
固有周波数ωnは、ロボットアーム部20において共振しやすい周波数が設定される。減衰係数ζは、振動の強さに応じて設定される。固有周波数ωnおよび減衰係数ζにより目標となる応答特性Tdにおける応答の速さが設定される。なお、ロボットアーム部20の動作において、制御の応答におけるむだ時間が予め判明している場合は、目標となる応答特性Tdに対してむだ時間特性を追加するようにしてもよい。
〈リミット当たり判定〉
ここで、調整動作において、ロボットアーム部20の動作によりモータ41を流れる電流が電流上限値に到達した場合には、取得される姿勢情報yiniなどのデータの安定性が低下する。すなわち、モータ41を流れる電流が電流上限値に到達する前後において、取得されるデータの変化度合が異なることに起因して、データの連続性が失われる。その場合には、姿勢情報yiniおよび操作量uiniに基づく評価関数JF(ρ)の最適化において適切な制御パラメータρを取得することが困難となる。
ここで、調整動作において、ロボットアーム部20の動作によりモータ41を流れる電流が電流上限値に到達した場合には、取得される姿勢情報yiniなどのデータの安定性が低下する。すなわち、モータ41を流れる電流が電流上限値に到達する前後において、取得されるデータの変化度合が異なることに起因して、データの連続性が失われる。その場合には、姿勢情報yiniおよび操作量uiniに基づく評価関数JF(ρ)の最適化において適切な制御パラメータρを取得することが困難となる。
そこで、本実施形態では、制御部60は、調整動作において、モータ41に流される電流の大きさが所定の電流上限値に到達した場合に、姿勢情報yiniを取得するためのロボットアーム部20の動作を変更する。たとえば、制御部60は、操作量uiniとして取得される電流指令の値が、予め設定されて記憶部70に記憶されている電流上限値に到達した場合に、モータ41に流れる電流が電流上限値に到達したと判断する。なお、電流上限値は、モータ41における電流の上限値、駆動回路部60cにおける電流の上限値、または、ソフトウェア的に設定されている電流の上限値などの複数の上限値のうちの最も小さい値として設定される。また、電流の上限値は、瞬時のピーク値を用いて判断されてもよいし、実行値、または、移動平均値などを用いて判断されてもよい。制御部60は、調整動作においてモータ41に流れる電流が電流上限値に到達したと判断した場合には、調整動作におけるロボットアーム部20の動作速度を小さくするように変更するとともに、変更された動作速度により調整動作を再度行う。制御部60は、モータ41に流れる電流が電流上限値に到達した場合には、たとえば、予め設定された90%などの所定の割合により調整動作におけるロボットアーム部20の動作速度の設定値を変更する。
〈履歴情報および報知情報の出力〉
また、制御部60は、調整動作を行うごとに、調整された制御パラメータρを記憶部70に記憶させる。制御部60は、たとえば、基板処理システム900のメンテナンス時などにおいて、所定の期間ごとに調整動作を行うとともに、調整動作において調整された制御パラメータρの値を記憶部70に記憶させる。所定の期間は、たとえば、1日である。また、制御部60は、記憶部70に記憶された制御パラメータρの履歴情報を出力する。たとえば、制御部60は、制御パラメータρの履歴情報を出力することによって、表示部80に履歴情報を表示させる。制御部60は、検査作業者が用いる外部のコンピュータ、または、サーバ装置などに、制御パラメータρの履歴情報を出力するようにしてもよい。また、制御部60は、制御パラメータρの調整度合いを報知する報知情報を出力する。制御部60が、制御パラメータρの値が適切であるか否かの判定を行うようにしてもよい。たとえば、制御部60は、調整動作により設定された制御パラメータρの値が予め設定された所定の判定範囲に含まれない場合には、制御パラメータρの値が適切ではないと判断する。制御部60は、制御パラメータρの値が適切ではないと判断された場合に、制御パラメータρの調整度合いを報知する報知情報として、制御パラメータρの値が適切ではないことを示す報知情報を出力する。制御部60は、たとえば、報知情報を表示部80に表示してもよいし、外部のコンピュータまたはサーバ装置に出力するようにしてもよい。
また、制御部60は、調整動作を行うごとに、調整された制御パラメータρを記憶部70に記憶させる。制御部60は、たとえば、基板処理システム900のメンテナンス時などにおいて、所定の期間ごとに調整動作を行うとともに、調整動作において調整された制御パラメータρの値を記憶部70に記憶させる。所定の期間は、たとえば、1日である。また、制御部60は、記憶部70に記憶された制御パラメータρの履歴情報を出力する。たとえば、制御部60は、制御パラメータρの履歴情報を出力することによって、表示部80に履歴情報を表示させる。制御部60は、検査作業者が用いる外部のコンピュータ、または、サーバ装置などに、制御パラメータρの履歴情報を出力するようにしてもよい。また、制御部60は、制御パラメータρの調整度合いを報知する報知情報を出力する。制御部60が、制御パラメータρの値が適切であるか否かの判定を行うようにしてもよい。たとえば、制御部60は、調整動作により設定された制御パラメータρの値が予め設定された所定の判定範囲に含まれない場合には、制御パラメータρの値が適切ではないと判断する。制御部60は、制御パラメータρの値が適切ではないと判断された場合に、制御パラメータρの調整度合いを報知する報知情報として、制御パラメータρの値が適切ではないことを示す報知情報を出力する。制御部60は、たとえば、報知情報を表示部80に表示してもよいし、外部のコンピュータまたはサーバ装置に出力するようにしてもよい。
(モータ制御方法)
次に、図8までを参照して、本実施形態によるモータ制御方法の制御処理をフローチャート図に基づいて説明する。図8に示すステップS1からステップS10までのモータ制御方法の制御処理は、ロボットシステム100における制御部60により調整動作が行われる場合に実行される。
次に、図8までを参照して、本実施形態によるモータ制御方法の制御処理をフローチャート図に基づいて説明する。図8に示すステップS1からステップS10までのモータ制御方法の制御処理は、ロボットシステム100における制御部60により調整動作が行われる場合に実行される。
まず、ステップS1において、調整動作におけるロボットアーム部20の動作の設定が行われる。制御部60は、調整動作において、姿勢情報yiniを取得するためにロボットアーム部20をどのように動作させるかの移動経路を設定する。調整動作におけるロボットアーム部20の動作経路は、複数種類設定される。調整動作におけるロボットアーム部20の動作経路は、たとえば、基板101の搬送先の個数分だけ設定される。たとえば、処理装置102の基板載置部102aから、FOUP103の基板載置部103aまで基板101を搬送する動作と、基板載置部103aから基板載置部102aまで基板101を搬送する動作との2種類の動作が、調整動作として設定される。調整動作におけるロボットアーム部20の動作は、基板処理システム900における基板101の搬送動作と同様の動作が設定される。したがって、調整動作において、基板101、または、基板101を模した治具を基板保持ハンド30に保持させた状態でロボットアーム部20を動作させるようにしてもよい。
次に、ステップS2において、予め設定された制御パラメータρに基づくフィードバック制御によりロボットアーム部20を動作させることによって、フィードバック制御におけるフィードバック値FBとは別個に姿勢情報yiniが取得される。制御部60は、姿勢情報yiniを取得するために、複数の動作経路のうちから設定された一の動作経路においてロボットアーム部20を動作させる。制御部60は、設定された一の動作によりロボットアーム部20を動作させるとともに、一の動作が行われている期間における時系列データとしての姿勢情報yiniと、一の動作に対応する時系列データとしての操作量uiniを取得する。
次に、ステップS3において、姿勢情報yiniのデータ取得が正常に完了したか否かの判断が行われる。姿勢情報yiniの取得が完了したと判断された場合には、ステップS5に進む。姿勢情報yiniの取得が完了していないと判断された場合には、ステップS4に進む。具体的には、ステップS3では、ステップS2における調整動作において、モータ41に流される電流の大きさが所定の電流上限値に到達したか否かを判断することによって、データ取得が正常に完了したか否かを判断する。すなわち、制御部60は、モータ41に流される電流の大きさが所定の電流上限値に到達した場合には、姿勢情報yiniの取得が完了していないと判断してステップS4に進む。また、制御部60は、モータ41に流される電流の大きさが所定の電流上限値に到達していない場合には、姿勢情報yiniの取得が完了していると判断してステップS5に進む。なお、制御部60は、複数のモータ41のうちの少なくとも1つにおいて、流される電流の大きさが所定の電流上限値に到達した場合には、データ取得が完了していないと判断する。そして、制御部60は、複数のモータ41の全てにおいて流される電流の大きさが所定の電流上限値に到達していない場合に、データ取得が完了していると判断する。
ステップS4では、調整動作におけるロボットアーム部20の動作が修正される。具体的には、制御部60は、調整動作においてモータ41に流される電流の大きさが所定の電流上限値に到達してると判断して、ロボットアーム部20の動作速度を小さくするように、設定されたロボットアーム部20の動作を修正する。ステップS4によりロボットアーム部20の動作が修正された後に、再度ステップS2に戻って、再度姿勢情報yiniの取得の動作が行われる。
ステップS5では、取得された姿勢情報yiniおよび操作量uiniの時系列データに対して、ノイズ除去などの前処理が行われる。ノイズ除去は、たとえば、ローパスフィルタ処理などを含む。
次に、ステップS6において、制御パラメータρが調整される。制御部60は、式(2)および式(3)により表される演算処理を行うことによって、フィードバック値FBとは別個に取得された姿勢情報yiniに基づいて、フィードバック制御における制御パラメータρを設定するデータ駆動型制御によって、制御パラメータρを調整する。
次に、ステップS7において、調整動作における全ての動作が完了したか否かが判断される。全ての動作が完了したと判断された場合には、ステップS9に進む。全ての動作が完了したと判断されない場合には、ステップS8に進む。制御部60は、調整動作において設定されたロボットアーム部20の複数種類の動作のうちの全てが完了したか否かを判断する。
ステップS8では、設定された動作のうちの別の動作が設定される。すなわち、調整動作におけるロボットアーム部20の動作が変更される。その後、ステップS2に戻って、変更された動作によりステップS2からステップS6までが実行されることによって、再度制御パラメータρが調整される。
ステップS9では、ステップS6において取得された制御パラメータρを格納するテーブルが作成されて、記憶部70に記憶される。制御部60は、設定された動作ごとに制御パラメータρを記憶部70に記憶する。すなわち、制御部60は、ロボットアーム部20の複数種類の動作の各々ごとに、互いに別個に制御パラメータρを設定して記憶部70に記憶させる。
次に、ステップS10において、制御パラメータρを調整する調整動作が終了される。これにより、本実施形態のモータ制御方法の制御処理が終了される。
[第1実施形態の効果]
第1実施形態では、以下のような効果を得ることができる。
第1実施形態では、以下のような効果を得ることができる。
第1実施形態では、上記のように、ロボットシステム100は、モータ41の駆動状態を示すフィードバック値FBを用いたフィードバック制御により動作対象としてのロボットアーム部20を動作させるとともに、フィードバック値FBとは別個に取得されたロボットアーム部20の姿勢を示す姿勢情報yiniに基づいて、フィードバック制御における制御パラメータρを設定するデータ駆動型制御によって、制御パラメータρを調整する調整動作を行う制御部60を備えている。これにより、ロボットアーム部20に振動を生じさせることなく、データ駆動型制御によって姿勢情報yiniに基づいて制御パラメータρを調整できる。その結果、ロボットアーム部20に振動を生じさせることなく制御パラメータρの自動調整を行うことができる。
また、フィードバック値FBとは別個に取得された姿勢情報yiniに基づいたデータ駆動型制御によって制御パラメータρを調整することによって、制御パラメータρを直接的に設定することなく、姿勢情報yiniに基づいて制御パラメータρを自動的に調整できる。そのため、制御パラメータρを直接的に設定する場合に比べて、制御パラメータρを容易に調整できる。また、フィードバック値FBに基づいたデータ駆動型制御によって制御パラメータρを調整する場合に比べて、フィードバック値FBとは別個に取得された姿勢情報yiniに基づいたデータ駆動型制御によって制御パラメータρを調整することによって、動作対象としてのロボットアーム部20の実際の姿勢に基づいて制御パラメータρの調整ができるので、ロボットアーム部20の動作において弾性成分が含まれる場合にも、ロボットアーム部20の動作をより正確に制御するよう制御パラメータρを調整できる。そのため、ロボットアーム部20に振動を生じさせることなく制御パラメータρの自動調整をより正確に行うことができる。
制御部60は、調整動作において、フィードバック値FBとは別個に取得された姿勢情報yiniを用いた評価関数JF(ρ)により制御パラメータρを算出することによって、データ駆動型制御による制御パラメータρの調整を行う。これにより、動作対象としてのロボットアーム部20の姿勢を示す姿勢情報yiniを直接的に用いることによって取得された評価関数JF(ρ)によって、実際のロボットアーム部20の姿勢から直接的に制御パラメータρの調整を評価できる。そのため、実際のロボットアーム部20の姿勢に対応するようにデータ駆動型制御により制御パラメータρを調整できるので、ロボットアーム部20に振動を生じさせることなく制御パラメータρの自動調整をより精度よく行うことができる。
モータ制御システムとしてのロボットシステム100は、動作対象として、互いに接続された複数のリンク部21、22、および、23を有するロボットアーム部20を含む。制御部60は、調整動作において、フィードバック制御によりロボットアーム部20を動作させることによって取得されたロボットアーム部20の姿勢を示す姿勢情報yiniに基づいて、制御パラメータρを調整する。これにより、ロボットアーム部20を動作させる場合にも、ロボットアーム部20に振動を生じさせることなく制御パラメータρの自動調整を容易に行うことができる。そのため、ロボットアーム部20が狭小な領域において動作するように配置されている場合にも、周囲に配置された部材に対してロボットアーム部20が物理的に干渉することを効果的に抑制できるとともに、ロボットアーム部20の動作を制御するための制御パラメータρを自動的に調整できる。
制御部60は、取得された一の姿勢情報yiniを用いたデータ駆動型制御により制御パラメータρを算出することによって、調整動作を行う。これにより、複数の姿勢情報yiniを用いる場合に比べて、一の姿勢情報yiniを用いたデータ駆動型制御により制御パラメータρを算出して調整動作を行うことによって、姿勢情報yiniを取得するために要する作業時間を短縮できる。そのため、制御パラメータρの調整を行うために要する作業時間の増大を抑制できる。
モータ制御システムとしてのロボットシステム100は、複数のモータ41を含む。制御部60は、調整動作において、複数のモータ41を動作させることにより取得された共通の姿勢を示す姿勢情報yiniに基づいて、複数のモータ41の各々ごとに対応する複数種類の制御パラメータρを調整する。これにより、複数のモータ41によって複数のリンク部21、22、および、23などの部材を動作させる場合にも、複数のモータ41の各々に対応する制御パラメータρに対して、動作対象としてのロボットアーム部20の共通の姿勢を示す姿勢情報yiniに基づいて、データ駆動型制御によって自動調整を行うことができる。そのため、ロボットアーム部20の全体の姿勢に基づいて複数のモータ41の各々に対応する制御パラメータρを自動的に調整できるので、複数のモータ41の各々ごとに個別にロボットアーム部20を動作させて姿勢情報yiniを取得する場合と異なり、複数の部材同士の共振などの干渉を考慮した制御パラメータρの調整を容易に行うことができる。その結果、複数の部材同士の共振に起因する振動を抑制するように制御パラメータρを調整できるので、複数のモータ41の各々ごとに個別にロボットアーム部20を動作させて姿勢情報yiniを取得する場合に比べて、制御パラメータρをより適切に調整できる。また、複数のモータ41の各々ごとに個別にロボットアーム部20を動作させる場合には、ロボットアーム部20の動作範囲が大きくなる。そのため、共通の姿勢によって取得された姿勢情報yiniによって複数のモータ41の各々に対応する制御パラメータρを調整できるので、ロボットアーム部20が狭小な領域において動作するように配置されている場合にも、周囲に配置された部材に対してロボットアーム部20が物理的に干渉することをより抑制できる。
制御部60は、入力された目標値rとフィードバック値FBとによりモータ41を動作させるための操作量uiniを出力するフィードバック制御によりモータ41を駆動させることによって動作対象としてのロボットアーム部20を動作させる。また、制御部60は、調整動作において、操作量uiniと、フィードバック値FBとは別個に取得された姿勢情報yiniとに基づいて目標値rを擬似的に算出した疑似参照入力rf(ρ)を取得するとともに、予め設定された目標となる応答特性Tdと、取得された疑似参照入力rf(ρ)と、取得された姿勢情報yiniとを用いた評価関数JF(ρ)を最適化することによって、制御パラメータρの調整を行う。これにより、フィードバック値FBとは別個に取得された姿勢情報yiniに基づいて疑似参照入力rf(ρ)が算出されるため、フィードバック値FBにより疑似参照入力rf(ρ)を算出する場合に比べて、ロボットアーム部20の実際の姿勢に対応するように疑似参照入力rf(ρ)を算出できる。そのため、疑似参照入力rf(ρ)に対する目標となる応答特性Tdによる出力と、実際のロボットアーム部20の姿勢を示す姿勢情報yiniとを評価関数JF(ρ)により比較して評価することによって、ロボットアーム部20の実際の姿勢に対応するように制御パラメータρをより適切に調整できる。
制御部60は、入力された目標値rとフィードバック値FBとによりモータ41を動作させるための操作量uiniを出力するフィードバック制御によりモータ41を駆動させることによってロボットアーム部20を動作させる。また、制御部60は、調整動作において、モータ41に対するトルク指令または電流指令を含む操作量uiniと、ロボットアーム部20の先端の位置を示す姿勢情報yiniとに基づいて、データ駆動型制御により制御パラメータρを調整する。ここで、ロボットアーム部20の剛性、または、モータ41の駆動力を伝達する減速機などの伝達機構43において弾性成分が含まれる場合には、弾性成分に起因してロボットアーム部20の先端の位置がずれる場合がある。これに対して、第1実施形態では、調整動作において、モータ41に対するトルク指令または電流指令を含む操作量uiniと、ロボットアーム部20の先端の位置を示す姿勢情報yiniとに基づいて、データ駆動型制御により制御パラメータρを調整するため、モータ41の回転角などのフィードバック値FBを直接的に用いたデータ駆動型制御を行う場合とは異なり、ロボットアーム部20の先端の位置を示す姿勢情報yiniに基づくデータ駆動型制御により制御パラメータρを調整することによって、実際のロボットアーム部20の先端の位置に対応するように制御パラメータρを調整できる。その結果、ロボットアーム部20の動作を制御する制御パラメータρをより適切に調整できる。
モータ制御システムとしてのロボットシステム100は、動作対象としてのロボットアーム部20の姿勢を検出するセンサ部50を備える。制御部60は、調整動作において、センサ部50からの検出信号に基づいて姿勢情報yiniを取得することによって、データ駆動型制御により制御パラメータρを調整する。これにより、センサ部50からの検出信号に基づいて姿勢情報yiniを取得できるので、データ駆動型制御に用いられる姿勢情報yiniを容易に取得できる。そのため、ロボットアーム部20に振動を生じさせることなく制御パラメータρの自動調整を容易に行うことができる。
制御部60は、調整動作において、モータ41に流される電流の大きさが所定の電流上限値に到達した場合に、姿勢情報yiniを取得するためのロボットアーム部20の動作を変更する。ここで、モータ41に流される電流の大きさが所定の電流上限値に到達した場合には、電流の大きさが制限されることに起因してロボットアーム部20の動作が制限される。その場合には、ロボットアーム部20の動作が一定ではなくなることに起因して、取得される姿勢情報yiniが一定ではなくなる。このため、一定ではない姿勢情報yiniに基づいてデータ駆動型制御により制御パラメータρの調整を行うこととなるため、制御パラメータρの調整の精度が低下することが考えられる。これを考慮して、第1実施形態では、モータ41に流される電流の大きさが所定の電流上限値に到達した場合に、姿勢情報yiniを取得するためのロボットアーム部20の動作を変更する。これにより、モータ41に流される電流の大きさが所定の電流上限値に達しない状態で調整動作を行うことができるため、調整動作において取得される姿勢情報yiniが一定ではなくなることを抑制できる。その結果、データ駆動型制御による制御パラメータρの調整の精度が低下することを抑制できる。
モータ制御システムとしてのロボットシステム100は、ロボットアーム部20の先端に接続され、基板101を保持する基板保持ハンド30を備える。制御部60は、調整動作において、ロボットアーム部20により基板保持ハンド30の位置を変更する動作が行われることにより取得された姿勢情報yiniに基づいて、データ駆動型制御により制御パラメータρを調整する。ここで、基板保持ハンド30により基板101を保持することによってロボットアーム部20の動作により基板101を搬送する場合には、狭小な領域において搬送動作が行われる場合がある。その場合には、調整動作を行うためにロボットアーム部20を振動させることが困難な場合がある。これに対して、第1実施形態によるロボットシステム100のように、調整動作において、ロボットアーム部20により基板保持ハンド30の位置を変更する動作が行われることにより取得された姿勢情報yiniに基づいて、データ駆動型制御により制御パラメータρを調整することによって、基板101を搬送する通常の動作を行うことにより取得された姿勢情報yiniに基づいて、データ駆動型制御により制御パラメータρを調整できる。その結果、基板101を保持する基板保持ハンド30を用いて基板101を搬送する場合にも、ロボットアーム部20に振動を生じさせることなく制御パラメータρの自動調整をより効果的に行うことができる。
モータ制御システムとしてのロボットシステム100は、互いに平行な回転軸線A1、A2、および、A3回りに回動する複数のリンク部21、22、および、23を含む水平多関節のロボットアーム部20を含む。制御部60は、調整動作において、水平多関節のロボットアーム部20の動作を制御する制御パラメータρを、データ駆動型制御により調整する。ここで、水平多関節のロボットアーム部20では、上面視においてロボットアーム部20が設置される領域の面積をより小さくするとともに、ロボットアーム部20の動作範囲をより大きくするために、ロボットアーム部20に含まれる複数のリンク部21、22、および、23同士の長さなどの構造的な差異をより小さくする場合がある。その場合には、複数のリンク部21、22、および、23の各々における固有振動数の値が互いに近い値となるため、ロボットアーム部20の動作において、複数のリンク部21、22、および、23同士が互いに共振するように干渉する。この干渉に起因して、水平多関節のロボットアーム部20では、動作に振動が生じる場合がある。これを考慮して、第1実施形態によるロボットシステム100は、調整動作において、水平多関節のロボットアーム部20の動作を制御する制御パラメータρを、データ駆動型制御により調整する。これにより、水平多関節のロボットアーム部20の姿勢情報yiniに基づいてデータ駆動型制御により制御パラメータρを自動的に調整できるので、複数のリンク部21、22、および、23同士の干渉に起因する振動を抑制するように、制御パラメータρを効果的に調整できる。
制御部60は、記憶された制御パラメータρの履歴情報、および、制御パラメータρの調整度合いを報知する報知情報の少なくとも一方を出力する。これにより、制御部60により出力された履歴情報および報知情報の少なくとも一方を参照して、調整動作により制御パラメータρがどのように変化しているかを確認できる。
[第2実施形態]
図9および図10を参照して、第2実施形態によるロボットシステム200について説明する。第2実施形態では、センサ部50からの検出信号に基づいて姿勢情報yiniが取得された第1実施形態とは異なり、回転角検出部としてのエンコーダ42による検出結果に基づいて姿勢情報yiniが推定される。なお、第1実施形態と同様の構成については、同一の符号を付して、説明を省略する。また、ロボットシステム200は、モータ制御システムの一例である。
図9および図10を参照して、第2実施形態によるロボットシステム200について説明する。第2実施形態では、センサ部50からの検出信号に基づいて姿勢情報yiniが取得された第1実施形態とは異なり、回転角検出部としてのエンコーダ42による検出結果に基づいて姿勢情報yiniが推定される。なお、第1実施形態と同様の構成については、同一の符号を付して、説明を省略する。また、ロボットシステム200は、モータ制御システムの一例である。
(第2実施形態によるロボットシステムの構成)
図9に示すように、第2実施形態によるロボットシステム200は、第1実施形態と同様に、ロボットアーム部20、基板保持ハンド30、および、駆動部40を含むロボット10と、記憶部70と、表示部80とを備えている。そして、第2実施形態では、ロボットシステム200は、ロボットアーム部20の姿勢を検出するセンサ部50を備えておらず、制御部260を備えている。第2実施形態の制御部260は、第1実施形態の制御部60と同様に、ロボットシステム200の各部の動作を制御する。また、制御部260は、第1実施形態と同様に、設定された制御パラメータρに基づいて、フィードバック制御によりロボットアーム部20の動作を制御するとともに、フィードバック制御におけるフィードバック値FBとは別個に取得された姿勢情報yiniと、フィードバック制御における操作量uiniとに基づいて、FRIT法によるデータ駆動型制御によって、制御パラメータρを調整する調整動作を行う。
図9に示すように、第2実施形態によるロボットシステム200は、第1実施形態と同様に、ロボットアーム部20、基板保持ハンド30、および、駆動部40を含むロボット10と、記憶部70と、表示部80とを備えている。そして、第2実施形態では、ロボットシステム200は、ロボットアーム部20の姿勢を検出するセンサ部50を備えておらず、制御部260を備えている。第2実施形態の制御部260は、第1実施形態の制御部60と同様に、ロボットシステム200の各部の動作を制御する。また、制御部260は、第1実施形態と同様に、設定された制御パラメータρに基づいて、フィードバック制御によりロボットアーム部20の動作を制御するとともに、フィードバック制御におけるフィードバック値FBとは別個に取得された姿勢情報yiniと、フィードバック制御における操作量uiniとに基づいて、FRIT法によるデータ駆動型制御によって、制御パラメータρを調整する調整動作を行う。
(姿勢情報の推定)
第1実施形態の制御部60と同様に、制御部260は、フィードバック制御において、エンコーダ42による検出結果に基づいて、モータ41の駆動状態を示すフィードバック値FBを取得する。そして、第2実施形態では、制御部260は、調整動作において、エンコーダ42による検出結果に基づいて取得されるフィードバック値FBとは別個に、エンコーダ42による検出結果に基づいて姿勢情報yiniを推定するとともに、推定された姿勢情報yiniに基づいてデータ駆動型制御により制御パラメータρを調整する。
第1実施形態の制御部60と同様に、制御部260は、フィードバック制御において、エンコーダ42による検出結果に基づいて、モータ41の駆動状態を示すフィードバック値FBを取得する。そして、第2実施形態では、制御部260は、調整動作において、エンコーダ42による検出結果に基づいて取得されるフィードバック値FBとは別個に、エンコーダ42による検出結果に基づいて姿勢情報yiniを推定するとともに、推定された姿勢情報yiniに基づいてデータ駆動型制御により制御パラメータρを調整する。
図10に示すように、制御部260は、機能的な構成として、制御器61、制御器62、制御器63、および、推定部264を含んでいる。推定部264は、制御器61、制御器62、および、制御器63と同様に、記憶部70に格納された所定の制御プログラムを制御部260の演算装置が読み出して実行することによって実現される機能ブロックである。すなわち、制御部260が、推定部264として動作する。なお、推定部264を、電子回路等のハードウェアにより構成してもよい。
推定部264は、関節JT1、関節JT2、および、関節JT3ごとに、エンコーダ42による検出結果に基づいて、モータ41の回転角を取得する。そして、推定部264は、取得されたモータ41の回転角に基づいて、リンク部21、22、および、23のリンク角θ1、θ2、および、θ3を推定する。そして、制御部260は、推定されたリンク角θ1、θ2、および、θ3に基づいて、第1実施形態と同様に姿勢情報yiniを取得することによって、姿勢情報yiniを推定する。すなわち、推定部264は、記憶部70に記憶された情報と、エンコーダ42による検出結果とに基づいて、姿勢情報yiniを推定する状態推定オブザーバとして機能する。
たとえば、制御部260の推定部264は、予め設定されて記憶部70に記憶された演算処理によって、モータ41の回転角に基づいて、リンク部21、22、および、23のリンク角θ1、θ2、および、θ3を推定するようにしてもよい。また、推定部264は、予め記憶部70に記憶されたロボットアーム部20の3Dモデルを用いることによって、リンク角θ1、θ2、および、θ3を推定するようにしてもよい。3Dモデルを用いる場合、記憶部70には、ロボットアーム部20のリンク部21、22、および、23の各々の形状、大きさ、および、剛性などの特性を模した3Dモデルが記憶されている。推定部264は、取得されたモータ41の回転角に基づいて、3Dモデルを動作させることによって、ロボットアーム部20の動作をシミュレートする。このシミュレート結果に基づいて、推定部264は、リンク角θ1、θ2、および、θ3を推定する。
なお、推定された姿勢情報yiniに基づくデータ駆動型制御による制御パラメータρの調整の制御処理は、第1実施形態と同様である。すなわち、制御部260は、推定された姿勢情報yiniと、操作量uiniとにより疑似参照入力rf(ρ)を取得するとともに、取得された疑似参照入力rf(ρ)と、目標となる応答特性Tdと、姿勢情報yiniとを用いた評価関数JF(ρ)を最適化するFRIT法によるデータ駆動型制御によって、制御パラメータρの値を調整する。なお、第2実施形態によるその他の構成は、第1実施形態と同様である。
第2実施形態では、モータ制御システムとしてのロボットシステム200は、モータ41の回転角を検出する回転角検出部としてのエンコーダ42を備える。制御部260は、エンコーダ42による検出結果に基づいて、モータ41の駆動状態を示すフィードバック値FBを取得する。そして、制御部260は、調整動作において、エンコーダ42による検出結果に基づいて取得されるフィードバック値FBとは別個に、エンコーダ42による検出結果に基づいて姿勢情報yiniを推定するとともに、推定された姿勢情報yiniに基づいてデータ駆動型制御により制御パラメータρを調整する。これにより、エンコーダ42による検出結果に基づいて、モータ41の駆動の制御に用いられるフィードバック値FBを取得するとともに、フィードバック値FBとは別個に姿勢情報yiniを推定できるので、姿勢情報yiniを取得するための構成をエンコーダ42とは別個に配置する場合に比べて、ロボットシステム200の構成が複雑化することを抑制できる。第2実施形態のその他の効果は、第1実施形態と同様である。
[変形例]
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施形態の説明ではなく請求の範囲によって示され、さらに請求の範囲と均等の意味および範囲内でのすべての変更(変形例)が含まれる。
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施形態の説明ではなく請求の範囲によって示され、さらに請求の範囲と均等の意味および範囲内でのすべての変更(変形例)が含まれる。
上記第1および第2実施形態では、動作対象としてのロボットアーム部20が、水平多関節のロボットアームである例を示したが、本開示はこれに限られない。本開示では、ロボットアーム部が、垂直多関節のロボットアームであってもよい。また、ロボットアーム部が平行リンク機構を有していてもよい。また、スライド機構を有する直線移動機構などのロボットアーム以外の移動機構を動作対象としてもよい。また、基板の向きを検出するアライナ装置を動作対象としてもよい。たとえば、アライナ装置において載置された基板を回転させるためのモータを制御する制御パラメータを、基板の回転位置を姿勢情報として取得することによって、データ駆動型制御によって調整するようにしてもよい。また、一対のロボットアーム部を有する双腕ロボットの動作において、姿勢情報に基づくデータ駆動型制御によって制御パラメータを調整するようにしてもよい。双腕ロボットにおける一対のロボットアーム部の形状が互いに共通である場合には、一対のロボットアーム部の動作において共振などの干渉が生じやすい場合がある。その場合に、一対のロボットアーム部を動作させながら取得された姿勢情報に基づいて、データ駆動型制御によって制御パラメータを調整することによって、一対のロボットアーム部同士の共振などの干渉を考慮した制御パラメータの調整を効果的に行うことができる。
上記第1および第2実施形態では、動作対象としてのロボットアーム部20に、基板101を保持する基板保持ハンド30が接続されている例を示したが、本開示はこれに限られない。本開示では、ロボットアーム部において、エンドエフェクタとして基板以外のワークを保持するハンドが接続されていてもよい。また、ロボットアーム部において、ワークに対して加工などの処理を行うエンドエフェクタが接続されていてもよい。
上記第1および第2実施形態では、動作対象としてのロボットアーム部20が床面に配置されたベース部24に接続されている例を示したが、本開示はこれに限られない。本開示では、ロボットアーム部は、壁面に配置されていてもよいし、天面に配置されていてもよい。また、ロボットアーム部を、車輪部と車輪部を駆動させる駆動部とを有する移動可能な台車部に配置するようにしてもよい。
上記第1および第2実施形態では、式(2)により表される疑似参照入力rf(ρ)を取得するとともに、式(3)により表される評価関数JF(ρ)により制御パラメータρが算出されるFRIT法によるデータ駆動型制御によって、姿勢情報yiniに基づいて制御パラメータρが調整される例を示したが、本開示はこれに限られない。本開示では、FRIT法以外のデータ駆動型制御によって、姿勢情報に基づいて制御パラメータを調整するようにしてもよい。たとえば、VRFT法(virtual reference feedback tuning:仮想参照入力によるフィードバック調整)によるデータ駆動型制御によって、姿勢情報に基づいて制御パラメータを調整するようにしてもよい。VRFT法では、以下の式(6)により仮想参照入力rvが取得される。
ここで、zαiniはリンク角を表す姿勢情報である。そして、以下の式(7)により取得される評価関数JVRFT(ρ)を最適化することによって、目標となる応答特性Tdに制御系の特性を近づけるように制御パラメータが取得される。
なお、uαiniは、フィードバック制御における操作量を示しており、yαiniは、モータの回転角を表す値である。VRFT法では、疑似参照入力に基づく出力を評価したFRIT法とは異なり、仮想参照入力rvによりモータの入力側である操作量uαiniを評価することによって、制御パラメータが調整される。なお、VRFT法によるデータ駆動型制御を行う場合にも、操作量uαini、モータの回転角yαini、姿勢情報zαiniに対して、ノイズ除去用のフィルタリング処理などの前処理が行われるようにしてもよい。また、データ駆動型制御として、NCbT法(Noniterative version of Correlation based Tuning:相関に基づく調整)を用いるようにしてもよい。
また、FRIT法を用いる場合にも、上記式(2)および(3)とは異なる形の演算処理を行うようにしてもよい。たとえば、フィードフォワード制御を用いない1自由度制御によるフィードバック制御において、FRIT法によるデータ駆動型制御によって制御パラメータを調整するようにしてもよい。また、過度な入力となることを防ぐように、式(8)に示される評価関数JEF(ρ)を用いるE-FRIT法(Extended-FRIT:拡張FRIT法)により、制御パラメータを調整してもよい。
なお、Δuは、調整が行われている制御パラメータにおける操作量uiniに対する差分を示す。λは、入力ペナルティの大きさを設定するパラメータとして予め設定される。E-FRIT法では、FRIT法の評価関数に入力の操作量uiniの変動にペナルティが追加される。
上記第1および第2実施形態では、調整動作において、複数のモータ41を動作させることにより取得された共通の一の姿勢を示す姿勢情報yiniに基づいて制御パラメータρを調整する例を示したが、本開示はこれに限られない。本開示では、複数の姿勢情報に基づいて制御パラメータを調整するようにしてもよい。また、複数のモータを動作させて動作対象を駆動する場合に、複数のモータごとの制御パラメータの調整において、共通の動作による姿勢情報を用いないようにしてもよい。たとえば、複数のモータの各々ごとに、互いに異なる動作により姿勢情報が取得されるようにしてもよい。たとえば、動作対象としてのロボットアーム部における複数の関節を1つずつ軸ごとに動作させることによって、姿勢情報が取得されるようにしてもよい。また、動作対象を動作させるためのモータは、1つであってもよい。
上記第1および第2実施形態では、調整動作において、モータ41に対する操作量uiniが電流指令を含む例を示したが、本開示はこれに限られない。本開示では、モータに対する操作量がトルク指令を含んでいてもよい。また、ロボットシステムにトルクセンサを配置するようにしてもよい。ロボットアーム部の各関節ごとにトルクセンサを配置することによってトルク指令によるフィードバック制御が行われるようにしてもよい。また、ロボットシステムにおいて、トルクセンサとして電流センサを配置するようにしてもよい。すなわち、電流センサにより検出された電流に基づいて各関節ごとのトルクを算出してもよい。電流センサは、ロボットアーム部において各関節ごとに配置されていてもよいし、ロボットコントローラとしての制御部の駆動回路部において各関節ごとの電流を検出するようにしてもよい。
上記第1実施形態では、検出光を出射するレーザートラッカーであるセンサ部50によって、動作対象としてのロボットアーム部20の姿勢が検出される例を示したが、本開示はこれに限られない。本開示では、レーザートラッカー以外のセンサ部によって動作対象の姿勢が検出されてもよい。たとえば、検出光を出射するとともに、出射された検出光が遮られたことによりロボットアーム部を検出する光電センサを用いることによって、ロボットアーム部の先端の位置を検出するようにしてもよい。また、ロボットアーム部の先端に配置された基板保持ハンドなどのエンドエフェクタ、または、エンドエフェクタに保持された基板などのワークの位置を検出するとともに、検出結果に対して逆変換処理などの所定の演算処理を行うことによってロボットアーム部の先端の位置を示す姿勢情報が取得されるようにしてもよい。また、検出光を出射せず、磁気センサ、静電容量センサ、機械式の接触センサ、または、電流センサなどのセンサをセンサ部として配置することによって、動作対象の姿勢が検出されるようにしてもよい。また、動作対象を光学撮像することによって、撮像された画像に基づいて動作対象の姿勢を検出するようにしてもよい。また、センサ部としてレーザートラッカーを用いる場合に、ロボットアーム部などの動作対象にターゲットを配置しないようにしてもよい。たとえば、動作対象の外表面において反射された検出光を直接的に検出することによって、動作対象の姿勢を検出するようにしてもよい。
上記第1および第2実施形態では、操作量uiniとしての電流指令の値に基づいて、電流指令の値が所定の電流上限値に到達した場合に、モータ41に流れる電流が所定の電流上限値に到達したとして、調整動作におけるロボットアーム部20の動作を変更する例を示したが、本開示はこれに限られない。本開示では、モータに流れる電流が電流上限値に到達した場合にも、ロボットアーム部の動作を変更せずに取得された姿勢情報などのデータに基づいてデータ駆動型制御により制御パラメータを調整するようにしてもよい。また、モータに流れる電流を検出する電流センサを配置することによって、操作量としての電流指令の値ではなく、電流センサによる検出結果に基づいて、モータに流れる電流が電流上限値に到達しているか否かを判断するようにしてもよい。また、電流ではなくロボットアーム部の動作速度を検出することによって、検出された速度が速度上限値に到達した場合に、調整動作におけるロボットアーム部の動作を変更するようにしてもよい。また、ロボットアーム部以外の動作対象の調整動作においても、モータに流れる電流が所定の電流上限値に到達した場合に、調整動作における動作対象の動作を変更するようにしてもよい。
上記第1および第2実施形態では、複数のモータ41の駆動により動作対象としてのロボットアーム部20において、関節JT1、JT2、および、JT3の各々ごとに、減速機を含む伝達機構43が配置されている例を示したが、本開示はこれに限られない。本開示では、減速機などの伝達機構が配置されていなくともよい。たとえば、ロボットアーム部を、モータの回転軸により直接的に動作するダイレクトドライブ形式により動作させるようにしてもよい。その場合にも、ロボットアーム部のリンク部自体の弾性成分に起因して、モータの回転角とリンク角との間にずれが生じる場合があるため、姿勢情報に基づくデータ駆動型制御を行うことによって、適切な制御パラメータを取得できる。
上記第1および第2実施形態では、姿勢情報yiniとして、リンク角θ1、θ2、および、θ3が伝達機構43における減速比に基づいてモータ41の回転角に相当する値に変換されたものが取得される例を示したが、本開示はこれに限られない。本開示では、取得されたリンク角をそのまま姿勢情報として取得することによって、姿勢情報に基づいて制御パラメータを調整する調整動作を行うようにしてもよい。たとえば、姿勢情報を用いた評価関数の最適化において、減速比に応じて値を補正することによって、モータの回転角の次元ではなくリンク角の次元の姿勢情報を用いてFRIT法などのデータ駆動型制御による演算処理を行うようにしてもよい。
上記第1および第2実施形態では、モータ制御システムとしてのロボットシステム100および200が配置されている基板処理システム900のメンテナンス時などにおいて、所定の期間ごとに調整動作が行われる例を示したが、本開示はこれに限られない。本開示では、モータ制御システムの使用が開始される前に、モータ制御システムの出荷前に調整動作を行うようにしてもよい。その場合に、動作対象が実際に運用される際の動作とは異なる動作を行うことによって制御パラメータを調整するようにしてもよい。
上記第1および第2実施形態では、制御部60および260が、記憶部70に記憶された制御パラメータρの履歴情報を出力するとともに、制御パラメータρの値が予め設定された所定の判定範囲に含まれない場合に、制御パラメータρの値が適切ではないことを示す報知情報を出力する例を示したが、本開示はこれに限られない。本開示では、制御部は、履歴情報と報知情報との少なくとも一方を出力するようにしてもよい。また、制御部は、制御パラメータに対して移動平均の演算処理を行うことによって、制御パラメータの調整度合いを報知する報知情報を出力するようにしてもよい。たとえば、制御部は、複数回の調整動作の各々において取得された制御パラメータに対して移動平均の演算処理を行うとともに、移動平均の結果が所定の範囲に含まれるか否かを判断するようにしてもよい。そして、制御部は、移動平均の結果が所定の範囲に含まれないと判断された場合に、制御パラメータの調整度合いを報知する報知情報として、制御パラメータの値が適切ではないことを示す報知情報を出力するようにしてもよい。また、制御部を、制御パラメータ、または、制御パラメータの移動平均の結果が所定の範囲に含まれるか否かの判定結果自体を報知情報として出力するようにしてもよい。
上記第1および第2実施形態では、動作対象としてのロボットアーム部20の動作の制御と、姿勢情報yiniに基づくデータ駆動型制御による制御パラメータρの調整の制御とを、共通の制御部60および260により実行する例を示したが、本開示はこれに限られない。本開示では、動作対象の動作の制御と、姿勢情報に基づくデータ駆動型制御による制御パラメータの調整の制御とを、互いに別個の制御装置により実行するようにしてもよい。たとえば、センサ部からの検出信号に基づく姿勢情報の取得の制御を、動作対象の動作を制御する制御部とは別個に配置された制御装置により実行するようにしてもよい。
本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に使用される。
[態様]
上記した例示的な実施形態は、以下の態様の具体例であることが当業者により理解される。
上記した例示的な実施形態は、以下の態様の具体例であることが当業者により理解される。
(態様1)
モータと、
前記モータの駆動により動作する動作対象と、
前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により前記動作対象を動作させるとともに、前記フィードバック値とは別個に取得された前記動作対象の姿勢を示す姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整する調整動作を行う制御部と、を備える、モータ制御システム。
モータと、
前記モータの駆動により動作する動作対象と、
前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により前記動作対象を動作させるとともに、前記フィードバック値とは別個に取得された前記動作対象の姿勢を示す姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整する調整動作を行う制御部と、を備える、モータ制御システム。
(態様2)
前記制御部は、前記調整動作において、前記フィードバック値とは別個に取得された前記姿勢情報を用いた評価関数により前記制御パラメータを算出することによって、前記データ駆動型制御による前記制御パラメータの調整を行う、態様1に記載のモータ制御システム。
前記制御部は、前記調整動作において、前記フィードバック値とは別個に取得された前記姿勢情報を用いた評価関数により前記制御パラメータを算出することによって、前記データ駆動型制御による前記制御パラメータの調整を行う、態様1に記載のモータ制御システム。
(態様3)
前記動作対象は、互いに接続された複数のリンク部を有するロボットアーム部を含み、
前記制御部は、前記調整動作において、前記フィードバック制御により前記ロボットアーム部を動作させることによって取得された前記ロボットアーム部の姿勢を示す前記姿勢情報に基づいて、前記制御パラメータを調整する、態様1または態様2に記載のモータ制御システム。
前記動作対象は、互いに接続された複数のリンク部を有するロボットアーム部を含み、
前記制御部は、前記調整動作において、前記フィードバック制御により前記ロボットアーム部を動作させることによって取得された前記ロボットアーム部の姿勢を示す前記姿勢情報に基づいて、前記制御パラメータを調整する、態様1または態様2に記載のモータ制御システム。
(態様4)
前記制御部は、取得された一の前記姿勢情報を用いた前記データ駆動型制御により前記制御パラメータを算出することによって、前記調整動作を行う、態様1から態様3までのいずれかに記載のモータ制御システム。
前記制御部は、取得された一の前記姿勢情報を用いた前記データ駆動型制御により前記制御パラメータを算出することによって、前記調整動作を行う、態様1から態様3までのいずれかに記載のモータ制御システム。
(態様5)
前記モータは、複数の前記モータを含み、
前記制御部は、前記調整動作において、前記複数のモータを動作させることにより取得された共通の姿勢を示す前記姿勢情報に基づいて、前記複数のモータの各々ごとに対応する複数種類の前記制御パラメータを調整する、態様1から態様4までのいずれかに記載のモータ制御システム。
前記モータは、複数の前記モータを含み、
前記制御部は、前記調整動作において、前記複数のモータを動作させることにより取得された共通の姿勢を示す前記姿勢情報に基づいて、前記複数のモータの各々ごとに対応する複数種類の前記制御パラメータを調整する、態様1から態様4までのいずれかに記載のモータ制御システム。
(態様6)
前記制御部は、
入力された目標値と前記フィードバック値とにより前記モータを動作させるための操作量を出力する前記フィードバック制御により前記モータを駆動させることによって前記動作対象を動作させ、
前記調整動作において、前記操作量と、前記フィードバック値とは別個に取得された前記姿勢情報とに基づいて前記目標値を擬似的に算出した疑似参照入力を取得するとともに、予め設定された目標となる応答特性と、取得された前記疑似参照入力と、取得された前記姿勢情報とを用いた前記評価関数を最適化することによって、前記制御パラメータの調整を行う、態様2に記載のモータ制御システム。
前記制御部は、
入力された目標値と前記フィードバック値とにより前記モータを動作させるための操作量を出力する前記フィードバック制御により前記モータを駆動させることによって前記動作対象を動作させ、
前記調整動作において、前記操作量と、前記フィードバック値とは別個に取得された前記姿勢情報とに基づいて前記目標値を擬似的に算出した疑似参照入力を取得するとともに、予め設定された目標となる応答特性と、取得された前記疑似参照入力と、取得された前記姿勢情報とを用いた前記評価関数を最適化することによって、前記制御パラメータの調整を行う、態様2に記載のモータ制御システム。
(態様7)
前記制御部は、
入力された目標値と前記フィードバック値とにより前記モータを動作させるための操作量を出力する前記フィードバック制御により前記モータを駆動させることによって前記ロボットアーム部を動作させるとともに、
前記調整動作において、前記モータに対するトルク指令または電流指令を含む前記操作量と、前記ロボットアーム部の先端の位置を示す前記姿勢情報とに基づいて、前記データ駆動型制御により前記制御パラメータを調整する、態様3に記載のモータ制御システム。
前記制御部は、
入力された目標値と前記フィードバック値とにより前記モータを動作させるための操作量を出力する前記フィードバック制御により前記モータを駆動させることによって前記ロボットアーム部を動作させるとともに、
前記調整動作において、前記モータに対するトルク指令または電流指令を含む前記操作量と、前記ロボットアーム部の先端の位置を示す前記姿勢情報とに基づいて、前記データ駆動型制御により前記制御パラメータを調整する、態様3に記載のモータ制御システム。
(態様8)
前記動作対象の姿勢を検出するセンサ部をさらに備え、
前記制御部は、前記調整動作において、前記センサ部からの検出信号に基づいて前記姿勢情報を取得することによって、前記データ駆動型制御により前記制御パラメータを調整する、態様1から態様7までのいずれかに記載のモータ制御システム。
前記動作対象の姿勢を検出するセンサ部をさらに備え、
前記制御部は、前記調整動作において、前記センサ部からの検出信号に基づいて前記姿勢情報を取得することによって、前記データ駆動型制御により前記制御パラメータを調整する、態様1から態様7までのいずれかに記載のモータ制御システム。
(態様9)
前記モータの回転角を検出する回転角検出部をさらに備え、
前記制御部は、
前記回転角検出部による検出結果に基づいて、前記モータの駆動状態を示す前記フィードバック値を取得し、
前記調整動作において、前記回転角検出部による検出結果に基づいて取得される前記フィードバック値とは別個に、前記回転角検出部による検出結果に基づいて前記姿勢情報を推定するとともに、推定された前記姿勢情報に基づいて前記データ駆動型制御により前記制御パラメータを調整する、態様1から態様8までのいずれかに記載のモータ制御システム。
前記モータの回転角を検出する回転角検出部をさらに備え、
前記制御部は、
前記回転角検出部による検出結果に基づいて、前記モータの駆動状態を示す前記フィードバック値を取得し、
前記調整動作において、前記回転角検出部による検出結果に基づいて取得される前記フィードバック値とは別個に、前記回転角検出部による検出結果に基づいて前記姿勢情報を推定するとともに、推定された前記姿勢情報に基づいて前記データ駆動型制御により前記制御パラメータを調整する、態様1から態様8までのいずれかに記載のモータ制御システム。
(態様10)
前記制御部は、前記調整動作において、前記モータに流される電流の大きさが所定の電流上限値に到達した場合に、前記姿勢情報を取得するための前記ロボットアーム部の動作を変更する、態様3に記載のモータ制御システム。
前記制御部は、前記調整動作において、前記モータに流される電流の大きさが所定の電流上限値に到達した場合に、前記姿勢情報を取得するための前記ロボットアーム部の動作を変更する、態様3に記載のモータ制御システム。
(態様11)
前記ロボットアーム部の先端に接続され、基板を保持する基板保持ハンドをさらに備え、
前記制御部は、前記調整動作において、前記ロボットアーム部により前記基板保持ハンドの位置を変更する動作が行われることにより取得された前記姿勢情報に基づいて、前記データ駆動型制御により前記制御パラメータを調整する、態様3に記載のモータ制御システム。
前記ロボットアーム部の先端に接続され、基板を保持する基板保持ハンドをさらに備え、
前記制御部は、前記調整動作において、前記ロボットアーム部により前記基板保持ハンドの位置を変更する動作が行われることにより取得された前記姿勢情報に基づいて、前記データ駆動型制御により前記制御パラメータを調整する、態様3に記載のモータ制御システム。
(態様12)
前記ロボットアーム部は、互いに平行な回転軸線回りに回動する前記複数のリンク部を含む水平多関節の前記ロボットアーム部を含み、
前記制御部は、前記調整動作において、水平多関節の前記ロボットアーム部の動作を制御する前記制御パラメータを、前記データ駆動型制御により調整する、態様3に記載のモータ制御システム。
前記ロボットアーム部は、互いに平行な回転軸線回りに回動する前記複数のリンク部を含む水平多関節の前記ロボットアーム部を含み、
前記制御部は、前記調整動作において、水平多関節の前記ロボットアーム部の動作を制御する前記制御パラメータを、前記データ駆動型制御により調整する、態様3に記載のモータ制御システム。
(態様13)
前記制御部は、記憶された前記制御パラメータの履歴情報、および、前記制御パラメータの調整度合いを報知する報知情報の少なくとも一方を出力する、態様1から態様12までのいずれかに記載のモータ制御システム。
前記制御部は、記憶された前記制御パラメータの履歴情報、および、前記制御パラメータの調整度合いを報知する報知情報の少なくとも一方を出力する、態様1から態様12までのいずれかに記載のモータ制御システム。
(態様14)
モータと、
互いに接続された複数のリンク部を有し、前記モータの駆動により動作するロボットアーム部と、
前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により前記ロボットアーム部を動作させるとともに、前記フィードバック値とは別個に取得された前記ロボットアーム部の姿勢を示す姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整する調整動作を行う制御部と、を備える、ロボットシステム。
モータと、
互いに接続された複数のリンク部を有し、前記モータの駆動により動作するロボットアーム部と、
前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により前記ロボットアーム部を動作させるとともに、前記フィードバック値とは別個に取得された前記ロボットアーム部の姿勢を示す姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整する調整動作を行う制御部と、を備える、ロボットシステム。
(態様15)
モータの駆動により動作する動作対象を、前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により動作させることによって、前記フィードバック値とは別個に前記動作対象の姿勢を示す姿勢情報を取得することと、
前記フィードバック値とは別個に取得された前記姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整することと、を備える、モータ制御方法。
モータの駆動により動作する動作対象を、前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により動作させることによって、前記フィードバック値とは別個に前記動作対象の姿勢を示す姿勢情報を取得することと、
前記フィードバック値とは別個に取得された前記姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整することと、を備える、モータ制御方法。
20 ロボットアーム部
21、22、23 リンク部
30 基板保持ハンド
41 モータ
42 エンコーダ(回転角検出部)
50 センサ部
60、260 制御部
70 記憶部
80 表示部
100、200 ロボットシステム(モータ制御システム)
101 基板
21、22、23 リンク部
30 基板保持ハンド
41 モータ
42 エンコーダ(回転角検出部)
50 センサ部
60、260 制御部
70 記憶部
80 表示部
100、200 ロボットシステム(モータ制御システム)
101 基板
Claims (15)
- モータと、
前記モータの駆動により動作する動作対象と、
前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により前記動作対象を動作させるとともに、前記フィードバック値とは別個に取得された前記動作対象の姿勢を示す姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整する調整動作を行う制御部と、を備える、モータ制御システム。 - 前記制御部は、前記調整動作において、前記フィードバック値とは別個に取得された前記姿勢情報を用いた評価関数により前記制御パラメータを算出することによって、前記データ駆動型制御による前記制御パラメータの調整を行う、請求項1に記載のモータ制御システム。
- 前記動作対象は、互いに接続された複数のリンク部を有するロボットアーム部を含み、
前記制御部は、前記調整動作において、前記フィードバック制御により前記ロボットアーム部を動作させることによって取得された前記ロボットアーム部の姿勢を示す前記姿勢情報に基づいて、前記制御パラメータを調整する、請求項1に記載のモータ制御システム。 - 前記制御部は、取得された一の前記姿勢情報を用いた前記データ駆動型制御により前記制御パラメータを算出することによって、前記調整動作を行う、請求項1に記載のモータ制御システム。
- 前記モータは、複数の前記モータを含み、
前記制御部は、前記調整動作において、前記複数のモータを動作させることにより取得された共通の姿勢を示す前記姿勢情報に基づいて、前記複数のモータの各々ごとに対応する複数種類の前記制御パラメータを調整する、請求項1に記載のモータ制御システム。 - 前記制御部は、
入力された目標値と前記フィードバック値とにより前記モータを動作させるための操作量を出力する前記フィードバック制御により前記モータを駆動させることによって前記動作対象を動作させ、
前記調整動作において、前記操作量と、前記フィードバック値とは別個に取得された前記姿勢情報とに基づいて前記目標値を擬似的に算出した疑似参照入力を取得するとともに、予め設定された目標となる応答特性と、取得された前記疑似参照入力と、取得された前記姿勢情報とを用いた前記評価関数を最適化することによって、前記制御パラメータの調整を行う、請求項2に記載のモータ制御システム。 - 前記制御部は、
入力された目標値と前記フィードバック値とにより前記モータを動作させるための操作量を出力する前記フィードバック制御により前記モータを駆動させることによって前記ロボットアーム部を動作させるとともに、
前記調整動作において、前記モータに対するトルク指令または電流指令を含む前記操作量と、前記ロボットアーム部の先端の位置を示す前記姿勢情報とに基づいて、前記データ駆動型制御により前記制御パラメータを調整する、請求項3に記載のモータ制御システム。 - 前記動作対象の姿勢を検出するセンサ部をさらに備え、
前記制御部は、前記調整動作において、前記センサ部からの検出信号に基づいて前記姿勢情報を取得することによって、前記データ駆動型制御により前記制御パラメータを調整する、請求項1に記載のモータ制御システム。 - 前記モータの回転角を検出する回転角検出部をさらに備え、
前記制御部は、
前記回転角検出部による検出結果に基づいて、前記モータの駆動状態を示す前記フィードバック値を取得し、
前記調整動作において、前記回転角検出部による検出結果に基づいて取得される前記フィードバック値とは別個に、前記回転角検出部による検出結果に基づいて前記姿勢情報を推定するとともに、推定された前記姿勢情報に基づいて前記データ駆動型制御により前記制御パラメータを調整する、請求項1に記載のモータ制御システム。 - 前記制御部は、前記調整動作において、前記モータに流される電流の大きさが所定の電流上限値に到達した場合に、前記姿勢情報を取得するための前記ロボットアーム部の動作を変更する、請求項3に記載のモータ制御システム。
- 前記ロボットアーム部の先端に接続され、基板を保持する基板保持ハンドをさらに備え、
前記制御部は、前記調整動作において、前記ロボットアーム部により前記基板保持ハンドの位置を変更する動作が行われることにより取得された前記姿勢情報に基づいて、前記データ駆動型制御により前記制御パラメータを調整する、請求項3に記載のモータ制御システム。 - 前記ロボットアーム部は、互いに平行な回転軸線回りに回動する前記複数のリンク部を含む水平多関節の前記ロボットアーム部を含み、
前記制御部は、前記調整動作において、水平多関節の前記ロボットアーム部の動作を制御する前記制御パラメータを、前記データ駆動型制御により調整する、請求項3に記載のモータ制御システム。 - 前記制御部は、記憶された前記制御パラメータの履歴情報、および、前記制御パラメータの調整度合いを報知する報知情報の少なくとも一方を出力する、請求項1に記載のモータ制御システム。
- モータと、
互いに接続された複数のリンク部を有し、前記モータの駆動により動作するロボットアーム部と、
前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により前記ロボットアーム部を動作させるとともに、前記フィードバック値とは別個に取得された前記ロボットアーム部の姿勢を示す姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整する調整動作を行う制御部と、を備える、ロボットシステム。 - モータの駆動により動作する動作対象を、前記モータの駆動状態を示すフィードバック値を用いたフィードバック制御により動作させることによって、前記フィードバック値とは別個に前記動作対象の姿勢を示す姿勢情報を取得することと、
前記フィードバック値とは別個に取得された前記姿勢情報に基づいて、前記フィードバック制御における制御パラメータを設定するデータ駆動型制御によって、前記制御パラメータを調整することと、を備える、モータ制御方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024078234A JP2025172623A (ja) | 2024-05-13 | 2024-05-13 | モータ制御システム、ロボットシステム、および、モータ制御方法 |
| JP2024-078234 | 2024-05-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025239244A1 true WO2025239244A1 (ja) | 2025-11-20 |
Family
ID=97720179
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/016622 Pending WO2025239244A1 (ja) | 2024-05-13 | 2025-05-02 | モータ制御システム、ロボットシステム、および、モータ制御方法 |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JP2025172623A (ja) |
| TW (1) | TW202616639A (ja) |
| WO (1) | WO2025239244A1 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07261844A (ja) * | 1994-03-23 | 1995-10-13 | Matsushita Electric Ind Co Ltd | モータ制御装置 |
| JP2022132950A (ja) * | 2021-03-01 | 2022-09-13 | キヤノントッキ株式会社 | 成膜装置、成膜方法、及び電子デバイスの製造方法 |
| WO2024079879A1 (ja) * | 2022-10-14 | 2024-04-18 | ファナック株式会社 | モータ制御装置 |
-
2024
- 2024-05-13 JP JP2024078234A patent/JP2025172623A/ja active Pending
-
2025
- 2025-05-02 WO PCT/JP2025/016622 patent/WO2025239244A1/ja active Pending
- 2025-05-12 TW TW114117723A patent/TW202616639A/zh unknown
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07261844A (ja) * | 1994-03-23 | 1995-10-13 | Matsushita Electric Ind Co Ltd | モータ制御装置 |
| JP2022132950A (ja) * | 2021-03-01 | 2022-09-13 | キヤノントッキ株式会社 | 成膜装置、成膜方法、及び電子デバイスの製造方法 |
| WO2024079879A1 (ja) * | 2022-10-14 | 2024-04-18 | ファナック株式会社 | モータ制御装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2025172623A (ja) | 2025-11-26 |
| TW202616639A (zh) | 2026-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102828094B1 (ko) | 중력장 센서 (gravitational field sensor) 를 갖는 웨이퍼 핸들링 로봇 | |
| JP7802084B2 (ja) | ロボットセルの改良された自動較正のための方法及びシステム | |
| JP7048535B2 (ja) | ロボットを制御するための機構誤差パラメータを較正するロボットの制御装置 | |
| KR102469258B1 (ko) | 엔드 이펙터 위치 추정을 위한 로봇의 적응형 배치 시스템 | |
| KR101025017B1 (ko) | 로봇의 타겟 위치 검출 장치 | |
| US6242879B1 (en) | Touch calibration system for wafer transfer robot | |
| US12290945B2 (en) | Robot device controller for controlling position of robot | |
| JPH11502776A (ja) | 多軸工業ロボットの較正の装置と方法 | |
| EP3904015B1 (en) | System and method for setting up a robotic assembly operation | |
| US10974388B2 (en) | Method of correcting position of robot and robot | |
| KR102560896B1 (ko) | 로봇의 위치 보정 방법 및 로봇 | |
| CN113580116A (zh) | 用于机器人组装的系统和方法 | |
| US20210053238A1 (en) | Deflection amount estimating device, robot control device and method of estimating amount of deflection | |
| WO2021060228A1 (ja) | 高さ補正システム | |
| JP2025172623A (ja) | モータ制御システム、ロボットシステム、および、モータ制御方法 | |
| KR102325282B1 (ko) | 반도체 장치 제조 설비를 위한 로봇 제어 시스템 및 방법, 이를 위한 컴퓨터 프로그램 | |
| JP2020142324A (ja) | ロボット装置および自動補正方法 | |
| US20240058952A1 (en) | Controller for substrate transfer robot and control method for joint motor | |
| WO2021060227A1 (ja) | 高さ補正システム | |
| JP2015074039A (ja) | 搬送装置 | |
| US11548158B2 (en) | Automatic sensor conflict resolution for sensor fusion system | |
| JP7295302B2 (ja) | ロボットを制御するための機構誤差パラメータを較正するロボットの制御装置および教示操作盤 | |
| WO2026094365A1 (ja) | 基板搬送ロボットシステム、基板搬送装置、半導体製造装置、メンテナンス方法、及び基板搬送方法 | |
| US20220410397A1 (en) | System and Method for Robotic Calibration and Tuning | |
| WO2026102272A1 (en) | Apparatus and method for automatic panel centering |
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: 25803493 Country of ref document: EP Kind code of ref document: A1 |