WO2022176247A1 - 制御システムおよび制御方法 - Google Patents

制御システムおよび制御方法 Download PDF

Info

Publication number
WO2022176247A1
WO2022176247A1 PCT/JP2021/034474 JP2021034474W WO2022176247A1 WO 2022176247 A1 WO2022176247 A1 WO 2022176247A1 JP 2021034474 W JP2021034474 W JP 2021034474W WO 2022176247 A1 WO2022176247 A1 WO 2022176247A1
Authority
WO
WIPO (PCT)
Prior art keywords
frequency component
control
command
unit
positional deviation
Prior art date
Application number
PCT/JP2021/034474
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
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP21926676.4A priority Critical patent/EP4295988A1/en
Priority to US18/274,929 priority patent/US20240103495A1/en
Priority to CN202180091769.7A priority patent/CN116745708A/zh
Publication of WO2022176247A1 publication Critical patent/WO2022176247A1/ja

Links

Images

Classifications

    • 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/08Devices involving relative movement between laser beam and workpiece
    • B23K26/082Scanning systems, i.e. devices involving movement of the laser beam relative to the laser head
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/08Devices involving relative movement between laser beam and workpiece
    • B23K26/083Devices involving movement of the workpiece in at least one axial direction
    • B23K26/0853Devices involving movement of the workpiece in at least in two axial directions, e.g. in a plane
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/36Removing material
    • B23K26/38Removing material by boring or cutting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33099Computer numerical control [CNC]; Software control [SWC]

Definitions

  • the present disclosure relates to control systems, and more particularly to feedback techniques for control system commands.
  • CNC Computer Numerical Control
  • Patent Document 1 discloses a servo control device.
  • the servo control device includes a "command section that issues a command signal to the controlled object, a phase detection section that obtains phase information related to the motion state of the controlled object, and a phase comparison that obtains a phase difference signal by phase comparison between the signals of these two.
  • a comb filter is connected in series to the controlled object, and a comb filter is provided under a constant speed control command.
  • phase error correction information obtained when the ripple component of the output disappears is stored in the storage unit in synchronization with the signal from the phase detection unit.
  • the comb filter is removed and the correction information is stored
  • Information is read out from the storage unit in synchronization with the signal from the phase detection unit, and the output signal of the phase comparison unit or the phase detection signal from the phase detection unit is corrected based on the information. (See [Summary]).
  • the present disclosure has been made in view of the background as described above, and an object in one aspect is a technique for applying feedback to a command to the next actuator based on the actual drive amount of the actuator. is to provide
  • a control system includes a memory storing a program for generating a command relating to the work position, a control section for executing the program, a first output section for outputting a drive signal to the first drive section, a second a second output section for outputting another drive signal to the drive section; and a measurement section for measuring the drive amount of the first drive section.
  • the control section extracts the low frequency component contained in the command, transmits the low frequency component to the first output section, and extracts the high frequency component contained in the command based on the signal indicating the driving amount of the first driving section. correct and transmit the high frequency components to the second driver.
  • the high frequency component included in the command can be corrected based on the signal indicating the drive amount of the first drive unit.
  • control system further includes a first drive and a second drive.
  • the first drive section can be driven based on the low frequency component included in the command
  • the second drive section can be driven based on the high frequency component included in the command
  • correcting the high-frequency component included in the command includes adding the positional deviation of the first driving unit to the low-frequency component based on the signal, and adding the low-frequency component after addition processing from the command. and subtracting the
  • the high frequency component can be corrected based on the positional deviation of the first drive unit.
  • the controller further adjusts the positional deviation by PID (Proportional-Integral-Differential) control.
  • the controller further limits the position deviation.
  • the controller further changes the separation ratio of the low frequency component and the high frequency component based on the positional deviation.
  • changing the separation ratio of the low-frequency component and the high-frequency component based on the positional deviation includes repeating changing the separation ratio, comparing the positional deviation for each separation ratio, and selecting a separation ratio with a small positional deviation.
  • a control method includes the steps of generating a command relating to the work position, extracting a low frequency component included in the command, driving a first drive unit of the equipment based on the low frequency component, and performing a first A step of correcting the high frequency component included in the command based on the signal indicating the drive amount of the driving unit, and a step of driving the second driving unit of the device based on the high frequency component.
  • the high frequency component included in the command can be corrected based on the signal indicating the drive amount of the first drive unit.
  • the step of correcting the high frequency component included in the command includes the step of adding the positional deviation of the first driving unit to the low frequency component based on the signal, and subtracting .
  • the high frequency component can be corrected based on the positional deviation of the first drive unit.
  • control method further includes a step of adjusting the positional deviation by PID control.
  • control method further includes limiting the position deviation.
  • control method further includes changing the separation ratio of the low frequency component and the high frequency component based on the positional deviation.
  • the step of changing the separation ratio of the low-frequency component and the high-frequency component based on the positional deviation includes: repeating changing the separation ratio; comparing the positional deviation for each separation ratio; Selecting a separation ratio with a small positional deviation.
  • feedback can be applied to the next command to the actuator based on the actual drive amount of the actuator.
  • FIG. 1 is a schematic diagram showing a configuration example of a control system 1 according to an embodiment
  • FIG. 1 is a schematic diagram showing a main hardware configuration example of a control system 1 according to an embodiment
  • FIG. 1 is a first schematic diagram showing a main software configuration example of a control system 1 according to an embodiment
  • FIG. 3 is a schematic diagram showing a configuration example around an XY stage position error detector 360 of the control system 1 according to an embodiment
  • FIG. FIG. 2 is a second schematic diagram showing a main software configuration example of the control system 1 according to an embodiment
  • 1 is a schematic diagram showing a configuration example of a control system 6 according to an embodiment
  • FIG. 2 is a schematic diagram showing a main software configuration example of a control system 6 according to an embodiment
  • FIG. 1 is a schematic diagram showing a configuration example of a control system 1 according to this embodiment.
  • FIG. 1 shows an example of a laser processing system as a typical example, applications to which the present invention is applied are not limited in any way. In one aspect, applications to which the present invention is applied may include arbitrary applications such as CNC processing machines, 3D printers, picking devices, and inspection devices. Further, the control system 1 may be implemented by a single device or a combination of multiple devices, or may be one or multiple devices for cooperating with other devices.
  • the control system 1 performs laser processing such as drilling, cutting, and marking on the work 4 placed on the XY stage 20 . More specifically, the control system 1 includes a controller 10, an XY stage 20, a laser 30, and a galvanometer mirror 40.
  • the laser processing of the workpiece 4 combines the adjustment of the workpiece position by the XY stage 20 and the adjustment of the irradiation position of the laser light generated by the laser 30 by the galvanomirror 40 .
  • Adjustment of the position of the workpiece 4 by the XY stage 20 has a relatively large amount of displacement and a relatively long response time.
  • the adjustment of the irradiation position by the galvanomirror 40 has a relatively small amount of displacement and a relatively short response time.
  • the control device 10 includes a main control unit 100 , an axis interface unit 200 and a laser control unit 300 .
  • the main control unit 100 corresponds to a computing section that executes an application program 110 (see FIG. 2).
  • the application program 110 is arbitrarily created according to the mechanism to be controlled, the work 4, and the like. Execution results obtained by the main control unit 100 executing the application program 110 are used to generate control signals in the axis interface unit 200 and the laser control unit 300 .
  • the axis interface unit 200 is connected to the XY stage 20 via the control line 52 and outputs a stage control signal 520 for driving the XY stage 20.
  • the XY stage 20 includes a plate 22 on which the workpiece 4 is placed, and servomotors 24 and 26 that drive the plate 22 .
  • the servomotor 24 displaces the plate 22 in the X-axis direction
  • the servomotor 26 displaces the plate 22 in the Y-axis direction.
  • Stage control signals 520 from axis interface unit 200 are provided to servo drivers 23 and 25 (see FIG. 2) that drive servo motors 24 and 26 .
  • axis interface unit 200 may control any number of servo motors greater than or equal to one.
  • the laser control unit 300 is a kind of communication device, is connected to the laser 30 via the control line 53, and outputs a laser control signal 530 to instruct the laser 30 to turn on/off.
  • the laser control unit 300 is also connected to the galvanomirror 40 via the communication line 54 and outputs a mirror control signal 540 to the galvanomirror 40 to instruct the optical path.
  • Galvanomirror 40 includes an X-axis scanning mirror 43 , a Y-axis scanning mirror 45 and a lens 47 . Light emitted from the laser 30 propagates through the lens 47 , the Y-axis scanning mirror 45 and the X-axis scanning mirror 43 in this order, and is projected onto the XY stage 20 .
  • Each degree of the reflecting surface of the X-axis scanning mirror 43 is adjusted by the X-axis scanning motor 42
  • each degree of the reflecting surface of the Y-axis scanning mirror 45 is adjusted by the Y-axis scanning motor 44 .
  • the relative distance between lens 47 and laser 30 is adjusted by Z-axis scanning motor 46 .
  • the entities of the stage control signal 520 and the laser control signal 530 are electrical signals such as pulse signals, and the XY stage 20 and laser 30 receiving the signals are controlled according to the level (potential or voltage) of the pulse signal or level changes. works.
  • the mirror control signal 540 is a communication signal, and the substance of the mirror control signal 540 is a signal modulated with arbitrary data.
  • the control system 1 operates the XY stage 20, which is a large load, by the servomotors 24 and 26. Therefore, when the control system 1 operates the XY stage 20, the actual machining position of the workpiece cannot follow the command from the main control unit 100, and a position deviation (following error) may occur.
  • the control system 1 is a laser processing machine
  • the position (working position of a device such as a laser processing machine) that changes due to the driving of each motor is the processing position of the work, but this is just an example.
  • the application to which the present invention is applied is an inspection device
  • the position that changes due to the driving of each motor is the workpiece inspection position.
  • the application to which the technical idea disclosed in this specification is applied is a picking device
  • the position that changes due to the driving of each motor will be the workpiece gripping position.
  • the application to which the technical idea is applied is a 3D printer
  • the position that changes due to the driving of each motor is the modeling position.
  • the command is output as an execution result obtained by the main control unit 100 executing the application program 110 .
  • the command is, for example, a movement command or a position command such as a workpiece machining position.
  • the control system 1 corrects the operation component of the laser 30 based on the positional deviation (delay) caused by driving the XY stage 20 at a low speed and with a high load on the motor, thereby improving the position control accuracy. .
  • the control system 1 can correct the positional deviation of the XY stage 20 using the X-axis scanning motor 42 and the Y-axis scanning motor 44 with less load. As a result, the operation delay of each motor with respect to the command value is reduced, and the position control accuracy of the control system 1 can be simply and effectively improved.
  • FIG. 2 is a schematic diagram showing a main hardware configuration example of the control system 1 according to this embodiment.
  • controller 10 includes main control unit 100 , axis interface unit 200 and laser control unit 300 .
  • the main control unit 100 includes a processor 102, a main memory 104, a storage 106, and a bus controller 112 as main components.
  • the storage 106 is composed of an SSD (Solid State Disk), flash memory, or the like.
  • storage 106 stores system program 108 for providing a basic program execution environment and application program 110 arbitrarily created according to work 4 .
  • the processor 102 is typically composed of a CPU (Central Processing Unit), MPU (Micro-Processing Unit), etc., reads a system program 108 and an application program 110 stored in the storage 106, and develops them in the main memory 104. Overall control of the control system 1 is realized by executing
  • CPU Central Processing Unit
  • MPU Micro-Processing Unit
  • the main control unit 100 is electrically connected with the axis interface unit 200 and the laser control unit 300 via the internal bus 114 .
  • Bus controller 112 mediates data communication over internal bus 114 .
  • part or all of the processing may be performed by a dedicated hardware circuit (for example, an ASIC (Application Specific Integrated Circuit) or It may be implemented using an FPGA (Field-Programmable Gate Array), etc.).
  • a dedicated hardware circuit for example, an ASIC (Application Specific Integrated Circuit) or It may be implemented using an FPGA (Field-Programmable Gate Array), etc.
  • the axis interface unit 200 generates and outputs stage control signals 520 that are given to the servo drivers 23 and 25 . More specifically, axis interface unit 200 includes an axis control calculation section 210 and an output interface circuit 220 .
  • the axis control calculation unit 210 generates commands to be given to the servo drivers 23 and 25 according to calculation values (command values) calculated by the main control unit 100 executing the application program 110 .
  • the axis control calculation unit 210 is implemented by, for example, a calculation circuit configured using a processor, ASIC, FPGA, or a combination thereof.
  • the output interface circuit 220 corresponds to a signal output section that outputs a stage control signal 520 (first control signal) according to the execution result of the application program 110 . More specifically, the output interface circuit 220 generates a stage control signal 520 to be given to the servo drivers 23 and 25 according to the commands generated by the axis control calculation section 210 .
  • a signal obtained by modulating information such as the amount of displacement, velocity, angular velocity, etc. in each control cycle by PWM (Pulse Width Modulation) may be used. That is, output interface circuit 220 may generate stage control signal 520 by PWM-modulating information to be transmitted.
  • axis interface unit 200 may control any number of servo motors greater than or equal to one.
  • the output interface circuit 220 may be connected to three or more servo drivers.
  • axis control calculation unit 210 and the output interface circuit 220 can be realized with a single ASIC or FPGA.
  • the command is output as an execution result obtained by the main control unit 100 executing the application program 110 .
  • the command is, for example, a command to move the machining position of the workpiece, or a position command to specify the next machining position.
  • the command may include information on the movement speed or acceleration of the machining position of the workpiece. Movement of the actual workpiece machining position is realized by driving each servo motor and adjusting the angle of the mirror.
  • An encoder 27 is provided near the servomotor 24, and an encoder 28 is provided near the servomotor 26, respectively.
  • encoders 27, 28 may be mechanical encoders, optical encoders, magnetic encoders, or electromagnetic induction encoders.
  • each servo motor and each encode may be integrated or separate devices.
  • the encoder 27 outputs to the servo driver 23 a signal indicating the number of revolutions of the shaft of the servo motor 24 or the mechanical component that transmits the rotation of the servo motor 24 .
  • the servo driver 23 outputs a signal indicating the number of rotations to the axis control calculation unit 210 or the processor 102 .
  • encoder 27 may directly output a signal indicating the number of rotations to shaft control calculation unit 210 or processor 102 .
  • the encoder 28 outputs to the servo driver 25 a signal indicating the number of revolutions of the shaft of the servo motor 26 or the mechanical component that transmits the rotation of the servo motor 26 .
  • the servo driver 25 outputs a signal indicating the number of revolutions to the axis control calculation section 210 or the processor 102 .
  • encoder 28 may output a signal indicative of the number of rotations directly to shaft control computation unit 210 or processor 102 .
  • the axis control calculation unit 210 calculates the actual machining position of the workpiece based on the signal indicating the rotation speed of each servomotor. , outputs the actual machining position of the workpiece to the processor 102 .
  • the processor 102 acquires the signal indicating the rotation speed of each servomotor, the processor 102 calculates the actual machining position of the workpiece based on the signal indicating the rotation speed of each servomotor.
  • the processor 102 corrects the command value to be output to the laser control calculation unit 310 based on the actual machining position of the workpiece. By doing so, the control system 1 can correct the positional deviation of the XY stage 20 by adjusting the angles of the X-axis scanning mirror 43 and the Y-axis scanning mirror 45 .
  • the laser control unit 300 generates and outputs a laser control signal 530 to be given to the laser 30 and a mirror control signal 540 to be given to the galvanomirror 40 . More specifically, laser control unit 300 includes a laser control calculator 310 , an output interface circuit 314 , and a communication interface circuit 316 .
  • the laser control calculation unit 310 generates commands to be given to the laser 30 and the galvanomirror 40 according to calculation values (command values) calculated by the main control unit 100 executing the application program 110 .
  • the laser control arithmetic unit 310 is implemented by an arithmetic circuit configured using, for example, a processor, ASIC, FPGA, or a combination thereof.
  • the output interface circuit 314 generates a laser control signal 530 to be given to the laser 30 in accordance with the command generated by the laser control calculation section 310 .
  • a signal having two levels of ON/OFF may be used as the laser control signal 530 .
  • the communication interface circuit 316 corresponds to a communication unit that transmits the mirror control signal 540 (second control signal) according to the execution result of the application program 110 using any communication method that directly or indirectly uses a clock signal. Specifically, the communication interface circuit 316 communicates with the galvanomirror 40 to transmit the command generated by the laser control calculation section 310 to the galvanomirror 40 . Communication between the communication interface circuit 316 and the galvanomirror 40 is, for example, XY2-100 protocol (a method of specifying the scanning angle range with 16-bit accuracy) or SL2-100 protocol (a method of specifying the scanning angle range with 20-bit accuracy). method of specifying by precision), etc. can be used. It should be noted that the present embodiment is applicable not only to communication protocols specific to such galvano mirrors or galvano scanners, but also to any communication system that directly or indirectly uses a clock signal.
  • the laser control arithmetic unit 310, the output interface circuit 314 and the communication interface circuit 316 may be realized by a single ASIC, FPGA, or a combination thereof.
  • FIG. 3 is a first schematic diagram showing a main software configuration example of the control system 1 according to the present embodiment.
  • part or all of the configuration shown in FIG. 3 may be implemented as software operating on the hardware shown in FIG.
  • the configuration shown in FIG. 3 may run on processor 102 as a software component.
  • part of the configuration shown in FIG. 3 may operate on the axis control calculation section 210 as a software component.
  • part or all of the configuration shown in FIG. 3 may be implemented by an arithmetic circuit configured using, for example, a processor, ASIC, FPGA, or a combination thereof.
  • the processor 102 may have the configuration shown in FIG. 3 as a hardware function.
  • the axis control calculation section 210 and the laser control unit 300 may have a part of the configuration shown in FIG. 3 as a hardware function.
  • the control system 1 mainly includes a command position generator 350, a kinematics converter 351, a low-pass filter 352, a servo driver 353, an inverse kinematics converter 354, and a kinematics converter. , a laser driver 356 , an XY stage position error detector 360 , an adder 361 and a subtractor 362 .
  • the command position generator 350 generates a command value regarding the machining position of the workpiece.
  • the command value generated by the command position generator 350 includes the workpiece machining position, the movement direction of the workpiece machining position, the movement speed, and the like.
  • the command values generated by command position generator 350 may be expressed as vector values.
  • the command value generated by command position generator 350 may include the acceleration of the machining position of the workpiece.
  • the control system 1 drives the servo motors 24 and 26, the X-axis scanning motor 42, and the Y-axis scanning motor 44 based on the command value, thereby moving the machining position of the workpiece.
  • the kinematics converter 351 converts the command value (vector value) generated by the command position generator 350 into a physical quantity command value (movement amount per unit time of each mechanism or actuator, etc.). The kinematics converter 351 then outputs the command value of the physical quantity to the servo driver 353 .
  • the physical quantity command value output by the kinematics converter 351 includes a high frequency component and a low frequency component.
  • a high-frequency component is a component with a large amount of movement per unit time.
  • a low-frequency component is a component whose movement amount per unit time is small.
  • the low-pass filter 352 outputs only low-frequency components to the servo driver 353 from among the physical quantity command values output by the kinematics converter 351 .
  • the processor 102 may determine the filtering threshold for the low pass filter 352 based on the speed of response of the servo motors 24,26.
  • the threshold is a threshold for separating the command value of the physical quantity into a low frequency component and a high frequency component. In this case, processor 102 may change the parameters or settings of low pass filter 352 accordingly.
  • the servo driver 353 corresponds to the servo drivers 23 and 25.
  • the servo driver 353 acquires the command value of the physical quantity of the low-frequency component output by the low-pass filter 352 .
  • the servo driver 353 outputs drive signals corresponding to the command values of the physical quantities of the low frequency components to the servo motors 24 and 26 .
  • the XY stage position error detector 360 detects the difference (positional deviation) between the actual workpiece machining position and the workpiece machining position included in the command value output by the command position generator 350 . More specifically, XY stage position error detector 360 calculates the actual position of XY stage 20 based on the number of rotations obtained from encoders 27 and 28 . The XY stage position error detector 360 also calculates the target position of the XY stage 20 based on the command value of the physical quantity of the low-frequency component output by the low-pass filter 352 . The XY stage position error detector 360 detects the presence or absence of position deviation by calculating the difference (position deviation) between the actual position of the XY stage 20 and the target position of the XY stage 20 . Furthermore, the XY stage position error detector 360 outputs the difference (position deviation) to the adder 361 .
  • the adder 361 adds the difference (positional deviation) input from the XY stage position error detector 360 to the command value of the physical quantity of the low-frequency component output by the low-pass filter 352 .
  • the adder 361 outputs to the inverse kinematics converter 354 the command value of the physical quantity of the low frequency component corrected by the difference (positional deviation).
  • the inverse kinematics converter 354 converts the physical quantity command value into a vector value command value. More specifically, the inverse kinematics converter 354 converts the command value of the physical quantity of the low-frequency component corrected by the difference (positional deviation) into the command value format (vector value) generated by the command position generator 350. do. Inverse kinematics converter 354 also outputs the converted command value to subtractor 362 .
  • a subtractor 362 subtracts the command value input from the inverse kinematics converter 354 from the command value generated by the command position generator 350 . Also, the subtractor 362 outputs the command value after subtraction to the kinematics converter 355 . The command value after the subtraction is the command value of the high frequency component.
  • the kinematics converter 355 converts the command value after subtraction (command value of the vector value of the high frequency component) input from the subtractor 362 into a command value of physical quantity (command value of the physical quantity of the high frequency component).
  • the kinematics converter 355 also outputs the command value of the physical quantity to the laser driver 356 .
  • the laser driver 356 corresponds to the laser control calculation unit 310.
  • the laser driver 356 acquires the command value of the physical quantity of the high frequency component from the kinematics converter 355 . Then, the laser driver 356 outputs a drive signal corresponding to the command value of the physical quantity of the high frequency component to the X-axis scanning motor 42 and the Y-axis scanning motor 44 .
  • control system 1 subtracts the corrected low frequency component from the command value (including both the high frequency component and the low frequency component) generated by the command position generator 350. Also, the control system 1 outputs the subtracted command value to the laser driver 356 . By doing so, the control system 1 can control the X-axis scanning motor 42 and the Y-axis scanning motor 44 so as to correct the positional deviation of the XY stage 20 .
  • XY stage position error detector 360 adds the difference (positional deviation) input from XY stage position error detector 360 to the command value of the physical quantity of the low-frequency component obtained from low-pass filter 352. It may be output directly to the inverse kinematics converter 354 . In this case, the control system 1 does not have to include the adder 361 .
  • XY stage position error detector 360 adds the difference (positional deviation) input from XY stage position error detector 360 to the command value of the physical quantity of the low-frequency component obtained from low-pass filter 352. may be converted to vector values and the vector values output directly to subtractor 362 .
  • the control system 1 does not have to include the adder 361 and the inverse kinematics converter 354 .
  • FIG. 4 is a schematic diagram showing a configuration example around the XY stage position error detector 360 of the control system 1 according to the present embodiment.
  • the configuration shown in FIG. 4 performs PID control on the output value of the XY stage position error detector 360 and provides a limit to prevent the command value of the laser driver 356 from being abruptly corrected.
  • part or all of the configuration shown in FIG. 4 may be implemented as software operating on the hardware shown in FIG.
  • the configuration shown in FIG. 4 may run on processor 102 as a software component.
  • part of the configuration shown in FIG. 4 may operate on the axis control calculation section 210 as a software component.
  • part or all of the configuration shown in FIG. 4 may be implemented by an arithmetic circuit configured using, for example, a processor, ASIC, FPGA, or a combination thereof.
  • the processor 102 may have the configuration shown in FIG. 4 as a hardware function.
  • the axis control calculation section 210 and the laser control unit 300 may have a part of the configuration shown in FIG. 4 as a hardware function.
  • the control system 1 includes a P controller 451 , an I controller 452 , a K controller 453 , an adder 454 and a limiter 455 .
  • the control system 1 may include only one of the PID controllers (P controller 451 , I controller 452 and K controller 453 ) or limiter 455 .
  • the P control unit 451 performs proportional control on the output (positional deviation) of the XY stage position error detector 360 .
  • the I control section 452 performs integral control on the output (positional deviation) of the XY stage position error detector 360 .
  • the K control section 453 performs differential control on the output (positional deviation) of the XY stage position error detector 360 .
  • the adder 454 adds the output values of the P control section 451 , I control section 452 and K control section 453 and outputs the output value after the addition (position deviation after PID control) to the limiter 455 .
  • the limiter 455 reduces the input value (positional deviation after PID control) acquired from the adder 454 to a value equal to or less than the threshold based on the fact that the input value (positional deviation after PID control) is equal to or greater than a predetermined threshold.
  • the limiter 455 also outputs the converted value (the positional deviation that is equal to or less than the threshold value) to the adder 361 . If the input value (positional deviation after PID control) is less than the predetermined threshold value, the limiter 455 outputs the input value as it is to the adder 361 .
  • the control system 1 does not output an excessively large corrected command value to the laser driver 356 . Thereby, the control system 1 can prevent the X-axis scanning motor 42 and the Y-axis scanning motor 44 from operating unexpectedly.
  • FIG. 5 is a second schematic diagram showing a main software configuration example of the control system 1 according to the present embodiment.
  • the configuration shown in FIG. 5 has a feedback function for the low-pass filter 352, unlike the configuration shown in FIG.
  • part or all of the configuration shown in FIG. 5 may be implemented as software operating on the hardware shown in FIG.
  • the configuration shown in FIG. 5 may run on processor 102 as a software component.
  • part of the configuration shown in FIG. 5 may operate on the axis control calculation section 210 as a software component.
  • part or all of the configuration shown in FIG. 5 may be implemented by an arithmetic circuit configured using, for example, a processor, ASIC, FPGA, or a combination thereof.
  • the processor 102 may have the configuration shown in FIG. 5 as a hardware function.
  • the axis control calculation section 210 and the laser control unit 300 may have a part of the configuration shown in FIG. 5 as a hardware function.
  • the control system 1 further includes a tuning tool 550 in addition to the configuration shown in FIG.
  • Tuning tool 550 adjusts the parameters of low-pass filter 352 based on the difference (positional deviation) obtained from XY stage position error detector 360 .
  • the tuning tool 550 outputs a command to the command position generator 350 and causes the command position generator 350 to output a command value for a characteristic operation.
  • the command position generator 350 that has acquired the command outputs an arbitrary command value 560 including trapezoidal drive, linear drive, or the like.
  • the tuning tool 550 acquires the position deviation from the XY stage position error detector 360 as second processing.
  • the position deviation may be either a vector value or a physical quantity.
  • tuning tool 550 outputs a parameter change command to the low-pass filter 352 as a third process.
  • tuning tool 550 changes the separation ratio of the high frequency component and the low frequency component of the command value by low-pass filter 352 .
  • tuning tool 550 may directly output parameter change commands to low-pass filter 352 .
  • tuning tool 550 may output parameter change commands to low pass filter 352 via XY stage position error detector 360 .
  • the tuning tool 550 repeatedly executes these first to third processes.
  • the tuning tool 550 then compares the positional deviations of each parameter and selects the parameter with the smallest positional deviation. By doing so, the control system 1 can automatically optimize the separation ratio of the high frequency component and the low frequency component.
  • FIG. 6 is a schematic diagram showing a configuration example of the control system 6 according to this embodiment. Unlike the configuration shown in FIG. 1, the configuration shown in FIG. 6 includes a head 700 including a two-axis drive unit instead of the laser 30 and galvanomirror 40 .
  • the control system 6 includes a control device 60, an XY stage 20, and a head 700.
  • the controller 60 includes a main control unit 100 , two axis interface units 200 and a tool control unit 400 .
  • the first axis interface unit 200 is connected to the XY stage 20 via the control line 52 and outputs a stage control signal 520 for driving the XY stage 20.
  • the second axis interface unit 200 is also connected to the head 700 via the control line 52 and outputs a head control signal 720 for driving the head 700 .
  • one axis interface unit 200 may control all the servo motors of the XY stage 20 and head 700 .
  • the tool control unit 400 is a kind of communication device, is connected to the tool 770 via the control line 754, and outputs a tool control signal 740 in any format to the tool 770.
  • the tool control unit 400 includes a tool control computation section (not shown) instead of the laser control computation section 310 .
  • Tool control unit 400 controls any mechanism attached to tool 770 via output interface circuit 314 .
  • the head 700 includes a tool 770, a servomotor 724 for driving the tool 770 in the X direction, and a servomotor 726 for driving the tool 770 in the Y direction.
  • the servomotors 724 and 726 have a smaller load than the servomotors 24 and 26 and can drive the tool 770 at high speed.
  • a tool 770 is attached to the head 700 and includes any mechanism.
  • tool 770 may comprise any mechanism such as lasers, routers, inspection cameras, robotic arms, and nozzles of 3D printers.
  • the head 700 may have three or more drive units depending on the mechanism of the tool 770 .
  • the control system 6 corrects the high-speed motion components of the servo motors 724 and 726 on the head 700 side based on the position deviation (delay) of the XY stage 20, which is slow and has a high load on the motor, thereby improving the position control accuracy. Improve. By doing so, the control system 1 can correct the positional deviation of the XY stage 20 by using the servo motors 724 and 726 on the side of the head 700 with less load. As a result, the operation delay of each motor with respect to the command value is reduced, and the position control accuracy of the control system 6 can be simply and effectively improved.
  • FIG. 7 is a schematic diagram showing a main software configuration example of the control system 6 according to the present embodiment.
  • the configuration shown in FIG. 7 includes a second servo driver 756 instead of the laser driver 356 unlike the configurations shown in FIGS.
  • part or all of the configuration shown in FIG. 7 may be implemented as software operating on the hardware shown in FIG.
  • the configuration shown in FIG. 7 may run on processor 102 as a software component.
  • part of the configuration shown in FIG. 7 may operate on the axis control calculation section 210 as a software component.
  • part or all of the configuration shown in FIG. 7 may be implemented by an arithmetic circuit configured using, for example, a processor, ASIC, FPGA, or a combination thereof.
  • the control system 1 can distribute the high frequency component command value to the servo driver 353 and the low frequency component command value to the servo driver 756 .
  • the technique according to the present embodiment can be applied to any CNC control device having a plurality of servo drivers and servo motors, in addition to the laser processing machine.
  • the control system 1 may include arbitrary motors such as stepping motors and DC (Direct Current) motors in addition to servo motors.
  • servo driver 353 and/or servo driver 756 are replaced with drivers corresponding to the motors used.
  • control systems 1 and 6 control the high-speed motion component of galvanomirror 40 or head 700 based on the positional deviation (delay) of XY stage 20, which is slow and has a high motor load. By correcting, the position control accuracy is improved. By doing so, the control systems 1 and 6 can correct the positional deviation of the XY stage 20 using the galvanomirror 40 or the servo motor on the head 700 side, which has a small load. As a result, the operation delay of each motor with respect to the command value is reduced, and the position control accuracy of the control systems 1 and 6 can be simply and effectively improved.
  • the present embodiment includes the following disclosures.
  • (Configuration 1) a memory (106) storing a program for generating commands relating to working positions; a control unit (102) for executing the program; a first output section (220) that outputs a drive signal to the first drive section (20); a second output section (316) that outputs another drive signal to the second drive section (40); A measurement unit that measures the amount of driving of the first driving unit (20), The control unit (102) Extract the low-frequency component contained in the above command, transmitting the low frequency component to the first output section (220); correcting a high frequency component contained in the command based on a signal indicating the amount of driving of the first driving unit (20); A control system for transmitting said high frequency components to said second driver (40).
  • Composition 3 Correcting the high-frequency components contained in the above directives adding a positional deviation of the first drive unit (20) to the low frequency component based on the signal; and subtracting the summed low frequency component from the command.
  • Composition 4 The control system of configuration 3, wherein the control unit (102) further adjusts the positional deviation by PID (Proportional-Integral-Differential) control.
  • PID Proportional-Integral-Differential
  • composition 5 The control system of configuration 3 or 4, wherein said controller (102) further limits said position deviation.
  • Composition 6 The control system according to any one of configurations 3 to 5, wherein the control unit (102) further changes a separation ratio of the low frequency component and the high frequency component based on the positional deviation.
  • Composition 7 Changing the separation ratio of the low frequency component and the high frequency component based on the positional deviation includes: repeating changing the separation ratio; comparing the position deviation for each separation ratio; and selecting the separation ratio with the smallest positional deviation.
  • Composition 8 A control method for a device having a drive unit, comprising: generating a command for a working position; extracting low-frequency components contained in the command; driving a first drive unit (20) of the device based on the low frequency component; a step of correcting a high-frequency component included in the command based on a signal indicating the driving amount of the first driving unit (20); and driving a second driver (40) of said equipment based on said high frequency component.
  • the step of correcting the high-frequency component included in the command includes: adding a positional deviation of the first drive unit (20) to the low frequency component based on the signal; Subtracting the added low frequency component from the command.
  • composition 11 The control method according to configuration 9 or 10, further comprising the step of limiting the positional deviation.
  • composition 12 12. The control method according to structures 9 to 11, further comprising changing a separation ratio of said low frequency component and said high frequency component based on said positional deviation.
  • composition 13 The step of changing the separation ratio of the low-frequency component and the high-frequency component based on the positional deviation, repeating changing the separation ratio; comparing the position deviation for each separation ratio; 13.

Abstract

アクチュエータの実際の駆動量に基づいて、次のアクチュエータへの指令に対してフィードバックをかける。制御システムは、作業位置に関する指令を生成するためのプログラムを格納するメモリと、プログラムを実行するための制御部と、第1の駆動部に駆動信号を出力する第1の出力部と、第2の駆動部に別の駆動信号を出力する第2の出力部と、第1の駆動部の駆動量を計測する計測部とを備える。制御部は、指令に含まれる低周波成分を抽出し、低周波成分を第1の出力部に伝送し、第1の駆動部の駆動量を示す信号に基づいて、指令に含まれる高周波成分を補正し、高周波成分を第2の駆動部に伝送する。

Description

制御システムおよび制御方法
 本開示は、制御システムに関し、より特定的には、制御システムの指令へのフィードバック技術に関する。
 レーザ加工機またはルータ等のCNC(Computer Numerical Control)加工機、検査機、または、その他の任意の装置において、複数のアクチュエータを制御して、動作命令を実行するための技術が必要とされている。
 アクチュエータの制御に関し、例えば、特開2000-078875号公報(特許文献1)は、サーボ制御装置を開示している。当該サーボ制御装置は、「制御対象に対する指令信号を発する指令部、制御対象の運動状態に係る位相情報を得るための位相検出部、この両者による信号間の位相比較により位相差信号を得る位相比較部を設ける。そして、位相検出器の精度誤差に起因するリップル成分のパターン情報を学習・記憶する学習モード時において、制御対象に対して櫛形フィルタを直列接続し、定速度制御指令下において櫛形フィルタ出力のリップル成分が無くなったときに得られる位相誤差の補正用情報を位相検出部からの信号に同期して記憶部に記憶させる。実際の動作モード時には、櫛形フィルタを外した上で上記補正用情報を位相検出部からの信号に同期して記憶部から読み出し、当該情報に基づいて位相比較部の出力信号又は位相検出部による位相検出信号に対して補正する」ものである。([要約]参照)。
特開2000-078875号公報
 特許文献1に開示された技術によると、アクチュエータの実際の駆動量に基づいて、次のアクチュエータへの指令に対してフィードバックをかけることができない。したがって、アクチュエータの実際の駆動量に基づいて、次のアクチュエータへの指令に対してフィードバックをかけるための技術が必要とされている。
 本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、アクチュエータの実際の駆動量に基づいて、次のアクチュエータへの指令に対してフィードバックをかけるための技術を提供することにある。
 本開示の一例に従えば、制御システムが提供される。制御システムは、作業位置に関する指令を生成するためのプログラムを格納するメモリと、プログラムを実行するための制御部と、第1の駆動部に駆動信号を出力する第1の出力部と、第2の駆動部に別の駆動信号を出力する第2の出力部と、第1の駆動部の駆動量を計測する計測部とを備える。制御部は、指令に含まれる低周波成分を抽出し、低周波成分を第1の出力部に伝送し、第1の駆動部の駆動量を示す信号に基づいて、指令に含まれる高周波成分を補正し、高周波成分を第2の駆動部に伝送する。
 この開示によれば、第1の駆動部の駆動量を示す信号に基づいて、指令に含まれる高周波成分を補正することができる。
 上記の開示において、制御システムは、第1の駆動部と、第2の駆動部とをさらに含む。
 この開示によれば、指令に含まれる低周波成分に基づいて第1の駆動部を駆動させ、指令に含まれる高周波成分に基づいて第2の駆動部を駆動させることができる。
 上記の開示において、指令に含まれる高周波成分を補正することは、信号に基づいて、低周波成分に第1の駆動部の位置偏差を加算することと、指令から、加算処理後の低周波成分を減算することとを含む。
 この開示によれば、第1の駆動部の位置偏差に基づいて、高周波成分を補正することができる。
 上記の開示において、制御部は、さらに、位置偏差をPID(Proportional-Integral-Differential)制御により調節する。
 この開示によれば、高周波成分に過度な補正がかかることを抑制することができる。
 上記の開示において、制御部は、さらに、位置偏差に制限をかける。
 この開示によれば、高周波成分に過度な補正がかかることを抑制することができる。
 上記の開示において、制御部は、さらに、位置偏差に基づいて、低周波成分および高周波成分の分離比率を変更する。
 この開示によれば、位置偏差に基づいて、低周波成分および高周波成分の分離比率を調節することができる。
 上記の開示において、位置偏差に基づいて、低周波成分および高周波成分の分離比率を変更することは、分離比率を変更することを繰り返すことと、分離比率ごとの位置偏差を比較することと、最も位置偏差が小さい分離比率を選択することとを含む。
 この開示によれば、位置偏差が最小となる低周波成分および高周波成分の分離比率を選択することができる。
 本開示の別の一例に従えば、制御方法が提供される。制御方法は、作業位置に関する指令を生成するステップと、指令に含まれる低周波成分を抽出するステップと、低周波成分に基づいて、機器の第1の駆動部を駆動させるステップと、第1の駆動部の駆動量を示す信号に基づいて、指令に含まれる高周波成分を補正するステップと、高周波成分に基づいて、機器の第2の駆動部を駆動させるステップとを含む。
 この開示によれば、第1の駆動部の駆動量を示す信号に基づいて、指令に含まれる高周波成分を補正することができる。
 上記の開示において、指令に含まれる高周波成分を補正するステップは、信号に基づいて、低周波成分に第1の駆動部の位置偏差を加算するステップと、指令から、加算処理後の低周波成分を減算するステップとを含む。
 この開示によれば、第1の駆動部の位置偏差に基づいて、高周波成分を補正することができる。
 上記の開示において、制御方法は、位置偏差をPID制御により調節するステップをさらに含む。
 この開示によれば、高周波成分に過度な補正がかかることを抑制することができる。
 上記の開示において、制御方法は、位置偏差に制限をかけるステップをさらに含む。
 この開示によれば、高周波成分に過度な補正がかかることを抑制することができる。
 上記の開示において、制御方法は、位置偏差に基づいて、低周波成分および高周波成分の分離比率を変更するステップをさらに含む。
 この開示によれば、位置偏差に基づいて、低周波成分および高周波成分の分離比率を調節することができる。
 上記の開示において、位置偏差に基づいて、低周波成分および高周波成分の分離比率を変更するステップは、分離比率を変更することを繰り返すステップと、分離比率ごとの位置偏差を比較するステップと、最も位置偏差が小さい分離比率を選択するステップを含む。
 この開示によれば、位置偏差が最小となる低周波成分および高周波成分の分離比率を選択することができる。
 ある実施の形態に従うと、アクチュエータの実際の駆動量に基づいて、次のアクチュエータへの指令に対してフィードバックをかけることが可能である。
 この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本開示に関する次の詳細な説明から明らかとなるであろう。
ある実施の形態に係る制御システム1の構成例を示す模式図である。 ある実施の形態に係る制御システム1の主要なハードウェア構成例を示す模式図である。 ある実施の形態に係る制御システム1の主要なソフトウェア構成例を示す第1の模式図である。 ある実施の形態に係る制御システム1のXYステージポジションエラー検出器360の周辺の構成例を示す模式図である。 ある実施の形態に係る制御システム1の主要なソフトウェア構成例を示す第2の模式図である。 ある実施の形態に係る制御システム6の構成例を示す模式図である。 ある実施の形態に係る制御システム6の主要なソフトウェア構成例を示す模式図である。
 以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
 <A.適用例>
 まず、本発明が適用される場面の一例について説明する。
 図1は、本実施の形態に係る制御システム1の構成例を示す模式図である。図1には、典型例として、レーザ加工システムの例を示すが、本発明を適用するアプリケーションは、何ら限定されるものではない。ある局面において、本発明を適用するアプリケーションは、CNC加工機、3Dプリンタ、ピッキング装置、および、検査装置等の任意のアプリケーションを含み得る。また、制御システム1は、単体の装置、または複数の装置の組み合わせによって実現されてもよいし、他の装置と連携するための1または複数の装置であってもよい。
 制御システム1は、XYステージ20上に配置されたワーク4に対して、穴あけ、切断、マーキング等のレーザ加工を行う。より具体的には、制御システム1は、制御装置10と、XYステージ20と、レーザ30と、ガルバノミラー40とを含む。
 ワーク4に対するレーザ加工は、XYステージ20によるワーク位置の調整と、レーザ30が発生するレーザ光をガルバノミラー40による照射位置の調整とを組み合わせる。XYステージ20によるワーク4の位置の調整は、変位量は相対的に大きく、かつ、応答時間は相対的に長い。これに対して、ガルバノミラー40による照射位置の調整は、変位量は相対的に小さく、かつ、応答時間は相対的に短い。
 制御装置10は、主制御ユニット100と、軸インターフェイスユニット200と、レーザ制御ユニット300とを含む。
 主制御ユニット100は、アプリケーションプログラム110(図2参照)を実行する演算部に相当する。アプリケーションプログラム110は、制御対象の機構およびワーク4等に応じて任意に作成される。主制御ユニット100がアプリケーションプログラム110を実行して得られる実行結果は、軸インターフェイスユニット200およびレーザ制御ユニット300における制御信号の生成に用いられる。
 軸インターフェイスユニット200は、制御線52を介して、XYステージ20と接続されており、XYステージ20を駆動するためのステージ制御信号520を出力する。XYステージ20は、ワーク4が配置されるプレート22と、プレート22とを駆動するサーボモータ24およびサーボモータ26とを含む。図1に示す例では、サーボモータ24がプレート22をX軸方向に変位させ、サーボモータ26がプレート22をY軸方向に変位させる。軸インターフェイスユニット200からのステージ制御信号520は、サーボモータ24およびサーボモータ26を駆動するサーボドライバ23およびサーボドライバ25(図2参照)に与えられる。ある局面において、軸インターフェイスユニット200は、1以上の任意の数のサーボモータを制御してもよい。
 レーザ制御ユニット300は、一種の通信装置であり、制御線53を介して、レーザ30と接続されており、レーザ30に対して、オン/オフを指示するレーザ制御信号530を出力する。また、レーザ制御ユニット300は、通信線54を介して、ガルバノミラー40と接続されており、ガルバノミラー40に対して、光学経路を指示するミラー制御信号540を出力する。ガルバノミラー40は、X軸走査ミラー43と、Y軸走査ミラー45と、レンズ47とを含む。レーザ30から照射された光は、レンズ47、Y軸走査ミラー45、X軸走査ミラー43の順に伝搬して、XYステージ20上に投射される。
 X軸走査ミラー43の反射面の各度は、X軸走査モータ42によって調整され、Y軸走査ミラー45の反射面の各度は、Y軸走査モータ44によって調整される。レンズ47とレーザ30との相対距離は、Z軸走査モータ46によって調整される。
 ここで、ステージ制御信号520およびレーザ制御信号530の実体は、パルス信号等の電気信号であり、信号を受けるXYステージ20およびレーザ30は、パルス信号のレベル(電位あるいは電圧)またはレベル変化に応じて動作する。これに対して、ミラー制御信号540は、通信信号であり、ミラー制御信号540の実体は、任意のデータが変調された信号である。
 本実施の形態に係る制御システム1は、サーボモータ24,26により、大きい負荷であるXYステージ20を動作させる。そのため、制御システム1がXYステージ20を動作させると、実際のワークの加工位置が、主制御ユニット100からの指令に対して追従できずに、位置偏差(Following Error)が生じる場合がある。
 以上、制御システム1がレーザ加工機である場合を例に、各モータの駆動によって変化する位置(レーザ加工機等の機器の作業位置)をワークの加工位置として説明したが、これは一例である。他の例として、本発明を適用するアプリケーションが検査装置であれば、各モータの駆動によって変化する位置は、ワークの検査位置になる。また、本明細書に開示された技術思想が適用されるアプリケーションがピッキング装置であれば、各モータの駆動によって変化する位置は、ワークの把持位置になる。その他、当該技術思想が適用されるアプリケーションが3Dプリンタであれば、各モータの駆動によって変化する位置は、造形位置になる。
 指令は、主制御ユニット100がアプリケーションプログラム110を実行して得られる実行結果として出力される。指令は、一例として、ワークの加工位置等の移動命令または位置命令等である。
 一方で、制御システム1がX軸走査ミラー43およびY軸走査ミラー45の角度だけで、主制御ユニット100からの指令を実行する場合(加工位置を移動させる場合)、X軸走査モータ42およびY軸走査モータ44の負荷が少ないため、位置偏差は殆ど生じない。
 そこで、制御システム1は、低速でモータへの負荷が高いXYステージ20の駆動により生じた位置偏差(遅れ)に基づいて、レーザ30側の動作成分を補正することで、位置制御精度を向上させる。こうすることで、制御システム1は、負荷の少ないX軸走査モータ42およびY軸走査モータ44を用いて、XYステージ20の位置偏差を補正し得る。その結果、指令値に対する各モータの動作遅れは少なくなり、制御システム1の位置制御精度は、簡単かつ効果的に向上し得る。
 <B.制御システム1のハードウェア構成例>
 次に、本実施の形態に係る制御システム1のハードウェア構成例について説明する。
 図2は、本実施の形態に係る制御システム1の主要なハードウェア構成例を示す模式図である。上述したように、制御装置10は、主制御ユニット100と、軸インターフェイスユニット200と、レーザ制御ユニット300とを含む。
 主制御ユニット100は、主たるコンポーネントとして、プロセッサ102と、メインメモリ104と、ストレージ106と、バスコントローラ112とを含む。
 ストレージ106は、SSD(Solid State Disk)やフラッシュメモリ等で構成される。一例として、ストレージ106は、基本的なプログラム実行環境を提供するためのシステムプログラム108と、ワーク4に応じて任意に作成されるアプリケーションプログラム110とを格納する。
 プロセッサ102は、典型的には、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)等で構成され、ストレージ106に格納されたシステムプログラム108およびアプリケーションプログラム110を読み出して、メインメモリ104に展開して実行することで、制御システム1の全体的な制御を実現する。
 主制御ユニット100は、内部バス114を介して、軸インターフェイスユニット200およびレーザ制御ユニット300と電気的に接続されている。バスコントローラ112は、内部バス114によるデータ通信を仲介する。
 なお、プロセッサ102がプログラムを実行することで必要な処理が提供される構成例を示したが、当該処理の一部または全部は、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)等)を用いて実装されてもよい。
 軸インターフェイスユニット200は、サーボドライバ23およびサーボドライバ25に与えられるステージ制御信号520を生成および出力する。より具体的には、軸インターフェイスユニット200は、軸制御演算部210と、出力インターフェイス回路220とを含む。
 軸制御演算部210は、主制御ユニット100がアプリケーションプログラム110を実行することで算出される演算値(指令値)に従って、サーボドライバ23およびサーボドライバ25に与えるべき指令を生成する。軸制御演算部210は、例えば、プロセッサ、ASIC、FPGAまたはこれらの組み合わせを用いて構成される演算回路によって実現される。
 出力インターフェイス回路220は、アプリケーションプログラム110の実行結果に従って、ステージ制御信号520(第1の制御信号)を出力する信号出力部に相当する。より具体的には、出力インターフェイス回路220は、軸制御演算部210によって生成された指令に従って、サーボドライバ23およびサーボドライバ25に与えるステージ制御信号520を生成する。ステージ制御信号520としては、各制御周期における変位量、速度、角速度等の情報をPWM(Pulse Width Modulation)により変調した信号が用いられてもよい。すなわち、出力インターフェイス回路220は、送信すべき情報をPWMにより変調してステージ制御信号520を生成してもよい。あるいは、変位量、速度、角速度等の情報をパルス数として変調した信号が用いられてもよい。ある局面において、軸インターフェイスユニット200は、1以上の任意の数のサーボモータを制御してもよい。この場合、出力インターフェイス回路220は、3以上のサーボドライバに接続されてもよい。
 なお、軸制御演算部210および出力インターフェイス回路220は、単一のASICまたはFPGAで実現され得る。
 指令は、主制御ユニット100がアプリケーションプログラム110を実行して得られる実行結果として出力される。指令は、一例として、ワークの加工位置の移動命令、または次の加工位置を指定する位置命令等である。ある局面において、指令は、ワークの加工位置の移動速度または加速度の情報を含んでいてもよい。実際のワークの加工位置の移動は、各サーボモータの駆動およびミラーの角度の調節により実現される。
 サーボモータ24の付近にはエンコーダ27が、サーボモータ26の付近には、エンコーダ28が各々設けられている。一例として、エンコーダ27,28は、機械式エンコーダ、光学式エンコーダ、磁気式エンコーダ、または、電磁誘導式エンコーダであってもよい。ある局面において、各サーボモータおよび各エンコードは、一体型であってもよいし、別々の装置であってもよい。
 エンコーダ27は、サーボモータ24の軸またはサーボモータ24の回転を伝達する機械部品の回転数を示す信号をサーボドライバ23に出力する。サーボドライバ23は、当該回転数を示す信号を軸制御演算部210またはプロセッサ102に出力する。ある局面において、エンコーダ27は、回転数を示す信号を軸制御演算部210またはプロセッサ102に直接出力してもよい。
 エンコーダ28は、サーボモータ26の軸またはサーボモータ26の回転を伝達する機械部品の回転数を示す信号をサーボドライバ25に出力する。サーボドライバ25は、当該回転数を示す信号を軸制御演算部210またはプロセッサ102に出力する。ある局面において、エンコーダ28は、回転数を示す信号を軸制御演算部210またはプロセッサ102に直接出力してもよい。
 軸制御演算部210が各サーボモータの回転数を示す信号を取得した場合、軸制御演算部210は、各サーボモータの回転数を示す信号に基づいて、実際のワークの加工位置を算出して、当該実際のワークの加工位置をプロセッサ102に出力する。プロセッサ102が各サーボモータの回転数を示す信号を取得した場合、プロセッサ102は、各サーボモータの回転数を示す信号に基づいて、実際のワークの加工位置を算出する。
 プロセッサ102は、実際のワークの加工位置に基づいて、レーザ制御演算部310に出力する指令値を補正する。こうすることで、制御システム1は、X軸走査ミラー43およびY軸走査ミラー45の角度の調節により、XYステージ20の位置偏差を補正することができる。
 レーザ制御ユニット300は、レーザ30に与えられるレーザ制御信号530、および、ガルバノミラー40に与えられるミラー制御信号540を生成および出力する。より具体的には、レーザ制御ユニット300は、レーザ制御演算部310と、出力インターフェイス回路314と、通信インターフェイス回路316とを含む。
 レーザ制御演算部310は、主制御ユニット100がアプリケーションプログラム110を実行することで算出される演算値(指令値)に従って、レーザ30およびガルバノミラー40に与えるべき指令を生成する。レーザ制御演算部310は、例えば、プロセッサ、ASIC、FPGA、またはこれらの組み合わせ等を用いて構成される演算回路によって実現される。
 出力インターフェイス回路314は、レーザ制御演算部310によって生成された指令に従って、レーザ30に与えるレーザ制御信号530を生成する。レーザ制御信号530としては、オン/オフの2レベルを有する信号が用いられてもよい。
 通信インターフェイス回路316は、アプリケーションプログラム110の実行結果に従って、クロック信号を直接的または間接的に用いる任意の通信方式でミラー制御信号540(第2の制御信号)を送信する通信部に相当する。具体的には、通信インターフェイス回路316は、ガルバノミラー40と通信を行って、レーザ制御演算部310によって生成された指令をガルバノミラー40に送信する。通信インターフェイス回路316とガルバノミラー40との間の通信は、例えば、XY2-100プロトコル(走査角度範囲を16ビットの精度で指定する方式)、または、SL2-100プロトコル(走査角度範囲を20ビットの精度で指定する方式)等を用いることができる。なお、本実施の形態は、このようなガルバノミラーあるいはガルバノスキャナに特有の通信プロトコルに限らず、クロック信号を直接的または間接的に用いる任意の通信方式に適用可能である。
 なお、レーザ制御演算部310、出力インターフェイス回路314および通信インターフェイス回路316は、単一のASIC、FPGAまたはこれらの組み合わせ等により実現されてもよい。
 <C.制御システム1のソフトウェア構成例>
 次に、本実施の形態に係る制御システム1のソフトウェア構成例について説明する。
 図3は、本実施の形態に係る制御システム1の主要なソフトウェア構成例を示す第1の模式図である。ある局面において、図3に示す構成の一部または全ては、図2に示すハードウェア上で動作するソフトウェアとして実現されてもよい。この場合、図3に示す構成は、ソフトウェアコンポーネントとして、プロセッサ102上で動作し得る。また、図3に示す構成の一部は、ソフトウェアコンポーネントとして、軸制御演算部210上で動作してもよい。
 他の局面において、図3に示す構成の一部または全ては、例えば、プロセッサ、ASIC、FPGAまたはこれらの組み合わせを用いて構成される演算回路によって実現されてもよい。この場合、プロセッサ102が図3に示す構成をハードウェアの機能として備えていてもよい。また、軸制御演算部210およびレーザ制御ユニット300は、図3に示す構成の一部をハードウェアの機能として備えていてもよい。
 制御システム1は、主たる構成として、コマンドポジション生成器350と、キネマティクス変換器351と、ローパスフィルタ(Low-pass filter)352と、サーボドライバ353と、逆キネマティクス変換器354と、キネマティクス変換器355と、レーザドライバ356と、XYステージポジションエラー検出器360と、加算機361と、減算器362とを備える。
 コマンドポジション生成器350は、ワークの加工位置に関する指令値を生成する。コマンドポジション生成器350によって生成される指令値は、ワークの加工位置、ワークの加工位置の移動方向、または、移動速度等を含む。コマンドポジション生成器350が生成する指令値は、ベクトル値として表現されてもよい。ある局面において、コマンドポジション生成器350によって生成される指令値は、ワークの加工位置の加速度を含んでいてもよい。
 制御システム1は、当該指令値に基づいて、サーボモータ24,26と、X軸走査モータ42と、Y軸走査モータ44とを駆動させることにより、ワークの加工位置を移動させる。
 キネマティクス変換器351は、コマンドポジション生成器350によって生成された指令値(ベクトル値)を物理量の指令値(各機構またはアクチュエータ等の単位時間当たりの移動量等)に変換する。そして、キネマティクス変換器351は、当該物理量の指令値をサーボドライバ353に出力する。キネマティクス変換器351が出力する物理量の指令値は、高周波成分および低周波成分を含む。高周波成分とは、単位時間当たりの移動量が大きい成分である。低周波成分とは、単位時間当たりの移動量が小さい成分である。
 ローパスフィルタ352は、キネマティクス変換器351が出力する物理量の指令値の中から、低周波成分のみをサーボドライバ353に出力する。ある局面において、プロセッサ102は、サーボモータ24,26の応答速度に基づいて、ローパスフィルタ352のフィルタリングの閾値を決定してもよい。当該閾値は、物理量の指令値を低周波成分および高周波成分に分離するための閾値である。この場合、プロセッサ102は、ローパスフィルタ352のパラメータまたは設定を適宜変更し得る。
 サーボドライバ353は、サーボドライバ23,25に相当する。サーボドライバ353は、ローパスフィルタ352が出力する低周波成分の物理量の指令値を取得する。また、サーボドライバ353は、当該低周波成分の物理量の指令値に対応する駆動信号をサーボモータ24,26に出力する。
 XYステージポジションエラー検出器360は、実際のワークの加工位置と、コマンドポジション生成器350が出力する指令値に含まれるワークの加工位置との差分(位置偏差)を検出する。より具体的には、XYステージポジションエラー検出器360は、エンコーダ27,28から得られた回転数に基づいて、XYステージ20の実際の位置を算出する。また、XYステージポジションエラー検出器360は、ローパスフィルタ352が出力する低周波成分の物理量の指令値に基づいて、XYステージ20の目標位置を算出する。XYステージポジションエラー検出器360は、XYステージ20の実際の位置と、XYステージ20の目標位置との差分(位置偏差)を算出することで、位置偏差の有無を検出する。さらに、XYステージポジションエラー検出器360は、差分(位置偏差)を加算機361に出力する。
 加算機361は、ローパスフィルタ352が出力する低周波成分の物理量の指令値に、XYステージポジションエラー検出器360から入力された差分(位置偏差)を加算する。加算機361は、差分(位置偏差)により補正された低周波成分の物理量の指令値を逆キネマティクス変換器354に出力する。
 逆キネマティクス変換器354は、物理量の指令値をベクトル値の指令値に変換する。より具体的には、逆キネマティクス変換器354は、差分(位置偏差)により補正された低周波成分の物理量の指令値をコマンドポジション生成器350が生成する指令値のフォーマット(ベクトル値)に変換する。また、逆キネマティクス変換器354は、変換後の指令値を減算器362に出力する。
 減算器362は、コマンドポジション生成器350によって生成された指令値から、逆キネマティクス変換器354から入力された指令値を減算する。また、減算器362は、減算後の指令値をキネマティクス変換器355に出力する。減算後の指令値は、高周波成分の指令値である。
 キネマティクス変換器355は、減算器362から入力された減算後の指令値(高周波成分のベクトル値の指令値)を物理量の指令値(高周波成分の物理量の指令値)に変換する。また、キネマティクス変換器355は、当該物理量の指令値をレーザドライバ356に出力する。
 レーザドライバ356は、レーザ制御演算部310に相当する。レーザドライバ356は、キネマティクス変換器355から、高周波成分の物理量の指令値を取得する。そして、レーザドライバ356は、当該高周波成分の物理量の指令値に対応する駆動信号をX軸走査モータ42およびY軸走査モータ44に出力する。
 上述のように、制御システム1は、コマンドポジション生成器350が生成した指令値(高周波成分および低周波成分の両方を含む)から、補正後の低周波成分を減算する。また、制御システム1は、減算後の指令値をレーザドライバ356に向けて出力する。こうすることで、制御システム1は、XYステージ20の位置偏差を修正するように、X軸走査モータ42およびY軸走査モータ44を制御し得る。
 ある局面において、XYステージポジションエラー検出器360は、ローパスフィルタ352から取得した低周波成分の物理量の指令値に、XYステージポジションエラー検出器360から入力された差分(位置偏差)を加算した値を逆キネマティクス変換器354に直接出力してもよい。この場合、制御システム1は、加算機361を備えていなくてもよい。
 他の局面において、XYステージポジションエラー検出器360は、ローパスフィルタ352から取得した低周波成分の物理量の指令値に、XYステージポジションエラー検出器360から入力された差分(位置偏差)を加算した値をベクトル値に変換し、当該ベクトル値を減算器362に直接出力してもよい。この場合、制御システム1は、加算機361および逆キネマティクス変換器354を備えていなくてもよい。
 図4は、本実施の形態に係る制御システム1のXYステージポジションエラー検出器360の周辺の構成例を示す模式図である。図4に示す構成は、XYステージポジションエラー検出器360の出力値をPID制御すると共に、リミットを設けることで、レーザドライバ356の指令値に急激な補正がかかることを抑制する。
 ある局面において、図4に示す構成の一部または全ては、図2に示すハードウェア上で動作するソフトウェアとして実現されてもよい。この場合、図4に示す構成は、ソフトウェアコンポーネントとして、プロセッサ102上で動作し得る。また、図4に示す構成の一部は、ソフトウェアコンポーネントとして、軸制御演算部210上で動作してもよい。
 他の局面において、図4に示す構成の一部または全ては、例えば、プロセッサ、ASIC、FPGAまたはこれらの組み合わせを用いて構成される演算回路によって実現されてもよい。この場合、プロセッサ102が図4に示す構成をハードウェアの機能として備えていてもよい。また、軸制御演算部210およびレーザ制御ユニット300は、図4に示す構成の一部をハードウェアの機能として備えていてもよい。
 制御システム1は、P制御部451と、I制御部452と、K制御部453と、加算機454と、リミッタ455とを備える。ある局面において、制御システム1は、PID制御部(P制御部451、I制御部452およびK制御部453)またはリミッタ455の片方のみを備えていてもよい。
 P制御部451は、XYステージポジションエラー検出器360の出力(位置偏差)に対して比例制御を行う。I制御部452は、XYステージポジションエラー検出器360の出力(位置偏差)に対して積分制御を行う。K制御部453は、XYステージポジションエラー検出器360の出力(位置偏差)に対して微分制御を行う。
 加算機454は、P制御部451、I制御部452およびK制御部453の出力値を加算し、加算後の出力値(PID制御後の位置偏差)をリミッタ455に出力する。
 リミッタ455は、加算機454から取得した入力値(PID制御後の位置偏差)が、予め定められた閾値以上であることに基づいて、当該入力値を閾値以下の値にする。また、リミッタ455は、変換後の値(閾値以下の値となった位置偏差)を加算機361に出力する。入力値(PID制御後の位置偏差)が予め定められた閾値未満である場合、リミッタ455は、当該入力値をそのまま加算機361に出力する。
 制御システム1は、図4に示す構成を備えることで、レーザドライバ356に過度に大きく補正された指令値を出力しなくなる。これにより、制御システム1は、X軸走査モータ42およびY軸走査モータ44が予期せぬ動作を行うことを抑制し得る。
 図5は、本実施の形態に係る制御システム1の主要なソフトウェア構成例を示す第2の模式図である。図5の示す構成は、図3に示す構成と異なり、ローパスフィルタ352に対するフィードバック機能を備える。
 ある局面において、図5に示す構成の一部または全ては、図2に示すハードウェア上で動作するソフトウェアとして実現されてもよい。この場合、図5に示す構成は、ソフトウェアコンポーネントとして、プロセッサ102上で動作し得る。また、図5に示す構成の一部は、ソフトウェアコンポーネントとして、軸制御演算部210上で動作してもよい。
 他の局面において、図5に示す構成の一部または全ては、例えば、プロセッサ、ASIC、FPGAまたはこれらの組み合わせを用いて構成される演算回路によって実現されてもよい。この場合、プロセッサ102が図5に示す構成をハードウェアの機能として備えていてもよい。また、軸制御演算部210およびレーザ制御ユニット300は、図5に示す構成の一部をハードウェアの機能として備えていてもよい。
 制御システム1は、図3に示す構成に加えて、チューニングツール550をさらに備える。チューニングツール550は、XYステージポジションエラー検出器360から得られた差分(位置偏差)に基づいて、ローパスフィルタ352のパラメータを調節する。
 より具体的には、チューニングツール550は、第1の処理として、コマンドポジション生成器350に指令を出力し、コマンドポジション生成器350に特徴的な動作の指令値を出力させる。当該指令を取得したコマンドポジション生成器350は、台形駆動または直線駆動等を含む任意の指令値560を出力する。
 次に、チューニングツール550は、第2の処理として、XYステージポジションエラー検出器360から位置偏差を取得する。当該位置偏差は、ベクトル値および物理量のいずれであってもよい。
 次に、チューニングツール550は、第3の処理として、ローパスフィルタ352に、パラメータの変更指令を出力する。当該変更指令により、チューニングツール550は、ローパスフィルタ352による指令値の高周波成分および低周波成分の分離比率を変化させる。ある局面において、チューニングツール550は、ローパスフィルタ352にパラメータの変更指令を直接出力してもよい。他の局面において、チューニングツール550は、XYステージポジションエラー検出器360を介して、ローパスフィルタ352にパラメータの変更指令を出力してもよい。
 チューニングツール550は、これら第1の処理から第3の処理を繰り返し実行する。そして、チューニングツール550は、各パラメータにおける位置偏差を比較し、最も位置偏差の小さいパラメータを選択する。こうすることで、制御システム1は、高周波成分および低周波成分の分離比率を自動で最適化し得る。
 <D.その他の適用例>
 図6は、本実施の形態に係る制御システム6の構成例を示す模式図である。図6に示す構成は、図1に示す構成と異なり、レーザ30およびガルバノミラー40の代わりに、2軸の駆動部を含むヘッド700を備える。
 制御システム6は、制御装置60と、XYステージ20と、ヘッド700とを含む。制御装置60は、主制御ユニット100と、2つの軸インターフェイスユニット200と、ツール制御ユニット400とを含む。
 1つ目の軸インターフェイスユニット200は、制御線52を介して、XYステージ20と接続されており、XYステージ20を駆動するためのステージ制御信号520を出力する。また、2つ目の軸インターフェイスユニット200は、制御線52を介して、ヘッド700と接続されており、ヘッド700を駆動するためのヘッド制御信号720を出力する。ある局面において、1つの軸インターフェイスユニット200が、XYステージ20およびヘッド700の全てのサーボモータを制御してもよい。
 ツール制御ユニット400は、一種の通信装置であり、制御線754を介してツール770と接続されており、ツール770に任意のフォーマットのツール制御信号740を出力する。ツール制御ユニット400は、レーザ制御演算部310の代わりに、ツール制御演算部(図示せず)を備える。ツール制御ユニット400は、出力インターフェイス回路314を介して、ツール770に取り付けられた任意の機構を制御する。
 ヘッド700は、ツール770と、ツール770をX方向に駆動させるためのサーボモータ724と、ツール770をY方向に駆動させるためのサーボモータ726とを備える。サーボモータ724,726は、サーボモータ24,26よりも負荷が小さく、高速にツール770を駆動させることができる。
 ツール770は、ヘッド700に備え付けられ、また、任意の機構を含む。一例として、ツール770は、レーザ、ルータ、検査用カメラ、ロボットアーム、および、3Dプリンタのノズル等の任意の機構を備え得る。また、ヘッド700は、ツール770が備える機構に応じて3軸以上の駆動部を備えていてもよい。
 制御システム6は、低速でモータへの負荷が高いXYステージ20の位置偏差(遅れ)に基づいて、ヘッド700側のサーボモータ724,726の高速な動作成分を補正することで、位置制御精度を向上させる。こうすることで、制御システム1は、負荷の少ないヘッド700側のサーボモータ724,726を用いて、XYステージ20の位置偏差を補正し得る。その結果、指令値に対する各モータの動作遅れは少なくなり、制御システム6の位置制御精度は、簡単かつ効果的に向上し得る。
 図7は、本実施の形態に係る制御システム6の主要なソフトウェア構成例を示す模式図である。図7の示す構成は、図3および図5に示す構成と異なり、レーザドライバ356の代わりに、2つ目のサーボドライバ756を備える。
 ある局面において、図7に示す構成の一部または全ては、図6に示すハードウェア上で動作するソフトウェアとして実現されてもよい。この場合、図7に示す構成は、ソフトウェアコンポーネントとして、プロセッサ102上で動作し得る。また、図7に示す構成の一部は、ソフトウェアコンポーネントとして、軸制御演算部210上で動作してもよい。
 他の局面において、図7に示す構成の一部または全ては、例えば、プロセッサ、ASIC、FPGAまたはこれらの組み合わせを用いて構成される演算回路によって実現されてもよい。
 図7に示す構成において、制御システム1は、高周波成分の指令値をサーボドライバ353に、低周波成分の指令値をサーボドライバ756に分配し得る。制御システム1は、図7に示す構成を備えることで、本実施の形態に従う技術をレーザ加工機以外にも、複数のサーボドライバおよびサーボモータを備える任意のCNC制御装置に適用することができる。ある局面において、制御システム1は、サーボモータに加えて、ステッピングモータおよびDC(Direct Current)モータ等の任意のモータを含んでいてもよい。この場合、サーボドライバ353およびサーボドライバ756の両方または片方は、使用されるモータに対応するドライバに置き換えられる。
 以上説明した通り、本実施の形態に従う制御システム1,6は、低速でモータへの負荷が高いXYステージ20の位置偏差(遅れ)に基づいて、ガルバノミラー40またはヘッド700の高速な動作成分を補正することで、位置制御精度を向上させる。こうすることで、制御システム1,6は、負荷の少ないガルバノミラー40またはヘッド700側のサーボモータを用いて、XYステージ20の位置偏差を補正し得る。その結果、指令値に対する各モータの動作遅れは少なくなり、制御システム1,6の位置制御精度は、簡単かつ効果的に向上し得る。
 <E.付記>
 以上のように、本実施の形態では以下のような開示を含む。
 (構成1)
 作業位置に関する指令を生成するためのプログラムを格納するメモリ(106)と、
 上記プログラムを実行するための制御部(102)と、
 第1の駆動部(20)に駆動信号を出力する第1の出力部(220)と、
 第2の駆動部(40)に別の駆動信号を出力する第2の出力部(316)と、
 上記第1の駆動部(20)の駆動量を計測する計測部とを備え、
 上記制御部(102)は、
  上記指令に含まれる低周波成分を抽出し、
  上記低周波成分を上記第1の出力部(220)に伝送し、
  上記第1の駆動部(20)の駆動量を示す信号に基づいて、上記指令に含まれる高周波成分を補正し、
  上記高周波成分を上記第2の駆動部(40)に伝送する、制御システム。
 (構成2)
 上記第1の駆動部(20)と、
 上記第2の駆動部(40)とをさらに含む、構成1の制御システム。
 (構成3)
 上記指令に含まれる高周波成分を補正することは、
  上記信号に基づいて、上記低周波成分に上記第1の駆動部(20)の位置偏差を加算することと、
  上記指令から、加算処理後の上記低周波成分を減算することとを含む、構成1または2の制御システム。
 (構成4)
 上記制御部(102)は、さらに、上記位置偏差をPID(Proportional-Integral-Differential)制御により調節する、構成3の制御システム。
 (構成5)
 上記制御部(102)は、さらに、上記位置偏差に制限をかける、構成3または4の制御システム。
 (構成6)
 上記制御部(102)は、さらに、上記位置偏差に基づいて、上記低周波成分および上記高周波成分の分離比率を変更する、構成3~5のいずれかの制御システム。
 (構成7)
 上記位置偏差に基づいて、上記低周波成分および上記高周波成分の分離比率を変更することは、
  上記分離比率を変更することを繰り返すことと、
  上記分離比率ごとの上記位置偏差を比較することと、
  最も上記位置偏差が小さい分離比率を選択することとを含む、構成6の制御システム。
 (構成8)
 駆動部を備える機器の制御方法であって、
 作業位置に関する指令を生成するステップと、
 上記指令に含まれる低周波成分を抽出するステップと、
 上記低周波成分に基づいて、上記機器の第1の駆動部(20)を駆動させるステップと、
 上記第1の駆動部(20)の駆動量を示す信号に基づいて、上記指令に含まれる高周波成分を補正するステップと、
 上記高周波成分に基づいて、上記機器の第2の駆動部(40)を駆動させるステップとを含む、制御方法。
 (構成9)
 上記指令に含まれる高周波成分を補正するステップは、
  上記信号に基づいて、上記低周波成分に上記第1の駆動部(20)の位置偏差を加算するステップと、
  上記指令から、加算処理後の上記低周波成分を減算するステップとを含む、構成8の制御方法。
 (構成10)
 上記位置偏差をPID制御により調節するステップをさらに含む、構成9の制御方法。
 (構成11)
 上記位置偏差に制限をかけるステップをさらに含む、構成9または10の制御方法。
 (構成12)
 上記位置偏差に基づいて、上記低周波成分および上記高周波成分の分離比率を変更するステップをさらに含む、構成9~11の制御方法。
 (構成13)
 上記位置偏差に基づいて、上記低周波成分および上記高周波成分の分離比率を変更するステップは、
  上記分離比率を変更することを繰り返すステップと、
  上記分離比率ごとの上記位置偏差を比較するステップと、
  最も上記位置偏差が小さい分離比率を選択するステップを含む、構成12の制御方法。
 今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。
 1,6 制御システム、4 ワーク、10,60 制御装置、20 ステージ、22 プレート、23,25,353,756 サーボドライバ、24,26,724,726 サーボモータ、27,28 エンコーダ、30 レーザ、40 ガルバノミラー、42,44,46 軸走査モータ、43,45 軸走査ミラー、47 レンズ、52,53,754 制御線、54 通信線、100 主制御ユニット、102 プロセッサ、104 メインメモリ、106 ストレージ、108 システムプログラム、110 アプリケーションプログラム、112 バスコントローラ、114 内部バス、200 軸インターフェイスユニット、210 軸制御演算部、220,314 出力インターフェイス回路、300 レーザ制御ユニット、310 レーザ制御演算部、316 通信インターフェイス回路、350 コマンドポジション生成器、351,355 キネマティクス変換器、352 ローパスフィルタ、354 逆キネマティクス変換器、356 レーザドライバ、360 ステージポジションエラー検出器、361,454 加算機、362 減算器、400 ツール制御ユニット、451,452,453 制御部、455 リミッタ、520 ステージ制御信号、530 レーザ制御信号、540 ミラー制御信号、550 チューニングツール、560 指令値、700 ヘッド、720 ヘッド制御信号、740 ツール制御信号、770 ツール。

Claims (13)

  1.  作業位置に関する指令を生成するためのプログラムを格納するメモリと、
     前記プログラムを実行するための制御部と、
     第1の駆動部に駆動信号を出力する第1の出力部と、
     第2の駆動部に別の駆動信号を出力する第2の出力部と、
     前記第1の駆動部の駆動量を計測する計測部とを備え、
     前記制御部は、
      前記指令に含まれる低周波成分を抽出し、
      前記低周波成分を前記第1の出力部に伝送し、
      前記第1の駆動部の駆動量を示す信号に基づいて、前記指令に含まれる高周波成分を補正し、
      前記高周波成分を前記第2の駆動部に伝送する、制御システム。
  2.  前記第1の駆動部と、
     前記第2の駆動部とをさらに含む、請求項1に記載の制御システム。
  3.  前記指令に含まれる高周波成分を補正することは、
      前記信号に基づいて、前記低周波成分に前記第1の駆動部の位置偏差を加算することと、
      前記指令から、加算処理後の前記低周波成分を減算することとを含む、請求項1または2に記載の制御システム。
  4.  前記制御部は、さらに、前記位置偏差をPID(Proportional-Integral-Differential)制御により調節する、請求項3に記載の制御システム。
  5.  前記制御部は、さらに、前記位置偏差に制限をかける、請求項3または4に記載の制御システム。
  6.  前記制御部は、さらに、前記位置偏差に基づいて、前記低周波成分および前記高周波成分の分離比率を変更する、請求項3~5のいずれかに記載の制御システム。
  7.  前記位置偏差に基づいて、前記低周波成分および前記高周波成分の分離比率を変更することは、
      前記分離比率を変更することを繰り返すことと、
      前記分離比率ごとの前記位置偏差を比較することと、
      最も前記位置偏差が小さい分離比率を選択することとを含む、請求項6に記載の制御システム。
  8.  駆動部を備える機器の制御方法であって、
     作業位置に関する指令を生成するステップと、
     前記指令に含まれる低周波成分を抽出するステップと、
     前記低周波成分に基づいて、前記機器の第1の駆動部を駆動させるステップと、
     前記第1の駆動部の駆動量を示す信号に基づいて、前記指令に含まれる高周波成分を補正するステップと、
     前記高周波成分に基づいて、前記機器の第2の駆動部を駆動させるステップとを含む、制御方法。
  9.  前記指令に含まれる高周波成分を補正するステップは、
      前記信号に基づいて、前記低周波成分に前記第1の駆動部の位置偏差を加算するステップと、
      前記指令から、加算処理後の前記低周波成分を減算するステップとを含む、請求項8に記載の制御方法。
  10.  前記位置偏差をPID制御により調節するステップをさらに含む、請求項9に記載の制御方法。
  11.  前記位置偏差に制限をかけるステップをさらに含む、請求項9または10に記載の制御方法。
  12.  前記位置偏差に基づいて、前記低周波成分および前記高周波成分の分離比率を変更するステップをさらに含む、請求項9~11のいずれかに記載の制御方法。
  13.  前記位置偏差に基づいて、前記低周波成分および前記高周波成分の分離比率を変更するステップは、
      前記分離比率を変更することを繰り返すステップと、
      前記分離比率ごとの前記位置偏差を比較するステップと、
      最も前記位置偏差が小さい分離比率を選択するステップを含む、請求項12に記載の制御方法。
PCT/JP2021/034474 2021-02-19 2021-09-21 制御システムおよび制御方法 WO2022176247A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21926676.4A EP4295988A1 (en) 2021-02-19 2021-09-21 Control system and control method
US18/274,929 US20240103495A1 (en) 2021-02-19 2021-09-21 Control system and control method
CN202180091769.7A CN116745708A (zh) 2021-02-19 2021-09-21 控制系统和控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-025596 2021-02-19
JP2021025596A JP2022127440A (ja) 2021-02-19 2021-02-19 制御システムおよび制御方法

Publications (1)

Publication Number Publication Date
WO2022176247A1 true WO2022176247A1 (ja) 2022-08-25

Family

ID=82931322

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034474 WO2022176247A1 (ja) 2021-02-19 2021-09-21 制御システムおよび制御方法

Country Status (5)

Country Link
US (1) US20240103495A1 (ja)
EP (1) EP4295988A1 (ja)
JP (1) JP2022127440A (ja)
CN (1) CN116745708A (ja)
WO (1) WO2022176247A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997019782A1 (en) * 1995-11-27 1997-06-05 Fanuc Ltd Laser machining apparatus
JP2000078875A (ja) 1998-08-31 2000-03-14 Sony Corp 位相同期ループを用いたサーボ制御装置及びサーボ制御方法、ジッターの測定方法並びに軌道指定のための制御方法
JP2003088986A (ja) * 2001-09-12 2003-03-25 Hitachi Via Mechanics Ltd レーザ加工方法及びレーザ加工装置並びにミラーの移動装置
JP2004230441A (ja) * 2003-01-31 2004-08-19 Sumitomo Heavy Ind Ltd 加工機の制御方法及び装置
JP2008131762A (ja) * 2006-11-21 2008-06-05 Canon Inc 制御装置及び露光装置
WO2020203019A1 (ja) * 2019-03-29 2020-10-08 オムロン株式会社 制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997019782A1 (en) * 1995-11-27 1997-06-05 Fanuc Ltd Laser machining apparatus
JP2000078875A (ja) 1998-08-31 2000-03-14 Sony Corp 位相同期ループを用いたサーボ制御装置及びサーボ制御方法、ジッターの測定方法並びに軌道指定のための制御方法
JP2003088986A (ja) * 2001-09-12 2003-03-25 Hitachi Via Mechanics Ltd レーザ加工方法及びレーザ加工装置並びにミラーの移動装置
JP2004230441A (ja) * 2003-01-31 2004-08-19 Sumitomo Heavy Ind Ltd 加工機の制御方法及び装置
JP2008131762A (ja) * 2006-11-21 2008-06-05 Canon Inc 制御装置及び露光装置
WO2020203019A1 (ja) * 2019-03-29 2020-10-08 オムロン株式会社 制御装置

Also Published As

Publication number Publication date
US20240103495A1 (en) 2024-03-28
CN116745708A (zh) 2023-09-12
JP2022127440A (ja) 2022-08-31
EP4295988A1 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
CN108422420B (zh) 具有学习控制功能的机器人系统以及学习控制方法
JP4665096B2 (ja) スライディングモード制御器を有する工作機械に用いられるモーションコントローラ
CN108628258B (zh) 扫描器控制装置、机器人控制装置以及远程激光焊接机器人系统
KR101033766B1 (ko) 서보 제어 장치
JP5916583B2 (ja) 多関節ロボットのウィービング制御装置
JP5623757B2 (ja) モータの制御方法及び装置
CN109085802B (zh) 电动机的控制装置
US10310465B2 (en) Device and method for moving an object
JP2011176907A5 (ja)
JP4867105B2 (ja) 数値制御装置
JP2005316937A (ja) 制御装置およびその制御方法
WO2022176247A1 (ja) 制御システムおよび制御方法
JP6161854B1 (ja) モータ制御システム
WO2014013550A1 (ja) 数値制御装置および数値制御システム
CN107645979B (zh) 用于使机器人手臂的运动同步的机器人系统
US10814482B2 (en) Robot controller
KR20030036802A (ko) 서보 제어방법
JP4580600B2 (ja) ガルバノスキャナの制御方法、装置、及び、ガルバノスキャナ
EP3598248B1 (en) Control system
JP6048174B2 (ja) 数値制御装置とロストモーション補償方法
US11955917B2 (en) Motor control system, motor control apparatus, and motor control method
JP2019042842A (ja) 駆動機械の学習制御装置及び学習制御方法
JP7392590B2 (ja) ロボット制御システム、制御プログラムおよび制御方法
WO2022176249A1 (ja) 制御システム、制御方法および制御装置
JP5063981B2 (ja) 電動機の位置制御装置

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: 21926676

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180091769.7

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18274929

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2021926676

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021926676

Country of ref document: EP

Effective date: 20230919