Information processing method, program, and information processing system

The information processing method corrects vibrations in servo systems by using stored correction data to adjust positional differences, ensuring accurate alignment of objects despite stage or object vibrations.

WO2025203968A1PCT designated stage Publication Date: 2025-10-02PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/000037
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-27
Filing Date
2025-01-06
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Existing control systems for positioning objects using servo motors fail to achieve accurate alignment when the object or stage is vibrating due to the use of vibrating image information for image processing, leading to inaccuracies in positioning.

Method used

An information processing method and system that corrects vibrations of feature point coordinates by storing correction data based on a control step time difference and using it to adjust the difference calculated between feature point and target coordinates, ensuring the drive unit operates with a corrected difference that counteracts vibration phases.

Benefits of technology

This method enables precise alignment of objects even when vibrations occur, by compensating for vibration delays in image information, thereby improving positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025000037_02102025_PF_FP_ABST
    Figure JP2025000037_02102025_PF_FP_ABST
Patent Text Reader

Abstract

This information processing method is executed by an information processing system (3) that corrects vibrations of feature point coordinates generated by vibration of an object (4) or a stage (12), and includes preparation steps (S103 to S107) for storing, in a waveform storage unit (322), correction data generated on the basis of a control step time, which is a time difference from when the object (4) is imaged until the difference between feature point coordinates and target coordinates is output to a drive unit (11), and correction steps (S108 and S109) for correcting the difference using the correction data stored in the waveform storage unit (322), wherein the drive unit (11) drives the stage (12) on the basis of the difference corrected in the correction steps (S108 and S109).
Need to check novelty before this filing date? Find Prior Art

Description

Information processing method, program, and information processing system

[0001] The present disclosure relates to an information processing method and the like.

[0002] Currently, techniques for aligning the position of an object with target coordinates are often applied to production devices driven by servo motors, and such production devices are widely used in factories, etc. One such technique is a control technique that uses image processing to obtain position information of a stage that moves an object, and then moves the stage to the target coordinates based on the obtained position information.

[0003] For example, a control system is disclosed that executes a first control operation to move an object from a starting coordinate to an intermediate target coordinate at high speed and a second control operation to move the object from the intermediate target coordinate to a final target coordinate at low speed (see, for example, Patent Document 1).

[0004] JP 2014-203365 A

[0005] However, when the object on the stage or the stage is vibrating, the control system described in Patent Document 1 uses the vibrating image for image processing, which makes it impossible to obtain accurate position information of the stage and to properly control positioning through image processing.

[0006] Therefore, an object of the present disclosure is to provide an information processing method and the like that can align an object with higher accuracy even when the object on the stage or the stage is vibrating.

[0007] In order to achieve the above-mentioned object, an information processing method according to one embodiment of the present disclosure is an information processing method executed by an information processing system for correcting vibrations of the feature point coordinates caused by vibrations of the object or the stage, for a servo system including a controlled system including a stage that moves an object, a drive unit that drives the stage, and an imaging unit that images the object on the stage, the information processing system comprising: an image processing unit that extracts feature points included in the object from an image captured by the imaging unit and generates feature point coordinates indicating coordinates of the extracted feature points; and a difference calculator that calculates a difference between the feature point coordinates and target coordinates and outputs the difference to the drive unit, the information processing method including: a preparatory step of storing correction data in a waveform storage unit, the correction data being generated based on a control step time that is the time difference between when the object is imaged and when the difference is output to the drive unit; and a correction step of correcting the difference using the correction data stored in the waveform storage unit, and the drive unit drives the stage based on the difference corrected in the correction step.

[0008] In order to achieve the above object, a program according to one embodiment of the present disclosure causes a computer to execute the above information processing method.

[0009] In order to achieve the above-mentioned object, an information processing system according to one embodiment of the present disclosure is an information processing system that targets a controlled system including a stage that moves an object, a drive unit that drives the stage, and an imaging unit that images the object on the stage, and that corrects vibrations of the feature point coordinates that occur due to vibrations of the object or the stage for a servo system that includes an image processing unit that extracts feature points included in the object from an image captured by the imaging unit and generates feature point coordinates that indicate the coordinates of the extracted feature points, and a difference calculator that calculates a difference between the feature point coordinates and target coordinates and outputs the difference to the drive unit, the information processing system comprising: a preparation processing unit that stores correction data in a waveform storage unit that is generated based on a control step time that is the time difference between when the object is imaged and when the difference is output to the drive unit; and a correction processing unit that corrects the difference using the correction data stored in the waveform storage unit, and the drive unit drives the stage based on the difference corrected by the correction processing unit.

[0010] The present disclosure provides an information processing method and the like that can align an object with higher accuracy even when the object on the stage or the stage is vibrating.

[0011] FIG. 1 is a block diagram showing the configuration of a system including an information processing system according to a first embodiment. FIG. 2A is a diagram showing positional changes in feature point coordinates when vibrations occurring in an object or a stage are very little damped. FIG. 2B is a diagram showing positional changes in feature point coordinates when a conventional servo system suppresses vibrations. FIG. 2C is a diagram showing an enlarged view of a region from 0.4 s to 1.8 s of the positional changes in feature point coordinates shown in FIG. 2B. FIG. 3 is a flowchart showing the operation of the information processing system according to the first embodiment. FIG. 4A is a diagram showing an example of first time-series data stored in the waveform storage unit in step S104 of FIG. 3. FIG. 4B is a diagram showing an example of second time-series data generated by the waveform generation unit in step S106 of FIG. 3. FIG. 4C is a diagram showing an example of correction data generated by the calculation unit in step S107 of FIG. 3. FIG. 4D is a diagram showing the corrected difference and the x-coordinate of the feature point coordinates output by the correction processing unit in step S109 of FIG. 3. FIG. 5 is a flowchart showing the operation of the information processing system according to the first embodiment when correcting the time-series data of the correction value. FIG. 6A is a diagram showing an example of first time series data, second time series data, and time series data of correction values ​​stored in the waveform storage unit before the information processing system corrects the time series data of correction values. FIG. 6B is a diagram showing an example of first time series data, second time series data, and time series data of correction values ​​stored in the waveform storage unit after the information processing system corrects the time series data of correction values. FIG. 7A is a diagram showing position changes of feature point coordinates when vibrations occurring in an object or a stage are attenuated. FIG. 7B is a diagram showing position changes of feature point coordinates when a conventional servo system suppresses vibrations. FIG. 8 is a flowchart showing the operation of the information processing system according to the second embodiment. FIG. 9A is a diagram showing an example of first time series data stored in the waveform storage unit in step S304 of FIG. 8, second time series data generated by the waveform generation unit in step S306, and time series data of correction values ​​generated by the calculation unit in step S307. FIG. 9B is a diagram showing an example of time series data of correction values ​​for multiple periods generated by the calculation unit in step S308 of FIG. 8.9C is a diagram showing the corrected difference output by the correction processing unit in step S310 of FIG. 8 and the x-coordinate of the feature point coordinates. FIG. 9D is a diagram showing an example of first time-series data stored in the waveform storage unit in step S304 of FIG. 8 and time-series data of correction values ​​for multiple periods generated by the calculation unit in step S308. FIG. 10 is a flowchart showing the operation of an information processing system according to embodiment 3. FIG. 11A is a diagram showing an example of first time-series data stored in the waveform storage unit in step S405 of FIG. 10 and second time-series data generated by the waveform generation unit in step S407. FIG. 11B is a diagram showing the corrected difference output by the correction processing unit in step S411 of FIG. 10 and the x-coordinate of the feature point coordinates. FIG. 12 is a block diagram showing the configuration of a system including two information processing systems according to embodiment 4.

[0012] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. Note that each of the embodiments described below represents a specific example of the present disclosure. The numerical values, components, component placement and connection configurations, steps, step order, display examples, etc. shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Therefore, among the components in the following embodiments, components that are not recited in the independent claims of the present disclosure will be described as optional components. Furthermore, each figure is not necessarily an exact illustration. In each figure, substantially identical components are assigned the same reference numerals, and redundant explanations are omitted or simplified.

[0013] 1 is a block diagram showing the configuration of a system including an information processing system 3 according to embodiment 1. The present disclosure includes a controlled system 1 that moves an object 4 to a target coordinate, a servo system 2 that commands the controlled system 1 to move the object 4 to the target coordinate, and an information processing system 3 that assists in controlling the servo system 2.

[0014] The controlled system 1 is a device that moves the object 4 to the target coordinates, that is, that positions the object 4. For example, if the controlled system 1 is a mounting device, the controlled system 1 is a device that moves and mounts electronic components on a substrate (not shown).

[0015] As shown in FIG. 1, the controlled system 1 includes a driving unit 11, a stage 12, an imaging unit 13, and an encoder 14.

[0016] The driving unit 11 is, for example, a servo motor that drives the stage 12 by rotating a rotor so as to bring the difference or the corrected difference given by the difference calculator 22 or the correction processing unit 33 described later closer to zero.

[0017] The stage 12 is a platform on which the object 4 is moved.

[0018] The imaging unit 13 is, for example, a visual sensor such as a camera. The imaging unit 13 captures images of the stage 12, the object 4, and feature points included in the object 4 at regular intervals. The feature points included in the object 4 are, for example, cross marks.

[0019] The encoder 14 obtains position information of the stage 12 from the amount of displacement of the stage 12 .

[0020] The servo system 2 is a system that issues commands to the controlled system 1 based on the image captured by the imaging unit 13 .

[0021] The image processing unit 21 extracts feature points for each image captured by the imaging unit 13. For example, the image processing unit 21 extracts feature points using contour matching, which extracts patterns having contours that closely match the contours of pre-stored feature points. The image processing unit 21 also generates feature point coordinates that indicate the coordinates of the extracted feature points.

[0022] The subtractor 22 calculates the difference between the feature point coordinates generated by the image processing unit 21 and the target coordinates, and outputs the difference to the driving unit 11 or a correction processing unit 33 described later. The difference output by the subtractor 22 to the driving unit 11 corresponds to a command to be given to the controlled system 1.

[0023] The information processing system 3 is a device that corrects the difference calculated by the differentiator 22 when the object 4 or the stage 12 is vibrating, and outputs the corrected difference to the driver 11. The information processing system 3 includes a vibration detector 31, a preparation processor 32, and a correction processor 33. The vibration detector 31, the preparation processor 32, and the correction processor 33 are realized by a microcomputer, a processor, or the like. In other words, the functions of the vibration detector 31, the preparation processor 32, and the correction processor 33 are realized by the microcomputer, the processor, or the like executing a program stored in a memory.

[0024] The vibration detection unit 31 acquires the feature point coordinates generated by the image processing unit 21 and the position information acquired by the encoder 14. The vibration detection unit 31 determines whether the change over time in the acquired position information is equal to or less than a first threshold value and whether the change over time in the feature point coordinates is equal to or greater than a second threshold value (i.e., whether the object 4 is near the target coordinates and whether the object 4 or the stage 12 is vibrating). If the vibration detection unit 31 determines that the above conditions are met, it outputs a signal to a waveform acquisition unit 321 of the preparation processing unit 32, which will be described later.

[0025] When the object 4 or the stage 12 is vibrating, the preparation processing unit 32 generates correction data, which is data for correcting the difference calculated by the difference calculator 22. The preparation processing unit 32 includes, as its functional configuration, a waveform acquisition unit 321, a waveform storage unit 322, a waveform generation unit 323, and a calculation unit 324.

[0026] The waveform acquisition unit 321 starts acquiring first time-series data when the feature point coordinates match the stationary target position. The waveform acquisition unit 321 acquires first time-series data indicating at least one cycle of oscillation of the feature point coordinates from the plurality of feature point coordinates generated by the image processing unit 21. Note that the stationary target position is a feature point coordinate that is set in advance when the object 4 or the stage 12 is not vibrating, and is also a target coordinate. For example, the stationary target position may be within a range of ±1 cm from the target coordinates.

[0027] Furthermore, the waveform acquisition unit 321 stores the acquired first time series data in the waveform storage unit 322 .

[0028] The waveform storage unit 322 stores various information, programs, etc., including the correction data generated by the preparation processing unit 32. The waveform storage unit 322 is realized by, for example, a memory.

[0029] The waveform generation unit 323 reads out the first time series data stored in the waveform storage unit 322 and generates second time series data by shifting the first time series data by the control step time Δt. The waveform generation unit 323 stores the generated second time series data in the waveform storage unit 322. The control step time Δt is the time difference between when the image of the object 4 is captured by the imaging unit 13 and when the difference calculated by the difference calculator 22 is output to the drive unit 11. Note that the control step time Δt is a time shorter than the period of vibration generated in the object 4 or the stage 12. Furthermore, the control step time Δt may be, for example, the same as the step time during which each component repeatedly operates, or may be twice the step time.

[0030] The calculation unit 324 reads the first time series data and the second time series data stored in the waveform storage unit 322, and generates time series data of a correction value indicating the difference between the first time series data and the second time series data as correction data. The calculation unit 324 stores the correction data in the waveform storage unit 322.

[0031] The correction processing unit 33 corrects the difference calculated by the difference calculator 22 using the correction data stored in the waveform storage unit 322, and sequentially outputs the difference corrected using the correction data to the driver 11 (hereinafter referred to as vibration suppression). Specifically, the correction processing unit 33 starts vibration suppression when the feature point coordinates output by the image processing unit 21 match the stationary target position. Each time the difference calculator 22 outputs a difference, the correction processing unit 33 reads out the time-series data of the correction value in order and outputs the corrected difference to the driver 11. The corrected difference is calculated as the difference between the difference calculated by the difference calculator 22 and each time-series data of the correction value. The correction processing unit 33 outputs the difference corrected using the correction data to the driver 11.

[0032] 2A to 2C, a problem that occurs when a conventional servo system performs control to suppress vibrations generated in the object 4 or the stage 12. The conventional servo system is a system that is composed of only the servo system 2 out of the systems shown in FIG. 1, and in which the differentiator 22 directly outputs the difference to the driver 11.

[0033] 2A is a diagram showing positional changes in feature point coordinates when there is very little damping of vibrations occurring in the object 4 or the stage 12. Note that Fig. 2A is a diagram showing vibration waveforms when control to suppress vibrations is not performed by a conventional servo system.

[0034] In the waveform shown in Fig. 2A, the horizontal axis represents time and the vertical axis represents the x-coordinate of the feature point coordinates. The x-coordinate of the feature point coordinates is expressed in arbitrary units (a.u.), with the stationary target position of the object 4 (i.e., the target coordinate of the object 4) being set to 0 and the x-coordinate of the feature point coordinates at the farthest point from the stationary target position being set to 1. The interval between each point (i.e., the control step time Δt) is 20 ms. Unless otherwise specified in the figure, this also applies to the subsequent figures showing vibration waveforms in Fig. 2A and subsequent figures.

[0035] As shown in FIG. 2A, vibrations with a period of 400 ms (i.e., 2.5 Hz) and very little attenuation of the vibrations are generated in the object 4 or the stage 12.

[0036] FIG. 2B is a diagram showing position changes of feature point coordinates when a conventional servo system suppresses vibrations.

[0037] As shown in Figure 2B, the conventional servo system begins control to suppress vibration 1.2 seconds after measuring the vibration occurring in the object 4 or the stage 12. As a result of the conventional servo system starting control, the amplitude of the vibration is reduced from 1 to approximately 0.3. However, even after the conventional servo system performs control (i.e., after 1.2 seconds), vibration continues with a period of 400 ms (i.e., 2.5 Hz), and the conventional servo system is not able to sufficiently suppress the vibration. The reason why the conventional servo system is unable to sufficiently suppress the vibration will be explained using Figure 2C.

[0038] FIG. 2C is an enlarged view of the region from 0.4 seconds to 1.8 seconds of the positional changes of the feature point coordinates shown in FIG. 2B.

[0039] 2C , for example, the subtractor 22 calculates the difference between the x-coordinate of the feature point coordinates at 0.82 s and the target coordinate and outputs the difference to the driver 11. However, during the control step time Δt, which is the time difference between when the image of the object 4 is captured and when the subtractor 22 outputs the difference to the driver 11, the x-coordinate of the feature point coordinates of the object 4 moves from the x-coordinate of the feature point coordinates at 0.82 s to the x-coordinate of the feature point coordinates at 0.84 s. In other words, in conventional servo systems, a delay occurs in the image information used to suppress vibration, so when the driver 11 drives the stage 12 by the calculated difference, the x-coordinate of the feature point coordinates of the object 4 deviates from the target coordinate by the amount of movement during the control step time Δt. As a result, the x-coordinate of the feature point coordinates does not match the target coordinate, and similar control is performed at each time, so conventional servo systems cannot sufficiently suppress vibration.

[0040] [Example of operation] Below, we will explain the operation performed by a system including the information processing system 3 according to embodiment 1, which is an example of how to address the problem that conventional servo systems cannot sufficiently suppress vibrations that occur in the target object 4 or the stage 12.

[0041] FIG. 3 is a flowchart showing the operation of the information processing system 3 according to the first embodiment.

[0042] First, the vibration detection unit 31 determines whether vibration has been detected (i.e., whether the change over time in the acquired position information is equal to or less than a first threshold and the change over time in the feature point coordinates is equal to or greater than a second threshold) (step S101).

[0043] If it is determined that the vibration detection unit 31 has not detected any vibration (No in step S101), the information processing system 3 ends its operation.

[0044] When the vibration detection unit 31 determines that vibration is detected (Yes in step S101), the vibration detection unit 31 outputs a signal to the waveform acquisition unit 321. When the waveform acquisition unit 321 acquires the signal from the vibration detection unit 31, if the feature point coordinates match the stationary target position, the waveform acquisition unit 321 starts acquiring first time-series data (step S102).

[0045] The waveform acquisition unit 321 determines whether acquisition of at least one period of the first time-series data has been completed (step S103).

[0046] If it is determined that acquisition of at least one period of the first time series data has not been completed (No in step S103), the waveform acquirer 321 continues to acquire the first time series data.

[0047] When it is determined that acquisition of at least one period of the first time series data has been completed (Yes in step S103), the waveform acquisition unit 321 stores the first time series data in the waveform storage unit 322 (step S104).

[0048] The waveform generating unit 323 calculates the control step time Δt from the first time series data (step S105).

[0049] The waveform generating unit 323 generates second time series data by shifting the first time series data by the control step time Δt, and stores the second time series data in the waveform storage unit 322 (step S106).

[0050] The calculation unit 324 generates time series data of a correction value (i.e., correction data) indicating the difference between the first time series data and the second time series data, and stores the data in the waveform storage unit 322 (step S107).

[0051] Steps S103 to S107 correspond to the preparation steps performed by the preparation processing unit 32.

[0052] The correction processing unit 33 determines whether to start vibration suppression (step S108). The correction processing unit 33 uses as a criterion for the determination in step S108 whether the feature point coordinates match the stationary target position.

[0053] If it is determined that vibration suppression should not be started (i.e., the feature point coordinates do not match the stationary target position) (No in step S108), the correction processing unit 33 makes the determination in step S108 after the control step time Δt.

[0054] When it is determined that vibration suppression should be started (i.e., when the feature point coordinates match the stationary target position) (Yes in step S108), the correction processing unit 33 sequentially outputs the difference corrected using the correction data to the driving unit 11 (step S109). As a result, the driving unit 11 drives the stage 12 so that the corrected difference sequentially output from the correction processing unit 33 approaches zero.

[0055] Steps S108 and S109 correspond to correction steps performed by the correction processing unit 33.

[0056] The correction processing unit 33 determines whether to end vibration suppression (step S110). The correction processing unit 33 uses, for example, whether the feature point coordinates match the stationary target position for a certain period or more as the criterion for the determination in step S110.

[0057] When it is determined that vibration suppression should not be ended (No in step S110), the correction processing unit 33 continues to perform the operation of step S109.

[0058] When it is determined that vibration suppression is to be ended (Yes in step S110), the information processing system 3 ends the operation.

[0059] As explained above, the vibration detection unit 31 can determine whether vibration is occurring in the object 4 or the stage 12 based on the time change in the position information and the time change in the feature point coordinates.

[0060] Furthermore, the preparation processing unit 32 can start the preparation step when the object 4 or the stage 12 is vibrating.

[0061] Furthermore, the correction processing unit 33 can start a correction step when the object 4 or the stage 12 is vibrating. This allows the driving unit 11 to operate based on the corrected difference, which is in the opposite phase to the vibration phase, so that even when the object 4 on the stage 12 or the stage 12 is vibrating, the object 4 can be aligned with higher accuracy.

[0062] Next, the operation performed by the information processing system 3 described with reference to FIG. 3 will be described using specific examples shown in FIGS. 4A to 4D.

[0063] Fig. 4A is a diagram showing an example of the first time series data stored in the waveform storage unit 322 in step S104 of Fig. 3. The first time series data shown in Fig. 4A is first time series data with a period of 1.25.

[0064] 4A, the waveform acquisition unit 321 starts acquiring first time-series data when the feature point coordinates match the stationary target position. Furthermore, the waveform acquisition unit 321 continues acquiring first time-series data until at least one cycle (0 s to 0.4 s) of first time-series data has been acquired. These operations correspond to steps S102 and S103 in FIG. 3, respectively.

[0065] Fig. 4B is a diagram showing an example of the second time series data generated by the waveform generating unit 323 in step S106 of Fig. 3. Note that the first time series data shown in Fig. 4B is the same as the first time series data shown in Fig. 4A.

[0066] 4B, the waveform generating unit 323 calculates the control step time Δt from the first time series data. The waveform generating unit 323 also generates second time series data by shifting the first time series data by the control step time Δt. The second time series data at time 0 is generated using the feature point coordinates at the time immediately preceding time 0. These operations correspond to steps S105 and S106 in FIG. 3, respectively.

[0067] Fig. 4C is a diagram showing an example of correction data generated by the calculation unit 324 in step S107 of Fig. 3. Note that the first time series data and second time series data shown in Fig. 4C are the same as the first time series data and second time series data shown in Fig. 4B.

[0068] As shown in FIG. 4C, the calculation unit 324 generates time series data of a correction value (i.e., correction data) that indicates the difference between the first time series data and the second time series data.

[0069] Fig. 4D is a diagram showing the corrected difference and the x-coordinate of the feature point coordinates output by the correction processing unit 33 in step S109 in Fig. 3. Fig. 4D is a diagram showing an example in which the correction processing unit 33 starts vibration suppression immediately after the calculation unit 324 generates the correction data in Fig. 4C. In Fig. 4D, the correction processing unit 33 starts vibration suppression at the time 0.4 s.

[0070] 4D , the correction processing unit 33 has not started vibration suppression between 0 s and 0.4 s, and therefore the value of the corrected difference indicates 0. After 0.4 s, the correction processing unit 33 starts vibration suppression, and therefore outputs the corrected difference to the driving unit 11. Furthermore, the correction processing unit 33 outputs the corrected difference, which is in the opposite phase to the phase of the vibration generated by the delay in image information, to the driving unit 11, and therefore the x coordinate of the feature point coordinates matches the target coordinate.

[0071] 4A to 4D, an example was shown in which the control step time Δt was 20 ms and the period of vibration occurring in the object 4 or the stage 12 was 400 ms (i.e., 2.5 Hz), but the information processing system 3 can suppress vibrations with short periods by shortening the control step time Δt. Specifically, when the control step time Δt is 1 ms, the information processing system 3 can suppress vibrations even if the period of vibration occurring in the object 4 or the stage 12 is 10 ms (i.e., 100 Hz).

[0072] Furthermore, the maximum value of the corrected difference output by the correction processing unit 33 to the driving unit 11 is a speed command value that allows the driving unit 11 to operate the stage 12 stably.

[0073] [Correction of Time-Series Data of Correction Values] Next, the correction of time-series data of correction values ​​performed by the information processing system 3 when impulse waveform data is included in the first time-series data stored in the waveform storage unit 322 in step S104 of Fig. 3 will be described with reference to Fig. 5. Fig. 5 is a flowchart showing the operation of the information processing system 3 according to the first embodiment when correcting the time-series data of correction values. Note that Fig. 5 is a flowchart showing the operation performed by the information processing system 3 after step S107 shown in Fig. 3. Furthermore, an impulse waveform is not a periodic vibration like the first time-series data shown in Fig. 4A, but a vibration that occurs only once in the object 4 or the stage 12.

[0074] First, it is determined whether or not the first time series data contains an impulse waveform (step S201). For example, the calculation unit 324 may perform a Fourier transform on the first time series data to determine whether or not the first time series data contains an impulse waveform, or a user may visually check the first time series data to determine whether or not the first time series data contains an impulse waveform.

[0075] When it is determined that the first time-series data does not include an impulse waveform (No in step S201), the calculation unit 324 does not correct the time-series data of the correction value, and ends the preparation step.

[0076] When it is determined that the first time-series data includes an impulse waveform (Yes in step S201), the calculation unit 324 determines whether a correction value corresponding to the time when the impulse waveform data is generated is within a range defined by a predetermined upper limit and a predetermined lower limit (step S202). The correction value corresponding to the time when the impulse waveform is generated refers to a correction value generated using the impulse waveform data included in the first time-series data and a correction value generated using the impulse waveform data included in the second time-series data generated by shifting the first time-series data by the control step time Δt. In other words, the calculation unit 324 determines whether the two correction values ​​are each within a range.

[0077] If it is determined that both of the two correction values ​​are within the range (Yes in step S202), the calculation unit 324 does not correct the time-series data of the correction values, and ends the preparation step.

[0078] If it is determined that at least one of the two correction values ​​is not within the range (No in step S202), the calculation unit 324 corrects the correction value to a value within the range (step S203). The calculation unit 324 also stores the time-series data of the correction values, including the corrected correction value, in the waveform storage unit 322.

[0079] Next, the operation performed by the information processing system 3 described in Fig. 5 will be described using specific examples shown in Figs. 6A and 6B. Fig. 6A is a diagram showing an example of the first time series data, the second time series data, and the time series data of the correction value stored in the waveform storage unit 322 before the information processing system 3 corrects the time series data of the correction value. Fig. 6B is a diagram showing an example of the first time series data, the second time series data, and the time series data of the correction value stored in the waveform storage unit 322 after the information processing system 3 corrects the time series data of the correction value. In Fig. 6B, the upper limit is 0.5 and the lower limit is -0.5.

[0080] 6A, one of the correction values ​​corresponding to the time when the impulse waveform is generated is larger than the other correction values. If the correction processing unit 33 outputs a difference corrected using the time-series data of the correction values ​​shown in FIG. 6A to the driving unit 11, there is a possibility that the vibration generated in the object 4 or the stage 12 will be a vibration of larger amplitude.

[0081] 6B, the correction value corresponding to the time when the impulse waveform is generated is smaller than that in the case of Fig. 6A. As a result, even when the first time-series data includes data of an impulse waveform, the information processing system 3 can align the x-coordinate of the feature point coordinates with the target coordinate while suppressing the vibration generated in the object 4 or the stage 12 from becoming a vibration with a larger amplitude.

[0082] [Effects] As explained above, the information processing method according to the present embodiment targets the controlled system 1 which is made up of the stage 12 which moves the object 4, the drive unit 11 which drives the stage 12, and the imaging unit 13 which images the object 4. The information processing method is performed by the servo system 2 which is provided with the image processing unit 21 which extracts feature points included in the object 4 from an image captured by the imaging unit 13 and generates feature point coordinates which indicate the coordinates of the extracted feature points, and the differentiator 22 which calculates the difference between the feature point coordinates and target coordinates and outputs the difference to the drive unit 11. The information processing method is executed by an information processing system 3 to correct vibrations of feature point coordinates that occur due to the vibrations, and includes a preparatory step (S103 to S107) of storing correction data generated based on a control step time, which is the time difference between when an image of the object 4 is captured and when the difference is output to a driving unit 11, in a waveform storage unit 322, and a correction step (S108 to S109) of correcting the difference using the correction data stored in the waveform storage unit 322, and the driving unit 11 drives a stage 12 based on the difference corrected in the correction step (S108 to S109).

[0083] Such an information processing method can assist the servo system 2 in matching the feature point coordinates with the target coordinates by outputting a corrected difference, which is in opposite phase to the phase of the vibration generated by the delay of the image information, to the drive unit 11. Therefore, this information processing method can align the object 4 with higher accuracy even when the object 4 on the stage 12 or the stage 12 is vibrating.

[0084] Furthermore, in the information processing method according to this embodiment, in the preparation step, first time series data indicating at least one period of vibration of the feature point coordinates is acquired (S103 to S104), second time series data is generated by shifting the acquired first time series data by the control step time (S105 to S106), and time series data of a correction value indicating the difference between the first time series data and the second time series data is generated as correction data (S107).

[0085] Such an information processing method can assist the servo system 2 in matching the x-coordinate of the feature point coordinates with the target coordinates by outputting to the drive unit 11 a corrected difference that is in the opposite phase to the phase of the vibration generated by the delay in image information.

[0086] Moreover, in the information processing method according to this embodiment, the controlled system 1 further includes an encoder 14 that acquires position information of the stage 12, and the information processing method further includes a detection step (S101) that detects that vibration is occurring when it is determined that the change over time in the position information is equal to or less than a first threshold value and that the change over time in the feature point coordinates is equal to or greater than a second threshold value.

[0087] Such an information processing method can determine whether the object 4 or the stage 12 is vibrating based on the time change in the position information and the time change in the feature point coordinates.

[0088] Furthermore, in the information processing method according to this embodiment, the preparation steps (S103 to S107) are started when the occurrence of vibration is detected in the detection step (S101) and the feature point coordinates match the stationary target position.

[0089] Such an information processing method can initiate a preparatory step if the object 4 or the stage 12 is vibrating.

[0090] Furthermore, in the information processing method according to the present embodiment, the correction steps (S108 to S109) are started when the occurrence of vibration is detected in the detection step (S101), correction data is generated (S107), and the feature point coordinates match the stationary target position.

[0091] Such an information processing method makes it possible to initiate a correction step if the object 4 or the stage 12 is vibrating.

[0092] Furthermore, in the information processing method according to the present embodiment, if the first time series data includes impulse waveform data, in the preparation steps (S103 to S107), the correction value corresponding to the time when the impulse waveform data is generated is corrected to a value within a range determined by a predetermined upper limit value and a predetermined lower limit value (S203).

[0093] Such an information processing method can align the feature point coordinates with the target coordinates while suppressing the vibrations occurring in the object 4 or the stage 12 from becoming vibrations of larger amplitude, even if the first time series data includes impulse waveform data.

[0094] Furthermore, in the information processing method according to the present embodiment, the control step time is smaller than the vibration period.

[0095] Such an information processing method can reduce the deviation caused by the delay of image information.

[0096] The program according to the present embodiment causes a computer to execute the information processing method according to the present embodiment.

[0097] Such a program provides the same effects as the information processing method according to the present embodiment.

[0098] Furthermore, the information processing system 3 according to this embodiment is an information processing system 3 that corrects vibrations of the feature point coordinates caused by vibrations of the object 4 or the stage 12, for a servo system 2 that includes an image processing unit 21 that extracts feature points included in the object 4 from an image captured by the imaging unit 13 and generates feature point coordinates indicating the coordinates of the extracted feature points, and a difference calculator 22 that calculates the difference between the feature point coordinates and target coordinates and outputs the difference to the driving unit 11, and is targeted at a controlled system 1 that includes a stage 12 that moves the object 4, a driving unit 11 that drives the stage 12, and an imaging unit 13 that images the object 4. The information processing system 3 also includes a preparation processing unit 32 that stores correction data generated based on a control step time, which is the time difference between when the object 4 is imaged and when the difference is output to the driving unit 11, in a waveform storage unit 322, and a correction processing unit 33 that corrects the difference using the correction data stored in the waveform storage unit 322. The driving unit 11 drives the stage 12 so as to reduce the difference corrected by the correction processing unit 33.

[0099] Such an information processing system 3 can assist the servo system 2 in matching the feature point coordinates with the target coordinates by outputting a corrected difference, which is in opposite phase to the phase of the vibration generated by the delay of the image information, to the drive unit 11. Therefore, the information processing system 3 can align the object 4 with higher accuracy even when the object 4 on the stage 12 or the stage 12 is vibrating.

[0100] (Embodiment 2) In embodiment 2, an operation performed by a system including a controlled system 1, a servo system 2, and an information processing system 3a when vibrations occurring in the object 4 or the stage 12 are damped will be described. Note that the information processing system 3a according to embodiment 2 differs from the information processing system 3 according to embodiment 1 in that the calculation unit 324 generates time-series data of correction values ​​for multiple periods using an autoregressive model. First, the autoregressive model used by the calculation unit 324 will be described.

[0101] [Autoregressive Model] The calculation unit 324 generates time series data of correction values ​​indicating the difference between the first time series data and the second time series data as correction data, and then generates time series data of correction values ​​for multiple periods using an autoregressive model. The autoregressive model is a recurrence formula (i.e., a prediction model) for calculating time series data of correction values ​​for multiple periods that takes vibration damping into account. Below, we will explain how to generate the autoregressive model, verify the prediction accuracy of the time series data of correction values ​​for multiple periods generated using the autoregressive model, and update the autoregressive model. Note that the generation of the autoregressive model, the verification of the prediction accuracy, and the update of the autoregressive model may be performed by the information processing system 3a or an external device.

[0102] Generation of an autoregressive model will be described. Generating an autoregressive model means calculating coefficients used in a recurrence formula. The coefficients are calculated by performing machine learning using, as training data, a plurality of first time series data acquired in the past and corrected differences corresponding to each of the plurality of first time series data. Note that the data used in the recurrence formula may be feature point coordinates, or may be velocity, acceleration, or the like derived from the difference between the feature point coordinates.

[0103] Verification of prediction accuracy will be described. Verification of prediction accuracy means determining whether the generated autoregressive model satisfies a certain criterion. Specifically, if the autoregressive model does not satisfy the certain criterion, the autoregressive model is generated again, and if the certain criterion is satisfied, the calculation unit 324 uses the autoregressive model. Furthermore, in verifying prediction accuracy, it is determined whether the error (e.g., an accuracy index such as a root-mean-square error) between the time series data of the corrected value for multiple periods generated using the autoregressive model and the time series data of the corrected value of the true value satisfies a certain criterion. Note that the certain criterion may be, for example, whether the number of times the error exceeds a threshold multiple times in succession is a certain number or less.

[0104] The following describes updating the autoregressive model. Updating the autoregressive model means generating the autoregressive model again when the accuracy of the time-series data of the correction values ​​for multiple periods has decreased due to a change in the environment surrounding the information processing system 3a, or when a certain period of time has passed since the generation of the autoregressive model.

[0105] Comparative Example Next, a problem that occurs when a conventional servo system performs control to suppress vibrations occurring in the object 4 or the stage 12 will be described with reference to FIGS. 7A and 7B. FIG.

[0106] 7A is a diagram showing a change in the position of the feature point coordinates when vibrations occurring in the object 4 or the stage 12 are attenuated. Note that Fig. 7A is a diagram showing a vibration waveform when vibration suppression is not performed by a conventional servo system.

[0107] As shown in FIG. 7A, vibrations having a period of 400 ms (i.e., 2.5 Hz) and gradually attenuating over time are generated in the object 4 or the stage 12.

[0108] FIG. 7B is a diagram showing position changes of the feature point coordinates when the conventional servo system performs vibration suppression.

[0109] As shown in FIG. 7B , the conventional servo system begins vibration suppression 1.2 seconds after measuring the vibrations occurring in the object 4 or the stage 12. When the conventional servo system begins vibration suppression, the amplitude of the vibrations is significantly reduced. However, even after the conventional servo system performs control (i.e., after 1.2 seconds), vibrations continue at a period of 400 ms (i.e., 2.5 Hz), indicating that the conventional servo system is unable to sufficiently suppress the vibrations. This is because the image information used for vibration suppression in the conventional servo system has a delay. Therefore, when the driver 11 drives the stage 12 by the calculated difference, the x-coordinate of the feature point coordinates of the object 4 deviates from the target coordinates by the amount of movement during the control step time Δt. As a result, the x-coordinate of the feature point coordinates does not match the target coordinates, and similar control is performed at each time, resulting in a problem in that the conventional servo system is unable to sufficiently suppress the vibrations.

[0110] [Example of operation] Below, an example of operation performed by a system including the information processing system 3a according to the second embodiment will be described, which is an example of how to address the problem that the conventional servo system according to the first embodiment cannot sufficiently suppress vibrations occurring in the target object 4 or the stage 12.

[0111] Fig. 8 is a flowchart showing the operation of the information processing system 3a according to embodiment 2. Note that the flowchart shown in Fig. 8 is a modified version of the flowchart shown in Fig. 3. Specifically, steps S303 and S308 shown in Fig. 8 are steps related to the modification of the flowchart.

[0112] First, the vibration detection unit 31 determines whether vibration has been detected (i.e., whether the change over time in the acquired position information is equal to or less than a first threshold and the change over time in the feature point coordinates is equal to or greater than a second threshold) (step S301).

[0113] If it is determined that the vibration detection unit 31 has not detected any vibration (No in step S301), the information processing system 3a ends its operation.

[0114] When the vibration detection unit 31 determines that vibration is detected (Yes in step S301), the vibration detection unit 31 outputs a signal to the waveform acquisition unit 321. When the waveform acquisition unit 321 acquires the signal from the vibration detection unit 31, if the feature point coordinates match the stationary target position, the waveform acquisition unit 321 starts acquiring first time-series data (step S302).

[0115] The waveform acquisition unit 321 determines whether acquisition of the first time series data for at least more than half a cycle has been completed (step S303).

[0116] If it is determined that acquisition of the first time series data exceeding at least half a cycle has not been completed (No in step S303), the waveform acquirer 321 continues to acquire the first time series data.

[0117] If it is determined that acquisition of first time series data exceeding at least half a cycle has been completed (Yes in step S303), the waveform acquisition unit 321 stores the first time series data in the waveform storage unit 322 (step S304).

[0118] The waveform generating unit 323 calculates the control step time Δt from the first time series data (step S305).

[0119] The waveform generating unit 323 generates second time series data by shifting the first time series data by the control step time Δt, and stores the second time series data in the waveform storage unit 322 (step S306).

[0120] The calculation unit 324 generates time series data of a correction value (i.e., correction data) indicating the difference between the first time series data and the second time series data, and stores the data in the waveform storage unit 322 (step S307).

[0121] The calculation unit 324 generates time series data of correction values ​​for multiple periods from the correction data generated in step S307 using an autoregressive model, and stores the data in the waveform storage unit 322 (step S308).

[0122] Steps S303 to S308 correspond to the preparation steps performed by the preparation processing unit 32.

[0123] The correction processing unit 33 determines whether to start vibration suppression (step S309). The correction processing unit 33 uses as a criterion for the determination in step S309 whether the feature point coordinates match the stationary target position.

[0124] If it is determined that vibration suppression should not be started (i.e., the feature point coordinates do not match the stationary target position) (No in step S309), the correction processing unit 33 makes the determination in step S309 after the control step time Δt.

[0125] If it is determined that vibration suppression should be started (i.e., the feature point coordinates match the stationary target position) (Yes in step S309), the correction processing unit 33 sequentially outputs the difference corrected using the correction data to the drive unit 11 (step S310).

[0126] Steps S309 and S310 correspond to correction steps performed by the correction processing unit 33.

[0127] The correction processing unit 33 determines whether to end vibration suppression (step S311). The correction processing unit 33 uses, for example, whether the feature point coordinates match the stationary target position for a certain period or more as a criterion for the determination in step S311.

[0128] When it is determined that vibration suppression should not be ended (No in step S311), the correction processing unit 33 continues to perform the operation of step S310.

[0129] When it is determined that vibration suppression is to be ended (Yes in step S311), the information processing system 3a ends the operation.

[0130] Next, the operation performed by the information processing system 3a described with reference to FIG. 8 will be described using specific examples shown in FIGS. 9A to 9C.

[0131] Figure 9A is a diagram showing an example of the first time series data stored in the waveform memory unit 322 in step S304 of Figure 8, the second time series data generated by the waveform generation unit 323 in step S306, and the time series data of the correction value generated by the calculation unit 324 in step S307.

[0132] 9A, 1.5 cycles of first time series data are acquired, and second time series data and correction value time series data are generated. The acquisition of the first time series data and the generation of the second time series data and correction value time series data are the same as those described in FIGS. 4A, 4B, and 4C, and therefore will not be described again.

[0133] Fig. 9B is a diagram showing an example of time-series data of correction values ​​for multiple periods generated by the calculation unit 324 in step S308 of Fig. 8. Note that the time-series data of correction values ​​shown in Fig. 9B is the same as the time-series data of correction values ​​shown in Fig. 9A.

[0134] As shown in FIG. 9B, the calculation unit 324 generates time series data of correction values ​​for multiple periods (time series data after 0.6 s) from the time series data of correction values ​​using an autoregressive model.

[0135] FIG. 9C is a diagram showing the corrected difference and the x coordinate of the feature point coordinates output by the correction processing unit 33 in step S310 of FIG.

[0136] 9C , the correction processing unit 33 has not started vibration suppression between 0 s and 0.8 s, and therefore the value of the corrected difference indicates 0. After 0.8 s, the correction processing unit 33 starts vibration suppression, and therefore outputs the corrected difference to the driving unit 11. Furthermore, the correction processing unit 33 outputs the corrected difference, which is in the opposite phase to the phase of the vibration generated by the delay in image information, to the driving unit 11, and therefore the x coordinate of the feature point coordinates coincides with the target coordinate.

[0137] Another specific example of steps S303 to S308 shown in Fig. 8 will be described with reference to Fig. 9D. Fig. 9D is a diagram showing an example of the first time-series data stored in the waveform storage unit 322 in step S304 of Fig. 8 and time-series data of correction values ​​for multiple periods generated by the calculation unit 324 in step S308. Note that in the waveform shown in Fig. 9D, the horizontal axis represents time and the vertical axis represents the amplitude of the feature point coordinates. In Fig. 9D, the time and the amplitude of the feature point coordinates are displayed in arbitrary units (a.u.).

[0138] 9D , the waveform acquisition unit 321 can also acquire first time-series data of at least half a cycle but less than one cycle, and generate time-series data of correction values ​​for multiple cycles. This is because, if the waveform acquisition unit 321 acquires a waveform for a period including the maximum and minimum amplitude values, the calculation unit 324 can generate time-series data of correction values ​​that extract characteristics of the vibration waveform, including frequency, phase, attenuation, etc.

[0139] [Effects] As explained above, in the information processing method according to the present embodiment, in the preparation step, first time series data indicating vibrations over a time period exceeding at least half a cycle of the feature point coordinates are acquired (S303 to S304), second time series data is generated by shifting the acquired first time series data by the control step time (S305 to S306), time series data of correction values ​​indicating the difference between the first time series data and the second time series data is generated (S307), and time series data of correction values ​​for multiple cycles calculated using a predetermined recurrence formula for the time series data is generated as correction data (S308).

[0140] Such an information processing method generates time series data of correction values ​​for multiple periods as correction data, and therefore can assist the servo system 2 in matching the feature point coordinates with the target coordinates even when damped vibrations are occurring in the object 4 or the stage 12.

[0141] The program according to the present embodiment causes a computer to execute the information processing method according to the present embodiment.

[0142] Such a program provides the same effects as the information processing method according to the present embodiment.

[0143] (Embodiment 3) In embodiment 3, an operation performed by a system including a controlled system 1, a servo system 2, and an information processing system 3b will be described when the vibrations generated in the object 4 or the stage 12 by a repetitive process (for example, the operation of the drive unit 11 moving the stage 12 to the origin) are the same each time. Note that the information processing system 3b according to embodiment 3 differs from the information processing system 3a according to embodiment 2 in that it has two control modes: a normal operation mode and a maintenance mode, which will be described later. First, the two control modes of the information processing system 3b will be described.

[0144] [Two Control Modes] The information processing system 3b according to the third embodiment has two control modes: a normal operation mode and a maintenance mode. The normal operation mode is a mode in which the correction processing unit 33 suppresses vibrations when the target object 4 or the stage 12 is vibrating. The maintenance mode is a mode in which the correction processing unit 33 instructs the driving unit 11 to execute a repetitive process and generates correction data in advance to suppress vibrations that occur in the repetitive process. Note that the information processing system 3 according to the first embodiment and the information processing system 3a according to the second embodiment only have a normal operation mode. In other words, the operation examples described in the information processing system 3 according to the first embodiment and the operation examples described in the information processing system 3a according to the second embodiment are operations in the normal operation mode.

[0145] [Example of Operation] An example of operation performed by the information processing system 3b in the maintenance mode will be described below.

[0146] 10 is a flowchart showing the operation of the information processing system 3b according to the third embodiment. Steps S401 to S408 are steps in which the drive unit 11 executes a repetitive process in advance and generates time-series data of correction values ​​in advance to suppress vibrations that occur each time the repetitive process is executed (i.e., operation in the maintenance mode). Steps S409 to S412 are steps in which the correction processing unit 33 suppresses vibrations using the time-series data of correction values ​​that have been generated in advance when the drive unit 11 executes the repetitive process (i.e., operation in the normal operation mode).

[0147] First, the preparation processing unit 32 determines whether or not to transition the control mode of the information processing system 3b from the normal operation mode to the maintenance mode (step S401). When the servo system 2 accepts a repeat process, the preparation processing unit 32 transitions the control mode from the normal operation mode to the maintenance mode. Note that a repeat process means that the drive unit 11 performs the same operation as the previous operation on the stage 12, such as the operation of the drive unit 11 moving the stage 12 to the origin.

[0148] When it is determined that the control mode of the information processing system 3b will not be shifted from the normal operation mode to the maintenance mode (No in step S401), the information processing system 3b ends its operation.

[0149] If it is determined that the control mode of the information processing system 3b should be switched from the normal operation mode to the maintenance mode (Yes in step S401), the control mode of the information processing system 3b is switched to the maintenance mode. Then, the correction processing unit 33 outputs the difference to the driver 11 to cause the driver 11 to execute the repeating process, and the driver 11 executes the repeating process on the stage 12 (step S402). Note that the driver 11 executing the repeating process in step S402 causes the target object 4 or the stage 12 to vibrate.

[0150] Steps S401 and S402 correspond to a maintenance mode start step performed by the information processing system 3b.

[0151] When the feature point coordinates match the stationary target position, the waveform acquisition unit 321 starts acquiring the first time series data (step S403).

[0152] The waveform acquirer 321 determines whether acquisition of the first time series data is complete (step S404). For example, the waveform acquirer 321 determines that acquisition of the first time series data is complete when at least one cycle of the first time series data is acquired.

[0153] If it is determined that the acquisition of the first time series data is not complete (No in step S404), the waveform acquirer 321 continues to acquire the first time series data.

[0154] When it is determined that the acquisition of the first time series data is completed (Yes in step S404), the waveform acquisition unit 321 stores the first time series data in the waveform storage unit 322 (step S405).

[0155] The waveform generating unit 323 calculates the control step time Δt from the first time series data (step S406).

[0156] The waveform generating unit 323 generates second time series data by shifting the first time series data by the control step time Δt, and stores the second time series data in the waveform storage unit 322 (step S407).

[0157] The calculation unit 324 generates time series data of a correction value (i.e., correction data) indicating the difference between the first time series data and the second time series data, and stores the data in the waveform storage unit 322 (step S408).

[0158] Steps S404 to S408 correspond to the preparation steps performed by the preparation processing unit 32.

[0159] The preparation processing unit 32 transitions the control mode of the information processing system 3b from the maintenance mode to the normal operation mode (step S409).

[0160] When the repeating process is executed, the correction processing unit 33 determines whether to start vibration suppression (step S410). The correction processing unit 33 uses as a criterion for the determination in step S410 whether the feature point coordinates match the stationary target position.

[0161] If it is determined that vibration suppression should not be started (i.e., the feature point coordinates do not match the stationary target position) (No in step S410), the correction processing unit 33 makes the determination in step S410 after the control step time Δt.

[0162] If it is determined that vibration suppression should be started (i.e., the feature point coordinates match the stationary target position) (Yes in step S410), the correction processing unit 33 sequentially outputs the difference corrected using the correction data to the drive unit 11 (step S411).

[0163] Steps S410 and S411 correspond to correction steps performed by the correction processing unit 33.

[0164] The correction processing unit 33 determines whether to end vibration suppression (step S412). The correction processing unit 33 uses, for example, whether the feature point coordinates match the stationary target position for a certain period or more as a criterion for the determination in step S412.

[0165] When it is determined that vibration suppression should not be ended (No in step S412), the correction processing unit 33 continues to perform the operation of step S411.

[0166] When it is determined that vibration suppression is to be ended (Yes in step S412), the information processing system 3b ends the operation.

[0167] If the waveform storage unit 322 stores time-series data of correction values ​​for suppressing vibrations that occur each time the repetitive process is performed, the information processing system 3b starts operation from step S410.

[0168] Next, the operation performed by the information processing system 3b described with reference to FIG. 10 will be described using a specific example shown in FIGS. 11A and 11B.

[0169] 11A is a diagram showing an example of the first time series data stored in the waveform storage unit 322 in step S405 and the second time series data generated by the waveform generation unit 323 in step S407 in Fig. 10. Note that the vibration generated in the object 4 or the stage 12 has a period of 400 ms (i.e., 2.5 Hz) and gradually attenuates over time.

[0170] As shown in Fig. 11A, the control step time Δt is a time interval shorter than the control step time Δt shown in Fig. 4B or 9A. This is because the correction data is generated in advance, so that the preparation step can be omitted when the information processing system 3b suppresses vibrations.

[0171] FIG. 11B is a diagram showing the corrected difference and the x coordinate of the feature point coordinates output by the correction processing unit 33 in step S411 of FIG.

[0172] 11B, the correction processing unit 33 starts suppressing vibrations 1 / 2 cycle (0.2 s) after the waveform acquisition unit 321 starts measuring vibrations. This is because the correction data is generated in advance, and therefore there is no need to generate new correction data from the first time-series data acquired by the waveform acquisition unit 321.

[0173] 11A and 11B, a simple harmonic motion is used to explain how vibrations occurring in the object 4 or the stage 12 are damped, but the information processing system 3b can generate correction data for any vibration waveform when reproducible vibrations occur in the object 4 or the stage 12. This allows the information processing system 3b to suppress vibrations using the correction data.

[0174] Furthermore, the information processing system 3 according to embodiment 1 may have two control modes, a normal operation mode and a maintenance mode, and the information processing system 3a according to embodiment 2 may have two control modes, a normal operation mode and a maintenance mode.

[0175] [Effect] As explained above, the information processing method according to this embodiment further includes a maintenance mode start step (S401 to S402) that instructs the drive unit 11 to generate vibrations, and the preparation steps (S404 to S408) are started after vibrations are generated by the maintenance mode start step (S401 to S402).

[0176] Such an information processing method generates in advance time-series data of correction values ​​for suppressing vibrations that occur each time the repetition process is performed, and therefore vibration suppression can be started at an earlier timing.

[0177] The program according to the present embodiment causes a computer to execute the information processing method according to the present embodiment.

[0178] Such a program provides the same effects as the information processing method according to the present embodiment.

[0179] (Fourth Embodiment) In the fourth embodiment, a system configuration including a controlled system 1a that moves an object 4 two-dimensionally to a target coordinate, a servo system 2a that issues a command to move the object 4 to the target coordinate for each axis defining the two dimensions, and two information processing systems 3c and 3d that perform vibration suppression for each axis defining the two dimensions will be described. FIG. 12 is a block diagram showing the configuration of a system including two information processing systems 3c and 3d according to the fourth embodiment. The controlled system 1a according to the fourth embodiment differs from the controlled systems 1 according to the first to third embodiments in that it has a drive unit 11 and an encoder 14 for each axis. Furthermore, the servo system 2a according to the fourth embodiment differs from the servo systems 2 according to the first to third embodiments in that it has a differentiator 22 for each axis.

[0180] As shown in Fig. 12, the controlled system 1a includes a driver 11 (an X-axis driver 11a and a Y-axis driver 11b) and an encoder 14 (encoders 14a and 14b) for each axis. The X-axis driver 11a and the encoder 14a perform their respective operations on the X-axis, and the Y-axis driver 11b and the encoder 14b perform their respective operations on the Y-axis. Note that, although Fig. 12 shows an example in which the axes defining two dimensions are the X-axis and the Y-axis, the axes defining two dimensions do not have to be orthogonal.

[0181] The servo system 2a includes a difference calculator 22 (a difference calculator 22a and a difference calculator 22b) for each axis. The difference calculator 22a operates for the X axis, and the difference calculator 22b operates for the Y axis.

[0182] The image processing unit 21 also generates x and y coordinates as feature point coordinates indicating the coordinates of the extracted feature points. The image processing unit 21 outputs the x coordinate to the subtractor 22 a and the information processing system 3 c, and outputs the y coordinate to the subtractor 22 b and the information processing system 3 d.

[0183] The information processing system 3c assists in the control of the servo system 2a so as to suppress vibrations occurring in the x coordinate direction among vibrations occurring in the object 4 or the stage 12. The information processing system 3d assists in the control of the servo system 2a so as to suppress vibrations occurring in the y coordinate direction among vibrations occurring in the object 4 or the stage 12. Note that the operations performed by the information processing systems 3c and 3d may be any of the operation examples described in the first to third embodiments.

[0184] [Effects] As explained above, in the information processing method according to the present embodiment, when the vibration is two-dimensional, the preparation step and the correction step are performed for each of the two axes that define the two dimensions.

[0185] Such an information processing method can align the object 4 with high accuracy even when two-dimensional vibrations occur in the object 4 or the stage 12 .

[0186] The program according to the present embodiment causes a computer to execute the information processing method according to the present embodiment.

[0187] Such a program provides the same effects as the information processing method according to the present embodiment.

[0188] [Modifications] The information processing method and the like according to the present disclosure have been described above based on the above-described embodiments, but the present disclosure is not limited to the above-described embodiments. As long as they do not deviate from the spirit of the present disclosure, various modifications conceivable by a person skilled in the art to the above-described embodiments, or forms constructed by combining components of different embodiments, may also be included within the scope of one or more aspects.

[0189] In the above embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.

[0190] In the above-described embodiments, some or all of the functions of the components may be realized by a processor such as a CPU executing a program. The program according to the present disclosure may be realized as a computer-readable non-transitory recording medium on which the program is recorded, or as a program product including the program.

[0191] Some or all of the components constituting each of the above devices may be configured as an IC card or a standalone module that can be attached to or detached from each device. The IC card or module is a computer system composed of a microprocessor, ROM, RAM, etc. The IC card or module may include a super multi-function LSI. The IC card or module achieves its functions when the microprocessor operates in accordance with a computer program. The IC card or module may be tamper-resistant.

[0192] [Additional Notes] The above description of the embodiments discloses the following techniques.

[0193] (Technology 1) An information processing method is executed by an information processing system for correcting vibrations of feature point coordinates caused by vibrations of the object or the stage, for a servo system including a controlled system consisting of a stage that moves an object, a drive unit that drives the stage, and an imaging unit that images the object on the stage, the servo system including an image processing unit that extracts feature points included in the object from an image captured by the imaging unit and generates feature point coordinates that indicate the coordinates of the extracted feature points, and a difference calculator that calculates a difference between the feature point coordinates and target coordinates and outputs the difference to the drive unit, the information processing method including: a preparation step of storing correction data in a waveform storage unit, the correction data being generated based on a control step time that is the time difference between when the object is imaged and when the difference is output to the drive unit; and a correction step of correcting the difference using the correction data stored in the waveform storage unit, and the drive unit drives the stage based on the difference corrected in the correction step.

[0194] (Technology 2) An information processing method according to Technology 1, wherein in the preparation step, first time series data indicating at least one period of oscillation of the feature point coordinates is acquired, second time series data is generated by shifting the acquired first time series data by the control step time, and time series data of a correction value indicating a difference between the first time series data and the second time series data is generated as the correction data.

[0195] (Technology 3) The information processing method described in Technology 1 or 2, wherein the controlled system further includes an encoder that acquires position information of the stage, and the information processing method further includes a detection step of detecting that the vibration is occurring when it is determined that the change over time of the position information is equal to or less than a first threshold and the change over time of the feature point coordinates is equal to or greater than a second threshold.

[0196] (Technology 4) An information processing method according to Technology 3, wherein the preparation step is started when the occurrence of the vibration is detected in the detection step and the feature point coordinates match a stationary target position.

[0197] (Technology 5) An information processing method described in Technology 3 or 4, wherein the correction step is started when the occurrence of the vibration is detected in the detection step, the correction data is generated, and the feature point coordinates match a stationary target position.

[0198] (Technology 6) An information processing method according to any one of Techniques 1 to 5, wherein in the preparation step, first time series data indicating vibrations over a time period exceeding at least half a period of the feature point coordinates is acquired, second time series data is generated by shifting the acquired first time series data by the control step time, time series data of correction values ​​indicating a difference between the first time series data and the second time series data is generated, and time series data of correction values ​​for multiple periods calculated using a predetermined recurrence formula for the time series data is generated as the correction data.

[0199] (Technology 7) An information processing method according to any one of Techniques 2 to 6, wherein, when the first time series data includes impulse waveform data, in the preparation step, the correction value corresponding to the time when the impulse waveform data is generated is corrected to a value within a range determined by a predetermined upper limit value and a predetermined lower limit value.

[0200] (Technology 8) An information processing method described in any one of Technologies 1 to 7, wherein the preparation step and the correction step are performed for each of the two axes that define the two dimensions when the vibration is two-dimensional.

[0201] (Technology 9) An information processing method described in any one of Technologies 1 to 8, further including a maintenance mode start step of instructing the drive unit to generate the vibration, and the preparation step is started after the vibration is generated by the maintenance mode start step.

[0202] (Technology 10) The information processing method according to any one of Techniques 1 to 9, wherein the control step time is shorter than the period of the vibration.

[0203] (Technology 11) A program for causing a computer to execute the information processing method according to any one of technologies 1 to 10.

[0204] (Technology 12) An information processing system for correcting vibrations of the feature point coordinates caused by vibrations of the object or the stage, for a servo system including an image processing unit that extracts feature points included in the object from an image captured by the imaging unit and generates feature point coordinates indicating the coordinates of the extracted feature points, and a difference calculator that calculates the difference between the feature point coordinates and target coordinates and outputs the difference to the driving unit, for a controlled system including a stage that moves an object, a driving unit that drives the stage, and an imaging unit that images the object on the stage. The information processing system further includes a preparation processing unit that stores correction data generated based on a control step time, which is the time difference between when the object is imaged and when the difference is output to the driving unit, in a waveform storage unit, and a correction processing unit that corrects the difference using the correction data stored in the waveform storage unit, and the driving unit drives the stage based on the difference corrected by the correction processing unit.

[0205] The information processing method etc. according to the present disclosure is useful, for example, as a method for correcting vibrations in feature point coordinates in a servo system that moves an object to a target coordinate.

[0206] REFERENCE SIGNS LIST 1, 1a Controlled system 11 Drive unit 11a X-axis drive unit 11b Y-axis drive unit 12 Stage 13 Imaging unit 14, 14a, 14b Encoder 2, 2a Servo system 21 Image processing unit 22, 22a, 22b Differentiator 3, 3a, 3b, 3c, 3d Information processing system 31 Vibration detection unit 32 Preparation processing unit 321 Waveform acquisition unit 322 Waveform storage unit 323 Waveform generation unit 324 Calculation unit 33 Correction processing unit 4 Object

Claims

1. An information processing method executed by an information processing system for correcting vibrations of feature point coordinates caused by vibrations of the object or the stage, for a servo system comprising a controlled system consisting of a stage for moving an object, a drive unit for driving the stage, and an imaging unit for imaging the object on the stage, the servo system comprising an image processing unit that extracts feature points contained in the object from an image captured by the imaging unit and generates feature point coordinates indicating the coordinates of the extracted feature points, and a difference calculator that calculates the difference between the feature point coordinates and target coordinates and outputs the difference to the driving unit, the information processing method comprising: a preparation step of storing correction data in a waveform storage unit, which is generated based on a control step time that is the time difference between when the object is imaged and when the difference is output to the driving unit; and a correction step of correcting the difference using the correction data stored in the waveform storage unit, and the driving unit drives the stage based on the difference corrected in the correction step.

2. The information processing method according to claim 1, wherein in the preparation step, first time series data indicating at least one period of oscillation of the feature point coordinates is acquired, second time series data is generated by shifting the acquired first time series data by the control step time, and time series data of a correction value indicating the difference between the first time series data and the second time series data is generated as the correction data.

3. The information processing method according to claim 2, wherein the controlled system further comprises an encoder that acquires position information of the stage, and the information processing method further includes a detection step of detecting that the vibration is occurring when it is determined that the change over time in the position information is equal to or less than a first threshold value and the change over time in the feature point coordinates is equal to or greater than a second threshold value.

4. The information processing method according to claim 3, wherein the preparation step is started when the occurrence of the vibration is detected in the detection step and the feature point coordinates match a stationary target position.

5. The information processing method according to claim 3, wherein the correction step is initiated when the occurrence of the vibration is detected in the detection step, the correction data is generated, and the feature point coordinates match the stationary target position.

6. The information processing method according to claim 1, wherein in the preparation step, first time series data indicating vibrations over a time period exceeding at least half a period of the feature point coordinates is acquired, second time series data is generated by shifting the acquired first time series data by the control step time, time series data of correction values ​​indicating the difference between the first time series data and the second time series data is generated, and time series data of correction values ​​for multiple periods calculated using a predetermined recurrence formula for the time series data is generated as the correction data.

7. An information processing method according to claim 2, wherein, if the first time series data includes impulse waveform data, in the preparation step, the correction value corresponding to the time when the impulse waveform data is generated is corrected to a value within a range determined by a predetermined upper limit value and a predetermined lower limit value.

8. The information processing method according to claim 1, wherein, when the vibration is two-dimensional, the preparation step and the correction step are performed for each of two axes that define the two dimensions.

9. The information processing method according to claim 1, further comprising a maintenance mode initiation step of instructing the drive unit to generate the vibration, and the preparation step is initiated after the vibration has been generated by the maintenance mode initiation step.

10. The information processing method according to claim 1, wherein the control step time is smaller than the period of the vibration.

11. A program for causing a computer to execute the information processing method according to any one of claims 1 to 10.

12. An information processing system for correcting vibrations of the feature point coordinates caused by vibrations of the object or the stage, for a servo system comprising a controlled system consisting of a stage for moving an object, a drive unit for driving the stage, and an imaging unit for imaging the object on the stage, the servo system comprising an image processing unit for extracting feature points contained in the object from an image captured by the imaging unit and generating feature point coordinates indicating the coordinates of the extracted feature points, and a difference calculator for calculating the difference between the feature point coordinates and target coordinates and outputting the difference to the driving unit, the information processing system comprising: a preparation processing unit for storing correction data generated based on a control step time, which is the time difference between when the object is imaged and when the difference is output to the driving unit, in a waveform storage unit; and a correction processing unit for correcting the difference using the correction data stored in the waveform storage unit, and the driving unit drives the stage based on the difference corrected by the correction processing unit.

Citation Information

Patent Citations

  • Supporting device

    JP2014186586A

  • Control system, control unit, image processing apparatus, and program

    JP2019215633A

  • Position identification device, control method of position identification device, information processing program, and recording medium

    JP2022034420A