WO2022138167A1 - モータ制御装置 - Google Patents

モータ制御装置 Download PDF

Info

Publication number
WO2022138167A1
WO2022138167A1 PCT/JP2021/045123 JP2021045123W WO2022138167A1 WO 2022138167 A1 WO2022138167 A1 WO 2022138167A1 JP 2021045123 W JP2021045123 W JP 2021045123W WO 2022138167 A1 WO2022138167 A1 WO 2022138167A1
Authority
WO
WIPO (PCT)
Prior art keywords
target position
correction
command
load
motor
Prior art date
Application number
PCT/JP2021/045123
Other languages
English (en)
French (fr)
Inventor
弘 藤原
健太 村上
Original Assignee
パナソニックIpマネジメント株式会社
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
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to EP21910316.5A priority Critical patent/EP4270774A4/en
Priority to JP2022572108A priority patent/JPWO2022138167A1/ja
Priority to US18/249,733 priority patent/US20240007042A1/en
Priority to CN202180086838.5A priority patent/CN116686210A/zh
Publication of WO2022138167A1 publication Critical patent/WO2022138167A1/ja

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
    • 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
    • H02P27/00Arrangements or methods for the control of AC motors characterised by the kind of supply voltage
    • H02P27/04Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage
    • H02P27/06Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters
    • H02P27/08Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters with pulse width modulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66CCRANES; LOAD-ENGAGING ELEMENTS OR DEVICES FOR CRANES, CAPSTANS, WINCHES, OR TACKLES
    • B66C13/00Other constructional features or details
    • B66C13/18Control systems or devices
    • B66C13/46Position indicators for suspended loads or for crane elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66CCRANES; LOAD-ENGAGING ELEMENTS OR DEVICES FOR CRANES, CAPSTANS, WINCHES, OR TACKLES
    • B66C13/00Other constructional features or details
    • B66C13/18Control systems or devices
    • B66C13/48Automatic control of crane drives for producing a single or repeated working cycle; Programme control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path

Definitions

  • the present disclosure relates to a motor control device that controls a motor.
  • an object of the present disclosure is to provide a motor control device capable of controlling a motor so as to quickly position a load within a predetermined range from a target position.
  • the motor control device is a motor control device that controls a motor that moves a load to a target position based on a position command that commands the position of the motor.
  • the motor control device includes a correction command generation unit, a correction unit, and a control unit.
  • the correction command generation unit acquires a target position deviation indicating the difference between the load position and the target position. Then, when the target position deviation indicates that the load is positioned beyond the target position, a correction command for correcting the position command is generated based on the target position deviation.
  • the correction unit corrects the position command based on the correction command and generates a corrected position command.
  • the control unit controls the motor based on the corrected position command and the position of the motor.
  • a motor control device capable of controlling the motor so as to quickly move the load from the target position within a predetermined range.
  • FIG. 1 is a block diagram showing a configuration example of a positioning system according to an embodiment.
  • FIG. 2 is a schematic diagram showing an example of how the motor according to the embodiment positions the load at the target position.
  • FIG. 3A is a schematic diagram showing an example of how the load according to the embodiment is positioned at the target position.
  • FIG. 3B is a schematic diagram showing an example of how the load according to the embodiment is positioned at a position different from the target position.
  • FIG. 4 is a flowchart of the position shift correction process according to the embodiment.
  • FIG. 5A is a schematic diagram showing an example of a time change of the correction amount in the correction command output by the correction command generation unit according to the embodiment.
  • FIG. 5B is a schematic diagram showing an example of how the load according to the embodiment is positioned within a predetermined range from the target position.
  • FIG. 6 is a schematic diagram showing an image taken by a camera at a certain time in the embodiment.
  • FIG. 7 is a diagram showing whether or not the load exceeds the target position by the motor control device according to the embodiment, and how the load is controlled when the load is exceeded.
  • FIG. 8 is a diagram showing a case where a position command is corrected by a value obtained by adding a predetermined offset amount to a target position deviation, which is another second configuration example of the motor control device according to one aspect of the present disclosure.
  • FIG. 9 is a diagram in which a position command is corrected using a value obtained by multiplying a target position deviation by a weighting coefficient ⁇ , which is another third configuration example of the motor control device according to one aspect of the present disclosure, as a correction amount. ..
  • FIG. 10 is a diagram showing a case where the target position deviation does not change while showing that the target position deviation exceeds the target value after a certain period of time in the present embodiment.
  • FIG. 11 is a fourth other configuration example of the motor control device according to one aspect of the present disclosure, in which a new correction amount is set after a predetermined time elapses after the target position deviation exceeds the target value. Is.
  • Patent Document 1 describes a control system that positions a load so as not to exceed a target position.
  • the servo unit that controls the motor that positions the load controls the motor based on an internal command from the main control unit that is the host controller.
  • this control system slows down the positioning speed of the load by the motor, repeatedly captures the load and processes the captured image, and uses the result as an internal command each time the image processing is performed. By feeding back, the load is positioned so as not to exceed the target position.
  • the control system for positioning the load if the load can be positioned within a predetermined range from the target position, it is not always necessary to position the load so as not to exceed the target position. In such a system, it is desired to quickly position the load.
  • the inventors diligently studied and experimented with a motor control device capable of controlling the motor so as to quickly position the load within a predetermined range from the target position. As a result, the inventors came up with the following motor control device.
  • the motor control device is a motor control device that controls a motor that positions a load at a target position based on a position command that commands the position of the motor.
  • the motor control device acquires a target position deviation indicating a difference between the load position and the target position. Then, when the target position deviation indicates that the load is positioned beyond the target position, a correction command for correcting the position command is generated based on the target position deviation.
  • the correction unit corrects the position command based on the correction command and generates a corrected position command.
  • the control unit controls the motor based on the corrected position command and the position of the motor.
  • the motor control device having the above configuration acquires the target position deviation and corrects the position command based on the acquired target position deviation. Therefore, according to the motor control device having the above configuration, it is not necessary to feed back the information related to the position of the load to the upper controller side that outputs the position command to the motor drive device. Therefore, according to the motor control device having the above configuration, the motor can be controlled so as to quickly position the load within a predetermined range from the target position. Further, according to the motor control device having the above configuration, even if the load approaches the target position, it is not always necessary to reduce the positioning speed of the load. Therefore, according to the motor control device having the above configuration, the motor can be controlled so as to position the load within a predetermined range from the target position more quickly.
  • correction command generation unit may generate the correction command for correcting the position command so as to command the correction command position shifted by the target position deviation from the command position commanded by the position command.
  • the correction command position can be set to a position shifted by the target position deviation from the command position.
  • the correction unit is the correction command generation unit. It is not necessary to update the correction command input last time from.
  • the correction command generation unit may use a value obtained by adding a predetermined offset amount to the target position deviation or a value obtained by multiplying the target position deviation by a predetermined weighting coefficient as the correction amount.
  • the correction command generation unit inputs the correction amount of the correction command previously output to the correction amount thereafter.
  • the target position deviation may be subtracted to obtain the correction amount of the next correction command.
  • a target position deviation calculation unit for calculating the target position deviation is provided, and the target position deviation calculation unit is positioned with the load by the motor and is based on a camera that captures an image and an image captured by the camera. Therefore, when the target position is included in the image, a calculation unit for calculating the target position deviation may be included.
  • the comprehensive or specific embodiment of the present disclosure may be realized by a recording medium such as a system, a method, an integrated circuit, a computer program or a computer-readable CD-ROM, and the system, the method, the integrated circuit, the computer. It may be realized by any combination of a program and a recording medium.
  • FIG. 1 is a block diagram showing a configuration example of the positioning system 1 according to the embodiment.
  • the positioning system 1 includes a motor control device 10, a motor 70, a load 80, a motor position detection unit 90, a connection unit 71, and a connection unit 72.
  • the motor 70 is controlled by the motor control device 10 and moves the load 80 to the target position.
  • the load 80 is connected to the motor 70 by the connecting portion 71 and is moved by the motor 70.
  • FIG. 2 is a schematic diagram showing an example of how the motor 70 moves the load 80 to the target position.
  • FIG. 2 is a diagram showing an example of a transport device.
  • the motor 70 is, for example, a linear motor that can move along the guide 100.
  • the motor 70 will be described as a linear motor, but it is not necessarily limited to the example of the linear motor as long as it is a motor capable of moving the load 80 to the target position, and is not necessarily limited to the example of the linear motor, for example, a rotary motor. It may be a linear motion mechanism that combines a rotary motor and a drive mechanism such as a ball screw.
  • the load 80 has, for example, an arm capable of gripping a work piece 120 to be placed in a predetermined place on the stage 110, and is positioned at a target position by, for example, a motor 70. By releasing the work piece 120 to be gripped at that position, the work piece 120 is placed in a predetermined place on the stage 110.
  • the motor position detection unit 90 detects the position of the motor 70 and outputs the detected position of the motor 70 to the motor control device 10.
  • the motor position detection unit 90 may be, for example, a linear scale when the motor 70 is a linear motor. Further, the motor position detection unit 90 may be an encoder, for example, when the motor 70 is a rotary motor. For example, when the motor 70 is a linear motor, the position of the motor 70 may be the position of the mover. Further, for example, when the motor 70 is a rotary motor, the position of the motor 70 may be the angle of the rotor.
  • the motor control device 10 controls the motor 70 based on a position command that commands the position of the motor 70.
  • the position command is output from, for example, the host controller 11 connected to the motor control device 10 by a communication line or the like.
  • the motor control device 10 includes a correction command generation unit 30, a correction unit 40, a control unit 50, and a target position deviation calculation unit 60.
  • the target position deviation calculation unit 60 calculates the target position deviation indicating the difference between the position of the load 80 and the target position. As shown in FIG. 1, the target position deviation calculation unit 60 includes a camera 61 and a calculation unit 62.
  • the camera 61 is moved by the motor 70 together with the load 80, and captures an image at each time of 1 or more. That is, the camera 61 is an image pickup device.
  • the camera 61 includes, for example, a lens 66 that collects light, a solid-state image sensor 67 that converts the light collected by the lens into an electric signal, and a memory 68 that stores the electric signal converted by the solid-state image sensor. It may be configured to include.
  • the camera 61 is connected to the load 80 by, for example, the connection portion 72, and captures an image in the region of the field of view 130.
  • the camera 61 exists at a position including the target position within the visual field range 130, the camera 61 captures an image including the target position.
  • the target position deviation calculation unit 60 includes one camera 61, but may be configured to include a plurality of cameras 61.
  • the calculation unit 62 calculates the target position deviation corresponding to the target image when the target image includes the target position based on each of the images captured by the camera 61.
  • the calculation unit 62 may be configured to include, for example, a processor 63 and a memory 64, and the function may be realized by the processor 63 executing a program stored in the memory 64.
  • the calculation unit 62 determines whether or not the target position is included in the image by performing image processing on the image captured by the camera 61, for example. Then, when the calculation unit 62 determines that the target position is included in the image, for example, further image processing is performed to calculate the target position deviation.
  • the correction command generation unit 30 acquires the target position deviation calculated by the target position deviation calculation unit 60. Then, when the acquired target position deviation indicates that the load 80 is positioned beyond the target position, the correction command generation unit 30 issues a correction command for correcting the position command based on the target position deviation. Generate.
  • the correction command generation unit 30 may be configured to include, for example, a processor 31 and a memory 32, and the function may be realized by the processor 31 executing a program stored in the memory 32.
  • the correction command generation unit 30 generates, for example, a correction command for correcting a position command so as to command a correction command position shifted by a target position deviation from the command position commanded by the position command.
  • the correction unit 40 acquires a position command, corrects the acquired position command based on the correction command generated by the correction command generation unit 30, and generates a corrected position command.
  • the correction unit 40 may be configured to include, for example, a processor 41 and a memory 42, and the function may be realized by the processor 41 executing a program stored in the memory 42.
  • the control unit 50 controls the motor 70 based on the corrected position command generated by the correction unit 40 and the position of the motor 70 output by the motor position detection unit 90.
  • the control unit 50 includes, for example, an inverter 51 that generates a three-phase alternating current that generates a thrust in the motor, and a controller 52 that controls the inverter 51 by PWM (Pulse Width Modulation).
  • PWM Pulse Width Modulation
  • the command position commanded by the position command is the position where the load 80 is positioned at the target position by moving the motor 70 to the command position when the positioning system 1 is in the ideal state. Is.
  • the load 80 may be positioned at a position different from the target position. be. That is, a deviation may occur between the actual position of the load 80 positioned by moving the motor 70 to the command position and the target position (hereinafter, this deviation is also referred to as "target position deviation"). be.
  • FIG. 3A shows a target when it is assumed that the control unit 50 controls the motor 70 based on the position command before the correction by the correction unit 40, not the position command after correction corrected by the correction unit 40. It is a schematic diagram which shows an example of how the load 80 is positioned at a target position by moving a motor 70 to a command position when a misalignment does not occur.
  • the horizontal axis is the elapsed time and the vertical axis is the target position deviation.
  • the load 80 is positioned at the target position without correcting the position command.
  • FIG. 3B assumes that the control unit 50 controls the motor 70 based on the position command before the correction by the correction unit 40, not the position command after correction corrected by the correction unit 40.
  • FIG. 3B it is a schematic diagram showing an example of how the load 80 is positioned at a position different from the target position by moving the motor 70 to the command position when the target position shift occurs.
  • the horizontal axis is the elapsed time and the vertical axis is the target position deviation.
  • the load 80 when the target position deviation occurs, the load 80 will be positioned beyond the predetermined range ⁇ from the target position, for example, unless the position command is corrected.
  • the load 80 is positioned beyond a predetermined range from the target position unless the position command is corrected by the motor control device 10 performing the position deviation correction process (hereinafter referred to as “target position deviation”). , Also referred to as “positioning excess target position deviation”), the load 80 can be positioned within a predetermined range from the target position.
  • FIG. 4 is a flowchart of the position shift correction process performed by the correction unit 40.
  • the misalignment correction process is a process of correcting a position command so that the load 80 is not positioned beyond a predetermined range from the target position, and controlling the motor 70 based on the corrected position command.
  • the misalignment correction process may be started, for example, by the calculation unit 62 determining that the image captured by the camera 61 includes the target position, or from a user who uses the positioning system 1, for example.
  • the motor control device 10 may be started by performing an operation to start the misalignment correction process.
  • FIG. 6 is a schematic diagram showing an image Ik captured by the camera 61 at time tk . In FIG.
  • FIG. 7 is a diagram showing whether or not the load 80 exceeds the target position by the motor control device 10 of the present disclosure, and how the load 80 is controlled when the load 80 exceeds the target position.
  • the motor control device 10 substitutes the initial value 0 into the integer type variable k that can take an integer value of 0 or more (step S5).
  • the camera 61 captures the image I k (step S10).
  • the calculation unit 62 performs image processing on the image I k and determines whether or not the target position is included in the image I k (step S15).
  • step S15 when it is determined that the image I k includes the target position (step S15: Yes), the calculation unit 62 further performs image processing on the image I k to perform the target position deviation. Calculate d k (step S20).
  • the motor control device 10 examines whether or not the value assigned to the integer type variable k is larger than 0 (step S25).
  • step S25 when the value assigned to the integer type variable k is larger than 0 (step S25: Yes), the correction command generation unit 30 has the target position deviation d k calculated by the calculation unit 62. , It is determined whether or not the load 80 indicates that the target position is exceeded (step S35). In the process of step S35, when the calculated target position deviation dk indicates that the load 80 does not exceed the target position (step S35: No), the position command is not corrected. When the calculated target position deviation dk indicates that the load 80 is moving beyond the target position (step S35: Yes), the position command is corrected. In FIG.
  • the meanings of the target position deviation d k , the time tF, the size ⁇ of the predetermined range, and ⁇ (t, x) are the same in FIGS. 8 to 11.
  • step S35 when the target position deviation dk calculated by the calculation unit 62 indicates that the load 80 is positioned beyond the target position (step S35: Yes), the correction is made.
  • the command generation unit 30 generates a correction command for correcting the position command so as to command the correction command position shifted in the positive direction by the target position deviation dk from the command position commanded by the position command (step S40).
  • the correction command generation unit 30 is the absolute value of the correction amount (here, the target position deviation dk ) in the newly generated correction command larger than the absolute value of the correction amount in the correction command output last time? It is determined whether or not (step S45).
  • step S45 when the absolute value of the correction amount in the newly generated correction command is larger than the absolute value of the correction amount in the correction command output last time (step S45: Yes, see FIG. 7).
  • the correction command generation unit 30 updates the previously output correction command with the newly generated correction command (step S50), and outputs the updated correction command.
  • d k ⁇ d k + 1 and the correction amount is updated from d k + 1 at tk + 1 .
  • step S45 if the absolute value of the correction amount in the newly generated correction command is smaller than or equal to the absolute value of the correction amount in the previously output correction command (step S45: No), the correction is made.
  • the command generation unit 30 outputs the previously output correction command without updating the previously output correction command with the newly generated correction command (step S55).
  • the correction amount is d k + 1 at tk + 2 .
  • step S50 When the processing of step S50 is completed or the processing of step S55 is completed, the correction unit 40 corrects the position command with the correction command output from the correction command generation unit 30 (step S60), and the corrected position command. Is output.
  • step S15 when it is not determined that the target position is included in the image Ik (step S15: No), and in the process of step S25, the value assigned to the integer type variable k is from 0. (Step S25: No), and the calculated target position deviation dk in the process of step S35 does not indicate that the load 80 is positioned beyond the target position. (Step S35: No), when the process of step S60 is completed, the motor control device 10 substitutes k + 1 for the integer type variable k (step S75), and proceeds to the process of step S10.
  • the integer type variable k is reset to 0.
  • FIG. 5A shows an output by the correction command generation unit 30 when the motor control device 10 performs the position deviation correction process when the positioning system 1 has the positioning excess target position shift exemplified in FIG. 3B. It is a schematic diagram which shows an example of the time change of the correction amount in the correction command to be made. In FIG. 5A, the horizontal axis is the elapsed time and the vertical axis is the correction amount.
  • FIG. 5B when the positioning system 1 has a positioning excess target position deviation exemplified by FIG. 3B, the motor control device 10 performs the position deviation correction process, so that the load 80 is predetermined from the target position.
  • It is a schematic diagram which shows an example of the state of being positioned within the range of.
  • the horizontal axis is the elapsed time and the vertical axis is the target position deviation.
  • the correction command generation unit 30 starts generating a correction command in which the correction amount is the target position deviation. Then, the correction command generation unit 30 updates and outputs the correction command so that the maximum value of the absolute value of the correction value is kept.
  • the control unit 50 controls the motor 70 so that the maximum value of the absolute value of the correction value is moved to the position commanded by the corrected position command corrected by the correction command kept. Therefore, as shown in FIG. 5B, the load 80 is positioned within a predetermined range ⁇ from the target position.
  • the motor control device 10 calculates the target position deviation and corrects the position command based on the calculated target position deviation. Therefore, it is not necessary to feed back the information related to the load 80 to the upper controller side that outputs the position command to the motor control device 10. Therefore, according to the motor control device 10, the motor can be controlled so as to quickly position the load 80 within a predetermined range from the target position. Further, according to the motor control device 10, even if the load 80 approaches the target position, it is not always necessary to reduce the positioning speed of the load 80. Therefore, according to the motor control device 10, the motor can be controlled so as to position the load 80 within a predetermined range from the target position more quickly.
  • the above embodiment can also be applied when the load 80 is negative and is at a position smaller than ⁇ 0.5 ⁇ (that is, outside the range of ⁇ 0.5 ⁇ ) at the time of tk.
  • the present disclosure is not limited to the embodiment. As long as it does not deviate from the gist of the present disclosure, one or a plurality of embodiments of the present disclosure may be obtained by subjecting various modifications that a person skilled in the art can think of to the embodiment or by combining components in different embodiments. It may be included in the range of.
  • another configuration example of the motor control device according to one aspect of the present disclosure will be described.
  • the motor control device 10 includes a target position deviation calculation unit 60 for calculating a target position deviation, and a correction command generation unit 30 has a target position deviation. It has been described as acquiring the target position deviation calculated by the calculation unit 60.
  • the motor control device 10 does not include the target position deviation calculation unit 60, and the correction command generation unit 30 acquires the target position deviation from the external device of the motor control device 10. May be.
  • step S35 of FIG. 4 it is shown that the target position deviation dk is positioned beyond the target position.
  • the correction amount is set to d k , and as shown in step S45 of FIG. 4, the correction amount is peak-held so that the corrected value becomes larger than the previously output value.
  • a configuration in which a predetermined offset amount ⁇ is added to d k as shown in FIG. 8 or a value obtained by multiplying d k by a weighting coefficient ⁇ as shown in FIG. 9 is corrected. It may be an amount.
  • the correction command generation unit may use a value obtained by adding a predetermined offset amount ⁇ to the target position deviation or a value obtained by multiplying the target position deviation by a predetermined weight coefficient ⁇ as the correction amount.
  • FIG. 8 is a diagram in the case where the position command is corrected by a value obtained by adding a predetermined offset amount ⁇ to the target position deviation dk , which is another second configuration example.
  • FIG. 9 is a diagram in the case where the position command is corrected using the value obtained by multiplying the target position deviation dk by the weighting coefficient ⁇ , which is another third configuration example, as the correction amount.
  • the load 80 is at a position beyond the target position at time tk .
  • the correction amount is d k + ⁇ . That is, at the time t k , the position command is corrected by adding d k + ⁇ .
  • the value obtained by adding a predetermined offset amount ⁇ to the target position deviation is the correction amount.
  • the value of ⁇ is set to a predetermined value larger than, for example, d k , the position of the load 80 is corrected only at the time t k , and the position of the load 80 thereafter is within ⁇ 0.5 ⁇ . It is possible not to exceed the target position.
  • the correction amount of the load 80 may be set in this way.
  • the correction amount is ⁇ d k . That is, at the time t k , the position command is corrected by adding ⁇ d k .
  • is a number larger than 0.
  • the value of ⁇ is set to a predetermined value larger than 1, for example, and the position of the load 80 is corrected only at the time tk , and the position of the load 80 thereafter is within ⁇ 0.5 ⁇ and the target. It is possible not to exceed the position.
  • the correction amount of the load 80 may be set in this way.
  • the correction command does not become as large as the amount of misalignment, and even if it converges within the target accuracy, it does not completely match the target position.
  • the position shift remains even after stopping.
  • step S35 of FIG. 4 when it is shown that the target position deviation d k is positioned beyond the target position, it is corrected by d k .
  • the amount is set, and as shown in step S45 of FIG. 4, the correction amount is peak-held so that the corrected value becomes larger than the previously output value.
  • the previous value of the correction amount is set to the previous value as shown in FIG. It may be configured to subtract the d k value.
  • FIG. 10 is a diagram showing a case where the target position deviation dk does not change while showing that the target value has been exceeded even after a lapse of a predetermined time in the present embodiment.
  • FIG. 11 is a diagram in which a new correction amount is set after a predetermined time elapses after the target position deviation d k exceeds the target value, which is another fourth configuration example.
  • the load 80 is at a position beyond the target position at time tk .
  • the correction amount is d k .
  • the position of the load 80 is corrected by adding the position command d k .
  • the load 80 exists at a position that exceeds the target position by d k + 1 .
  • the correction amount at the case time t k-1 is d k .
  • d k + 1 ⁇ d k d k + 2 ⁇ d k and d k + 3 ⁇ d k also at time t k + 2 and time t k + 3 . That is, the state in which the correction amount is dk for a certain period with respect to the load 80 continues. Therefore, as shown in FIG. 11, the correction amount may be changed after a predetermined time tL has elapsed.
  • the target position deviation of the load 80 is dm .
  • d m ⁇ d k and tL tm ⁇ t k .
  • the position of the load 80 is corrected by setting the correction amount to dk ⁇ dm , and the position of the new load 80 is set.
  • the correction amount for the position of the load 80 is dk ⁇ dm . That is, after the time tm , dk ⁇ dm becomes a new correction amount and corrects the position of the load 80.
  • a new correction amount may be determined by the same method as described above.
  • the first to third configuration examples can be applied even when the load 80 is negative and at a position smaller than ⁇ 0.5 ⁇ (that is, outside the range of ⁇ 0.5 ⁇ ) at the time of tk. be.
  • the correction command does not become as large as the amount of misalignment, and even if it converges within the target accuracy, it does not completely match the target position.
  • the position shift remains even after stopping.
  • the amount of misalignment remaining after stopping is reduced, and more accurate positioning is possible.
  • the present disclosure can be widely used in a motor control device for controlling a motor.
  • Positioning system 10 Motor control device 11 Upper controller 30 Correction command generator 31 Processor 32 Memory 40 Correction unit 41 Processor 42 Memory 50 Control unit 51 Inverter 52 Controller 60 Target position deviation calculation unit 61 Camera 62 Calculation unit 63 Processor 64 Memory 66 Lens 67 Solid image sensor 68 Memory 70 Motor 71, 72 Connection part 80 Load 90 Motor position detector 100 Guide 110 Stage 120 Work object 130 View range

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Power Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

負荷を目標位置から所定の範囲内に迅速に位置決めするようにモータを制御するモータ制御装置を提供する。モータ制御装置(10)は、負荷(80)を目標位置に移動させるモータ(70)を制御する。モータ制御装置(10)は、補正指令生成部(30)と、補正部(40)と、制御部(50)と、を備える。補正指令生成部(30)は、負荷(80)の位置と目標位置との差を示す目標位置偏差を取得する。そして目標位置偏差が、負荷(80)が目標位置を超えて位置決めされている旨を示す場合に、その目標位置偏差に基づいて、位置指令を補正する補正指令を生成する。補正部(40)は、補正指令に基づいて位置指令を補正して、補正後位置指令を生成する。制御部(50)は、補正後位置指令と、モータ(70)の位置とに基づいて、モータ(70)を制御する。

Description

モータ制御装置
 本開示は、モータを制御するモータ制御装置に関する。
 従来、負荷を目標位置に到達させるようにモータを制御するモータ制御装置が知られている(例えば、特許文献1参照)。
特開2014-203365号公報
 負荷を目標位置に位置決めする際には、負荷を目標位置から所定の範囲内に迅速に位置決めすることが望まれる。
 そこで、本開示は、負荷を目標位置から所定の範囲内に迅速に位置決めするようにモータを制御することができるモータ制御装置を提供することを目的とする。
 本開示の一態様に係るモータ制御装置は、モータの位置を指令する位置指令に基づいて負荷を目標位置に移動させるモータを制御するモータ制御装置である。当該モータ制御装置は、補正指令生成部と、補正部と、制御部と、を備える。補正指令生成部は、前記負荷の位置と前記目標位置との差を示す目標位置偏差を取得する。そして、前記目標位置偏差が、前記負荷が前記目標位置を超えて位置決めされている旨を示す場合に、当該目標位置偏差に基づいて、前記位置指令を補正する補正指令を生成する。補正部は、前記補正指令に基づいて前記位置指令を補正して、補正後位置指令を生成する。制御部は、前記補正後位置指令と、前記モータの位置とに基づいて、前記モータを制御する。
 上記構成により、負荷を目標位置から所定の範囲内に迅速に移動させるようにモータを制御することができるモータ制御装置が提供される。
図1は、実施の形態に係る位置決めシステムの構成例を示すブロック図である。 図2は、実施の形態に係るモータが負荷を目標位置に位置決めする様子の一例を示す模式図である。 図3Aは、実施の形態に係る負荷が目標位置に位置決めされる様子の一例を示す模式図である。 図3Bは、実施の形態に係る負荷が目標位置とは異なる位置に位置決めされる様子の一例を示す模式図である。 図4は、実施の形態に係る位置ずれ補正処理のフローチャートである。 図5Aは、実施の形態に係る補正指令生成部により出力される補正指令における補正量の時間変化の一例を示す模式図である。 図5Bは、実施の形態に係る負荷が目標位置から所定範囲内に位置決めされる様子の一例を示す模式図である。 図6は、実施の形態において、ある時刻におけるカメラが撮影した画像を示す模式図である。 図7は、実施の形態に係るモータ制御装置によって負荷が目標位置を超えるか否かを示し、超えた場合にどのように負荷が制御されるかを示す図である。 図8は、本開示の一態様に係るモータ制御装置の第二の他の構成例である、目標位置偏差に所定のオフセット量を加算した値でもって位置指令を補正する場合の図である。 図9は、本開示の一態様に係るモータ制御装置の第三の他の構成例である、目標位置偏差に重み係数γを掛けた値を補正量として位置指令を補正する場合の図である。 図10は、本実施形態において目標位置偏差が一定の時間経過して目標値を超えたことを示したまま変化しない場合を示す図である。 図11は、本開示の一態様に係るモータ制御装置の第四の他の構成例である、目標位置偏差が目標値を超えて所定の時間経過した後に新たな補正量を設定する場合の図である。
 (本開示の一態様を得るに至った経緯)
 特許文献1には、目標位置を超えないように負荷を位置決めする制御システムが記載されている。この制御システムにおいて、負荷を位置決めするモータを制御するサーボユニットは、上位コントローラである主制御ユニットからの内部指令に基づいて、モータを制御する。この制御システムは、負荷が目標位置に近づくと、モータによる負荷の位置決め速度を減速させて、負荷の撮像と撮像画像の画像処理とを繰り返し行い、画像処理を行う毎にその結果を内部指令にフィードバックすることで、目標位置を超えないように負荷を位置決めする。
 一方で、負荷を位置決めする制御システムにおいて、負荷を目標位置から所定の範囲内に位置決めすることができれば、必ずしも、目標位置を超えないように負荷を位置決めする必要がない。このようなシステムにおいて、負荷を迅速に位置決めすることが望まれる。
 そこで、発明者らは、負荷を目標位置から所定の範囲内に迅速に位置決めするようにモータを制御することができるモータ制御装置について、鋭意、検討、実験を行った。その結果、発明者らは、下記モータ制御装置に想到した。
 本開示の一態様に係るモータ制御装置は、モータの位置を指令する位置指令に基づいて負荷を目標位置に位置決めするモータを制御するモータ制御装置である。当該モータ制御装置は、前記負荷の位置と前記目標位置との差を示す目標位置偏差を取得する。そして、前記目標位置偏差が、前記負荷が前記目標位置を超えて位置決めされている旨を示す場合に、当該目標位置偏差に基づいて、前記位置指令を補正する補正指令を生成する。補正部は、前記補正指令に基づいて前記位置指令を補正して、補正後位置指令を生成する。制御部は、前記補正後位置指令と、前記モータの位置とに基づいて、前記モータを制御する。
 上記構成のモータ制御装置は、目標位置偏差を取得し、取得した目標位置偏差に基づいて、位置指令を補正する。このため、上記構成のモータ制御装置によると、モータ駆動装置に位置指令を出力する上位コントローラ側に、負荷の位置に係る情報をフィードバックさせる必要がない。従って、上記構成のモータ制御装置によると、負荷を目標位置から所定の範囲内に迅速に位置決めするようにモータを制御することができる。さらに、上記構成のモータ制御装置によると、負荷が目標位置に近づいたとしても、必ずしも、負荷の位置決め速度を減速させる必要はない。従って、上記構成のモータ制御装置によると、負荷を目標位置から所定の範囲内にさらに迅速に位置決めするようにモータを制御することができる。
 また、前記補正指令生成部は、前記位置指令により指令される指令位置から前記目標位置偏差だけずらした補正指令位置を指令するように前記位置指令を補正する前記補正指令を生成するとしてもよい。
 これにより、補正指令位置を、指令位置から目標位置偏差だけずらした位置とすることができる。
 また、前記補正部は、前記補正指令による補正量の絶対値が、前記補正指令生成部から前回入力された補正指令による補正量の絶対値よりも小さいか、または等しい場合、前記補正指令生成部から前回入力された補正指令を更新しないとしてもよい。
 また、前記補正指令生成部は、前記目標位置偏差に所定のオフセット量を加えた値、又は前記目標位置偏差に所定の重み係数を掛けた値を補正量とするとしてもよい。
 また、前記負荷が前記目標位置を超えたことを前記目標位置偏差が示したまま所定時間を経過しても変化しない場合、前記補正指令生成部は前回出力した補正指令の補正量に、その後入力した目標位置偏差を減算して、次回の補正指令の補正量とするとしてもよい。
 さらに、前記目標位置偏差を算出する目標位置偏差算出部を備え、前記目標位置偏差算出部は、前記モータにより前記負荷とともに位置決めされ、画像を撮像するカメラと、前記カメラにより撮像された画像に基づいて、当該画像に前記目標位置が含まれている場合に、前記目標位置偏差を算出する算出部と、を含むとしてもよい。
 これにより、外部から目標位置偏差を取得することなく、モータを制御することができる。
 以下、本開示の一態様に係るモータ制御装置の具体例について、図面を参照しながら説明する。ここで示す実施の形態は、本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、構成要素、構成要素の配置および接続形態、ならびに、ステップ(工程)およびステップの順序等は、一例であって本開示を限定する趣旨ではない。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
 なお、本開示の包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 (実施の形態)
 <構成>
 図1は、実施の形態に係る位置決めシステム1の構成例を示すブロック図である。
 図1に示すように、位置決めシステム1は、モータ制御装置10と、モータ70と、負荷80と、モータ位置検出部90と、接続部71と、接続部72とを備える。
 モータ70は、モータ制御装置10により制御され、負荷80を目標位置に移動させる。
 負荷80は、接続部71によりモータ70に接続され、モータ70により移動される。
 図2は、モータ70が負荷80を目標位置に移動させる様子の一例を示す模式図である。図2は、搬送装置の一例を示す図である。
 図2に示すように、モータ70は、例えば、ガイド100に沿って移動可能なリニアモータである。以下では、モータ70は、リニアモータであるとして説明するが、負荷80を目標位置に移動させることができるモータであれば、必ずしも、リニアモータの例に限定される必要はなく、例えば、回転モータや回転モータとボールねじ等の駆動機構を組み合わせた直動機構であってもよい。
 図2に示すように、負荷80は、例えば、ステージ110上の所定の場所に載置されるべき作業物120を把持可能なアームを有し、例えば、モータ70により目標位置に位置決めされた場合に、その位置で把持する作業物120を放すことで、作業物120をステージ110上の所定の場所に載置する。
 再び図1に戻り、位置決めシステム1の説明を続ける。
 モータ位置検出部90は、モータ70の位置を検出し、検出したモータ70の位置をモータ制御装置10に出力する。モータ位置検出部90は、例えば、モータ70がリニアモータである場合には、リニアスケールであってよい。また、モータ位置検出部90は、例えば、モータ70が回転モータである場合には、エンコーダであってよい。例えば、モータ70がリニアモータである場合には、モータ70の位置は、可動子の位置であってよい。また、例えば、モータ70が回転モータである場合には、モータ70の位置は、回転子の角度であってよい。
 モータ制御装置10は、モータ70の位置を指令する位置指令に基づいて、モータ70を制御する。位置指令は、例えば、モータ制御装置10と通信線などで接続された上位コントローラ11から出力される。
 図1に示すように、モータ制御装置10は、補正指令生成部30と、補正部40と、制御部50と、目標位置偏差算出部60とを備える。
 目標位置偏差算出部60は、負荷80の位置と目標位置との差を示す目標位置偏差を算出する。図1に示すように、目標位置偏差算出部60は、カメラ61と、算出部62とを含んで構成される。
 カメラ61は、モータ70により負荷80と共に移動し、1以上の時刻それぞれにおいて画像を撮像する。すなわち、カメラ61は撮像装置である。カメラ61は、例えば、光を集光するレンズ66と、レンズにより集光された光を電気信号に変換する固体撮像素子67と、固体撮像素子により変換された電気信号を記憶するメモリ68とを含んで構成されるとしてもよい。
 図2に示すように、カメラ61は、例えば、接続部72により負荷80に接続され、視野範囲130の領域の画像を撮像する。カメラ61は、視野範囲130内に目標位置が含まれる位置に存在する場合には、目標位置を含む画像を撮像する。図2において、目標位置偏差算出部60は1つのカメラ61を備えているが、カメラ61を複数備える構成としてもよい。
 再び図1に戻り、位置決めシステム1の説明を続ける。
 算出部62は、カメラ61により撮像された画像それぞれに基づいて、対象とする画像に目標位置が含まれている場合に、その画像に対応する目標位置偏差を算出する。算出部62は、例えば、プロセッサ63とメモリ64とを含んで構成され、プロセッサ63がメモリ64に記憶されるプログラムを実行することで、その機能が実現されるとしてもよい。
 算出部62は、例えば、カメラ61により撮像された画像に対して画像処理を行うことで、画像に目標位置が含まれているか否かを判定する。そして、算出部62は、画像に目標位置が含まれていると判定する場合には、例えば、さらなる画像処理を行い、目標位置偏差を算出する。
 補正指令生成部30は、目標位置偏差算出部60により算出された目標位置偏差を取得する。そして、補正指令生成部30は、取得した目標位置偏差が、負荷80が目標位置を超えて位置決めされている旨を示す場合に、その目標位置偏差に基づいて、位置指令を補正する補正指令を生成する。補正指令生成部30は、例えば、プロセッサ31とメモリ32とを含んで構成され、プロセッサ31がメモリ32に記憶されるプログラムを実行することで、その機能が実現されるとしてもよい。
 補正指令生成部30は、例えば、位置指令により指令される指令位置から目標位置偏差だけずらした補正指令位置を指令するように位置指令を補正する補正指令を生成する。
 補正部40は、位置指令を取得し、補正指令生成部30により生成された補正指令に基づいて、取得した位置指令を補正して、補正後位置指令を生成する。補正部40は、例えば、プロセッサ41とメモリ42とを含んで構成され、プロセッサ41がメモリ42に記憶されるプログラムを実行することで、その機能が実現されるとしてもよい。
 制御部50は、補正部40により生成された補正後位置指令と、モータ位置検出部90により出力されたモータ70の位置とに基づいて、モータ70を制御する。制御部50は、例えば、モータに推力を発生させる三相交流を生成するインバータ51と、インバータ51をPWM(Pulse Width Modulation)制御するコントローラ52とを含んで構成され、コントローラ52が、補正後位置指令とモータ70の位置とに基づいて、インバータ51をPWM制御することで、その機能が実現されるとしてもよい。
 <動作>
 以下、上記構成の位置決めシステム1の動作について説明する。
 位置決めシステム1において、位置指令により指令される指令位置は、位置決めシステム1が理想的な状態である場合において、モータ70がその指令位置に移動することで、負荷80が目標位置に位置決めされる位置である。
 しかしながら、実際には、位置決めシステム1を構成する部材の変形、熱膨張等の影響により、モータ70が指令位置に移動しても、負荷80が目標位置とは異なる位置に位置決めされてしまうことがある。すなわち、モータ70が指令位置に移動することで位置決めされる負荷80の実際の位置と、目標位置とにずれ(以下、このずれのことを、「目標位置ずれ」とも称する。)が生じることがある。
 図3Aは、制御部50が、仮に、補正部40により補正された補正後位置指令ではなく、補正部40により補正される前の位置指令に基づいてモータ70を制御すると仮定した場合において、目標位置ずれが生じていないときに、モータ70が指令位置に移動することで、負荷80が目標位置に位置決めされる様子の一例を示す模式図である。図3Aにおいて、横軸は、経過時間であり、縦軸は、目標位置偏差である。
 図3Aに示すように、目標位置ずれが生じていないときには、位置指令を補正しなくても、負荷80は、目標位置に位置決めされる。
 これに対して、図3Bは、制御部50が、仮に、補正部40により補正された補正後位置指令ではなく、補正部40により補正される前の位置指令に基づいてモータ70を制御すると仮定した場合において、目標位置ずれが生じているときに、モータ70が指令位置に移動することで、負荷80が目標位置とは異なる位置に位置決めされる様子の一例を示す模式図である。図3Bにおいて、横軸は、経過時間であり、縦軸は、目標位置偏差である。
 図3Bに示すように、目標位置ずれが生じているときには、位置指令を補正しなければ、負荷80は、例えば、目標位置から所定範囲ε内を超えた位置に位置決めされることになる。
 位置決めシステム1は、モータ制御装置10が位置ずれ補正処理を行うことで、位置指令を補正しなければ、負荷80が、目標位置から所定範囲を超えた位置に位置決めされてしまう目標位置ずれ(以下、「位置決め超過目標位置ずれ」とも称する)が生じているときでも、負荷80を目標位置から所定の範囲内に位置決めすることができる。
 以下、モータ制御装置10が行う位置ずれ補正処理について、図面を参照しながら説明する。
 図4は、補正部40で行われる位置ずれ補正処理のフローチャートである。位置ずれ補正処理は、負荷80が目標位置から所定範囲を超えた位置に位置決めされてしまわないように位置指令を補正して、補正した位置指令に基づいてモータ70を制御する処理である。位置ずれ補正処理は、例えば、算出部62が、カメラ61により撮像された画像に目標位置が含まれていると判定することで開始されてもよいし、例えば、位置決めシステム1を利用するユーザから、モータ制御装置10に対して、位置ずれ補正処理を開始する旨の操作がなされることで開始されてもよい。図6は、時刻tにおいてカメラ61により撮像された画像Iを示す模式図である。なお、図6において、丸印は負荷80の位置、×印は目標位置を示し、矢印はカメラ61の動く方向を示す。カメラ61の動く方向と、負荷80の動く方向は同じである。図7は、本開示のモータ制御装置10によって負荷80が目標位置を超えるか否かを示し、超えた場合にどのように負荷80が制御されるかを示す図である。
 図4において、位置ずれ補正処理が開始されると、モータ制御装置10は、0以上の整数値を取り得る整数型変数kに初期値0を代入する(ステップS5)。
 整数型変数kに初期値0が代入されると、カメラ61は、画像Iを撮像する(ステップS10)。
 画像Iが撮像されると、算出部62は、画像Iに対して画像処理を行い、画像Iに目標位置が含まれているか否かを判定する(ステップS15)。
 ステップS15の処理において、画像Iに目標位置が含まれていると判定された場合に(ステップS15:Yes)、算出部62は、画像Iに対してさらなる画像処理を行い、目標位置偏差dを算出する(ステップS20)。
 目標位置偏差dが算出されると、モータ制御装置10は、整数型変数kに代入されている値が0よりも大きいか否かを調べる(ステップS25)。
 ステップS25の処理において、整数型変数kに代入されている値が0よりも大きい場合に(ステップS25:Yes)、補正指令生成部30は、算出部62により算出された目標位置偏差dが、負荷80が目標位置を超えている旨を示すか否かを判定する(ステップS35)。ステップS35の処理において、算出された目標位置偏差dが、負荷80が目標位置を超えていない旨を示す場合(ステップS35:No)、位置指令について補正をしない。算出された目標位置偏差dが、負荷80が目標位置を超えて移動している旨を示す場合(ステップS35:Yes)、位置指令について補正をする。図7においては、時刻tk-1では負荷80が正の位置にあって目標位置を超えていないので、時刻tk-1においては位置指令について補正をしない。一方、図7においてtの時点では負荷80が負の位置にあって目標位置を超えているので、時刻tにおいては位置指令について補正をする。なお、時刻tにおいて負荷80が目標位置を超えている場合、負荷80の位置は(-d)となる。すなわち、目標位置偏差dは0または正の値をとる。なお、図7において、tFは負荷80の位置変化がほぼ0となる時刻を表す。また、図7においてΣ(t,x)は、図3Aまたは図3Bに示す曲線を表す関数すなわち負荷80を制御する位置指令を表す関数である。tは時刻、xは負荷80の位置で、目標位置をx=0としている。図7において「0」は負荷80の目標位置である。図7において、εは所定の範囲の大きさを表す。x=0を中心として±0.5εが所定の範囲である。時刻tFにおいて負荷80が所定の範囲内に入っていれば、負荷80の移動は終了となる。なお、上記目標位置偏差d、時刻tF、所定の範囲の大きさε、Σ(t,x)の意味は、図8~図11においても同じである。
 図4に戻り、ステップS35の処理において、算出部62により算出された目標位置偏差dが、負荷80が目標位置を超えて位置決めされている旨を示す場合に(ステップS35:Yes)、補正指令生成部30は、位置指令により指令される指令位置から目標位置偏差dだけ正の方向にずらした補正指令位置を指令するように位置指令を補正する補正指令を生成する(ステップS40)。そして、補正指令生成部30は、新たに生成した補正指令における補正量(ここでは、目標位置偏差d)の絶対値の方が、前回出力した補正指令における補正量の絶対値よりも大きいか否かを判定する(ステップS45)。
 ステップS45の処理において、新たに生成した補正指令における補正量の絶対値の方が、前回出力した補正指令における補正量の絶対値よりも大きい場合には(ステップS45:Yes、図7参照)、補正指令生成部30は、新たに生成した補正指令で前回出力した補正指令を更新し(ステップS50)、更新した補正指令を出力する。なお、図7においては、d<dk+1であり、tk+1において補正量はdからdk+1へ更新される。
 ステップS45の処理において、新たに生成した補正指令における補正量の絶対値の方が、前回出力した補正指令における補正量の絶対値よりも小さい、または等しい場合には(ステップS45:No)、補正指令生成部30は、新たに生成した補正指令で前回出力した補正指令を更新せずに(ステップS55)、前回出力した補正指令を出力する。図7においては、dk+2<dk+1であるので、tk+2において補正量はdk+1である。
 ステップS50の処理が終了すると、又は、ステップS55の処理が終了すると、補正部40は、補正指令生成部30から出力された補正指令で位置指令を補正して(ステップS60)、補正後位置指令を出力する。
 ステップS15の処理において、画像Iに目標位置が含まれていると判定されなかった場合と(ステップS15:No)、ステップS25の処理において、整数型変数kに代入されている値が0よりも大きいと判定されなかった場合と(ステップS25:No)、ステップS35の処理において、算出された目標位置偏差dが、負荷80が目標位置を超えて位置決めされている旨を示さない場合と(ステップS35:No)、ステップS60の処理が終了した場合とに、モータ制御装置10は、整数型変数kにk+1を代入して(ステップS75)、ステップS10の処理に進む。
 なお、位置ずれ補正処理の完了後に、位置ずれ補正処理の開始の動作指令が入力される場合、整数型変数kは0にリセットされる。
 以下、位置決めシステム1において、図3Bに例示される位置決め超過目標位置ずれが生じている場合において、モータ制御装置10が、上記位置ずれ補正処理を行うときの、モータ制御装置10の振る舞いの一具体例について図面を参照しながら説明する。
 図5Aは、位置決めシステム1に、図3Bに例示される位置決め超過目標位置ずれが生じている場合において、モータ制御装置10が、上記位置ずれ補正処理を行うときに、補正指令生成部30により出力される補正指令における補正量の時間変化の一例を示す模式図である。図5Aにおいて、横軸は、経過時間であり、縦軸は、補正量である。
 図5Bは、位置決めシステム1に、図3Bに例示される位置決め超過目標位置ずれが生じている場合において、モータ制御装置10が、上記位置ずれ補正処理を行うことで、負荷80が目標位置から所定の範囲内に位置決めされる様子の一例を示す模式図である。図5Bにおいて、横軸は、経過時間であり、縦軸は、目標位置偏差である。
 図3Bに示すように、経過時間が時刻Aを過ぎたころに、負荷80の位置が0を下回ると、すなわち、目標位置偏差が、負荷80が目標位置を超えて位置決めされている旨を示すようになると、補正指令生成部30は、図5Aに示すように、補正量が目標位置偏差となる補正指令の生成を開始する。そして、補正指令生成部30は、補正値の絶対値の最大値がキープされるように補正指令を更新して出力する。制御部50は、補正値の絶対値の最大値がキープされた補正指令により補正された補正後位置指令により指令される位置に移動するようにモータ70を制御する。このため、負荷80は、図5Bに示すように、目標位置から所定の範囲ε内に位置決めされる。
 なお、時刻tが時刻tFを超えたとき、図4のフローチャートに示す位置ずれ補正処理を終了させる。
 <考察>
 上述したように、モータ制御装置10は、目標位置偏差を算出し、算出した目標位置偏差に基づいて、位置指令を補正する。このため、モータ制御装置10に位置指令を出力する上位コントローラ側に、負荷80に係る情報をフィードバックさせる必要がない。従って、モータ制御装置10によると、負荷80を目標位置から所定の範囲内に迅速に位置決めするようにモータを制御することができる。さらに、モータ制御装置10によると、負荷80が目標位置に近づいたとしても、必ずしも、負荷80の位置決め速度を減速させる必要はない。従って、モータ制御装置10によると、負荷80を目標位置から所定の範囲内にさらに迅速に位置決めするようにモータを制御することができる。なお、上記実施の形態は、tの時点において負荷80が負かつ-0.5εより小さい位置(すなわち±0.5εの範囲外)にある場合にも適用可能である。
 (補足)
 以上、本開示の一態様に係るモータ制御装置について、実施の形態に基づいて説明したが、本開示は、実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の1つ又は複数の態様の範囲内に含まれてもよい。以下、本開示の一態様に係るモータ制御装置の他の構成例について説明する。
 (1)第一の他の構成例
 実施の形態において、モータ制御装置10は、その内部に、目標位置偏差を算出する目標位置偏差算出部60を備え、補正指令生成部30が、目標位置偏差算出部60により算出された目標位置偏差を取得するとして説明した。
 これに対して、他の構成例として、モータ制御装置10は、目標位置偏差算出部60を備えずに、補正指令生成部30が、モータ制御装置10の外部装置から、目標位置偏差を取得するとしてもよい。
 (2)第二の他の構成例および第三の他の構成例
 実施の形態において、図4のステップS35に示す通り、目標位置偏差dが目標位置を超えて位置決めされる旨を示す場合に、dの分だけ補正量とし、かつ、図4のステップS45に示す通り、補正した値が前回出力した値よりも絶対値が大きくなるよう、補正量をピークホールドする構成とした。しかし、補正量をピークホールドする構成以外に、図8に示すようにdに所定のオフセット量βを加えた構成、もしくは図9に示すようにdに重み係数γを掛けた値を補正量としてもよい。すなわち、補正指令生成部は、目標位置偏差に所定のオフセット量βを加えた値、又は目標位置偏差に所定の重み係数γを掛けた値を補正量としてもよい。図8は、第二の他の構成例である、目標位置偏差dに所定のオフセット量βを加算した値でもって位置指令を補正する場合の図である。また、図9は、第三の他の構成例である、目標位置偏差dに重み係数γを掛けた値を補正量として位置指令を補正する場合の図である。第二の他の構成例および第三の他の構成例のいずれの場合でも、時刻tにおいて負荷80が目標位置を超えた位置にあるとする。
 図8において、時刻tの時点で負荷80は目標位置を超えた位置にあるので、補正量はd+βとなる。すなわち、時刻tの時点において位置指令はd+βを加算されて補正されることになる。なお、図8において負荷80が目標位置を超えた位置にある場合、目標位置偏差に対し所定のオフセット量βが加算された値が補正量となる。
 なお、図8においてβの値として例えばdより大きな所定の値に設定して時刻tの時のみ負荷80の位置を補正し、その後の負荷80の位置を±0.5ε以内の範囲かつ目標位置を超えないようにすることは可能である。このようにして負荷80の補正量を設定してもよい。
 図9において、時刻tの時点で負荷80は目標位置を超えた位置にあるので、補正量はγdとなる。すなわち、時刻tの時点において位置指令はγdを加算されて補正されることになる。なお、γは0よりも大きな数である。なお、図9において負荷80が目標位置を超えた位置にある場合、目標位置偏差に重み係数γを掛けた値が補正量となる。
 なお、図9においてγの値として例えば1より大きな所定の値に設定して時刻tの時のみ負荷80の位置を補正し、その後の負荷80の位置を±0.5ε以内の範囲かつ目標位置を超えないようにすることは可能である。このようにして負荷80の補正量を設定してもよい。
 図4のステップS35とステップS45に示す構成により、実施の形態に示す処理では、補正指令が位置ずれ量ほど大きくならず、目標精度内には収束しても目標位置と完全には一致せず、停止後も位置ずれが残る問題が生じる。図8または図9に示す構成をとることで、停止後に残る位置ずれ量が小さくなり、より精度良い位置決めが可能となる。
 (3)第四の他の構成例
 実施の形態において、図4のステップS35に示す通り、目標位置偏差dが目標位置を超えて位置決めされる旨を示す場合に、dの分だけ補正量とし、かつ、図4のステップS45に示す通り、補正した値が前回出力した値よりも絶対値が大きくなるよう、補正量をピークホールドする構成とした。この構成に限らず、図10に示すようにdが所定時間経過しても目標値を超えたことを示したまま変化しない場合、図11に示すように補正量の前回値に、今回のd値を減算する構成としても良い。すなわち、負荷が目標位置を超えたことを目標位置偏差が示したまま所定時間を経過しても変化しない場合、補正指令生成部は出力した補正指令の補正量に、その後入力した目標位置偏差を減算して、次回の補正指令の補正量としてもよい。図10は、本実施形態において目標位置偏差dが所定時間経過しても目標値を超えたことを示したまま変化しない場合を示す図である。図11は、第四の他の構成例である、目標位置偏差dが目標値を超えて所定の時間経過した後に新たな補正量を設定する場合の図である。なお、図10および図11において、時刻tにて負荷80が目標位置を超えた位置にあるとする。
 図10において、時刻tの時点で負荷80は目標位置を超えた位置にあるので、補正量はdとなる。このとき、負荷80の位置は、は位置指令dが加算されて補正される。次に、時刻tk+1の時点において負荷80は目標位置よりdk+1だけ超えた位置に存在することになる。ここで、dk+1<dとなる場合、場合時刻tk-1での補正量はdとなる。dk+1<dとなる場合、時刻tk+2、時刻tk+3においてもdk+2<d、dk+3<dとなる。すなわち、負荷80に対し一定の期間補正量がdである状態が続くことになる。そこで、図11に示すように、所定の時間tL経過した後に補正量を変更するようにしてもよい。
 図11において、時刻tより所定の時間tL経過後、時刻t(mは整数、m>k)において負荷80が目標位置を超えた位置にある場合、負荷80の目標位置偏差はdである。なお、d<dであり、tL=t-tである。このとき、負荷80に対し補正量をd-dとして位置補正を行い、新たな負荷80の位置とする。時刻t以降においては、負荷80の位置に対する補正量はd-dとなる。すなわち、時刻t以降においてd-dが新たな補正量となって負荷80の位置を補正する。
 なお、時刻tより所定の時間tLが経過すれば、上記と同様の方法にて新たな補正量を決めてもよい。
 なお、上記第1~第3の構成例は、tの時点において負荷80が負かつ-0.5εより小さい位置(すなわち±0.5εの範囲外)の位置にある場合にも適用可能である。
 図4のステップS35とステップS45に示す構成により、実施の形態に示す処理では、補正指令が位置ずれ量ほど大きくならず、目標精度内には収束しても目標位置と完全には一致せず、停止後も位置ずれが残る問題が生じる。図11に示す構成をとることで、停止後に残る位置ずれ量が小さくなり、より精度良い位置決めが可能となる。
 本開示は、モータを制御するモータ制御装置に広く利用可能である。
 1 位置決めシステム
 10 モータ制御装置
 11 上位コントローラ
 30 補正指令生成部
 31 プロセッサ
 32 メモリ
 40 補正部
 41 プロセッサ
 42 メモリ
 50 制御部
 51 インバータ
 52 コントローラ
 60 目標位置偏差算出部
 61 カメラ
 62 算出部
 63 プロセッサ
 64 メモリ
 66 レンズ
 67 固体撮像素子
 68 メモリ
 70 モータ
 71、72 接続部
 80 負荷
 90 モータ位置検出部
 100 ガイド
 110 ステージ
 120 作業物
 130 視野範囲

Claims (6)

  1.  モータの位置を指令する位置指令に基づいて負荷を目標位置に移動させるモータを制御するモータ制御装置であって、
     前記負荷の位置と前記目標位置との差を示す目標位置偏差を取得し、前記目標位置偏差が、前記負荷が前記目標位置を超えて移動している旨を示す場合に、当該目標位置偏差に基づいて、前記位置指令を補正する補正指令を生成する補正指令生成部と、
     前記補正指令に基づいて前記位置指令を補正して、補正後位置指令を生成する補正部と、
     前記補正後位置指令と、前記モータの位置とに基づいて、前記モータを制御する制御部と
     を備えるモータ制御装置。
  2.  前記補正指令生成部は、前記位置指令により指令される指令位置から前記目標位置偏差だけずらした補正指令位置を指令するように前記位置指令を補正する前記補正指令を生成する
     請求項1に記載のモータ制御装置。
  3.  前記補正部は、前記補正指令による補正量の絶対値が、前記補正指令生成部から前回入力された補正指令による補正量の絶対値よりも小さいか、または等しい場合、前記補正指令生成部から前回入力された補正指令を更新しない
     請求項2に記載のモータ制御装置。
  4.  前記補正指令生成部は、前記目標位置偏差に所定のオフセット量を加えた値、又は前記目標位置偏差に所定の重み係数を掛けた値を補正量とする
     請求項2に記載のモータ制御装置。
  5.  前記負荷が前記目標位置を超えたことを前記目標位置偏差が示したまま所定時間を経過しても変化しない場合、前記補正指令生成部は前回出力した補正指令の補正量に、その後入力した目標位置偏差を減算して、次回の補正指令の補正量とする
     請求項2に記載のモータ制御装置。
  6.  さらに、前記目標位置偏差を算出する目標位置偏差算出部を備え、
     前記目標位置偏差算出部は、
     前記モータにより前記負荷とともに位置決めされ、画像を撮像するカメラと、
     前記カメラにより撮像された画像に基づいて、当該画像に前記目標位置が含まれている場合に、前記目標位置偏差を算出する算出部と、を含む
     請求項1から請求項5のいずれか1項に記載のモータ制御装置。
PCT/JP2021/045123 2020-12-24 2021-12-08 モータ制御装置 WO2022138167A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21910316.5A EP4270774A4 (en) 2020-12-24 2021-12-08 ENGINE CONTROL DEVICE
JP2022572108A JPWO2022138167A1 (ja) 2020-12-24 2021-12-08
US18/249,733 US20240007042A1 (en) 2020-12-24 2021-12-08 Motor control device
CN202180086838.5A CN116686210A (zh) 2020-12-24 2021-12-08 马达控制装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020214499 2020-12-24
JP2020-214499 2020-12-24

Publications (1)

Publication Number Publication Date
WO2022138167A1 true WO2022138167A1 (ja) 2022-06-30

Family

ID=82157735

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/045123 WO2022138167A1 (ja) 2020-12-24 2021-12-08 モータ制御装置

Country Status (5)

Country Link
US (1) US20240007042A1 (ja)
EP (1) EP4270774A4 (ja)
JP (1) JPWO2022138167A1 (ja)
CN (1) CN116686210A (ja)
WO (1) WO2022138167A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0875893A (ja) * 1994-06-30 1996-03-22 Hitachi Ltd 原子燃料体の自動交換装置
JP2010131270A (ja) * 2008-12-05 2010-06-17 Mitsubishi Heavy Ind Ltd 治療用放射線照射装置動作制御装置および治療用放射線照射装置動作制御方法
JP2014203365A (ja) 2013-04-08 2014-10-27 オムロン株式会社 制御システムおよび制御方法
WO2019159742A1 (ja) * 2018-02-13 2019-08-22 東京エレクトロン株式会社 基板処理装置、基板処理方法及び記憶媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2305594B1 (en) * 2008-07-23 2015-04-08 Daifuku Co., Ltd. Learning device and learning method in article conveyance facility

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0875893A (ja) * 1994-06-30 1996-03-22 Hitachi Ltd 原子燃料体の自動交換装置
JP2010131270A (ja) * 2008-12-05 2010-06-17 Mitsubishi Heavy Ind Ltd 治療用放射線照射装置動作制御装置および治療用放射線照射装置動作制御方法
JP2014203365A (ja) 2013-04-08 2014-10-27 オムロン株式会社 制御システムおよび制御方法
WO2019159742A1 (ja) * 2018-02-13 2019-08-22 東京エレクトロン株式会社 基板処理装置、基板処理方法及び記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4270774A4

Also Published As

Publication number Publication date
EP4270774A1 (en) 2023-11-01
JPWO2022138167A1 (ja) 2022-06-30
CN116686210A (zh) 2023-09-01
EP4270774A4 (en) 2024-05-08
US20240007042A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
JP6836571B2 (ja) ロボット装置
KR920010102B1 (ko) 서보모터용 제어장치
EP1505463A2 (en) Position control device and position control method for machine tools
JP5269143B2 (ja) 像ブレ補正装置及びその制御方法及び撮像装置
JP2004288164A (ja) 同期制御装置
US11175647B2 (en) Motor controller
CN109421049B (zh) 机器人系统
CN110303474B (zh) 使用图像处理修正机器人的示教的机器人系统
JPWO2016056142A1 (ja) 電動機制御装置
CN110581945B (zh) 控制系统、控制装置、图像处理装置以及存储介质
WO2022138167A1 (ja) モータ制御装置
WO2022138166A1 (ja) モータ制御装置
JP2011164228A (ja) 撮像装置及びその制御方法
JP3981778B2 (ja) 撮像装置を用いた機械装置のビジュアルフィードバック方法およびその機械装置
US20240235449A9 (en) Motor control device
JPWO2022138167A5 (ja)
JP6594600B1 (ja) モータ駆動制御装置、連結制御システム、およびモータ駆動制御方法
WO2017098568A1 (ja) 撮像装置
WO2020144776A1 (ja) 制御装置および制御方法
JP7003454B2 (ja) 制御装置、位置制御システム、位置制御方法、および、位置制御プログラム
JPWO2022138166A5 (ja)
JP6580476B2 (ja) 撮像装置
US20220134570A1 (en) Control device and alignment device
WO2021124603A1 (ja) モータ制御装置、モータ制御方法
US20170184809A1 (en) Lens apparatus and image pickup apparatus including the same

Legal Events

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

Ref document number: 21910316

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18249733

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2022572108

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202180086838.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021910316

Country of ref document: EP

Effective date: 20230724