WO2012020714A1 - モータ制御装置およびモータ制御方法、制御システムおよびこの制御システムに用いる位置推定方法 - Google Patents

モータ制御装置およびモータ制御方法、制御システムおよびこの制御システムに用いる位置推定方法 Download PDF

Info

Publication number
WO2012020714A1
WO2012020714A1 PCT/JP2011/067994 JP2011067994W WO2012020714A1 WO 2012020714 A1 WO2012020714 A1 WO 2012020714A1 JP 2011067994 W JP2011067994 W JP 2011067994W WO 2012020714 A1 WO2012020714 A1 WO 2012020714A1
Authority
WO
WIPO (PCT)
Prior art keywords
motor
command
speed
voltage
output
Prior art date
Application number
PCT/JP2011/067994
Other languages
English (en)
French (fr)
Inventor
淳 尾辻
彰啓 伊藤
洋和 渡邊
秀行 小田切
Original Assignee
日本電産サンキョー株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2011019448A external-priority patent/JP5689704B2/ja
Application filed by 日本電産サンキョー株式会社 filed Critical 日本電産サンキョー株式会社
Priority to US13/814,576 priority Critical patent/US10345827B2/en
Priority to KR1020137003052A priority patent/KR101421906B1/ko
Priority to KR1020147013950A priority patent/KR101483405B1/ko
Priority to CN201180039104.8A priority patent/CN103081351B/zh
Publication of WO2012020714A1 publication Critical patent/WO2012020714A1/ja
Priority to US14/965,364 priority patent/US10095244B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • H02P29/024Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load
    • H02P29/026Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load the fault being a power fluctuation
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position
    • H02P6/17Circuit arrangements for detecting position and for generating speed information

Definitions

  • the present invention relates to a motor control device that controls a motor that operates a robot.
  • the present invention also relates to a motor control method for controlling a motor that operates a robot.
  • the present invention relates to a control system applicable to a drive system and a rotation system such as a robot and a numerical controller, and a position estimation method used in the control system.
  • a motor control device that controls a DC motor (including a DC motor and a DC brushless motor) that operates a robot is known (see, for example, Patent Document 1).
  • the rotational position of the motor is detected by the position detector, and the rotational speed of the motor is detected by the speed detector.
  • the position deviation is calculated by subtracting the position detector output from the position command by the subtractor, the position controller converts the position deviation into the speed command, and the adder / subtracter outputs the speed command and the feedforward controller.
  • the output is added and the output of the speed detector is subtracted, and the output of the adder / subtracter is converted into a torque command by the PI controller.
  • the motor driver drives the motor based on the torque command.
  • control systems for driving them are applied.
  • the control system issues an operation command (position command) to a servo controller that servo-controls a motor that rotates the joint of the robot.
  • the robot joint has an encoder that measures the rotation angle of the motor, and the host controller sends position data (rotation angle measurement) fed back from this encoder via the servo controller.
  • the servo control is performed by recognizing the deviation between the target value and the actual measurement value while sampling with reference to the value).
  • the position data fed back is sampled at a predetermined sampling period, the position at a time other than the sampling period cannot be known, and the sampling period becomes the limit of the position resolution.
  • the height of position resolution is an important factor, and therefore it is necessary to estimate the position in order to increase the limit of position resolution.
  • the robot control apparatus disclosed in Patent Document 2 first samples the feedback position X. Then, the sampling time interval is calculated in relation to the latest sampling time, the difference in the feedback position is calculated, the difference in the feedback position is divided by the sampling time interval, and the change rate of the feedback position (change rate A) is calculated. Ask. On the other hand, the time difference (time difference B) from the sampling time to the servo command time is calculated. Finally, the value obtained by multiplying the rate of change A by the time difference B is added to the feedback position X to estimate the position of the servo command time.
  • a torque proportional to the current flowing through the drive coil can be obtained. Since the current flowing through the driving coil is statically proportional to the voltage applied to the motor driver, it is possible to control the motor torque by controlling the voltage applied to the motor driver.
  • the original voltage applied to the motor driver decreases, it is possible to prevent the torque from decreasing by increasing the torque command.
  • the torque command cannot be increased beyond a certain value due to physical restrictions such as a motor driver. Therefore, if the original voltage applied to the motor driver is greatly reduced, not only can the robot not be able to perform a desired operation, but also the so-called wind-up phenomenon occurs due to the integration function of the PI controller or the like.
  • the robot may show unstable behavior such as oscillation behavior.
  • an object of the present invention is to provide a motor control capable of properly operating a robot without stopping the motor that operates the robot even when a voltage drop occurs due to an instantaneous drop or the like.
  • an object of the present invention is to provide a motor that can properly operate a robot without stopping the motor that operates the robot even when a voltage drop occurs due to an instantaneous drop or the like. It is to provide a control method.
  • the robot control apparatus described in Patent Document 2 obtains the rate of change A by dividing the feedback position difference by the sampling time interval, and performs position estimation only by simple extrapolation. There is a problem of being weak. In this case, the position estimation system can be improved by making the measurement period of the encoder fine, but there is a problem that the cost increases because it is necessary to increase the communication period and the processing speed of the CPU. *
  • the present invention has been made in view of such a point, and the problem is that a control system capable of accurately responding to speed fluctuations of the motor and the like without reducing the sampling period and the control are provided. It is to provide a position estimation method used in a system.
  • a motor control device is a motor control device that controls a motor that operates a robot, a position command output unit that outputs a position command for controlling the motor, and a motor having a predetermined angle.
  • a first subtracting means for calculating and outputting a position deviation based on a rotational position and a position command calculated based on an output from a rotation detecting means for generating a pulse signal each time it rotates;
  • a position control means for converting the output to the output, a second subtracting means for calculating and outputting a speed deviation based on the rotational speed and speed command calculated based on the output from the rotation detecting means, and a speed deviation.
  • Speed control means for converting to torque command and outputting it, and when torque command value is less than or equal to a predetermined limit value, torque command is output as it is and torque command value is the limit value
  • a limiter that outputs a torque command that uses the limit value as the limit value, a motor drive unit that drives the motor based on the torque command from the limiter, and a voltage fluctuation of a power source that applies a voltage to the motor drive unit is detected.
  • Voltage fluctuation detecting means and when the voltage fluctuation detecting means detects that the voltage of the power supply is below a predetermined reference value, the position command output means fluctuates the position command so that the motor speed decreases. And / or the position control means limits the output speed command.
  • the position command output means issues a position command so that the rotational speed of the motor decreases.
  • the position control means limits the output speed command as well as the fluctuation.
  • the position command output means changes the position command so that the rotational speed of the motor is reduced, Alternatively, the position control means limits the output speed command.
  • the present invention when an instantaneous drop or the like occurs and the voltage of the power supply becomes equal to or lower than the reference value, it is possible to suppress an increase in speed command value and an increase in speed deviation. . Therefore, in the present invention, even if a voltage sag or the like occurs and the voltage of the power supply becomes below the reference value, the motor is appropriately controlled by reducing the rotation speed of the motor, and the robot performs a desired operation. It is possible to prevent the robot from exhibiting an unstable behavior by preventing the occurrence of a windup phenomenon. As a result, in the present invention, the robot can be appropriately operated without stopping the motor even when a voltage sag or the like occurs and the voltage of the power supply decreases.
  • the position command output means fluctuates the position command so that the rotation speed of the motor decreases
  • the position control means preferably limits the output speed command.
  • the position command output means is arranged so that the positional deviation output from the first subtracting means becomes small.
  • the position command output means After delaying the position command, at least one of the position command output means returns the position command to the original state at the delayed position and the position control means releases the restriction on the output speed command.
  • the value of the speed command increases rapidly when the position command is restored to the original state after the power supply voltage exceeds the reference value or when the restriction on the speed command is released. Can be prevented. Therefore, it is possible to prevent sudden acceleration of the motor when the position command is returned to the original state after the power supply voltage exceeds the reference value or when the restriction on the speed command is released, and as a result This makes it possible to prevent a rapid movement of the robot.
  • the position command output means when it is detected by the voltage variation detection means that the voltage of the power supply is below the reference value, the position command output means varies the position command so that the rotation speed of the motor decreases.
  • the position command output means delays the position command so that the positional deviation output from the first subtracting means becomes small. Then, it is preferable that the position command output means returns the position command to the original state at the delayed position.
  • the position control means limits the output speed command when the voltage fluctuation detection means detects that the voltage of the power supply is below the reference value
  • the voltage fluctuation detection means detects that the voltage of the power supply has recovered until it exceeds the reference value
  • the position command output means delays the position command so that the position deviation output from the first subtracting means becomes small. It is preferable that the position control means cancels the limit of the output speed command.
  • the motor control method of the present invention is a motor control method for controlling a motor that operates a robot.
  • the motor control method includes a position command for controlling the motor and a rotational position measured by the motor. Position deviation is calculated based on the speed deviation, the position deviation is converted into a speed command, the speed deviation is calculated based on the speed command and the measured rotational speed of the motor, the speed deviation is converted into a torque command, and the torque command.
  • the motor is driven based on the torque command as it is, and when the value of the torque command exceeds the limit value, based on the torque command having the limit value as the value.
  • While driving the motor when it is detected that the voltage of the power source of the motor has become equal to or lower than a predetermined reference value, the position command is changed so that the rotational speed of the motor is reduced, and Limiting the speed command, and performing at least one of.
  • the position command when it is detected that the voltage of the power supply of the motor is equal to or lower than a predetermined reference value, the position command is changed so that the rotation speed of the motor is lowered, and the speed command is limited.
  • the position command when it is detected that the voltage of the motor power supply is lower than the reference value, the position command is changed or the speed command is limited so that the rotation speed of the motor decreases. To do. For this reason, in the present invention, when an instantaneous drop or the like occurs and the voltage of the power supply becomes equal to or lower than the reference value, it is possible to suppress an increase in speed command value and an increase in speed deviation. .
  • the motor is appropriately controlled by reducing the rotation speed of the motor, and the robot performs a desired operation. It is possible to prevent the robot from exhibiting an unstable behavior by preventing the occurrence of a windup phenomenon. As a result, if the motor is controlled by the motor control method of the present invention, the robot can be appropriately operated without stopping the motor even when a voltage sag occurs and the voltage of the power supply decreases. It becomes possible.
  • the present invention provides the following. *
  • a motor that drives the controlled body, a sensor that detects position data of the controlled body based on a rotation angle of the motor at a predetermined period, a servo control section that servo-controls the motor, and the servo control section
  • a position control unit that issues an operation command (position command), wherein the position control unit generates a command for generating an operation command for the servo control unit, and the position acquired from the sensor.
  • Position data storage means for storing data together with the acquisition time; and position estimation means for estimating the position of the controlled body at an arbitrary time based on the position data of a predetermined cycle, the position estimation means
  • the position f (t) of the controlled object at t is expressed by a polynomial based on the position data, and the position of the controlled object at an arbitrary time is estimated by polynomial interpolation.
  • the position estimation means represents the position f (t) of the controlled object at time t by a polynomial based on the position data, and estimates the position at an arbitrary time by polynomial interpolation. It is possible to accurately cope with load fluctuations, speed fluctuations, and the like of the motor without having to do so.
  • the position estimating means represents the position f (t) of the controlled object at time t by a polynomial expression based on the position data stored together with the time in the position data storage means, the position estimation means can be operated even when the motor speed fluctuates. Can be expressed faithfully as a function of t, and the position at an arbitrary time can be accurately estimated without reducing the sampling period.
  • the position estimating means estimates the position of the controlled object using the fed back position data, it is hardly affected by the load fluctuation of the motor and can accurately estimate the position at an arbitrary time.
  • the position estimating means represents the position f (t) of the controlled body at time t by a polynomial of the following formula 1, and the position data y i stored in the position data storage means is a coefficient a i of the polynomial.
  • robot control system characterized in that on the basis of the acquisition time t i and determined by the following equation (2) equation to estimate the position of the controlled object at any time
  • the position f (t) of the controlled body at an arbitrary time t can be expressed by a polynomial.
  • the position of the controlled object can be estimated with high accuracy even when the speed changes.
  • the robot control system characterized in that the position estimation means estimates the position of the controlled object at an arbitrary time using a cubic polynomial.
  • the position of the controlled object is represented using a cubic polynomial
  • the position of the controlled object can be accurately determined as a function of t even when the speed of the motor is accelerated or decelerated. Since it can be expressed, the position of the controlled object can be estimated with high accuracy. Further, the calculation for obtaining the third-order polynomial is not a large calculation load, and the calculation load for position estimation can be reduced.
  • the position estimation means estimates the position of the controlled object at the time based on the position data in the vicinity of an arbitrary time for estimating the position of the controlled object.
  • position data appropriate for position estimation is selected from position data stored in the position data storage means.
  • the position of the controlled object can be expressed by a cubic polynomial, and the position of the controlled object can be estimated with high accuracy even when the motor speed fluctuates, and the calculation load can be reduced.
  • a mark sensor for detecting an alignment mark provided on the controlled object is provided, and the position estimating means estimates the position of the controlled object at a time when the mark sensor detects the alignment mark. Control system. *
  • the position of the controlled object at the time when the sensor detects the alignment mark can be estimated, the position of the controlled object can be accurately aligned.
  • a motor that drives the controlled body, a sensor that detects position data of the controlled body based on a rotation angle of the motor at a predetermined period, a servo control section that servo-controls the motor, and the servo control section A position control unit that issues an operation command, and the position control unit generates an operation command for the servo control unit and stores the position data acquired from the sensor together with an acquisition time.
  • a position estimation method characterized in that a position f (t) of the controlled object at t is expressed by a polynomial based on the position data, and the position of the controlled object at an arbitrary time is estimated by polynomial interpolation.
  • the position control unit generates an operation command for the servo control unit, stores the position data acquired from the sensor together with the acquisition time, and determines the position f (t of the controlled body at the time t. ) Is expressed as a polynomial based on the position data, and the position of the controlled object at an arbitrary time is estimated by polynomial interpolation, so that it is possible to accurately handle load fluctuations and speed fluctuations of the motor without reducing the sampling period. be able to.
  • the position control unit represents the position f (t) of the controlled body at time t by a polynomial based on the position data stored together with the time, the position is a function of t even when the motor speed fluctuates.
  • the position can be accurately expressed, and the position at an arbitrary time can be accurately estimated without reducing the sampling period.
  • the position control unit estimates the position of the controlled object using the fed back position data, the position control unit is hardly affected by the load fluctuation of the motor and can accurately estimate the position at an arbitrary time.
  • the robot can be operated properly without stopping the motor that operates the robot. Is possible.
  • the motor that operates the robot is controlled by the motor control method of the present invention, the robot can be operated properly without stopping the motor even if a voltage drop occurs due to an instantaneous drop or the like. It becomes possible to make it.
  • control system according to the present invention and the position estimation method applied to the control system reduce the speed of the motor by accurately dealing with the speed fluctuation of the motor without reducing the sampling period. It is possible to perform position estimation with high accuracy without any problem.
  • a change in position deviation, a change in rotational speed of the motor, and a change in torque when a voltage drop occurs when a motor is controlled by a motor control device according to another embodiment of the present invention will be described.
  • a change in position deviation, a change in rotational speed of the motor, and a change in torque when a voltage drop occurs when a motor is controlled by a motor control device according to another embodiment of the present invention will be described. It is a graph for doing.
  • a change in position deviation, a change in rotational speed of the motor, and a change in torque when a voltage drop occurs when a motor is controlled by a motor control device according to another embodiment of the present invention will be described.
  • a change in position deviation, a change in rotational speed of the motor, and a change in torque when a voltage drop occurs when a motor is controlled by a motor control device according to another embodiment of the present invention will be described. It is a graph for doing.
  • a change in position deviation, a change in rotational speed of the motor, and a change in torque when a voltage drop occurs when a motor is controlled by a motor control device according to another embodiment of the present invention will be described. It is a graph for doing.
  • a change in position deviation, a change in rotational speed of the motor, and a change in torque when a voltage drop occurs when a motor is controlled by a motor control device according to another embodiment of the present invention will be described. It is a graph for doing. It is a block diagram which shows the system configuration
  • FIG. 1 is a block diagram illustrating a motor control device 101 and a configuration related to the motor control device 101 according to the first embodiment of the present invention.
  • FIG. 2 is a graph showing an example of a position command output from the position command output unit 108 shown in FIG.
  • FIG. 3 is a graph showing an example of a speed command output from the position control unit 110 shown in FIG.
  • FIG. 4 is a graph showing an example of the position deviation output from the subtraction unit 109 shown in FIG. 1 and an example of the rotation speed and torque of the motor 102 shown in FIG.
  • the motor control device 101 of this embodiment is a device for controlling the motor 102 that operates the industrial robot.
  • the motor 102 is a DC servo motor and operates, for example, an arm of an industrial robot.
  • the motor control device 101 is connected to a power source 103 of the motor 102.
  • An encoder 104 is arranged between the motor control device 101 and the motor 102.
  • the encoder 104 includes, for example, a disc-shaped slit plate fixed to the rotating shaft of the motor 102, and an optical sensor having a light emitting element and a light receiving element arranged so as to sandwich the slit plate.
  • the type sensor is connected to the motor control device 101.
  • the motor control device 101 is configured by calculation means such as an MPU, storage means such as ROM, RAM, and nonvolatile memory, input / output means such as an I / O port, and the like.
  • the motor control device 101 functionally includes a position detection unit 106, a speed detection unit 107, a position command output unit 108 as a position command output unit, a subtraction unit 109 as a first subtraction unit, Position controller 110 as position controller, subtractor 111 as second subtractor, speed controller 112 as speed controller, limiter 113, driver 114 as motor driver, and voltage fluctuation detection And a voltage fluctuation detector 115 as means.
  • the position detection unit 106 calculates the rotational position of the motor 102 based on the output from the encoder 104.
  • the speed detection unit 107 calculates the rotation speed of the motor 102 based on the output from the encoder 104.
  • the position command output unit 108 outputs a position command for controlling the rotation speed and rotation position of the motor 102. Specifically, the position command output unit 108 outputs a target rotational position corresponding to the elapsed time after the start of the motor 102 as a position command.
  • the position command output from the position command output unit 108 is, for example, as shown in the graph of FIG.
  • the subtractor 109 calculates and outputs a position deviation obtained by subtracting the actual rotational position output from the position detector 106 from the position command output from the position command output unit 108.
  • the position deviation output from the subtracting unit 109 is, for example, as shown in the graph shown in FIG.
  • the position control unit 110 normally converts the position deviation output from the subtraction unit 109 into a speed command and outputs it. Specifically, the position control unit 110 outputs a target rotation speed corresponding to the elapsed time after the start of the motor 102 as a speed command. When the elapsed time after the start of the motor 102 is taken on the horizontal axis and the target rotational speed is taken on the vertical axis, the speed command output from the position control unit 110 is, for example, as shown in the graph shown in FIG. In the position controller 110, proportional control is performed.
  • the subtraction unit 111 calculates and outputs a speed deviation obtained by subtracting the actual rotation speed output from the speed detection unit 107 from the speed command output from the position control unit 110.
  • the speed control unit 112 converts the speed deviation output from the subtraction unit 111 into a torque command and outputs the torque command.
  • PI control that combines proportional control and integral control is performed.
  • the limiter 113 outputs the torque command output from the speed control unit 112 as it is as the torque command when the value of the torque command output from the speed control unit 112 is equal to or less than a predetermined limit value.
  • a torque command having this limit value as its value is output. That is, the upper limit value of the torque command output toward the driver 114 is set by the limiter 113.
  • a power source 103 is connected to the driver 114, and the driver 114 drives the motor 102 by applying a voltage to the motor 102 based on a torque command output from the limiter 113.
  • the rotational speed and torque of the motor 102 driven by the driver 114 are as shown in the graph in FIG. 4, where the elapsed time after the start of the motor 102 is taken on the horizontal axis and the rotational speed and torque are taken on the vertical axis.
  • the voltage fluctuation detection unit 115 is connected to the power supply 103 and detects voltage fluctuation of the power supply 103. In this embodiment, the voltage fluctuation detection unit 115 detects that an instantaneous drop has occurred in which the voltage of the power supply 103 instantaneously falls below a predetermined reference value. The voltage fluctuation detection unit 115 is connected to the position command output unit 108 and the position control unit 110.
  • FIG. 5 shows a change in position deviation converted into a speed command when a voltage drop occurs when the motor 102 is controlled by the motor control apparatus 101 according to the embodiment of the present invention, the rotational speed of the motor 102, and the like. It is a graph for demonstrating the change of a torque.
  • FIG. 6 is a diagram for explaining a change in position deviation converted to a speed command and a change in rotational speed and torque of the motor 102 when an instantaneous drop occurs when the motor 102 is controlled by the conventional motor control device. It is a graph of.
  • the motor control device 101 operates as follows to control the motor 102. First, whether or not a voltage sag has occurred is determined by the voltage fluctuation detection unit 115. When the voltage fluctuation detection unit 115 detects that the voltage of the power supply 103 has become equal to or lower than the reference value (that is, when the voltage fluctuation detection unit 115 detects the occurrence of an instantaneous drop), the voltage fluctuation detection unit 115 Based on this detection result, the position command output unit 108 changes the position command so that the rotation speed of the motor 102 decreases.
  • the position command output unit 108 when the occurrence of an instantaneous drop is detected by the voltage fluctuation detection unit 115, the position command output unit 108 varies the position command as indicated by a two-dot chain line in FIG. At this time, it is preferable that the position command output unit 108 changes the position command so that the rotation speed of the motor 102 decreases as fast as possible within a range in which the workpiece or robot mounted on the robot is not damaged. For example, the position command output unit 108 changes the position command so that the rotational speed of the motor 102 decreases at the same deceleration as the deceleration of the motor 102 during normal deceleration.
  • the position control unit 110 limits the position deviation converted into the speed command based on the detection result of the voltage fluctuation detection unit 115. For example, the position control unit 110 fixes (clamps) the position deviation at the time of occurrence of a sag as a position deviation converted into a speed command, and converts the fixed position deviation into a speed command. Alternatively, for example, the position control unit 110 varies the upper limit value of the position deviation converted into the speed command according to the rotation speed of the motor 102 detected by the speed detection unit 107, and the position deviation from the subtraction unit 109 is changed.
  • the position deviation is set as a position deviation converted into a speed command. If the position deviation from the subtracting unit 109 exceeds the upper limit value, the position deviation of the upper limit value is converted into a speed command. Position deviation. As described above, since the position control unit 110 performs proportional control, when the position deviation converted into the speed command is limited, the speed command output from the position control unit 110 is also limited. That is, when the occurrence of an instantaneous drop is detected by the voltage fluctuation detection unit 115, the position control unit 110 limits the output speed command.
  • the position control unit 110 releases the restriction on the position deviation. That is, the position control unit 110 releases the restriction on the speed command. Further, the position command output unit 108 returns the position command to the original state. For example, the position command output unit 108 returns the position command that has been changed so that the rotation speed of the motor 102 decreases to the position command indicated by the solid line in FIG.
  • the motor control device 101 performs the operation as described above when a voltage sag occurs. Therefore, when the motor control device 101 controls the motor 102, the motor control device 101 converts it to a speed command when a voltage sag occurs.
  • the positional deviation, the rotation speed of the motor 102, and the torque of the motor 102 change as shown in the graph shown in FIG. 5, for example. Note that when a voltage drop occurs, the positional deviation converted into the speed command is limited, but the actual positional deviation output from the subtracting unit 109 is increased, so that as shown in FIG. When the voltage recovers and the position control unit 110 releases the restriction on the position deviation, the position deviation increases discontinuously.
  • the position deviation, the rotation speed of the motor 102, and the torque of the motor 102 when a sag occurs are as shown in the graph of FIG. Change.
  • the graphs shown in FIG. 5 and FIG. 6 show an outline of the positional deviation converted into the speed command, the rotational speed of the motor 102, and the change tendency of the torque of the motor 102, and are converted into the speed command.
  • the actual changes in the positional deviation, the rotational speed of the motor 102, and the torque of the motor 102 do not completely match the graphs shown in FIGS.
  • the position deviation converted into the speed command, the rotational speed of the motor 102, and the torque change of the motor 102 vary depending on the control parameters and the operating environment of the motor control device 101. The same applies to FIGS. 7, 8, and 10 to 13 described later.
  • the position control unit 110 limits the output speed command. Therefore, in this embodiment, it is possible to suppress an increase in the speed deviation output from the subtraction unit 111 when an instantaneous drop occurs, and to suppress an increase in the value of the torque command output from the speed control unit 112. It becomes possible to do. Therefore, in this embodiment, even if a voltage sag occurs, it is possible to appropriately control the motor 102 to cause the robot to perform a desired operation, and to prevent the windup phenomenon from occurring. It is possible to prevent unstable behavior.
  • the robot can be appropriately operated without stopping the motor 102. Further, in this embodiment, when a voltage sag occurs, the speed command output by the position control unit 110 is limited. Therefore, an increase in speed deviation can be suppressed in a short time after the voltage sag occurs.
  • the position command output unit 108 varies the position command so that the rotation speed of the motor 102 decreases. For this reason, in this embodiment, it is possible to suppress an increase in the actual position deviation output from the subtraction unit 109 when an instantaneous drop occurs. Therefore, in this embodiment, it is possible to suppress a rapid increase in the value of the speed command when the voltage of the power supply 103 recovers and the position control unit 110 releases the speed command limit. As a result, in the present embodiment, it is possible to suppress the rapid acceleration of the motor 102 and prevent the robot from operating rapidly.
  • the motor 102 When the motor 102 is controlled by the conventional motor control device, if a voltage sag occurs, the position deviation converted into the speed command increases as shown in FIG. As a result, the speed deviation increases, and as a result, the value of the torque command increases, and the value of the torque command may exceed the limit value. Further, when the voltage drop of the power source 103 is recovered after the voltage sag is finished, the increased positional deviation is eliminated, so that the rotation speed of the motor 102 increases rapidly as shown in FIG.
  • the position command output unit 108 delays the position command so that the position deviation output from the subtraction unit 109 becomes small when the voltage of the power supply 103 recovers to exceed the reference value ( That is, after the position command output unit 108 outputs a command position obtained by returning the target rotational position of the motor 102 by a predetermined amount), the position control unit 110 releases the speed command restriction, and the position command output unit 108 is delayed.
  • the position command may be returned to the original state at the position.
  • the position command is issued at the delayed position.
  • the original state may be restored, and the position control unit 110 may release the restriction on the speed command.
  • the positional deviation converted into the speed command, the rotational speed of the motor 102, and the torque of the motor 102 change as shown in the graph shown in FIG. 10, for example.
  • the broken line in FIG. 9 shows the change in the position command when no instantaneous drop occurs.
  • the position command is returned to the original state at the delayed position.
  • the solid line indicating the change in the position command after the lapse of time and the broken line indicating the change in the position command when no instantaneous drop occurs are parallel to each other.
  • the speed command value is rapidly increased when the restriction of the speed command is canceled and the position command is returned to the original state. Can be suppressed. Therefore, for example, as can be seen from a comparison between FIG. 5 and FIG. 10, in this case, after the voltage of the power source 103 is recovered until it exceeds the reference value, the speed command restriction is canceled and the position command is changed. It becomes possible to greatly suppress fluctuations in the rotational speed of the motor 102 when returning to the original state.
  • the position command output unit 108 delays the position command after returning the position command to the original state, and then the position control unit 110 receives the speed command.
  • the restriction may be lifted.
  • the position command output unit 108 delays the position command after the position control unit 110 releases the speed command restriction, and then The position command output unit 108 may return the position command to the original state.
  • the output from the subtracting unit 109 is performed when the voltage of the power supply 103 recovers until it exceeds the reference value.
  • the position command output unit 108 may return the position command to the original state at the delayed position after the position command output unit 108 delays the position command so that the position deviation is reduced. In this case, the positional deviation converted into the speed command, the rotational speed of the motor 102, and the torque of the motor 102 change as shown in the graph shown in FIG. 11, for example.
  • the speed command value can be prevented from rapidly increasing when the position command is returned to the original state. . Therefore, for example, as can be seen by comparing FIG. 7 and FIG. 11, in this case, after the voltage of the power supply 103 recovers until it exceeds the reference value, the motor 102 when the position command is returned to the original state. It is possible to greatly suppress fluctuations in the rotation speed.
  • the position control unit 110 may release the restriction on the speed command after the position command output unit 108 delays the position command so that the position deviation becomes smaller.
  • the positional deviation converted into the speed command, the rotation speed of the motor 102, and the torque of the motor 102 change as shown in the graph shown in FIG. 12, for example.
  • the speed command value can be prevented from rapidly increasing when the position command is returned to the original state. . Therefore, for example, as can be seen by comparing FIG. 8 and FIG. 12, in this case, after the voltage of the power source 103 is recovered until it exceeds the reference value, the motor 102 when the position command is returned to the original state. It is possible to greatly suppress fluctuations in the rotation speed.
  • the voltage of the power supply 103 is set to the reference value in the case where the position command does not change so that the rotation speed of the motor 102 decreases when the instantaneous drop occurs and the speed command output from the position control unit 110 is not limited.
  • the position command output unit 108 delays the position command so that the position deviation output from the subtracting unit 109 becomes smaller after the recovery to exceed, the position deviation converted into the speed command, the rotational speed of the motor 102 and The torque of the motor 102 changes as shown in the graph shown in FIG.
  • the position command output from the position command output unit 108 is completed until the position command output from the position command output unit 108 enters the deceleration region where the motor 102 is decelerated, or the position command output unit 108 completes the position command.
  • the position control unit 110 releases the limit of the speed command each time, and the position command output unit 108 May return the position command to the original state.
  • the position deviation output from the subtraction unit 109 (that is, the position command and the position detection unit 106 outputs the position command).
  • the difference between the actually measured rotational position becomes smaller and approaches the position deviation converted into the speed command by the position control unit 110.
  • the position command output unit 108 when the voltage fluctuation detection unit 115 detects the occurrence of a sag, the position command output unit 108 varies the position command so that the rotation speed of the motor 102 decreases, and the position control unit 110 outputs The speed command to be used is limited.
  • the position command output unit 108 may change the position command so that the rotation speed of the motor 102 decreases, and the speed command output by the position control unit 110 may be limited.
  • the motor 102 when adjusting operation parameters of the motor 102 such as speed and acceleration / deceleration, the motor 102 is operated at a voltage lower than the actual voltage of the power source 103.
  • the actual voltage of the power supply 103 is 200 (V)
  • a voltage lower than 200 (V) is applied to the driver 114 when adjusting the operation parameter of the motor 102.
  • the operation parameter of the motor 102 has a value with a margin with respect to the actual voltage of the power source 103.
  • the position command output unit 108 varies the position command so that the rotation speed of the motor 102 decreases.
  • the control unit 110 is configured to limit the output speed command, the motor 102 can be appropriately controlled by following the fluctuation of the voltage of the power supply 103, and therefore adjusted with the actual voltage. Even with the set operation parameters, the motor 102 can be operated and stopped safely. Therefore, in this case, the motor 102 can be operated at a higher speed and higher acceleration than before, and the robot can be operated at a higher speed. As a result, the tact time of the process in which the robot is used can be shortened.
  • FIG. 14 is a block diagram showing a system configuration of the robot control system according to the embodiment of the present invention.
  • FIG. 15 is a diagram illustrating a robot applicable to the robot control system according to the embodiment of the present invention.
  • FIG. 16 is a plan view showing a wafer held by an aligner and a chuck according to an embodiment of the present invention.
  • the robot 6 shown in FIG. 15 is, for example, a transfer robot (hereinafter referred to as “robot”) that moves a workpiece such as a semiconductor wafer (hereinafter referred to as “wafer”) placed in a cassette into the film forming apparatus.
  • the wafer 9 is a controlled body.
  • the robot 6 connects a plurality of base side arms 64, hand side arms 65, and hands 66 that are rotatably connected by joint portions 61, 62, 63, and is provided on a base (not shown).
  • the rotational force generated by the first motor 41 is transmitted to the base side arm 64 and the hand side arm 65 to perform a desired operation.
  • the robot 6 having such a structure moves on a straight line while always directing the hand 66 on which the wafer 9 is placed in a certain direction. Since the structure and operation of the robot 6 are well known, detailed description thereof is omitted here.
  • the robot 6 is a first motor 41 that drives the base side arm 64, the hand side arm 65, and the hand 66, and a sensor that detects arm position data based on the rotation angle of the first motor 41 at a predetermined cycle.
  • the first encoder 42 is provided. The first encoder is fixed to the rotating shaft of the first motor 41. *
  • the wafer 9 When the wafer 9 is stored in the transferred cassette 8, the wafer 9 is randomly arranged. Therefore, when the wafer 9 is taken out from the cassette 8 by the robot 6 and various processes are performed on the wafer 9, the notch is notched. It must be performed with the position 91 positioned at the regular position. Therefore, there is a method in which the wafer 9 taken out from the cassette 8 is carried into the aligner 7 of the wafer 9, the position of the notch is matched with the normal position by the aligner 7 of the wafer 9, and the wafer 9 is set on the processing stage. Has been taken.
  • a notch 91 for detecting the position is generally formed at one position on the edge portion of the wafer 9.
  • the wafer 9 is stored in the transferred cassette 8, the wafer 9 is randomly arranged. Therefore, when the wafer 9 is subjected to various types of processing, the position of the notch 91 is positioned at a normal position. It must be done in the state.
  • the apparatus for aligning the wafer 9, that is, the angle of the wafer 9, is generally called an aligner 7. After the wafer 9 is held by the holding shaft, the position of the notch 91 is detected by rotating it half or once.
  • the aligner 7 is a device that detects the notch 91 of the wafer 9 and aligns the orientation of the wafer 9.
  • the aligner 7 that rotates and adjusts the wafer 9 to face a predetermined direction is installed within a range in which the robot 6 can carry the wafer 9.
  • the aligner 7 rotates the mounted wafer 9 and detects notches 91 provided at the edge thereof, thereby matching the orientation and holding angle of all the mounted wafers 9 (notches 91).
  • the aligner 7 has a turntable 71 on which the wafer 9 is placed and rotates integrally, a second motor 43 that drives the turntable 71 on which the wafer 9 is placed, and the rotation of the second motor 43.
  • It has the 2nd encoder 44 as a sensor which detects the position data based on angle data, and the notch sensor 73 which detects the notch 91.
  • FIG. In this embodiment, as shown in FIGS. 15 and 16, the turntable 71 has a plurality of chucks 72 (in six places in FIGS. 15 and 16), and clamps the periphery of the wafer 9. There is no eccentricity with the turntable 71, and it is placed on the turntable 71 concentrically. *
  • the wafer 9 has a notch 91 cut out in a V-shape or U-shape as a mark indicating a normal position in the circumferential direction of the wafer 9 and a positioning portion. Is formed.
  • the notch sensor 73 for detecting the notch 91 formed on the wafer 9 is provided at the left position of the turntable 71 in FIG. 15 (upper left in FIG. 16).
  • the notch sensor 73 is a photosensor including a light emitting element and a light receiving element.
  • the LED irradiates detection light, a photodiode that detects reflected light of the irradiation light, and the LED and photodiode. And an optical path tube for guiding the light beam entering and exiting the wafer 9 with respect to the wafer 9. For this reason, when the detection light of LED irradiates the edge part of the wafer 9 held by the hand 66 and is reflected by the edge part, the reflected light is incident on the photodiode, and when not reflected through the notch 91, the photo No incident on the diode. Thereby, the position of the notch 91 is detected.
  • the robot control system 1 controls the operation of a robot that takes a (semiconductor) wafer or the like from a cassette and transports it to a film forming apparatus in a semiconductor manufacturing process.
  • FIG. 14 is a block diagram showing a system configuration of the robot control system according to the embodiment of the present invention.
  • the robot control system 1 controls the driving of the robot 6 (the arm) for transporting the wafer 9 and the driving of the aligner 7 for aligning the orientation of the wafer 9.
  • the robot control system 1 mainly includes a position control unit 2, a servo control unit 3, and a drive unit 4 (first motor 41, first encoder) that drives a controlled body. 42, a second motor 43, a second encoder 44), and a communication line 5.
  • the robot control system 1 issues an operation command (position command) to servo controllers 31 and 32 that servo-control a first motor 41 that rotates the joint of the robot and a second motor 43 that rotates the aligner 7.
  • the joint and aligner 7 of the robot have first and second encoders 42 and 44 that measure the rotation angles of the first and second motors 41 and 43
  • the position control unit 2 is a servo control unit. 3 while sampling with reference to position data (rotation angle measurement value) fed back from the first and second encoders 42 and 44 via the servo controllers 31 and 32, the target value is obtained.
  • Servo control is performed by recognizing the deviation between the measured value and the measured value. *
  • the position control unit 2 generates an operation command to the first and second servo controllers 31 and 32 and transmits a command to the servo controllers 31 and 32, and each servo controller 31.
  • Position data storage means 22 that receives the fed back position data (feedback data) sent from the above in a predetermined cycle and stores the received position data (feedback data) together with the acquisition time.
  • the position control unit 2 includes a position estimation unit 23 that estimates the position of the drive unit 4 at an arbitrary time based on the position data (feedback data) of the predetermined period received and stored by the position data recording unit 22. Yes.
  • the position estimating means 23 includes a position data extracting means 24, a polynomial calculating means 25, and an estimated position calculating means 26, as shown in FIG.
  • the position data extracting unit 24 extracts position data at a time near the time tk at which the position of the driving unit 4 is estimated.
  • the number of position data to be extracted corresponds to the degree n of the polynomial to be interpolated, and at least the number of position data is (n + 1) for the degree n of the polynomial.
  • the drive unit 4 is a second motor 43 and a second encoder 44 that rotate the turntable 71 of the aligner 7. *
  • the polynomial calculation means 25 expresses the position f (t) of the notch 91 (second motor 43 of the aligner 7) of the wafer 9 at time t as an nth order polynomial as shown in Equation 3.
  • the polynomial calculation means 25 is based on n + 1 pieces of position data y i obtained by extracting the coefficient a i of the polynomial shown in Equation 3 by the position data extraction means 24 and the acquisition time t i corresponding to each position data y i.
  • a polynomial that represents the position f (t) of the notch 91 (second motor 43) is calculated by Equation 4.
  • the estimated position calculating means 26 calculates the position f (tk) of the notch 91 (second motor 43) at the time tk at which position estimation is performed based on the polynomial calculated by the polynomial calculating means 25.
  • the time tk at which the position of the notch 91 (second motor 43) is estimated can be set to an arbitrary time before the estimation is performed.
  • the servo control unit 3 drives and controls the drive unit 4 based on the operation command from the command generation unit 21.
  • the servo control unit 3 includes a first servo controller 31 that drives and controls a first motor 41 that drives an arm of the robot 6, and a second motor that drives a turntable 71 provided in the aligner 7. And a second servo controller 32 that controls the drive of 43.
  • the drive unit 4 drives a predetermined operation based on a control signal from the servo control unit 3.
  • the drive unit 4 is a first motor 41 and a first encoder 42, a second motor 43 and a second encoder 44, as shown in FIG.
  • the first motor 41 is connected to the joint portion 61 of the base side arm 64 of the robot 6. Further, the first motor 41 is provided with a first encoder 42 on its rotating shaft, and detects position data based on rotation angle data of the first motor 41.
  • the second motor 43 is connected to a turntable 71 provided on the aligner 7. The second motor 43 is provided with a second encoder 44 on its rotating shaft, and detects position data based on rotation angle data of the second motor 43.
  • Reference numeral 5 denotes a communication line.
  • various commands from the position control unit 2 to the serve control unit 3, the drive unit 4, and the like are sent by serial transmission. That is, in the present embodiment, the servo controller 31 constituted by the position controller 2 and the servo controller 3 is electrically connected (by wire or wirelessly). Next, the servo controller 31 is electrically connected to the servo controller 32 (by wire or wirelessly). Thereby, a command from the position controller 2 to the servo controller 32 is sent via the servo controller 31.
  • the communication cycle 5 of the communication line 5 is 4 (msec).
  • the first and second encoders 42 and 44 are electrically connected to the first and second motors 41 and 43 (by wire or wirelessly), respectively. Position data (rotation angle measurement values, etc.) measured by the first and second encoders 42 and 44 are transmitted via the servo controller 3 (servo controllers 31 and 32) connected via the communication line 5 to the position controller 2. Sent to. *
  • the hand 9 of the robot 6 is inserted into the cassette 8 and the wafer 9 is pulled out.
  • the base side arm 64 and the hand side arm 65 of the robot 6 are rotated to place the center of the wafer 9 on the turntable 71 of the aligner 7.
  • the aligner 7 is in the state of the origin position (reference position) when the wafer 9 is placed.
  • the origin position (reference position) is set to 0 ° when the second encoder 44 that detects the position of the second motor 43 is at this position (angle).
  • the turntable 71 holds the outer periphery of the wafer 9 using a chuck 72, and rotates as it is after the holding is completed.
  • the notch sensor 73 of the aligner 7 detects the notch 91 formed on the edge of the wafer 9 by the notch sensor 73 (photo sensor).
  • the position where the notch 91 of the wafer 9 passes through the notch sensor 73 is stored in the position data storage means 22 and used for alignment of the wafer 3.
  • the wafer 9 is supported with respect to the aligner 7 in a predetermined direction.
  • the chuck 72 is separated, and the hand 66 lifts the wafer 9 of the aligner 7 and places it on the process apparatus.
  • the wafer 9 is placed in a predetermined direction with respect to the process apparatus.
  • the aligner 7 returns to the origin position (reference position) and stands by.
  • FIG. 17 is a flowchart showing a flow of aligner drive control according to the embodiment of the present invention.
  • FIG. 18 is a diagram for explaining an estimation calculation by polynomial interpolation obtained by the position estimation unit according to the embodiment of the present invention.
  • the vertical axis represents the position (angle) of the second encoder 44
  • 0 represents the origin position (reference position)
  • the horizontal axis represents time.
  • the start is a state in which the hand 66 of the robot 6 places the wafer 9 on the turntable 71 and the chuck 72 of the aligner 7 holds the outer periphery of the wafer 9.
  • the second motor 43 and the second encoder 44 are stopped at the origin position (reference position).
  • the second motor 43 is rotated by the control signal of the second servo controller 32 based on the operation command of the command generation means 21 of the position controller 2.
  • the wafer 9 placed on the turntable 71 rotates.
  • the notch sensor 73 installed in the aligner 7 detects the notch 91 of the wafer 9 (see FIG. 16)
  • the detected time tk (see FIG. 18) is transmitted to the position control unit 2, and the time tk is stored as position data.
  • the rotational position of the second motor 43 is detected by the second encoder 44, but is sampled at a cycle of 4 ms. For this reason, the position at the time tk detected by the notch sensor 73 does not coincide with the sampling cycle, so that the accurate position is not detected.
  • the output signal of the second encoder 44 is transmitted to the position controller 2 as the rotational position, and the position data storage means 22 stores the time and position data. After about one rotation, the second motor 43 is stopped.
  • the polynomial calculation means 25 represents the position f (t) of the wafer 9 at time t as an n-th order polynomial as shown in the above equation (3).
  • the position of the second motor 43 is interpolated with a cubic polynomial so as to correspond to the acceleration or deceleration of the second motor 43.
  • the position data extraction unit 24 extracts four pieces of position data so that the calculation load of the polynomial calculation unit 25 is reduced and the speed fluctuation of the second motor 43 can be accurately handled. Further, as the position data to be extracted, position data is extracted every two cycles before and after time tk. Note that the position data to be extracted may be any data near the time tk at which position estimation is performed, and the position data extraction unit 24 may extract arbitrary position data.
  • the polynomial calculation means 25 is based on the four pieces of position data y i obtained by extracting the coefficient a i of the polynomial shown in Equation 3 by the position data extraction means 24 and the acquisition time t i corresponding to each position data y i.
  • a cubic polynomial representing the rotational position f (t) of the second motor 43 is calculated (S3).
  • a line passing through four positions (y0, y1, y2, y3) is a cubic polynomial.
  • the estimated position calculation means 26 calculates the position f (tk) of the second motor 43 (wafer 9) at the time tk when the notch sensor 73 detects the notch 91 based on the cubic polynomial calculated by the polynomial calculation means 25. (S4). That is, the calculated position f (tk) is estimated as the position of the notch 91 of the wafer 9 placed on the turntable 71. *
  • the robot control system 1 interpolates the relationship between the rotational position and the time with a third-order polynomial in order to cope with the acceleration or deceleration of the second motor 43 that drives the aligner 7, and thereby the notch sensor 73. Since the position of the wafer 9 (notch 91) at the time tk detected in (2) is estimated, the wafer 9 can be accurately aligned. In addition, in order to obtain a third-order polynomial, position data is extracted every two cycles before and after time tk, and the position is estimated using these position data. Yes.
  • the position estimating means 23 can accurately estimate the position of the notch 91 of the wafer 9 even when the second motor 43 is accelerated or decelerated or when the load changes, and the turntable 71 on which the wafer 9 is placed is controlled at high speed. can do. That is, the robot control system 1 can improve the alignment accuracy and speed while keeping the cost low, even in the robot 6 that requires both position accuracy and high speed.
  • the robot control system 1 has decided to obtain the position information at the communication cycle 4 (msec) of the communication line 5, so that the higher the speed of the second motor 43, the more accurate the position. Gets worse.
  • the notch sensor 73 is input at a certain position in this way, the position becomes the same as the position acquired immediately before. Therefore, in order to know this sensor input position accurately, the sampling of the second encoder 44 is performed. It was necessary to make the cycle finer than before and estimate the position from the input time of the notch sensor 73. *
  • the position of the second motor 43 (wafer 9) is regarded as a time polynomial so that the polynomial coefficient can be derived from the position data acquired at a period of 4 (msec) and the time.
  • the position at an arbitrary time can be estimated.
  • This estimation calculation by polynomial interpolation leads to an improvement in position resolution, and positioning can be performed with high accuracy even when the second motor 43 moves at high speed.
  • the aligner 7 aligns the wafer 9.
  • the aligner 7 is required to have an alignment accuracy of 0.02 degrees in a positioning time of only 3 seconds.
  • the aligner 7 needs to rotate the wafer 9 at 100 (rpm).
  • the maximum error exceeds 0.02 degrees.
  • the aligner 7 uses a communication line 5 having a communication cycle of 4 (msec).
  • the second motor 43 (wafer 9) was rotated at 100 (rpm), and an image processing camera was installed on the aligner 7, and repeated tests were performed.
  • the aligner 7 can perform high-speed and high-speed operation by performing position estimation control using polynomial interpolation even in the configuration using the inexpensive communication line 5 having a communication cycle of 4 (msec). It can be determined that accurate positioning is possible, which can contribute to a reduction in throughput.
  • the robot control system 1 can be configured by using inexpensive communication means and a CPU, which are general-purpose products, and can perform accurate position estimation by an inexpensive control system.
  • the requirements for the robot control system 1 are low price and high speed and high accuracy.
  • high speed and high accuracy are important performances.
  • an inexpensive hardware configuration is used to reduce the price of the system, its performance (high speed and high accuracy) is limited.
  • the robot control system 1 used in a liquid crystal or semiconductor manufacturing process uses a communication line 5 that is not very fast. For this reason, the robot control system 1 using the communication line 5 has a problem that the position resolution is limited due to the limitation of the communication cycle. *
  • the relationship between the position of the notch 91 and the time is interpolated with a third-order polynomial, thereby reducing the performance limit due to inexpensive hardware used for system control. Performance (high speed and high accuracy) is improved by performing position estimation in software. *
  • the first motor 41 and the second motor 43 are described for convenience of description, but the present invention is not limited to this.
  • the position of the notch 91 of the wafer 9 mounted on the turntable 71 is estimated by estimating the position of the second motor 43 of the aligner 7, but the present invention is not limited to this.
  • the position of the first motor 41 that drives the arm is estimated based on the position where the arm of the robot 6 shown in the present embodiment mounts the wafer 9 and mounts it on the turntable 71 or the position where it is mounted or taken out from the cassette 8. Also good.
  • the time tk at which the position is estimated is set to an arbitrary time before the time when the estimation is performed, but the present invention is not limited to this.
  • the position estimation unit 23 may include an extrapolation calculation unit that performs extrapolation calculation based on position data (feedback data), and the current or future position of the motor is estimated by the extrapolation calculation unit. May be. Accordingly, it is possible to accurately cope with load fluctuations and speed fluctuations of the motor, and it is also possible to estimate the current or future position of the controlled body by extrapolation calculation. *
  • the first motor and the first encoder or the second motor and the second encoder constituting the drive unit do not require that they are physically one unit.
  • an encoder is used as a “sensor” that detects position data based on the rotation angle of the motor.
  • any other device / apparatus can be used as long as it can detect position data. Good. *
  • a notch or the like notched in a V shape or U shape is formed on the outer peripheral portion of the wafer 9 as a mark indicating a normal position in the circumferential direction of the wafer 9. .
  • an orientation flat cut out in a string shape may be used.
  • the control system according to the present invention and the position estimation method used in the control system can reduce the calculation load of the estimator that estimates the position at an arbitrary time from the sampling position data, and reduce the load fluctuation and speed fluctuation of the motor. Is also useful as a device that can accurately handle this.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

 本発明は、瞬低等が発生した場合でも、ロボットを動作させるモータを停止させることなく、ロボットを適切に動作させることが可能なモータ制御装置を提供する。ロボット動作用モータ102を制御するモータ制御装置101は、位置指令から実測の回転位置を減算した位置偏差を算出する減算部109と、位置偏差を速度指令に変換する位置制御部110と、速度指令から実測の回転速度を減算した速度偏差を算出する減算部111と、速度偏差をトルク指令に変換する速度制御部112と、トルク指令の上限値を設定するリミッタ113と、モータ102を駆動するドライバ114と、電源103の電圧変動を検出する電圧変動検出部115とを備え、モータ制御装置101は、電圧変動検出部115で瞬低の発生が検出されると、位置指令出力部108は、モータ102の回転速度が下がるように位置指令を変動させ、位置制御部110は、出力される速度指令を制限する。

Description

モータ制御装置およびモータ制御方法、制御システムおよびこの制御システムに用いる位置推定方法
 本発明は、ロボットを動作させるモータを制御するモータ制御装置に関する。また、本発明は、ロボットを動作させるモータを制御するためのモータ制御方法に関する。さらに、本発明は、例えばロボットや数値制御装置などの駆動系、回転系に適用できる制御システム及びこの制御システムに用いる位置推定方法に関する。
 従来、ロボットを動作させるDCモータ(直流モータ、DCブラシレスモータも含む)を制御するモータ制御装置が知られている(たとえば、特許文献1参照)。特許文献1に記載のモータ制御装置では、位置検出器によって、モータの回転位置が検出され、速度検出器によって、モータの回転速度が検出されている。また、減算器によって、位置指令から位置検出器の出力を減算した位置偏差が算出され、位置制御器によって、位置偏差が速度指令に変換され、加減算器によって、速度指令とフィードフォワード制御器からの出力とが加算されるとともに速度検出器の出力が減算され、PI制御器によって、加減算器の出力がトルク指令に変換されている。さらに、PI制御器から出力されるトルク指令は、リミッタによって制限がかけられた後に、そのトルク指令に基づいて、モータドライバがモータを駆動している。
 また、一般に、ロボットや数値制御装置等の分野では、これらを駆動するための制御システムが適用されている。例えば、ロボットにワークの搬送や溶接などの各種作業を行わせる場合、制御システムは、ロボットの関節を回動させるモータをサーボ制御するサーボ制御器に対して動作指令(位置指令)を行う。一方で、ロボットの関節は、モータの回転角を測定するエンコーダを有しており、ホスト制御器は、サーボ制御器を介して、このエンコーダから送られてくるフィードバックされる位置データ(回転角測定値など)を参照してサンプリングしつつ、目標値と実測値との偏差を認識してサーボ制御を行う。 
 ここで、上述したフィードバックされる位置データは、所定のサンプリング周期でサンプリングされるため、サンプリング周期以外の時刻での位置を知ることができず、サンプリング周期が位置分解能の限界となる。しかし、高速・高精度の位置制御を行う場合、位置分解能の高さは重要な要素となるため、位置分解能の限界を高めるために位置の推定を行う必要がある。 
 特許文献2に記載のロボット制御装置では、絶対値エンコーダの測定周期とサーボサイクルが非同期であっても、外挿演算によりサーボサイクルに同期した位置パルスを推定し、位置分解能を高めている。 
 より具体的に説明すると、特許文献2に開示されたロボット制御装置では、まず、フィードバック位置Xをサンプリングする。そして、直近のサンプリング時刻との関係で、サンプリング時間間隔を計算し、フィードバック位置の差分を計算するとともに、フィードバック位置の差分をサンプリング時間間隔で割って、フィードバック位置の変化率(変化率A)を求める。一方で、サンプリング時刻からサーボ指令時刻までの時間差(時間差B)を計算する。そして、最後に、変化率Aに時間差Bを乗じて得られた値を、上記フィードバック位置Xに加算することによって、サーボ指令時刻の位置を推定している。
特開平10-309683号公報 特開平5-333931号公報
 特許文献1に記載のモータ制御装置等によって制御されるDCモータでは、駆動用コイルを流れる電流に比例したトルクを得ることができる。駆動用コイルを流れる電流は、静的にはモータドライバに印加される電圧に比例するため、モータドライバに印加される電圧を制御することで、モータのトルクを制御することが可能である。ここで、モータドライバに印加される元電圧が低下した場合には、トルク指令を上げることで、トルクの低下を防止することが可能である。しかしながら、一般に、モータドライバ等の物理的な制約からトルク指令を一定値以上に上げることはできない。そのため、モータドライバに印加される元電圧が大きく低下すると、ロボットに所望の動作をさせることができなくなるばかりでなく、PI制御器等が有する積分機能の影響で、いわゆるワインドアップ現象が発生して、ロボットが発振挙動等の不安定な挙動を示すことがある。
 したがって、従来は、たとえば、元電圧が瞬間的に低下する現象である瞬低(瞬時電圧低下)が発生すると、ロボットが不安定な挙動を示す前に強制的にモータを停止させて、安全性を確保するとともに、ロボットおよびワークの損傷を防止している。しかしながら、瞬低等が発生したときに、モータを停止させてロボットを停止させると、ロボットを再起動させるための復旧時間がかかり、生産性が低下する。特に、電源事情の悪い工場等でロボットが使用される場合、瞬低等が発生するたびに、ロボットを停止させていたのでは、生産性が大幅に低下する。
 そこで、本発明の課題は、瞬低等が発生して電源の電圧が低下した場合であっても、ロボットを動作させるモータを停止させることなく、ロボットを適切に動作させることが可能なモータ制御装置を提供することにある。また、本発明の課題は、瞬低等が発生して電源の電圧が低下した場合であっても、ロボットを動作させるモータを停止させることなく、ロボットを適切に動作させることが可能となるモータ制御方法を提供することにある。
 また、特許文献2に記載のロボット制御装置は、フィードバック位置の差分をサンプリング時間間隔で割って変化率Aを求め、単純な外挿演算のみで位置推定を行っているため、モータの速度変動に弱いという問題がある。この場合、エンコーダの測定周期を細かくすることにより、位置の推定制度を向上させることもできるが、通信周期やCPUの処理速度を速める必要があるために、コスト増となる課題がある。 
 そこで、本発明は、このような点に鑑みてなされたものであり、その課題は、サンプリング周期を細かくすることなく、モータの速度変動等に精度よく対応することが可能な制御システム及びこの制御システムに用いる位置推定方法を提供することにある。
 上記の課題を解決するため、本発明のモータ制御装置は、ロボットを動作させるモータを制御するモータ制御装置において、モータを制御するための位置指令を出力する位置指令出力手段と、モータが所定角度回転するごとにパルス信号を発生させる回転検出手段からの出力に基づいて算出される回転位置と位置指令とに基づいて位置偏差を算出して出力する第1の減算手段と、位置偏差を速度指令に変換して出力する位置制御手段と、回転検出手段からの出力に基づいて算出される回転速度と速度指令とに基づいて速度偏差を算出して出力する第2の減算手段と、速度偏差をトルク指令に変換して出力する速度制御手段と、トルク指令の値が所定の制限値以下である場合にトルク指令をそのまま出力するとともにトルク指令の値が制限値を超える場合に制限値をその値とするトルク指令を出力するリミッタと、リミッタからのトルク指令に基づいてモータを駆動するモータ駆動手段と、モータ駆動手段に電圧を印加する電源の電圧変動を検出する電圧変動検出手段とを備え、電圧変動検出手段で、電源の電圧が所定の基準値以下になったことが検出されると、モータの回転速度が下がるように位置指令出力手段が位置指令を変動させること、および、出力される速度指令を位置制御手段が制限すること、の少なくともいずれか一方が行われることを特徴とする。
 本発明のモータ制御装置では、電圧変動検出手段で、電源の電圧が所定の基準値以下になったことが検出されると、位置指令出力手段が、モータの回転速度が下がるように位置指令を変動させるとともに、位置制御手段が、出力される速度指令を制限する。あるいは、本発明では、電圧変動検出手段で、電源の電圧が基準値以下になったことが検出されると、位置指令出力手段が、モータの回転速度が下がるように位置指令を変動させるか、または、位置制御手段が、出力される速度指令を制限する。
 そのため、本発明では、瞬低等が発生して、電源の電圧が基準値以下になったときに、速度指令の値の増加を抑制して、速度偏差の増加を抑制することが可能になる。したがって、本発明では、瞬低等が発生して、電源の電圧が基準値以下になっても、モータの回転速度を低下させることによってモータを適切に制御して、ロボットに所望の動作を行わせることが可能になるとともに、ワインドアップ現象の発生を防止して、ロボットが不安定な挙動を示すのを防止することが可能になる。その結果、本発明では、瞬低等が発生して電源の電圧が低下した場合であっても、モータを停止させることなく、ロボットを適切に動作させることが可能になる。
 ここで、瞬低等が発生して、電源の電圧が基準値以下になったときに、位置指令の変動のみを行う場合には、第1の減算手段から出力される位置偏差の増加を抑制することができるため、電源の電圧が基準値を超えるまで回復して位置指令を元の状態へ戻したときの速度指令の急激な変動を抑制することが可能になる。一方、位置指令の変動の影響は、若干遅れて速度指令に現れるため、この場合には、電源の電圧が基準値以下になったときに、短時間で速度指令の値の増加を抑制することが困難になる状況が生じうる。また、瞬低等が発生して、電源の電圧が基準値以下になったときに、速度指令の制限のみを行う場合には、電源の電圧が基準値以下になったときに、短時間で速度指令の値の増加を抑制することは可能になるが、第1の減算手段から出力される位置偏差が増加することがあるため、電源の電圧が基準値を超えるまで回復して速度指令の制限を解除したときに、速度指令の値が急激に大きくなり、モータが急加速して、ロボットが急激に動作するおそれがある。
 そのため、本発明では、電圧変動検出手段で、電源の電圧が基準値以下となったことが検出されると、位置指令出力手段は、モータの回転速度が下がるように位置指令を変動させ、かつ、位置制御手段は、出力される速度指令を制限することが好ましい。このように構成すると、瞬低等が発生して、電源の電圧が基準値以下になったときに、位置指令の変動のみを行う場合に生じうる問題と、速度指令の制限のみを行う場合に生じうる問題との両者を解消することが可能になる。
 本発明において、電圧変動検出手段で、電源の電圧が基準値を超えるまで回復したことが検出されると、第1の減算手段から出力される位置偏差が小さくなるように、位置指令出力手段が位置指令を遅延させた後に、位置指令出力手段が遅延後の位置で位置指令を元の状態へ戻すこと、および、出力される速度指令の制限を位置制御手段が解除すること、の少なくともいずれか一方が行われることが好ましい。このように構成すると、電源の電圧が基準値を超えるまで回復した後、位置指令を元の状態へ戻す際や、速度指令の制限を解除する際に、速度指令の値が急激に大きくなるのを防止することが可能になる。したがって、電源の電圧が基準値を超えるまで回復した後、位置指令を元の状態へ戻す際や、速度指令の制限を解除する際のモータの急加速を防止することが可能になり、その結果、ロボットの急激な動作を防止することが可能になる。
 本発明において、電圧変動検出手段で、電源の電圧が基準値以下になったことが検出されたときに、モータの回転速度が下がるように位置指令出力手段が位置指令を変動させる場合には、電圧変動検出手段で、電源の電圧が基準値を超えるまで回復したことが検出されると、第1の減算手段から出力される位置偏差が小さくなるように、位置指令出力手段が位置指令を遅延させた後に、位置指令出力手段が遅延後の位置で位置指令を元の状態へ戻すことが好ましい。このように構成すると、電源の電圧が基準値を超えるまで回復した後、位置指令を元の状態へ戻す際のモータの急加速を防止することが可能になり、その結果、ロボットの急激な動作を防止することが可能になる。
 また、本発明において、電圧変動検出手段で、電源の電圧が基準値以下になったことが検出されたときに、出力される速度指令を位置制御手段が制限する場合には、電圧変動検出手段で、電源の電圧が基準値を超えるまで回復したことが検出されると、第1の減算手段から出力される位置偏差が小さくなるように、位置指令出力手段が位置指令を遅延させた後に、出力される速度指令の制限を位置制御手段が解除することが好ましい。このように構成すると、電源の電圧が基準値を超えるまで回復した後、速度指令の制限を解除する際のモータの急加速を防止することが可能になり、その結果、ロボットの急激な動作を防止することが可能になる。
 また、上記の課題を解決するため、本発明のモータ制御方法は、ロボットを動作させるモータを制御するためのモータ制御方法において、モータを制御するための位置指令とモータの実測した回転位置とに基づいて位置偏差を算出し、位置偏差を速度指令に変換し、速度指令とモータの実測した回転速度とに基づいて速度偏差を算出し、速度偏差をトルク指令に変換し、かつ、トルク指令の値が所定の制限値以下である場合には、そのままのトルク指令に基づいてモータを駆動し、トルク指令の値が制限値を超える場合には、制限値をその値とするトルク指令に基づいてモータを駆動するとともに、モータの電源の電圧が所定の基準値以下になったことが検出されると、モータの回転速度が下がるように位置指令を変動させること、および、速度指令を制限する、の少なくともいずれか一方を行うことを特徴とする。
 本発明のモータ制御方法では、モータの電源の電圧が所定の基準値以下になったことが検出されると、モータの回転速度が下がるように位置指令を変動させるとともに、速度指令を制限する。あるいは、本発明のモータ制御方法では、モータの電源の電圧が基準値以下になったことが検出されると、モータの回転速度が下がるように位置指令を変動させるか、または、速度指令を制限する。そのため、本発明では、瞬低等が発生して、電源の電圧が基準値以下になったときに、速度指令の値の増加を抑制して、速度偏差の増加を抑制することが可能になる。したがって、本発明では、瞬低等が発生して、電源の電圧が基準値以下になっても、モータの回転速度を低下させることによってモータを適切に制御して、ロボットに所望の動作を行わせることが可能になるとともに、ワインドアップ現象の発生を防止して、ロボットが不安定な挙動を示すのを防止することが可能になる。その結果、本発明のモータ制御方法でモータを制御すれば、瞬低等が発生して電源の電圧が低下した場合であっても、モータを停止させることなく、ロボットを適切に動作させることが可能になる。
 また、以上のような課題を解決するために、本発明は、以下のものを提供する。 
 被制御体を駆動するモータと、前記モータの回転角度に基づく前記被制御体の位置データを所定の周期で検出するセンサと、前記モータをサーボ制御するサーボ制御部と、前記サーボ制御部に対して動作指令(位置指令)を発する位置制御部と、を有する制御システムであって、前記位置制御部は、前記サーボ制御部の動作指令を生成する指令生成手段と、前記センサから取得した前記位置データを取得時刻と共に記憶する位置データ記憶手段と、所定周期の前記位置データに基づいて任意の時刻における前記被制御体の位置を推定する位置推定手段と、を備え、前記位置推定手段は、時刻tにおける前記被制御体の位置f(t)を前記位置データに基づいて多項式で表し、多項式補間により任意の時刻における前記被制御体の位置を推定することを特徴とする制御システム。 
 本発明によれば、位置推定手段は、時刻tにおける被制御体の位置f(t)を位置データに基づいて多項式で表し、多項式補間により任意の時刻における位置を推定するから、サンプリング周期を細かくすることなくモータの負荷変動や速度変動等にも精度よく対応することができる。 
 すなわち、位置推定手段は、位置データ記憶手段に時刻とともに記憶された位置データに基づいて、時刻tにおける被制御体の位置f(t)を多項式で表すから、モータの速度が変動する場合でも位置をtの関数として忠実に表現することができ、サンプリング周期を細かくすることなく任意の時刻における位置を精度よく推定することができる。また、位置推定手段は、フィードバックされた位置データを用いて被制御体の位置を推定するから、モータの負荷変動にも影響され難く、任意の時刻における位置を精度よく推定することができる。 
 前記位置推定手段は、時刻tにおける前記被制御体の位置f(t)を下記数1式の多項式で表し、該多項式の係数aを前記位置データ記憶手段に記憶された前記位置データyと取得時刻tに基づいて下記数2式によって求め、任意の時刻における前記被制御体の位置を推定することを特徴とするロボット制御システム
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
 本発明によれば、位置データ記憶手段に記憶された位置データyと取得時刻tに基づいて、任意の時刻tにおける被制御体の位置f(t)を多項式で表すことができ、モータの速度が変動する場合でも被制御体の位置を精度よく推定することができる。 
 前記位置推定手段は、3次の多項式を用いて任意の時刻における前記被制御体の位置を推定することを特徴とするロボット制御システム。 
 本発明によれば、被制御体の位置を3次の多項式を用いて表すから、モータの加速時又は減速時などの速度が変動する場合でも、被制御体の位置をtの関数として正確に表現することができるから、被制御体の位置を精度よく推定することができる。また、3次の多項式を求める計算は大きな演算負荷とはならず、位置推定のための演算負荷を小さくすることができる。 
 前記位置推定手段は、前記被制御体の位置を推定する任意の時刻の近傍の前記位置データに基づいて該時刻における前記被制御体の位置を推定することを特徴とする制御システム。 
 本発明によれば、位置推定を行いたい任意の時刻の近傍の位置データを用いるから、位置データ記憶手段に記憶された位置データの中から位置推定を行うのに適切な位置データを選択して被制御体の位置を3次の多項式で表すことができ、モータの速度が変動する場合でも被制御体の位置を精度よく推定することができると共に、演算負荷を軽減することができる。 
 前記被制御体に設けられる位置合わせマークを検出するマークセンサを備え、前記位置推定手段は、前記マークセンサが前記位置合わせマークを検出した時刻における前記被制御体の位置を推定することを特徴とする制御システム。 
 本発明によれば、このセンサが位置合わせマークを検出した時刻における被制御体の位置を推定することができるから、被制御体の位置を精度よく合わせることができる。 
 被制御体を駆動するモータと、前記モータの回転角度に基づく前記被制御体の位置データを所定の周期で検出するセンサと、前記モータをサーボ制御するサーボ制御部と、前記サーボ制御部に対して動作指令を発する位置制御部と、を有する制御システムにおいて、前記位置制御部は、前記サーボ制御部の動作指令を生成するとともに、前記センサから取得した前記位置データを取得時刻と共に記憶し、時刻tにおける前記被制御体の位置f(t)を前記位置データに基づいて多項式で表し、多項式補間により任意の時刻における前記被制御体の位置を推定することを特徴とする位置推定方法。 
 本発明によれば、位置制御部は、前記サーボ制御部の動作指令を生成するとともに、前記センサから取得した前記位置データを取得時刻と共に記憶し、時刻tにおける前記被制御体の位置f(t)を前記位置データに基づいて多項式で表し、多項式補間により任意の時刻における前記被制御体の位置を推定するから、サンプリング周期を細かくすることなくモータの負荷変動や速度変動にも精度よく対応することができる。 
 すなわち、位置制御部は、時刻とともに記憶された位置データに基づいて、時刻tにおける被制御体の位置f(t)を多項式で表すから、モータの速度が変動する場合でも位置をtの関数として忠実に表現することができ、サンプリング周期を細かくすることなく任意の時刻における位置を精度よく推定することができる。また、位置制御部は、フィードバックされた位置データを用いて被制御体の位置を推定するから、モータの負荷変動にも影響され難く、任意の時刻における位置を精度よく推定することができる。
 以上のように、本発明のモータ制御装置では、瞬低等が発生して電源の電圧が低下した場合であっても、ロボットを動作させるモータを停止させることなく、ロボットを適切に動作させることが可能になる。また、本発明のモータ制御方法でロボットを動作させるモータを制御すれば、瞬低等が発生して電源の電圧が低下した場合であっても、モータを停止させることなく、ロボットを適切に動作させることが可能になる。
 本発明に係る制御システム及びこの制御システムに適用する位置推定方法は、以上説明したように、サンプリング周期を細かくすることなく、モータの速度変動等にも精度よく対応して、モータの速度を落とすことなく精度の高い位置推定を行うことができる。
本発明の第1の実施の形態にかかるモータ制御装置およびモータ制御装置に関連する構成を示すブロック図である。 図1に示す位置指令出力部から出力される位置指令の一例を示すグラフである。 図1に示す位置制御部から出力される速度指令の一例を示すグラフである。 図1に示す減算部から出力される位置偏差の一例、および、図1に示すモータの回転速度およびトルクの一例を示すグラフである。 本発明の第1の実施の形態にかかるモータ制御装置でモータを制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータの回転速度およびトルクの変化を説明するためのグラフである。 従来のモータ制御装置でモータを制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータの回転速度およびトルクの変化を説明するためのグラフである。 本発明の他の実施の形態にかかるモータ制御装置でモータを制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータの回転速度およびトルクの変化を説明するためのグラフである。 本発明の他の実施の形態にかかるモータ制御装置でモータを制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータの回転速度およびトルクの変化を説明するためのグラフである。 本発明の他の実施の形態にかかるモータ制御装置でモータを制御しているときの、位置指令出力部から出力される位置指令の一例を示すグラフである。 本発明の他の実施の形態にかかるモータ制御装置でモータを制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータの回転速度およびトルクの変化を説明するためのグラフである。 本発明の他の実施の形態にかかるモータ制御装置でモータを制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータの回転速度およびトルクの変化を説明するためのグラフである。 本発明の他の実施の形態にかかるモータ制御装置でモータを制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータの回転速度およびトルクの変化を説明するためのグラフである。 本発明の他の実施の形態にかかるモータ制御装置でモータを制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータの回転速度およびトルクの変化を説明するためのグラフである。 本発明の第2の実施の形態に係るロボット制御システムのシステム構成を示すブロック図である。 本発明の第2の実施の形態に係るロボット制御システムに適用が可能なロボットを示す図である。 本発明の第2の実施の形態に係るアライナとチャックで保持されているウェハを示す平面図である。 本発明の第2の実施の形態に係るアライナ駆動制御の流れを示すフローチャートである。 本発明の第2の実施の形態に係る位置推定手段により求めた多項式補間による推定演算を説明する図である。 そのアライナの精度試験結果を示す図である。
 (第1の実施の形態 モータ制御装置およびモータ制御方法)
 以下、図面を参照しながら、本発明の第1の実施の形態を説明する。
 (モータ制御装置の構成)
 図1は、本発明の第1の実施の形態にかかるモータ制御装置101およびモータ制御装置101に関連する構成を示すブロック図である。図2は、図1に示す位置指令出力部108から出力される位置指令の一例を示すグラフである。図3は、図1に示す位置制御部110から出力される速度指令の一例を示すグラフである。図4は、図1に示す減算部109から出力される位置偏差の一例、および、図1に示すモータ102の回転速度およびトルクの一例を示すグラフである。
 本形態のモータ制御装置101は、産業用ロボットを動作させるモータ102を制御するための装置である。モータ102は、DCサーボモータであり、たとえば、産業用ロボットのアームを動作させる。図1に示すように、モータ制御装置101には、モータ102の電源103が接続されている。また、モータ制御装置101とモータ102との間には、エンコーダ104が配置されている。エンコーダ104は、たとえば、モータ102の回転軸に固定される円板状のスリット板と、スリット板を挟むように配置される発光素子および受光素子を有する光学式センサとによって構成されており、光学式センサは、モータ制御装置101に接続されている。
 モータ制御装置101は、MPU等の演算手段、ROM、RAM、不揮発性メモリ等の記憶手段、および、I/Oポート等の入出力手段等によって構成されている。また、モータ制御装置101は、機能的には、位置検出部106と、速度検出部107と、位置指令出力手段としての位置指令出力部108と、第1の減算手段としての減算部109と、位置制御手段としての位置制御部110と、第2の減算手段としての減算部111と、速度制御手段としての速度制御部112と、リミッタ113と、モータ駆動手段としてのドライバ114と、電圧変動検出手段としての電圧変動検出部115とを備えている。
 位置検出部106は、エンコーダ104からの出力に基づいてモータ102の回転位置を算出する。速度検出部107は、エンコーダ104からの出力に基づいてモータ102の回転速度を算出する。位置指令出力部108は、モータ102の回転速度および回転位置を制御するための位置指令を出力する。具体的には、位置指令出力部108は、モータ102の起動後の経過時間に応じた目標回転位置を位置指令として出力する。モータ102の起動後の経過時間を横軸にとり、目標回転位置を縦軸にとると、位置指令出力部108から出力される位置指令は、たとえば、図2に示すグラフのようになる。
 減算部109は、位置指令出力部108から出力される位置指令から、位置検出部106から出力される実測の回転位置を減算した位置偏差を算出して出力する。モータ102の起動後の経過時間を横軸にとり、位置偏差を縦軸にとると、減算部109から出力される位置偏差は、たとえば、図4に示すグラフのようになる。
 位置制御部110は、通常、減算部109から出力される位置偏差を速度指令に変換して出力する。具体的には、位置制御部110は、モータ102の起動後の経過時間に応じた目標回転速度を速度指令として出力する。モータ102の起動後の経過時間を横軸にとり、目標回転速度を縦軸にとると、位置制御部110から出力される速度指令は、たとえば、図3に示すグラフのようになる。位置制御部110では、比例制御が行われている。
 減算部111は、位置制御部110から出力される速度指令から、速度検出部107から出力される実測の回転速度を減算した速度偏差を算出して出力する。速度制御部112は、減算部111から出力される速度偏差をトルク指令に変換して出力する。速度制御部112では、比例制御と積分制御とを組み合わせたPI制御が行われている。
 リミッタ113は、速度制御部112から出力されるトルク指令の値が所定の制限値以下である場合に、速度制御部112から出力されるトルク指令をトルク指令としてそのまま出力するとともに、速度制御部112から出力されるトルク指令の値が制限値を超える場合に、この制限値をその値とするトルク指令を出力する。すなわち、リミッタ113によって、ドライバ114に向かって出力されるトルク指令の上限値が設定されている。
 ドライバ114には、電源103が接続されており、ドライバ114は、リミッタ113から出力されるトルク指令に基づいてモータ102に電圧を印加してモータ102を駆動する。ドライバ114によって駆動されるモータ102の回転速度およびトルクは、モータ102の起動後の経過時間を横軸にとり、回転速度およびトルクを縦軸にとると、図4に示すグラフのようになる。
 電圧変動検出部115は、電源103に接続されており、電源103の電圧変動を検出する。本形態では、電圧変動検出部115は、電源103の電圧が瞬間的に所定の基準値以下となる瞬低が発生したことを検出する。また、電圧変動検出部115は、位置指令出力部108および位置制御部110に接続されている。
 (瞬低発生時のモータの制御方法)
 図5は、本発明の実施の形態にかかるモータ制御装置101でモータ102を制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータ102の回転速度およびトルクの変化を説明するためのグラフである。図6は、従来のモータ制御装置でモータ102を制御しているときに瞬低が発生した場合の速度指令に変換される位置偏差の変化、モータ102の回転速度およびトルクの変化を説明するためのグラフである。
 モータ制御装置101は、瞬低が発生すると、以下のように動作してモータ102を制御する。まず、瞬低が発生したか否かは、電圧変動検出部115で判断される。電圧変動検出部115で、電源103の電圧が基準値以下になったことが検出されると(すなわち、電圧変動検出部115で瞬低の発生が検出されると)、電圧変動検出部115での検出結果に基づいて、位置指令出力部108は、モータ102の回転速度が下がるように位置指令を変動させる。たとえば、電圧変動検出部115で瞬低の発生が検出されると、位置指令出力部108は、図2の二点鎖線で示すように位置指令を変動させる。このときには、位置指令出力部108は、ロボットに搭載されるワークやロボット等に損傷が発生しない範囲で可能な限り早くモータ102の回転速度が下がるように、位置指令を変動させることが好ましい。たとえば、位置指令出力部108は、モータ102の通常の減速時の減速度と同じ減速度でモータ102の回転速度が下がるように、位置指令を変動させる。
 また、電圧変動検出部115で瞬低の発生が検出されると、電圧変動検出部115での検出結果に基づいて、位置制御部110は、速度指令に変換される位置偏差を制限する。たとえば、位置制御部110は、瞬低発生時の位置偏差を、速度指令に変換される位置偏差として固定(クランプ)して、固定された位置偏差を速度指令に変換する。あるいは、位置制御部110は、たとえば、速度検出部107で検出されるモータ102の回転速度に応じて速度指令に変換される位置偏差の上限値を変動させるとともに、減算部109からの位置偏差が上限値以下であれば、その位置偏差を速度指令に変換される位置偏差とし、減算部109からの位置偏差が上限値を超える場合には、その上限値の位置偏差を速度指令に変換される位置偏差とする。上述のように、位置制御部110では、比例制御が行われているため、速度指令に変換される位置偏差が制限されると、位置制御部110から出力される速度指令も制限される。すなわち、電圧変動検出部115で瞬低の発生が検出されると、位置制御部110は、出力される速度指令を制限する。
 瞬低が終わって、電圧変動検出部115で、電源103の電圧が基準値を超えるまで回復したことが検出されると、位置制御部110は、位置偏差の制限を解除する。すなわち、位置制御部110は、速度指令の制限を解除する。また、位置指令出力部108が位置指令を元の状態へ戻す。たとえば、位置指令出力部108は、モータ102の回転速度が下がるように変動させていた位置指令を図2の実線で示す位置指令に戻す。
 本形態のモータ制御装置101は、瞬低が発生すると、以上のような動作を行うため、モータ制御装置101でモータ102を制御しているときに、瞬低が発生した場合の速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクは、たとえば、図5に示すグラフのように変化する。なお、瞬低が発生すると、速度指令に変換される位置偏差は制限されるが、減算部109から出力される実際の位置偏差は増加しているため、図5に示すように、電源103の電圧が回復して、位置制御部110が位置偏差の制限を解除すると、位置偏差が不連続で増加する。
 一方、従来のモータ制御装置でモータ102を制御しているときに、瞬低が発生した場合の位置偏差、モータ102の回転速度およびモータ102のトルクは、たとえば、図6に示すグラフのように変化する。
 なお、図5、図6に示すグラフは、速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクの変化の傾向の概略を示しているものであり、速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクの実際の変化は、図5、図6に示すグラフとは、完全には一致しない。また、モータ制御装置101の制御パラメータや動作環境によって、速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクの変化の仕方は変わる。後述する図7、図8、図10~図13についても同様である。
 (第1の実施の形態の主な効果)
 以上説明したように、本形態では、電圧変動検出部115で瞬低の発生が検出されると、位置制御部110は、出力される速度指令を制限している。そのため、本形態では、瞬低が発生したときに、減算部111から出力される速度偏差の増加を抑制することが可能になり、速度制御部112から出力されるトルク指令の値の増加を抑制することが可能になる。したがって、本形態では、瞬低が発生しても、モータ102を適切に制御して、ロボットに所望の動作を行わせることが可能になるとともに、ワインドアップ現象の発生を防止して、ロボットが不安定な挙動を示すのを防止することが可能になる。その結果、本形態では、瞬低が発生しても、モータ102を停止させることなく、ロボットを適切に動作させることが可能になる。また、本形態では、瞬低が発生すると、位置制御部110が出力される速度指令を制限するため、瞬低発生後、短時間で速度偏差の増加を抑制することが可能になる。
 本形態では、電圧変動検出部115で瞬低の発生が検出されると、位置指令出力部108は、モータ102の回転速度が下がるように位置指令を変動させる。そのため、本形態では、瞬低の発生時に、減算部109から出力される実際の位置偏差の増加を抑制することが可能になる。したがって、本形態では、電源103の電圧が回復して位置制御部110が速度指令の制限を解除したときの速度指令の値の急激な増加を抑制することが可能になる。その結果、本形態では、モータ102の急加速を抑制して、ロボットの急激な動作を防止することが可能になる。
 なお、従来のモータ制御装置でモータ102を制御しているときに、瞬低が発生すると、図6に示すように、速度指令に変換される位置偏差が増加していくため、速度指令の値および速度偏差が増加し、その結果、トルク指令の値が増加して、トルク指令の値が制限値を超えてしまうおそれがある。また、瞬低が終わって、電源103の電圧が回復すると、増加した位置偏差を解消するため、図6に示すように、モータ102の回転速度が急激に増加する。
 (瞬低発生時のモータの制御方法の変形例1)
 上述した形態では、瞬低が発生すると、位置指令出力部108は、モータ102の回転速度が下がるように位置指令を変動させ、かつ、位置制御部110は、出力される速度指令を制限している。この他にもたとえば、瞬低が発生したときに、モータ102の回転速度が下がるような位置指令の変動のみを行っても良い。この場合には、瞬低が発生した場合の速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクは、たとえば、図7に示すグラフのように変化する。
 瞬低が発生したときに、モータ102の回転速度が下がるような位置指令の変動のみを行う場合であっても、図6と図7とを比較すればわかるように、従来のモータ制御装置でモータ102が制御される場合と比較して、速度指令に変換される位置偏差の増加を抑制することが可能になるため、速度指令の値および速度偏差の増加を抑制することが可能になる。したがって、この場合であっても、瞬低が発生したときに、モータ102を適切に制御して、ロボットに所望の動作を行わせることが可能になるとともに、ワインドアップ現象の発生を防止して、ロボットが不安定な挙動を示すのを防止することが可能になり、その結果、瞬低が発生しても、モータ102を停止させることなく、ロボットを適切に動作させることが可能になる。また、この場合には、瞬低発生時に、減算部109から出力される実際の位置偏差の増加を抑制することが可能になるため、電源103の電圧が回復して位置指令を元の状態へ戻したときの速度指令の急激な変動を抑制することが可能になる。
 (瞬低発生時のモータの制御方法の変形例2)
 上述した形態では、瞬低が発生すると、位置指令出力部108は、モータ102の回転速度が下がるように位置指令を変動させ、かつ、位置制御部110は、出力される速度指令を制限している。この他にもたとえば、瞬低が発生したときに、位置制御部110から出力される速度指令の制限のみを行っても良い。この場合には、瞬低が発生した場合の速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクは、たとえば、図8に示すグラフのように変化する。
 この場合であっても、上述のように、瞬低が発生したときに、減算部111から出力される速度偏差の増加を抑制することが可能になり、速度制御部112から出力されるトルク指令の値の増加を抑制することが可能になる。そのため、瞬低が発生しても、モータ102を適切に制御して、ロボットに所望の動作を行わせることが可能になるとともに、ワインドアップ現象の発生を防止して、ロボットが不安定な挙動を示すのを防止することが可能になる。また、瞬低が発生すると、位置制御部110が出力される速度指令を制限するため、瞬低発生後、短時間で速度偏差の増加を抑制することが可能になる。
 (瞬低終了後のモータの制御方法の変形例1)
 上述した形態では、瞬低が終わって、電源103の電圧が基準値を超えるまで回復すると、位置制御部110は、速度指令の制限を解除し、位置指令出力部108は、位置指令を元の状態へ戻している。この他にもたとえば、電源103の電圧が基準値を超えるまで回復したときに、減算部109から出力される位置偏差が小さくなるように、位置指令出力部108が位置指令を遅延させた後に(すなわち、位置指令出力部108がモータ102の目標回転位置を所定量戻した指令位置を出力した後に)、位置制御部110が速度指令の制限を解除し、かつ、位置指令出力部108が遅延後の位置で位置指令を元の状態へ戻しても良い。
 すなわち、電源103の電圧が基準値を超えるまで回復したときに、たとえば、図9の実線で示すように、位置指令出力部108が位置指令を遅延させた後に、遅延後の位置で位置指令を元の状態へ戻し、かつ、位置制御部110が速度指令の制限を解除しても良い。この場合には、速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクは、たとえば、図10に示すグラフのように変化する。なお、図9の破線は、瞬低が発生しないときの位置指令の変化を示しており、位置指令出力部108が位置指令を遅延させた後に遅延後の位置で位置指令を元の状態へ戻した後の位置指令の変化を示す実線と、瞬低が発生しないときの位置指令の変化を示す破線とは平行になっている。
 この場合には、電源103の電圧が基準値を超えるまで回復した後、速度指令の制限を解除し、かつ、位置指令を元の状態へ戻す際に、速度指令の値が急激に大きくなるのを抑制することが可能になる。そのため、たとえば、図5と図10とを比較すればわかるように、この場合には、電源103の電圧が基準値を超えるまで回復した後、速度指令の制限を解除し、かつ、位置指令を元の状態へ戻す際の、モータ102の回転速度の変動を大幅に抑制することが可能になる。したがって、この場合には、電源103の電圧が基準値を超えるまで回復した後、位置指令を元の状態へ戻す際や、速度指令の制限を解除する際のモータ102の急加速を防止することが可能になり、その結果、ロボットの急激な動作を防止することが可能になる。
 なお、電源103の電圧が基準値を超えるまで回復したときに、位置指令出力部108が位置指令を元の状態に戻した後に、位置指令を遅延させ、その後、位置制御部110が速度指令の制限を解除しても良い。また、電源103の電圧が基準値を超えるまで回復したことが検出されたときに、位置制御部110が速度指令の制限を解除した後に、位置指令出力部108が位置指令を遅延させ、その後、位置指令出力部108が位置指令を元の状態に戻しても良い。
 また、瞬低が発生したときに、モータ102の回転速度が下がるような位置指令の変動のみを行う場合には、電源103の電圧が基準値を超えるまで回復したときに、減算部109から出力される位置偏差が小さくなるように、位置指令出力部108が位置指令を遅延させた後に、遅延後の位置で位置指令を元の状態へ戻しても良い。この場合には、速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクは、たとえば、図11に示すグラフのように変化する。
 この場合であっても、電源103の電圧が基準値を超えるまで回復した後、位置指令を元の状態へ戻す際に、速度指令の値が急激に大きくなるのを抑制することが可能になる。そのため、たとえば、図7と図11とを比較すればわかるように、この場合には、電源103の電圧が基準値を超えるまで回復した後、位置指令を元の状態へ戻す際の、モータ102の回転速度の変動を大幅に抑制することが可能になる。
 また、瞬低が発生したときに、位置制御部110から出力される速度指令の制限のみを行う場合には、電源103の電圧が基準値を超えるまで回復したときに、減算部109から出力される位置偏差が小さくなるように、位置指令出力部108が位置指令を遅延させた後に、位置制御部110が速度指令の制限を解除しても良い。この場合には、速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクは、たとえば、図12に示すグラフのように変化する。
 この場合であっても、電源103の電圧が基準値を超えるまで回復した後、位置指令を元の状態へ戻す際に、速度指令の値が急激に大きくなるのを抑制することが可能になる。そのため、たとえば、図8と図12とを比較すればわかるように、この場合には、電源103の電圧が基準値を超えるまで回復した後、位置指令を元の状態へ戻す際の、モータ102の回転速度の変動を大幅に抑制することが可能になる。
 なお、瞬低が発生したときに、モータ102の回転速度が下がるような位置指令の変動も、位置制御部110から出力される速度指令の制限も行わない場合に、電源103の電圧が基準値を超えるまで回復した後、減算部109から出力される位置偏差が小さくなるように、位置指令出力部108が位置指令を遅延させると、速度指令に変換される位置偏差、モータ102の回転速度およびモータ102のトルクは、たとえば、図13に示すグラフのように変化する。
 (瞬低終了後のモータの制御方法の変形例2)
 上述した形態では、瞬低が終わって、電源103の電圧が回復すると、位置制御部110は、速度指令の制限を解除し、位置指令出力部108は、位置指令を元の状態へ戻している。この他にもたとえば、電源103の電圧が回復した後も、速度指令の制限、および、モータ102の回転速度が下がるような位置指令の変動を継続するとともに、減算部109から出力される位置偏差がある程度小さくなったところで、位置制御部110が速度指令の制限を解除し、位置指令出力部108が位置指令を元の状態へ戻しても良い。すなわち、電源103の電圧が回復した後の所定時間経過後に、位置制御部110が速度指令の制限を解除し、位置指令出力部108が位置指令を元の状態へ戻しても良い。
 たとえば、電源103の電圧が回復した後も、位置指令出力部108から出力される位置指令がモータ102を減速させる減速領域に入るまで、あるいは、位置指令出力部108から出力される位置指令が完了するまで、速度指令の制限、および、モータ102の回転速度が下がるような位置指令の変動を継続してから、その度、位置制御部110が速度指令の制限を解除し、位置指令出力部108が位置指令を元の状態へ戻しても良い。位置指令が減速領域に入ると、あるいは、位置指令出力部108から出力される位置指令が完了すると、減算部109から出力される位置偏差(すなわち、位置指令と、位置検出部106から出力される実測の回転位置との差)が小さくなり、位置制御部110で速度指令に変換されている位置偏差に近づいていく。
 そのため、この場合には、電源103の電圧が回復した後、速度指令の制限を解除し、かつ、位置指令を元の状態へ戻す際に、速度指令の値が急激に大きくなるのを抑制することが可能になる。したがって、この場合には、電源103の電圧が回復した後、位置指令を元の状態へ戻す際や、速度指令の制限を解除する際のモータ102の急加速を防止することが可能になり、その結果、ロボットの急激な動作を防止することが可能になる。
 (瞬低終了後のモータの制御方法の変形例3)
 上述した形態では、瞬低が終わって、電源103の電圧が回復すると、位置制御部110は、速度指令の制限を解除し、位置指令出力部108は、位置指令を元の状態へ戻している。この他にもたとえば、瞬低が終わって、電源103の電圧が回復したときに、まず、位置制御部110が速度指令の制限を解除し、その後、位置指令出力部108が位置指令を元の状態へ戻しても良い。
 (他の実施の形態)
 上述した形態は、本発明の好適な形態の一例ではあるが、これに限定されるものではなく本発明の要旨を変更しない範囲において種々変形実施が可能である。
 上述した形態では、電圧変動検出部115で瞬低の発生が検出されると、位置指令出力部108は、モータ102の回転速度が下がるように位置指令を変動させ、位置制御部110は、出力される速度指令を制限している。この他にもたとえば、電圧変動検出部115で電源103の電圧が所定量低下したことが検出されたときに(すなわち、電圧変動検出部115で電源103の電圧が所定の基準値以下になったことが検出されたときに)、モータ102の回転速度が下がるように位置指令出力部108が位置指令を変動させ、位置制御部110が出力される速度指令を制限しても良い。
 従来、速度や加減速度等のモータ102の動作パラメータを調整する際には、電源103の実際の電圧よりも低い電圧でモータ102を動作させている。たとえば、電源103の実際の電圧が200(V)である場合には、モータ102の動作パラメータの調整時には、200(V)よりも低い電圧がドライバ114に印加されている。これは、電源103の電圧が定常的に低い場合であっても、モータ102を安全に動作、停止させることができるようにするためである。すなわち、従来は、モータ102の動作パラメータは、電源103の実際の電圧に対して余裕を持った値になっている。
 これに対して、電圧変動検出部115で電源103の電圧が所定量低下したことが検出されたときに、モータ102の回転速度が下がるように位置指令出力部108が位置指令を変動させ、位置制御部110が出力される速度指令を制限するように構成した場合には、電源103の電圧の変動に追従させて、モータ102を適切に制御することが可能になるため、実際の電圧で調整された動作パラメータでも、モータ102を安全に動作、停止させることが可能になる。したがって、この場合には、モータ102を従来よりも高速度、高加速度で動作させることが可能になり、ロボットを高速で動作させることが可能になる。その結果、ロボットが使用される工程のタクトタイムを短縮することが可能になる。
 (第2の実施の形態 制御システム及びこの制御システムに用いる位置推定方法)
 以下、本発明を第2の実施するための最良の形態について、図面を参照しながら説明する。 
 (ロボットシステム)
 図14は、本発明の実施形態に係るロボット制御システムのシステム構成を示すブロック図である。図15は、本発明の実施形態に係るロボット制御システムに適用が可能なロボットを示す図である。図16は、本発明の実施形態に係るアライナとチャックで保持されているウェハを示す平面図である。 
 まず、本発明に係る制御システムの一実施形態を示すロボット制御システムを説明する前に、ロボットついての説明を行う。 
 (ロボット)
 図15に示すロボット6は、例えば、カセットに載置された半導体ウェハ(以下、「ウェハ」という)等のワークを成膜装置内に移動させる搬送ロボット(以下、「ロボット」という)である。また、本実施形態では、ウェハ9は被制御体となっている。
 ロボット6は、図15に示すように、関節部61、62、63により回転可能に連結された基台側アーム64、ハンド側アーム65、ハンド66を複数連結すると共に、図示しない基台に設けられた第1モータ41による回転力を基台側アーム64、ハンド側アーム65に伝達して所望の動作をさせるものである。このような構造のロボット6は、ウェハ9を載置するハンド66を常時一定方向に向けながら直線上を移動する。なお、ロボット6の構造および動作は公知なので、ここでの詳細な説明は省略する。また、ロボット6は、基台側アーム64、ハンド側アーム65、ハンド66を駆動する第1モータ41と、第1モータ41の回転角度に基づくアームの位置データを所定の周期で検出するセンサとしての第1エンコーダ42と、を備えている。なお、第1エンコーダは、第1モータ41の回転軸に固定されている。 
 (アライナ)
 ウェハ9は移載されたカセット8に収納されている状態では、ランダムに配置されていることから、ロボット6によってカセット8からウェハ9を取り出し、ウェハ9に各種の加工を施す際には、ノッチ91の位置が正規の位置で位置決めされた状態で行なわれなければならない。そのため、カセット8から取り出されたウェハ9をウェハ9のアライナ7に搬入し、このウェハ9のアライナ7によってノッチの位置を正規の位置に一致させた後、ウェハ9を処理ステージにセットする方法が取られている。 
 ロボット6が、ウェハ9をカセット8から取り出して成膜装置に搬送する際に、一般に、ウェハ9のエッジ部には位置を検出するためのノッチ91が一か所に形成されている。このウェハ9は移載されたカセット8に収納されている状態では、ランダムに配置されていることから、ウェハ9に各種の加工を施す際には、ノッチ91の位置が正規の位置で位置決めされた状態で行なわれなければならない。このウェハ9の位置合わせ、つまり、ウェハ9の角度合わせを行なう装置を、一般的にアライナ7と呼び、ウェハ9を保持軸で保持した後、半回転又は1回転させてノッチ91の位置を検出し、その検出結果に基づいて、保持軸を所定の角度回転させてウェハ9を正規の位置で角度合わせを行なっている。本実施形態では、図15及び図16に示すように、アライナ7はウェハ9のノッチ91を検出してウェハ9の向きを合わせる装置である。本実施形態では、ウェハ9を回転させ所定の方向を向くように調整するアライナ7は、ロボット6がウェハ9を搬送し得る範囲内に設置される。 
 アライナ7は、載置されたウェハ9を回転させその縁部に設けられているノッチ91を検出することにより、載置された全てのウェハ9(のノッチ91)の向き・保持角度を合わせるというオリエンテーション機能を有している。本実施形態では、アライナ7は、ウェハ9を載置すると共に一体的に回転するターンテーブル71と、ウェハ9を載置したターンテーブル71を駆動する第2モータ43と、第2モータ43の回転角度データに基づく位置データを検出するセンサとしての第2エンコーダ44と、ノッチ91を検出するノッチセンサ73と、を有している。また、本実施形態には、図15及び図16に示すように、ターンテーブル71は、複数のチャック72(図15及び図16では6箇所に)を有し、ウェハ9の周囲をクランプしてターンテーブル71との偏心がなく同心上にターンテーブル71に載置される。 
 (ノッチセンサの構成)
 ウェハ9には、図15及び図16に示すように、ウェハ9の円周方向における正規な位置を表す目印、位置決め部位として、V字状またはU字状に切り欠かれたノッチ91が外周部に形成されている。本実施形態では、ウェハ9に形成されたノッチ91を検出するノッチセンサ73は、図15において、ターンテーブル71の左側の位置に設けられている(図16では左上側)。このノッチセンサ73は、発光素子と受光素子とからなるフォトセンサであり、具体的には、検出光を照射するLEDと、その照射光の反射光を検知するフォトダイオードと、これらLED及びフォトダイオードに出入りする光線をウェハ9に対して案内する光路筒とを備えている。このため、ハンド66が保持したウェハ9の縁部に対しLEDの検出光が照射し、縁部により反射した場合は反射光がフォトダイオードに入射し、ノッチ91を通過して反射しない場合はフォトダイオードでの入射がなされない。これにより、ノッチ91の位置を検出する。 
 (ロボット制御システムの構成)
 本発明に係るロボット制御システム1は、半導体製造工程において(半導体)ウェハ等をカセットから取り出して成膜装置に搬送するロボットの動作を制御する。図14は、本発明の実施形態に係るロボット制御システムのシステム構成を示すブロック図である。 
 ロボット制御システム1は、ウェハ9を搬送するロボット6(のアーム)の駆動及びウェハ9の向きを合わせるためのアライナ7の駆動を制御している。 本実施形態では、図14に示すように、ロボット制御システム1は、主として、位置制御部2と、サーボ制御部3と、被制御体を駆動する駆動部4(第1モータ41、第1エンコーダ42、第2モータ43、第2エンコーダ44)と、通信回線5とを有している。 
 このロボット制御システム1は、ロボットの関節を回動させる第1モータ41やアライナ7を回動させる第2モータ43をサーボ制御するサーボ制御器31、32に対して動作指令(位置指令)を行う。一方で、ロボットの関節やアライナ7は、第1、第2モータ41、43の回転角を測定する第1、第2エンコーダ42、44を有しており、位置制御部2は、サーボ制御部3(サーボ制御器31、32)を介して、この第1、第2エンコーダ42、44から送られてくるフィードバックされる位置データ(回転角測定値など)を参照してサンプリングしつつ、目標値と実測値との偏差を認識してサーボ制御を行う。 
 (位置制御部の構成)
 位置制御部2は、第1、第2サーボ制御器31、32への動作指令を生成するとともに、各サーボ制御器31、32に動作指令を送信する指令生成手段21と、各サーボ制御器31等から送られてくるフィードバックされた位置データ(フィードバックデータ)を所定周期で受信し、受信した位置データ(フィードバックデータ)を取得時刻と共に記憶する位置データ記憶手段22とを有している。 さらに、位置制御部2は、位置データ記録手段22が受信し、記憶した所定周期の位置データ(フィードバックデータ)に基づいて任意の時刻における駆動部4の位置を推定する位置推定手段23を備えている。 
 (位置推定手段の構成)
 本実施形態では、位置推定手段23は、図14に示すように、位置データ抽出手段24と、多項式算出手段25と、推定位置算出手段26と、を有している。 
 位置データ抽出手段24は、駆動部4の位置推定を行う時刻tkの近傍時刻の位置データを抽出する。抽出する位置データ数は、補間する多項式の次数nに対応し、少なくとも、多項式の次数nに対して、位置データの個数は、(n+1)必要となる。なお、本実施形態では、ウェハ9のノッチ91の位置を推定するので、駆動部4は、アライナ7のターンテーブル71を回転する第2モータ43及び第2エンコーダ44となっている。 
 多項式算出手段25は、時刻tにおけるウェハ9のノッチ91(アライナ7の第2モータ43)の位置f(t)を数3式に示すようにn次の多項式で表す。多項式の次数nは、位置データ抽出手段24が抽出した位置データの個数-1であり、例えば4個の位置データを抽出した場合にはn=3となる。
Figure JPOXMLDOC01-appb-M000005
 多項式算出手段25は、数3式に示す多項式の係数aを位置データ抽出手段24で抽出したn+1個の位置データyとそれぞれの位置データyに対応する取得時刻tに基づいて数4式によって求め、ノッチ91(第2モータ43)の位置f(t)を表す多項式を算出する。
Figure JPOXMLDOC01-appb-M000006
 推定位置算出手段26は、多項式算出手段25が算出した多項式に基づいて、位置推定を行う時刻tkにおけるノッチ91(第2モータ43)の位置f(tk)を算出する。ノッチ91(第2モータ43)の位置推定を行う時刻tkは、推定を行う時点より前の任意の時刻を設定することが可能である。 
 (サーボ制御部の構成)
 サーボ制御部3は、指令生成手段21からの動作指令を基に駆動部4を駆動制御する。本実施形態では、サーボ制御部3は、ロボット6のアームなどを駆動させる第1モータ41を駆動制御する第1サーボ制御器31と、アライナ7に設けられたターンテーブル71を駆動させる第2モータ43を駆動制御する第2サーボ制御器32と、を有している。 
 (モータ及びエンコーダ)
 駆動部4は、サーボ制御部3からの制御信号に基づいて、所定動作を駆動する。本実施形態では、駆動部4は、図15に示すように、第1モータ41及び第1エンコーダ42、第2モータ43及び第2エンコーダ44である。第1モータ41はロボット6の基台側アーム64の関節部61に連結している。また、第1モータ41には、その回転軸に第1エンコーダ42が配置され、第1モータ41の回転角度データに基づく位置データを検出している。 また、第2モータ43は、アライナ7に設けられたターンテーブル71に連結されている。この第2モータ43には、その回転軸に第2エンコーダ44が配置され、第2モータ43の回転角度データに基づく位置データを検出している。 
 (通信回線)
 符号5は、通信回線である。本実施形態では、図14に示すように、位置制御部2から、サーブ制御部3、駆動部4等への各種指令は、シリアル伝送によって送られる。すなわち、本実施形態では、位置制御部2とサーボ制御部3とが構成するサーボ制御器31とが(有線又は無線によって)電気的に接続されている。次に、サーボ制御器31はサーボ制御器32とが(有線又は無線によって)電気的に接続されている。これにより、位置制御部2からサーボ制御器32への指令は、サーボ制御器31を介して送られることになる。このようなシリアル伝送とすることで、ロボット制御システム1において、信号の入出力が1系統で足りることから、配線の複雑化を防ぐことができるようになっている。本実施形態では、通信回線5の通信周期4(msec)となっている。 
 また、第1、第2エンコーダ42、44は、それぞれ第1、第2モータ41、43と(有線又は無線によって)電気的に接続されている。第1、第2エンコーダ42、44によって測定された位置データ(回転角測定値など)は、通信回線5で接続されるサーボ制御部3(サーボ制御器31、32)を介して位置制御部2へ送られる。 
 (ロボットの動作)
 次に、ロボット6によりウェハ9をカセット8から取り出してアライナ7でウェハ9の向き・保持角度を合わせるいわゆるオリエンテーション作業を行い、オリエンテーション作業後、第2の位置であるプロセス装置(図示せず)に載置する動作を説明する。 
 カセット8からプロセス装置(図示せず)にウェハ9を移載する際、カセット8に、ロボット6のハンド66を差し入れてウェハ9を引き出す。次いで、ロボット6の基台側アーム64及びハンド側アーム65を回転させてウェハ9の中心をアライナ7のターンテーブル71に載置する。アライナ7は、ウェハ9が載置された場合、原点位置(基準位置)にいる状態となっている。具体的には、この原点位置(基準位置)は、第2モータ43の位置検出する第2エンコーダ44が、この位置(角度)にあるときを0°としている。ターンテーブル71は、図16に示すように、ウェハ9の外周をチャック72を用いて保持し、保持完了後、そのまま回転する。そして、アライナ7のノッチセンサ73がウェハ9の縁に形成されたノッチ91をノッチセンサ73(フォトセンサ)で検出する。ウェハ9のノッチ91がノッチセンサ73を通過した位置を位置データ記憶手段22に記憶してウェハ3の位置合わせに使用する。この検出結果に基づいて、ウェハ9をアライナ7に対して所定の向きで支持させる。その後、チャック72が離間し、ハンド66がアライナ7のウェハ9を持ち上げて、プロセス装置に載置する。ここで、予めウェハ9をアライナ7に対して所定の向きにして支持させておくことにより、ウェハ9をプロセス装置に対して所定の向きにして載置する。ロボット6が作業している間にアライナ7は原点位置(基準位置)に戻って待機する。なお、これらの動作をウェハ9ごとに繰り返す。 
 (位置推定方法)
 次に、本発明の実施形態に係るロボット制御システムを使用した位置推定方法について、図17及び図18に示すアライナ7の駆動制御を用いて説明する。図17は、本発明の実施形態に係るアライナ駆動制御の流れを示すフローチャートである。図18は、本発明の実施形態に係る位置推定手段により求めた多項式補間による推定演算を説明する図である。図18において、縦軸は第2エンコーダ44の位置(角度)であり、0は原点位置(基準位置)を示し、横軸は時刻を示す。 
 図17に示すフローチャートにおいて、スタートは、ロボット6のハンド66がウェハ9をターンテーブル71に載置し、アライナ7のチャック72がウェハ9の外周を保持した状態である。このとき、第2モータ43及び第2エンコーダ44は原点位置(基準位置)で停止している。 
 第2モータ43が位置制御部2の指令生成手段21の動作指令に基づき、第2サーボ制御器32の制御信号により回転する。これにより、ターンテーブル71に載置されたウェハ9が回転する。アライナ7に設置されたノッチセンサ73が、ウェハ9のノッチ91を検出すると(図16参照)、検出した時刻tk(図18参照)を、位置制御部2に送信され、時刻tkを位置データ記憶手段22で記憶する(S1)。このとき、図18に示すように、第2モータ43の回転位置は、第2エンコーダ44で検出されるが、4msの周期でサンプリングされている。このため、ノッチセンサ73が検出した時刻tkの位置は、サンプリングの周期と一致していないので、正確な位置は検出されていない状態である。 
 アライナ7は、ウェハ9を約1回転させて、4msの周期で位置データをサンプリングする。例えば、図17に示すように、(時刻、回転位置)=(t0、y0)、(t1、y1)、(t2、y2)、(t3、y3)、・・・・・と4ms毎にその回転位置を第2エンコーダ44の出力信号を位置制御部2に送信し、位置データ記憶手段22が時刻と位置データを記憶する。約1回転後、第2モータ43を停止する。 
 位置推定手段23は、位置制御部2を介してノッチ31の検出信号(時刻tk)を受信すると、位置データ抽出手段24が、時刻tkの前後2周期ずつの4個の位置データを位置データ記憶手段22から抽出する(S2)。すなわち、図17に示すように、時刻tkの前後2周期ずつの位置データとしての(時刻、回転位置)=(t0、y0)、(t1、y1)、(t2、y2)、(t3、y3)を抽出する。 
 多項式算出手段25は、時刻tにおけるウェハ9の位置f(t)を上述の数3式に示すようにn次の多項式で表す。本実施形態では、第2モータ43の位置を、第2モータ43の加速又は減速に対応するために、3次の多項式で補間するようにしている。この場合、多項式の次数n=3であるので、位置データ抽出手段24が抽出した位置データの個数は、次数n+1=4個としている。 
 位置データ抽出手段24は、多項式算出手段25の演算負荷を少なくするとともに、第2モータ43の速度変動に精度よく対応できるように、4個の位置データを抽出している。
さらに、抽出する位置データは、時刻tkの前後2周期ずつの位置データを抽出している。なお、抽出する位置データは、位置推定を行う時刻tkの近傍時刻のものであればよく、位置データ抽出手段24は、任意の位置データを抽出してもよい。 
 多項式算出手段25は、数3式に示す多項式の係数aを位置データ抽出手段24で抽出した4個の位置データyとそれぞれの位置データyに対応する取得時刻tに基づいて上述の数4式によって求め、第2モータ43の回転位置f(t)を表す3次の多項式を算出する(S3)。図17において、4つの位置(y0、y1、y2、y3)を通過する線が3次の多項式となる。 
 推定位置算出手段26は、多項式算出手段25が算出した3次多項式に基づいて、ノッチセンサ73がノッチ91を検出した時刻tkにおける第2モータ43(ウェハ9)の位置f(tk)を算出する(S4)。すなわち、算出された位置f(tk)が、ターンテーブル71に載置されたウェハ9のノッチ91の位置と推定する。 
 (第2の実施の形態の主な効果)
 本実施形態では、ロボット制御システム1は、アライナ7を駆動する第2モータ43の加速又は減速に対応するために、回転位置と時刻との関係を3次の多項式で補間して、ノッチセンサ73で検出した時刻tkにおけるウェハ9(ノッチ91)の位置を推定したので、ウェハ9の位置合わせを精度よく行うことができる。
 また、3次の多項式を求めるために、時刻tkの前後2周期ずつの位置データを抽出し、これら位置データを用いて、位置を推定したので、第2モータ43の速度のブレにも精度よく対応できる。 
 さらに、位置推定手段23は、第2モータ43の加減速時や負荷変動時でも、ウェハ9のノッチ91の位置を精度よく推定することができ、ウェハ9を載置するターンテーブル71を高速制御することができる。すなわち、ロボット制御システム1は、位置の精度と高速さの両立が要求されるロボット6においても、コストを低く抑えつつ、位置合わせの精度と速度を向上させることができる。 
 第2の実施の形態では、ロボット制御システム1は、通信回線5の通信周期4(msec)で位置情報を得ることにしたので、第2モータ43が高速で動作すればするほど、位置の精度が悪化する。このようにある位置でノッチセンサ73の入力があった場合に、その位置は直前に取得した位置と同じになってしまうため、このセンサ入力位置を正確に知るには、第2エンコーダ44のサンプリング周期を従来よりもさらに細かくし、ノッチセンサ73の入力時刻から位置を推定する必要があった。 
 そこで、第2の実施の形態では、第2モータ43(ウェハ9)の位置を時間の多項式とみなすことにより、4(msec)周期で取得した位置データとその時刻から多項式の係数を導き出すことができ、任意の時刻における位置を推定することができる。この多項式補間による推定演算によって、位置分解能の向上につながり、第二モータ43の移動が高速であっても高精度で位置決めを行うことが可能である。 
 第2の実施の形態に示すロボット6は、ロボット6によりウェハ9がアライナ7のターンテーブル71に載置されると、ロボット6は待機しているのではなく、他の仕事をしているように設定されており、この間に、アライナ7は、ウェハ9の位置合わせを行うようにしている。このため、アライナ7の位置合わせ精度は、スループット向上の面から重要なファクタとなっている。具体的には、アライナ7には、僅か3秒の位置決め時間において、0.02度の位置合わせ精度が要求されている。この位置決め要求時間(3秒)内に、ウェハ9の位置決めを完了させるために、アライナ7は、ウェハ9を100(rpm)で回転させる必要がある。しかし、通信周期4(msec)の通信回線5を用いた廉価なシステム構成では、最大誤差が0.02度を超えてしまう。アライナ7が半導体ウェハ9を100(rpm)で回転させた場合に、最大誤差を0.02度以内に抑えるには、500(us)の分解能でセンサ入力をモニタして推定制御する必要がある。 
 以下、第2の実施の形態の効果を実験データに基づいて説明する。アライナ7は、通信周期4(msec)の通信回線5を用いている。ロボット制御システム1では、位置決め時間3秒以内を満たすために、第二モータ43(ウェハ9)を100(rpm)で回転させ、アライナ7に画像処理用のカメラを設置して繰り返し試験を行った。図19は、この精度試験結果を示す図である。図19に示すように、ロボット制御システム1を使用したアライナ7は、要求精度0.02度に対して、誤差を±3σ=0.0082度に抑えることができた。このように、ロボット制御システム1によれば、アライナ7は、通信周期4(msec)の廉価な通信回線5を用いた構成でも、多項式補間を用いて位置推定制御を行うことで、高速・高精度の位置決めが可能となり、スループットの短縮に貢献することができると判断できる。 
 また、ロボット制御システム1は、汎用品である廉価な通信手段やCPUを用いて構成することができ、安価な制御システムによって精度のよい位置推定を行うことができる。一般に、ロボット制御システム1に対する要求は、価格の安さと高速・高精度であり、特に、高速・高精度が重要な性能となる。一方、システムの価格を抑えるために安価なハードウェア構成を用いると、その性能(高速・高精度)には限界が生じる。例えば、液晶や半導体製造工程において用いられるロボット制御システム1には、あまり高速ではない通信回線5を使用している。このため、通信回線5を使用したロボット制御システム1は、通信周期の制限によって、位置の分解能に限界が生じてしまうという問題がある。 
 第2の実施の形態に示す位置推定手段23を用いて、ノッチ91の位置と時刻との関係を3次の多項式で補間することで、システム制御に用いられる安価なハードウェアによる性能限界を、ソフト的に位置推定を行うことにより性能(高速・高精度)を高めたものである。 
 (他の実施形態について)
 図14に示すロボット制御システム1では、説明の便宜上、第1モータ41及び第2モータ43で説明したが、これに限定されるものではない。
 また、本実施形態では、アライナ7の第2モータ43の位置を推定することで、ターンテーブル71に搭載されたウェハ9のノッチ91の位置を推定しているがこれに限定されるものではない。例えば、本実施形態に示すロボット6のアームがウェハ9を搭載してターンテーブル71に搭載する位置、またはカセット8に搭載または取り出す位置を、アームを駆動する第1モータ41の位置を推定してもよい。 
 第2の実施の形態に示す位置推定手段23では、位置推定を行う時刻tkは、推定を行う時点より前の任意の時刻を設定しているが、これに限定されるものではない。例えば、位置推定手段23は、位置データ(フィードバックデータ)に基づいて外挿演算を行う外挿演算手段を備えていてもよく、外挿演算手段によりモータの現在又は将来の位置を推定するようにしてもよい。これにより、モータの負荷変動や速度変動にも精度よく対応することができると共に、外挿演算により被制御体の現在又は将来の位置も推定することができる。 
 駆動部を構成する第1モータ及び第1エンコーダまたは第2モータ及び第2エンコーダは、物理的に1ユニットになっていることを要求するものではない。本実施形態では、モータの回転角度に基づく位置データを検出する「センサ」として、エンコーダを採用しているが、その他、位置データを検出し得るものであれば、如何なる装置・機器であってもよい。 
 第2の実施の形態では、ウェハ9には、ウェハ9の円周方向における正規な位置を表すマークとして、V字状またはU字状に切り欠かれたノッチ等が外周部に形成されている。ウェハのエッジ部には位置を検出するため、弦状に切り欠かれたオリフラでもよい。
 本発明に係る制御システム及びこの制御システムに用いる位置推定方法は、サンプリング位置データから任意の時刻の位置を推定する推定器の演算負荷を小さくすることができると共に、モータの負荷変動や速度変動にも精度よく対応することが可能なものとして有用である。
 101 モータ制御装置
 102 モータ
 103 電源
 104 エンコーダ(回転検出手段)
 108 位置指令出力部(位置指令出力手段)
 109 減算部(第1の減算手段)
 110 位置制御部(位置制御手段)
 111 減算部(第2の減算手段)
 112 速度制御部(速度制御手段)
 113 リミッタ
 114 ドライバ(モータ駆動手段)
 115 電圧変動検出部(電圧変動検出手段)
 1 制御システム
 2 位置制御部
 21 指令生成手段
 22 位置データ記憶手段
 23 位置推定手段
 24 位置データ抽出手段
 25 多項式算出手段
 26 推定位置算出手段
 3 サーブ制御部
 31 第1サーボ制御器
 32 第2サーボ制御器
 4 駆動部
 41 第1モータ
 42 第1エンコーダ(センサ)
 43 第2モータ
 44 第2エンコーダ(センサ)
 5 通信回線
 6 ロボット
 61、62、63 関節部
 64 基台側アーム部
 65 ハンド側アーム部
 66 ハンド
 7 アライナ
 71 ターンテーブル
 72 チャック
 73 ノッチセンサ(位置決めマークを検出するセンサ)
 8 カセット
 9 (半導体)ウェハ(ワーク)
 91 ノッチ(位置決めマーク)

Claims (12)

  1.  ロボットを動作させるモータを制御するモータ制御装置において、
     前記モータを制御するための位置指令を出力する位置指令出力手段と、前記モータが所定角度回転するごとにパルス信号を発生させる回転検出手段からの出力に基づいて算出される回転位置と前記位置指令とに基づいて位置偏差を算出して出力する第1の減算手段と、前記位置偏差を速度指令に変換して出力する位置制御手段と、前記回転検出手段からの出力に基づいて算出される回転速度と前記速度指令とに基づいて速度偏差を算出して出力する第2の減算手段と、前記速度偏差をトルク指令に変換して出力する速度制御手段と、
    前記トルク指令の値が所定の制限値以下である場合に前記トルク指令をそのまま出力するとともに前記トルク指令の値が前記制限値を超える場合に前記制限値をその値とする前記トルク指令を出力するリミッタと、前記リミッタからの前記トルク指令に基づいて前記モータを駆動するモータ駆動手段と、前記モータ駆動手段に電圧を印加する電源の電圧変動を検出する電圧変動検出手段とを備え、
     前記電圧変動検出手段で、前記電源の電圧が所定の基準値以下になったことが検出されると、
     前記モータの回転速度が下がるように前記位置指令出力手段が前記位置指令を変動させること、および、出力される前記速度指令を前記位置制御手段が制限すること、の少なくともいずれか一方が行われることを特徴とするモータ制御装置。
  2.  前記電圧変動検出手段で、前記電源の電圧が前記基準値以下となったことが検出されると、前記位置指令出力手段は、前記モータの回転速度が下がるように前記位置指令を変動させ、かつ、前記位置制御手段は、出力される前記速度指令を制限することを特徴とする請求項1記載のモータ制御装置。
  3.  前記電圧変動検出手段で、前記電源の電圧が前記基準値を超えるまで回復したことが検出されると、
     前記第1の減算手段から出力される前記位置偏差が小さくなるように、前記位置指令出力手段が前記位置指令を遅延させた後に、
     前記位置指令出力手段が遅延後の位置で前記位置指令を元の状態へ戻すこと、および、出力される前記速度指令の制限を前記位置制御手段が解除すること、の少なくともいずれか一方が行われることを特徴とする請求項2記載のモータ制御装置。
  4.  前記電圧変動検出手段で、前記電源の電圧が前記基準値以下になったことが検出されると、
     前記モータの回転速度が下がるように前記位置指令出力手段が前記位置指令を変動させ、
     前記電圧変動検出手段で、前記電源の電圧が前記基準値を超えるまで回復したことが検出されると、
     前記第1の減算手段から出力される前記位置偏差が小さくなるように、前記位置指令出力手段が前記位置指令を遅延させた後に、前記位置指令出力手段が遅延後の位置で前記位置指令を元の状態へ戻すことを特徴とする請求項1記載のモータ制御装置。
  5.  前記電圧変動検出手段で、前記電源の電圧が前記基準値以下になったことが検出されると、
     出力される前記速度指令を前記位置制御手段が制限し、
     前記電圧変動検出手段で、前記電源の電圧が前記基準値を超えるまで回復したことが検出されると、
     前記第1の減算手段から出力される前記位置偏差が小さくなるように、前記位置指令出力手段が前記位置指令を遅延させた後に、出力される前記速度指令の制限を前記位置制御手段が解除することを特徴とする請求項1記載のモータ制御装置。
  6.  ロボットを動作させるモータを制御するためのモータ制御方法において、
     前記モータを制御するための位置指令と前記モータの実測した回転位置とに基づいて位置偏差を算出し、前記位置偏差を速度指令に変換し、前記速度指令と前記モータの実測した回転速度とに基づいて速度偏差を算出し、前記速度偏差をトルク指令に変換し、かつ、
     前記トルク指令の値が所定の制限値以下である場合には、そのままの前記トルク指令に基づいて前記モータを駆動し、前記トルク指令の値が前記制限値を超える場合には、前記制限値をその値とする前記トルク指令に基づいて前記モータを駆動するとともに、
     前記モータの電源の電圧が所定の基準値以下になったことが検出されると、前記モータの回転速度が下がるように前記位置指令を変動させること、および、前記速度指令を制限すること、の少なくともいずれか一方を行うことを特徴とするモータ制御方法。
  7.  被制御体を駆動するモータと、前記モータの回転角度に基づく前記被制御体の位置データを所定の周期で検出するセンサと、前記モータをサーボ制御するサーボ制御部と、前記サーボ制御部に対して動作指令(位置指令)を発する位置制御部と、を有する制御システムであって、
     前記位置制御部は、前記サーボ制御部の動作指令を生成する指令生成手段と、前記センサから取得した前記位置データを取得時刻と共に記憶する位置データ記憶手段と、所定周期の前記位置データに基づいて任意の時刻における前記被制御体の位置を推定する位置推定手段と、を備え、
     前記位置推定手段は、時刻tにおける前記被制御体の位置f(t)を前記位置データに基づいて多項式で表し、多項式補間により任意の時刻における前記被制御体の位置を推定することを特徴とする制御システム。
  8.  前記位置推定手段は、時刻tにおける前記被制御体の位置f(t)を下記数1式の多項式で表し、該多項式の係数aを前記位置データ記憶手段に記憶された前記位置データyと取得時刻tに基づいて下記数2式によって求め、任意の時刻における前記被制御体の位置を推定することを特徴とする請求項7記載の制御システム。
    Figure JPOXMLDOC01-appb-M000001
    Figure JPOXMLDOC01-appb-M000002
  9.  前記位置推定手段は、3次の多項式を用いて任意の時刻における前記被制御体の位置を推定することを特徴とする請求項7又は8記載の制御システム。
  10.  前記位置推定手段は、前記被制御体の位置を推定する任意の時刻の近傍の前記位置データに基づいて該時刻における前記被制御体の位置を推定することを特徴とする請求項9記載の制御システム。
  11.  前記被制御体に設けられる位置合わせマークを検出するマークセンサを備え、前記位置推定手段は、前記マークセンサが前記位置合わせマークを検出した時刻における前記被制御体の位置を推定することを特徴とする請求項7から10記載の制御システム。
  12.  被制御体を駆動するモータと、前記モータの回転角度に基づく前記被制御体の位置データを所定の周期で検出するセンサと、前記モータをサーボ制御するサーボ制御部と、前記サーボ制御部に対して動作指令を発する位置制御部と、を有する制御システムにおいて、
     前記位置制御部は、前記サーボ制御部の動作指令を生成するとともに、前記センサから取得した前記位置データを取得時刻と共に記憶し、時刻tにおける前記被制御体の位置f(t)を前記位置データに基づいて多項式で表し、多項式補間により任意の時刻における前記被制御体の位置を推定することを特徴とする位置推定方法。
PCT/JP2011/067994 2010-08-08 2011-08-06 モータ制御装置およびモータ制御方法、制御システムおよびこの制御システムに用いる位置推定方法 WO2012020714A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/814,576 US10345827B2 (en) 2010-08-08 2011-08-06 Motor control device and motor control method, control system and location estimation method used in control system
KR1020137003052A KR101421906B1 (ko) 2010-08-08 2011-08-06 모터 제어 장치 및 모터 제어 방법, 제어 시스템 및 이 제어 시스템에 이용하는 위치 추정 방법
KR1020147013950A KR101483405B1 (ko) 2010-08-08 2011-08-06 제어 시스템 및 이 제어 시스템에 이용하는 위치 추정 방법
CN201180039104.8A CN103081351B (zh) 2010-08-08 2011-08-06 电动机控制装置及电动机控制方法
US14/965,364 US10095244B2 (en) 2010-08-08 2015-12-10 Motor control apparatus, motor control method, control system, and position estimation method to be used in control system

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US37171310P 2010-08-08 2010-08-08
US61/371,713 2010-08-08
JP2011-019448 2011-02-01
JP2011019448A JP5689704B2 (ja) 2010-08-08 2011-02-01 モータ制御装置およびモータ制御方法
JP2011-171488 2011-08-05
JP2011171488A JP5895289B2 (ja) 2010-08-08 2011-08-05 制御システム及びこの制御システムに用いる位置推定方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/814,576 A-371-Of-International US10345827B2 (en) 2010-08-08 2011-08-06 Motor control device and motor control method, control system and location estimation method used in control system
US14/965,364 Division US10095244B2 (en) 2010-08-08 2015-12-10 Motor control apparatus, motor control method, control system, and position estimation method to be used in control system

Publications (1)

Publication Number Publication Date
WO2012020714A1 true WO2012020714A1 (ja) 2012-02-16

Family

ID=45567681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/067994 WO2012020714A1 (ja) 2010-08-08 2011-08-06 モータ制御装置およびモータ制御方法、制御システムおよびこの制御システムに用いる位置推定方法

Country Status (1)

Country Link
WO (1) WO2012020714A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015226331A (ja) * 2014-05-26 2015-12-14 日本電産サンキョー株式会社 モータ制御装置およびモータ制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03125912A (ja) * 1989-10-11 1991-05-29 Mitsutoyo Corp 位置検出装置の出力タイミング補間方法
JPH0530776A (ja) * 1991-07-22 1993-02-05 Yaskawa Electric Corp ガラス製造設備のレヤー駆動電動機用インバータ制御装置の運転方法
JPH09179632A (ja) * 1995-12-23 1997-07-11 Yaskawa Electric Corp ロボットの柔軟制御装置
JP2001056711A (ja) * 1999-08-19 2001-02-27 Toshiba Mach Co Ltd 位置制御装置
JP2008067525A (ja) * 2006-09-08 2008-03-21 Fuji Electric Systems Co Ltd 電気推進装置の推進制御方法および装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03125912A (ja) * 1989-10-11 1991-05-29 Mitsutoyo Corp 位置検出装置の出力タイミング補間方法
JPH0530776A (ja) * 1991-07-22 1993-02-05 Yaskawa Electric Corp ガラス製造設備のレヤー駆動電動機用インバータ制御装置の運転方法
JPH09179632A (ja) * 1995-12-23 1997-07-11 Yaskawa Electric Corp ロボットの柔軟制御装置
JP2001056711A (ja) * 1999-08-19 2001-02-27 Toshiba Mach Co Ltd 位置制御装置
JP2008067525A (ja) * 2006-09-08 2008-03-21 Fuji Electric Systems Co Ltd 電気推進装置の推進制御方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015226331A (ja) * 2014-05-26 2015-12-14 日本電産サンキョー株式会社 モータ制御装置およびモータ制御方法
CN105186965A (zh) * 2014-05-26 2015-12-23 日本电产三协株式会社 马达控制装置以及马达控制方法
CN105186965B (zh) * 2014-05-26 2018-01-09 日本电产三协株式会社 马达控制装置以及马达控制方法

Similar Documents

Publication Publication Date Title
KR101421906B1 (ko) 모터 제어 장치 및 모터 제어 방법, 제어 시스템 및 이 제어 시스템에 이용하는 위치 추정 방법
KR101688360B1 (ko) 서보 제어 장치
US20110208356A1 (en) Robot having learning control function
JP6592143B2 (ja) 電動機の制御装置
US9933616B2 (en) Mirror angular-positioning apparatus and processing apparatus
JPH1170490A (ja) 産業用ロボットの衝突検出方法
KR102325282B1 (ko) 반도체 장치 제조 설비를 위한 로봇 제어 시스템 및 방법, 이를 위한 컴퓨터 프로그램
WO2012020714A1 (ja) モータ制御装置およびモータ制御方法、制御システムおよびこの制御システムに用いる位置推定方法
JP2006293624A (ja) 多軸制御装置
JP2005279872A (ja) ロボットの制御方法
JP2018192535A (ja) 部品嵌合方法及び部品嵌合装置
JP2019025600A (ja) 締め付け装置及び締め付け方法
EP2869121B1 (en) Computer-readable storage medium, generating method, generating apparatus, driving apparatus, processing apparatus, lithography apparatus, and method of manufacturing article
JP6923273B2 (ja) はんだ付け装置
JP6711536B2 (ja) 外力検出方法
JP2008072846A (ja) モータ制御装置とその制御方法
JP6912149B2 (ja) 接着装置
JP2007025888A (ja) 制御装置及び制御方法
JP2008092659A (ja) 電動機制御装置とそのトルク定数補正方法
JP5500995B2 (ja) 力検出装置
JP2019188517A (ja) 曲面トレース装置
JP2013240857A (ja) 部品組み立て装置
JPH0561554A (ja) 位置決め制御装置
JP2019115951A (ja) 組立装置
JPH09247972A (ja) 停止位置制御方法および装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180039104.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11816379

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20137003052

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11816379

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13814576

Country of ref document: US