Control system, control method, and program
The control system synchronizes the movement of multiple movable members in X-ray inspection devices by calculating a common travel time and adjusting acceleration, addressing inefficiencies in existing technologies and reducing inspection time while maintaining image quality.
Patent Information
- Application Number
- JP2021085177
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-20
- Publication Date
- 2025-09-17
- Estimated Expiration
- 2041-05-20
AI Technical Summary
Existing X-ray inspection devices face inefficiencies due to the need for synchronized operation of multiple axis groups, where the travel time suitable for achieving target speed at the end of the travel section differs for each axis group, leading to difficulties in synchronous control and increased inspection time due to vibration and idle periods.
A control system that calculates a specific movement trajectory for each movable member using polynomials, determines a common travel time for all members to achieve a target terminal velocity, and adjusts movement control to synchronize their speeds at the end point, using a common remaining trajectory travel time and acceleration correction to prevent discontinuities.
This system enables synchronized movement of multiple movable members in X-ray inspection devices, reducing inspection time by eliminating idle periods and preventing vibration-induced image quality degradation, ensuring smooth transitions without exceeding movement limits.
Smart Images

Figure 0007739757000001 
Figure 0007739757000002 
Figure 0007739757000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to the control of a device having a plurality of movable members capable of movement in at least two dimensions. [Background technology]
[0002] Machines that perform work by coordinating multiple moving parts (hereinafter also referred to as axis groups) have been widely used for some time. There are a variety of types and applications of such machines, such as an X-ray inspection machine that takes X-ray images of an object to be inspected, such as the surface of a circuit board, from multiple directions, creates 3D data from the multiple X-ray images, and inspects the internal structure of the inspection area.
[0003] In such X-ray inspection devices, an X-ray source irradiates an inspection point on an object under inspection with X-rays, and an X-ray camera captures the transmitted X-rays. Then, multiple X-ray images are captured while the relative positions of the X-ray source, object under inspection, and X-ray camera are changed. At least one of the X-ray source, object under inspection, and X-ray camera is rotated to change their relative positions. After one rotation and capturing the inspection point, the object under inspection moves to a new imaging position for capturing the next inspection point, and then rotates again. Here, conventionally, the timing of the transition between the movement and the rotation, i.e., the X-ray source and other movable parts are temporarily stopped before and after the rotation, and then the next movement and rotation are started again.
[0004] However, such stopping operations themselves increase the total inspection time, and when the system goes from a stopped state to a rotation or movement, the X-ray source and X-ray camera are prone to vibrate due to changes in acceleration, reducing the quality of the images taken. This creates an idle period during which inspection images cannot be taken until the vibration subsides, further increasing the inspection time.
[0005] For this reason, it is conceivable to shorten the inspection time by eliminating the pause before and after the rotational movement and connecting the rotational movement and the moving movement with a continuous speed (acceleration, jerk).However, since the X-ray source and X-ray camera must be positioned opposite the object to be inspected, in order to synchronize the start timing of the rotational movement of the X-ray source and the X-ray camera while eliminating the pause, the moving time of both must be the same.
[0006] In order to specify the travel time between two points and to connect them smoothly without discontinuity in acceleration, it is conceivable to move the movable member along a trajectory using a quintic interpolation trajectory as disclosed in Non-Patent Document 1. However, the travel distances of the X-ray source and the X-ray camera do not necessarily match, and if the travel distance of one is short, the travel trajectory generated to adjust the travel time may expand more than necessary, potentially exceeding the movable range of the device.
[0007] In this regard, Patent Document 1 describes a technology that specifies a movement trajectory between two points using a Bezier curve defined by a control vector, thereby preventing the generation of a movement trajectory that deviates from the control vector. It also describes a technology that calculates in real time for each control period the movement speed for achieving the target speed and target acceleration of a moving object at the end point of the movement, and performs control. According to the technology described in Patent Document 1, simply by specifying a start vector and an end vector, it is possible to smoothly connect the start and end points without overshooting the trajectory between them and to prevent discontinuity in the speed (acceleration) at the end point of the movement. [Prior art documents] [Patent documents]
[0008] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-83982 [Non-patent literature]
[0009] [Non-Patent Document 1] Tsuneo Yoshikawa, "Fundamentals of Robot Control", Corona Publishing, 1988, pp. 132-133 Summary of the Invention [Problem to be solved by the invention]
[0010] The technology described in Patent Document 1 relates to a device with a single axis group, but as mentioned above, an X-ray inspection device requires synchronized operation of multiple axis groups (X-ray source and X-ray camera). That is, the travel time of each axis group's travel section must be equal, but because the travel time suitable for achieving the target speed at the end of the travel section differs for each axis group, synchronous control becomes difficult. The technology described in Patent Document 1 could not solve this problem.
[0011] The present invention has been made in consideration of the above-mentioned problems, and its purpose is to provide a technology for generating an appropriate movement trajectory for each movable member in an apparatus having multiple movable members, and for realizing control to move the multiple movable members synchronously so that the speed at the end point of the movement trajectory of each movable member becomes a target speed. [Means for solving the problem]
[0012] In order to solve the above problems, the present invention employs the following configuration: 1. A control system for a device having a plurality of moving parts, comprising: a movement trajectory calculation means for calculating, for each of the plurality of movable members, a specific movement trajectory that is a path connecting a start point and an end point of movement of the movable members and is specified using a polynomial; a movement time calculation means for calculating, for each of the plurality of movable members, a time required for the movable members to move from one point on the specific movement trajectory to an end point, the movement time during which the movable members can achieve a target terminal velocity, which is a predetermined velocity that the movable members should maintain at the end point; a common travel time specifying means for determining a common travel time that allows each of the plurality of movable members to achieve the target terminal velocity at the end point, based on the plurality of travel times calculated for each of the plurality of movable members; and a control command means for causing the device to execute control including speed control for moving each of the plurality of movable members from the one point on each of the specific movement paths to the end point within the common movement time. A control system characterized by:
[0013] This makes it possible, in a device having multiple movable members, to generate an appropriate movement trajectory for each movable member, and to control the movement of the multiple movable members so that the speed at the end point of each movable member's movement trajectory becomes the target speed, and to move the multiple movable members in synchronization.
[0014] The common travel time determining means may determine the longest travel time among the travel times calculated for each of the movable members as the common travel time, thereby making it possible to set a common travel time that allows all movable members to move comfortably and most efficiently as a whole.
[0015] Furthermore, the movement time calculation means calculates a remaining trajectory movement time required for each of the plurality of movable members to reach the end point from the current position thereof for each predetermined control period during movement control of the movable members, The common moving time determining means determines the remaining time for each of the movable members calculated for each control period. determining and updating one common remaining orbit travel time for each control period based on the remaining orbit travel time; The control command means may cause the device to execute control to move each of the plurality of movable members from the current position to the end point in the latest common remaining orbit movement time that is updated for each control period.
[0016] This configuration makes it possible to perform synchronous control of multiple movable members in real time. Therefore, the movement of the movable members can be controlled without calculating the movement time in advance. Furthermore, even if, for some reason, it becomes impossible for the movable members to complete their movement within the calculated movement time, it is possible to continue synchronous control of the multiple movable members while correcting the movement time in real time.
[0017] The travel time calculation means may calculate the remaining trajectory travel time using the current velocity of the movable member, the target terminal velocity, and a remaining trajectory length from the current position of the movable member to the end point of the specific travel trajectory. Note that the remaining trajectory length may be measured using a sensor, for example, or may be calculated using an elementary function or the like.
[0018] The control system may further include an acceleration calculation means for calculating, for each of the plurality of movable members, a target acceleration or a target jerk for reaching the end point of the specific movement trajectory so as to realize the target terminal velocity within the common remaining trajectory movement time for each of the plurality of movable members for each of the plurality of movable members, and the control command means may cause the device to execute movement control for each of the plurality of movable members that satisfies the target acceleration or the target jerk calculated for each of the control cycle.
[0019] The acceleration calculation means When the target acceleration is accRefNonLimited, the target terminal velocity is refVelEnd, the current velocity is actVel, the common remaining trajectory travel time is tLeft, and the velocity required to reach the end point of the specific trajectory while realizing the target terminal velocity during the common remaining trajectory travel time is Vnec, accRefNonLimited=(2×Vnec-refVelEnd-actVel) / tLeft The target acceleration may be calculated by the following formula:
[0020] The acceleration calculation means calculates the acceleration by using a predetermined acceleration correction coefficient α. When the target acceleration is accRefNonLimited, the target terminal velocity is refVelEnd, the current velocity is actVel, the common remaining trajectory travel time is tLeft, and the velocity required to reach the end point of the specific trajectory while realizing the target terminal velocity during the common remaining trajectory travel time is Vnec, accRefNonLimited=(Vnec-actVel+α×(Vnec-refVelEnd)) / tLeft The target acceleration may be calculated by the following formula:
[0021] In some cases, the acceleration at the end point of the specific movement trajectory may become large due to the common movement time being updated by the remaining trajectory movement time calculated for each control cycle. In this regard, by using the acceleration correction coefficient α as described above to calculate an acceleration greater than the acceleration required to achieve the target terminal velocity and increasing the speed of the movable member in advance, it is possible to prevent discontinuity in acceleration (sudden change in acceleration) at the end point of the specific movement trajectory.
[0022] The acceleration calculation means calculates the target acceleration or the target jerk within a predetermined limit. If the target acceleration or jerk exceeds a certain value, the limit value may be output as the target acceleration or the target jerk. With this configuration, the acceleration and jerk can be clipped so as not to exceed a predetermined limit value that is set based on the load on the device, etc.
[0023] The common remaining trajectory travel time may be determined as an integer multiple of the control period. If the calculated travel time is not an integer multiple of the control period, the acceleration at the trajectory connection points (start and end points of the specific travel trajectory) becomes discontinuous, which can cause abnormal noise at the trajectory connection points, and this is preferable.
[0024] The movement time calculation means may calculate a total trajectory movement time, which is the movement time from the start point to the end point of the specific movement trajectory, for each of the plurality of movable members before movement control of the movable members, and the common movement time determination means may determine one common total trajectory movement time based on the plurality of total trajectory movement times calculated for each of the plurality of movable members. This allows smooth movement control by calculating the movement times of the movable members in advance.
[0025] Furthermore, the movement time calculation means may use at least a target initial velocity, which is a predetermined velocity that the movable member should maintain at the starting point, and the target terminal velocity as input information, and calculate, as the movement time, a time during which acceleration becomes constant from the target initial velocity to the target terminal velocity when the movable member moves from the starting point to the end point along the specific movement trajectory. In this way, since acceleration is constant and continuous from the starting point to the end point of the movement trajectory, the movable member can more smoothly transition from the end point of the movement trajectory to the next operation.
[0026] The travel time calculation means may calculate the travel time by using as input information the target initial velocity, the target terminal velocity, and a limited acceleration which is a limit value of acceleration until the movable member reaches the target terminal velocity from the target initial velocity, and searching for a travel time at an acceleration which does not exceed the limited acceleration.
[0027] Furthermore, when the limited acceleration is a limited target acceleration refAcc required for the movable member to reach the target terminal velocity from the target initial velocity, the target terminal velocity is refVelEnd, the target initial velocity is refVelStart, and the remaining trajectory length to the end point on the specific movement trajectory is resLen, refAcc=(refVelEnd 2 -refVelStart 2 The restricted target acceleration may be determined by the formula: ) / (2×resLen).
[0028] The polynomial may also represent a Bezier curve or a clothoid curve, which makes it possible to easily design a movement trajectory that prevents each movable member from deviating from a predetermined operating range.
[0029] The device is an X-ray inspection device including an X-ray source that generates X-rays to be irradiated onto an inspection object, an X-ray camera that captures an X-ray image of the X-rays irradiated onto the inspection object from the X-ray source, and a holder that holds the inspection object, The plurality of movable members may include at least two or more of the X-ray source, the X-ray camera, and the holder. The present invention is suitable for such an apparatus.
[0030] The present invention also provides a method for controlling an apparatus having a plurality of movable members, the method comprising: a movement trajectory calculation step of calculating, for each of the plurality of movable members, a specific movement trajectory that is a path connecting a start point and an end point of movement of the movable members and is specified using a polynomial; The time required for each of the plurality of movable members to move from one point on the specific movement trajectory to an end point is a movement time calculation step of calculating a movement time that allows the movable member to achieve a target terminal velocity, which is a predetermined velocity that the movable member should maintain at the end point; a common travel time determination step of determining a common travel time that allows each of the plurality of movable members to achieve the target terminal velocity at the end point, based on the plurality of travel times calculated for each of the plurality of movable members; It can also be regarded as a control method characterized by having a control command step of causing the device to execute control including speed control for moving each of the plurality of movable members from the one point on each of the specific movement trajectories to the end point in the common movement time.
[0031] The present invention can also be understood as a program for causing a computer to execute the above steps, or as a computer-readable recording medium on which such a program is non-transitoryly recorded.
[0032] The present invention can be achieved by combining the above-described configurations and processes as long as no technical contradiction occurs. [Effects of the Invention]
[0033] According to the present invention, it is possible to provide a technology that generates an appropriate movement trajectory for each movable member in an apparatus having multiple movable members, and realizes control to move the multiple movable members synchronously so that the speed at the end point of the movement trajectory of each movable member becomes a target speed. [Brief explanation of the drawings]
[0034] [Figure 1] FIG. 1 is a diagram showing an outline of an X-ray inspection apparatus according to an embodiment of the present invention. [Figure 2] Fig. 2A is a diagram showing the relationship between the rotational movement and translational movement of an X-ray source or an X-ray camera in a conventional example, and Fig. 2B is a diagram showing the relationship between the rotational movement and translational movement of an X-ray source or an X-ray camera in an embodiment of the present invention. [Figure 3] FIG. 3 is a diagram showing an example of the trajectory of the rotational movement and translation movement of the X-ray source or the X-ray camera in the embodiment of the present invention. [Figure 4] FIG. 4 is a diagram illustrating the movement trajectory of the X-ray source or the X-ray camera during movement in the embodiment of the present invention. [Figure 5] FIG. 5 is a diagram illustrating a process for calculating a travel time when an X-ray source or an X-ray camera is moved in an embodiment of the present invention. [Figure 6] FIG. 6 is a diagram illustrating a process for calculating a travel time when an X-ray source or an X-ray camera is moved in an embodiment of the present invention. [Figure 7] Fig. 7A is a diagram showing an example of a movement trajectory of an X-ray source or an X-ray camera during movement in an embodiment of the present invention, and Fig. 7B is a graph showing an example of the relationship between the speed and movement time during movement of an X-ray source or an X-ray camera during movement in an embodiment of the present invention. [Figure 8]Fig. 8A is a diagram showing an example of a movement trajectory of the X-ray source 10 during movement in an embodiment of the present invention. Fig. 8B is a graph showing the relationship between the speed and movement time during movement of the X-ray source 10 during movement in an embodiment of the present invention. Fig. 8C is a diagram showing an example of a movement trajectory of the X-ray camera 20 during movement in an embodiment of the present invention. Fig. 8C is a graph showing the relationship between the speed and movement time during movement of the X-ray camera 20 during movement in an embodiment of the present invention. [Figure 9] Fig. 9A is a diagram showing an example of a movement trajectory of the X-ray source 10 during movement in an embodiment of the present invention, and Fig. 9B is a graph showing the relationship between the speed and movement time during movement of the X-ray source 10 during movement in an embodiment of the present invention. [Figure 10] FIG. 10 is a diagram illustrating the process of calculating the remaining orbital travel time during the movement of the X-ray source or the X-ray camera in the embodiment of the present invention. [Figure 11] FIG. 11 is a diagram illustrating a process for calculating the remaining orbital travel time during movement of the X-ray source or the X-ray camera in the embodiment of the present invention. [Figure 12] Fig. 12A is a diagram illustrating a process for calculating a remaining orbital travel time during movement of an X-ray source or an X-ray camera in an embodiment of the present invention. Fig. 12B is a diagram illustrating a process for calculating a remaining orbital travel time during movement of an X-ray source or an X-ray camera in an embodiment of the present invention. [Figure 13] FIG. 13 is a block diagram showing the flow of information processing for calculating the current position of the X-ray source or X-ray camera during movement in an embodiment of the present invention. [Figure 14] FIG. 14 is a flowchart showing the flow of processing related to the synchronous movement of the X-ray source 10 and the X-ray camera 20 in the embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0035] <Application example> An outline of an application example of the present invention will be described below with reference to some of the drawings. The present invention can be applied to an X-ray inspection apparatus 1 as shown in FIG. 1. In the X-ray inspection apparatus 1, an X-ray source 10 irradiates an object S to be inspected with X-rays, and an X-ray image based on the amount of transmission is captured by an X-ray camera 20. The X-ray source 10 and the X-ray camera 20 revolve on revolving circles 121 and 122, respectively, and capture X-ray images of the object S to be inspected at multiple positions on the orbit. Thereafter, to inspect another inspection location, both the X-ray source 10 and the X-ray camera 20 move to the next revolving circle and capture X-ray images while further revolving on the revolving circle. Note that, hereinafter, the X-ray source 10 and the X-ray camera 20 may also be referred to as "moving members" or "axis groups."
[0036] Here, when the X-ray source 10 and the X-ray camera 20 transition from a rotational motion to a moving motion, a stop section where they temporarily stop has been provided as shown in FIG. 2A. Accordingly, acceleration and deceleration motions on the rotational circle have been added before and after the rotational motion. In this application example, as shown in FIG. 2B, the stop section when the X-ray source 10 and the X-ray camera 20 transition from a rotational motion to a moving motion has been eliminated. This eliminates unnecessary stop states and unnecessary rotational motions, and enables the X-ray source 10 and the X-ray camera 20 to move more quickly from one rotational circle to the next.
[0037] 3, in this application example, as the trajectory of movement when moving from the n-th turning circle Cn to the n+1-th turning circle Cn+1, a trajectory that smoothly connects the n-th turning circle Cn and the n+1-th turning circle Cn+1 at the turning end point and turning start point is generated, and the trajectory that can be moved during movement is used. This enables faster movement without applying excessive acceleration or impact to the X-ray source 10 and the X-ray camera 20.
[0038] The above-mentioned movement trajectory that smoothly connects the rotation end point and the rotation start point must be within a range in which the speed, acceleration, and movement range of the X-ray source 10 and the X-ray camera 20 do not exceed the allowable limits.
[0039] In this application example, in order to obtain a movement trajectory that does not exceed the allowable limit of the movement range, the movement trajectory is designed using a curve (cubic Bezier curve) that is obtained by specifying four points: a start point P1, an end point P4 of the movement trajectory, and control points P2 and P3 that define the control vector, as shown in Fig. 4. By generating the movement trajectory shown in Fig. 4, the control vector can be intuitively set so as not to deviate from the allowable limit (positional restriction) of the movement range of the X-ray source 10 and the X-ray camera 20. This makes it possible to obtain a curved movement trajectory that does not deviate from the control vector set in accordance with the allowable limit of the movement range and that smoothly connects the rotation end point and the rotation start point.
[0040] Even if the movement trajectories of the X-ray source 10 and the X-ray camera 20 can be obtained as described above, the movement time suitable for satisfying the allowable values of the speed and acceleration at the end point of the movement trajectory may differ between the X-ray source 10 and the X-ray camera 20. In order to eliminate the stopping section when transitioning from the normal to the moving motion, the time when the X-ray source 10 and the X-ray camera 20 reach the end point of the moving trajectory (i.e., the start point of the next turning circle) must be synchronized.
[0041] For this reason, in this application example, suitable travel times that do not deviate from the speed and acceleration limit ranges are calculated for each of the X-ray source 10 and the X-ray camera 20, and the travel time of the movable member with the longer calculated travel time is adopted as the common travel time. That is, the movable member of the X-ray source 10 or the X-ray camera 20 with the shorter calculated travel time (i.e., the movable member that reaches the end point of the travel trajectory earlier) is controlled to actually reach the end point of the travel trajectory in the same travel time as the other movable member. Specifically, the speed during movement is reduced so that the travel time to the end point of the travel trajectory coincides with that of the other movable member, and speed control is performed so that the target speed at the end point of the travel trajectory can be achieved. Note that, in this application example, the rated speed of the servo motor is used as the speed limit. However, if the rated speed is allowed to be temporarily exceeded, the shorter travel time may be used as the common travel time, or a travel time calculated based on the instantaneous maximum speed may be used as the common travel time.
[0042] Here, the flow of the processing described above will be explained with reference to FIG. 14. FIG. 14 is a flowchart showing the flow of processing related to the synchronous movement of the X-ray source 10 and the X-ray camera 20 performed in the X-ray inspection apparatus 1. As shown in FIG. 14, in the X-ray inspection apparatus 1, first, for each of the X-ray source 10 and the X-ray camera 20, a movement trajectory defined by a polynomial is calculated (S101). Next, for each of the X-ray source 10 and the X-ray camera 20, a suitable movement time that does not deviate from the limited range of speed and acceleration is calculated (S102), and the movement time of the movable member having the longer calculated movement time is determined as the common movement time (S103). Then, movement control of the X-ray source 10 and the X-ray camera 20 is performed so that the movement trajectory calculated in this manner is moved in the common movement time (S104).
[0043] According to the above-described present application example, it is possible to generate an appropriate movement trajectory for each movable member that does not deviate from the allowable limits of the movement range in an X-ray inspection apparatus having a plurality of movable parts including the X-ray source 10 and the X-ray camera 20. It is also possible to realize control for moving each movable member so that the speed at the end point of the movement trajectory of each movable member becomes a predetermined target speed (that does not deviate from the allowable limits) and to synchronize the times at which the plurality of movable members reach the end points of the movement trajectories.
[0044] As shown in the application example, the present invention is applicable to an X-ray inspection device 1 in which the object to be inspected S is fixed and the X-ray source 10 and the X-ray camera 20 are rotated above and below the object to be inspected, but it can also be applied to an X-ray inspection device in which the X-ray source 10 is fixed and the X-ray camera 20 and the object to be inspected S are rotated.
[0045] Example 1 The following describes in detail the embodiments of the present invention with reference to the drawings (including the drawings already described in the application examples above). However, unless otherwise specified, the specific configurations described in the embodiments are not intended to limit the scope of the present invention.
[0046] An X-ray inspection device 1 according to a first embodiment of the present invention is a device that judges the quality of, for example, the soldering condition of electronic components soldered to a printed circuit board, bumps of a ball grid array (BGA), etc. More specifically, the X-ray source and the object to be inspected are moved relatively to each other to perform X-ray photography multiple times, acquire the internal condition of the inspection target location, generate cross-sectional images at appropriate positions, and inspect the quality based on the cross-sectional images.
[0047] (Device configuration) FIG. 1 shows an arrangement diagram of an X-ray source 10, a holder 40 that holds an object S to be inspected, and an X-ray camera 20 in an X-ray inspection apparatus 1 according to a first embodiment of the present invention. In the X-ray inspection apparatus 1, X-ray images are taken at multiple imaging positions for each inspection point on the object S to be inspected, which is transported by transport rollers (not shown) and held by the holder 40, to obtain three-dimensional data. Specifically, the X-ray source 10 irradiates the object S to be inspected with X-rays, and X-ray images of the transmitted light are taken by the X-ray camera 20. Both the X-ray source 10 and the X-ray camera 20 are movable by a stage (not shown). The X-ray source 10 and the X-ray camera 20 are moved on rotation circles 121 and 122, respectively, by these stages, and imaging is performed at multiple positions on the rotation circles.
[0048] Each unit in the X-ray inspection apparatus 1 is controlled based on a control signal from a control unit 100. The X-ray inspection apparatus 1 includes, as the control unit 100, a camera XY stage control unit 101, a camera control unit 102, and an X-ray source XY stage control unit 107. In addition, the X-ray inspection apparatus 1 includes a height measurement unit 103, an inspection object position control unit 104, an X-ray source control unit 105, and an imaging height control unit 106. Furthermore, the X-ray inspection apparatus 1 includes a calculation unit 111, a main memory unit 112, an auxiliary memory unit 113, an input unit 114, and an output unit 115.
[0049] The camera XY stage control unit 101 drives the camera XY stage (not shown) and transmits a control signal for horizontally moving the X-ray camera 20. The camera control unit 102 transmits a control signal for capturing an X-ray image by the X-ray camera 20. The height measurement unit 103 receives a signal from the displacement meter 30 and measures the height of the inspection location of the inspection object S. The inspection target position control unit 104 transmits control signals to the conveying rollers and the holder 40 for the inspection object S, and controls the horizontal and vertical positions of the inspection object S to optimal positions for imaging.
[0050] The X-ray source control unit 105 transmits signals to start and end irradiation of X-rays by the X-ray source 10 and to adjust the X-ray intensity. The imaging height control unit 106 transmits signals for controlling the height of the X-ray source 10 and the X-ray camera 20. The X-ray source XY stage control unit 107 transmits signals for driving the X-ray source XY stage (not shown) and moving the X-ray source 10 in the horizontal direction. The signals output from the camera XY stage control unit 101, the camera control unit 102, the inspection object position control unit 104, the X-ray source control unit 105, the imaging height control unit 106, and the X-ray source XY stage control unit 107 are determined based on the calculation results of the calculation unit 111 and information stored in the main memory unit 112 and the auxiliary memory unit 113.
[0051] As will be described later, the calculation unit 111 includes functional modules of a trajectory calculation unit 111a, a travel time calculation unit 111b, a common travel time determination unit 111c, and an acceleration calculation unit 111d. Information such as setting information and test results is exchanged with the user via an input unit 114 and an output unit 115.
[0052] The X-ray camera 20 is a two-dimensional X-ray detector that detects X-rays that are irradiated from the X-ray source 10 and transmitted through the object to be inspected S. An II (Image Intensifier) tube or an FPD (Flat Panel Detector) can be used as the X-ray camera 20. Here, only one X-ray camera 20 is used, but multiple X-ray cameras may also be used.
[0053] The displacement meter 30 measures the distance to the object S to be inspected at multiple positions on the object S to be inspected. Therefore, the displacement meter 30 can measure the warpage and tilt of the object S to be inspected. Warpage and tilt may occur during the manufacturing process of the object S to be inspected, and the amount of warpage and tilt varies from object to object. Therefore, the warpage and tilt of each object S to be inspected are measured and the height position of the holding unit 40 is adjusted so that appropriate X-ray imaging can be performed.
[0054] With the above configuration, the X-ray inspection apparatus 1 can control the positions of the X-ray source 10 and the X-ray camera 20 so that the substrate can be imaged from various directions. In this embodiment, based on the imaging results from various directions, three-dimensional data of the inspection location of the inspection object S is generated using a three-dimensional data generation method called CT (Computed Tomography).
[0055] The calculation unit 111 may be a general-purpose calculation device called a CPU (Central Processing Unit). The main memory 112 may be a memory such as RAM. The auxiliary memory 113 may be a ROM or HDD. The input unit 114 may be any device, such as a keyboard, button, switch, or mouse, that allows a user to input instructions to the calculation unit 111. The output unit 115 may be any device, such as a display or speaker, that can present output from the calculation unit 111 to the user through video, audio, or the like. In other words, these functions can be realized using a general computer system. The calculation unit 111 loads and executes a program stored in the auxiliary memory 113, whereby the movement of the X-ray source 10 and the X-ray camera 20 is controlled by the functional modules of the trajectory calculation unit 111a, the travel time calculation unit 111b, the common travel time determination unit 111c, and the acceleration calculation unit 111d. The calculation unit 111 in this embodiment is capable of parallel calculation and may include multiple CPUs, or a single CPU may include multiple parallel calculation functions.
[0056] 1, the X-ray source 10 and the X-ray camera 20 move on turning circles 121 and 122, respectively, based on control signals from the X-ray source XY stage control unit 107 and the camera XY stage control unit 101, and X-ray images are taken at multiple positions on the orbit. Then, by rotating on the turning circles 121 and 122 for each inspection point on the inspection object S, a 3D image of the inspection point can be created. When inspecting the inspection object S, since there are multiple inspection points, the X-ray source 10 and the X-ray camera 20 perform one 360-degree rotation (also referred to as the nth rotation) to acquire an X-ray image of the inspection point, and then move to a position where the next inspection point can be imaged. Then, from that position, the next 360-degree rotation (also referred to as the n+1th rotation) is started.
[0057] (Calculation of movement trajectory) 2 shows the trajectory of a movable member corresponding to X-ray source 10 or X-ray camera 20 when the movable member performs an n-th rotation, a moving motion, and an n+1-th rotation. According to the conventional technology, as shown in FIG. 2A, an acceleration motion is performed before the n-th rotation, the n-th rotation is performed at a constant speed, and after the n-th rotation (360 degrees) is completed, a deceleration motion is performed and the movable member temporarily stops. Then, a moving motion is performed along a predetermined trajectory. This is because, during the rotation of the movable member, a uniform circular motion at high speed is required in order to capture high-quality X-ray images at high speed.
[0058] Similarly, after the moving motion of the movable member has finished and stopped, an acceleration motion is performed again, and the movable member is accelerated to a predetermined speed before reaching the starting point of the rotation motion, and then the (n+1)th rotation motion (360 degrees) is started. In other words, after imaging in the nth rotation motion is completed, the movable member is provided with a deceleration and braking distance and stops once, and in preparation for the (n+1)th rotation, it performs a moving motion with acceleration and deceleration and stops after the movement. Thereafter, it accelerates along the rotation trajectory so that n+1th imaging can be performed. As described above, conventional control has the disadvantage of lengthening the inspection time because it requires stopping the movable member and rotating motion for acceleration and deceleration before and after stopping.
[0059] In contrast, in this embodiment, as shown in Fig. 2B, there is no stopping section during the movement from the nth rotation to the n+1th rotation, and there is no rotation for taking an X-ray image, and there is no rotation for acceleration or deceleration before or after stopping. Furthermore, the trajectory of the movement is determined by dividing the rotation circle of the nth rotation and the rotation circle of the n+1th rotation by the rotation end. The moving trajectory is a curve that smoothly connects the start point and the turning start point. In this embodiment, the trajectory calculation unit 111a derives such a moving trajectory as a polynomial using a mathematical method. More specifically, a Bezier curve obtained using input information including a start point, an end point, and two control points (all of which are specified as three-dimensional coordinates) is calculated as the trajectory of the moving motion of the movable member. Hereinafter, the moving trajectory of the movable member calculated in this manner is also referred to as a specific moving trajectory.
[0060] FIG. 4 illustrates a specific movement trajectory calculated by the trajectory calculation unit 111a. In FIG. 4, a starting point P1 is, for example, the end point of the nth rotational movement of the movable member, and an end point P4 is the start point of the (n+1)th rotational movement. Control points P2 and P3 are set to provide a control vector between the starting point P1 and the end point P4. That is, a control vector 1 is provided as a line segment connecting the starting point P1 and the control point P2, and a control vector 2 is provided as a line segment connecting the control point P3 and the end point P4. The specific movement trajectory is determined as a curve that does not deviate from these control vectors 1 and 2. This allows the user to intuitively and easily design a curve that does not deviate from the restricted ranges of movement, such as those determined from the perspective of the space of the X-ray inspection apparatus 1 and the range of motion of each XY stage.
[0061] (Travel time calculation) Here, the trajectory that smoothly connects the turning circle of the nth turning motion and the turning circle of the n+1th turning motion may be a trajectory in which the linear velocity of the movable member is continuous at the turning end point and / or the turning start point. Alternatively, it is preferable that the trajectory be a trajectory in which the linear velocity and acceleration of the movable member are continuous at the turning end point and / or the turning start point. Furthermore, if the acceleration is continuous, it is ideal that the acceleration is 0.
[0062] The travel time calculation unit 111b calculates an appropriate travel time (total trajectory travel time) Te for moving from the start point to the end point on the specific movement trajectory while satisfying the speed and acceleration conditions for each of the X-ray source 10 and the X-ray camera 20. Various methods can be used to calculate such a travel time.
[0063] For example, the input information may be the speed (target initial speed) that the movable member should maintain at the start point of a specific movement trajectory, and the speed (target terminal speed) that the movable member should maintain at the end point of the specific movement trajectory, and the time required to connect these two at a constant acceleration may be defined as the movement time Te. Figure 5 shows an explanatory diagram illustrating the relationship between the speed, acceleration, and elapsed time of the movable member in such a case.
[0064] Furthermore, for example, the travel time Te can be determined by a simulation calculation in which, subject to a maximum acceleration constraint Amax set for each movable member (or movable axis included in the movable member), the difference between the maximum acceleration Amax and the maximum acceleration of a trajectory generated by applying a hypothetical travel time is zero. Specifically, the travel time Te is searched for by a simulation using the target initial velocity, the target terminal velocity, and a hypothetical travel time as input information. Since the trajectory length from the start point to the end point of a specific travel trajectory is fixed, the acceleration corresponding to the time and position can be determined based on the input information. Figure 6 shows the simulation results of the position, velocity, acceleration, and jerk of the movable member when the hypothetical travel time (Te) is set to 0.74 seconds.
[0065] Here, the maximum acceleration constraint Amax can be referred to as the target acceleration refAcc when the moving time Te of the movable member is minimized. When the target acceleration is refAcc, the target terminal velocity is refVelEnd, the target initial velocity is refVelStart, and the remaining trajectory length to the end point of the specific moving trajectory is resLen, the target acceleration is expressed by the following formula: refAcc=(refVelEnd 2 -refVelStart 2 ) / (2×res Len)···(1) The target acceleration here corresponds to the restricted target acceleration.
[0066] Alternatively, the target initial velocity and target terminal velocity may be set to the same for each moving part, and the target acceleration may be set to 0 m / s^2 (i.e., the velocity remains constant) to determine the travel time for traveling along a specific movement trajectory. Figure 7 shows an example of a simulation in which the target initial velocity and target terminal velocity are set to 0.7 m / s, and the target acceleration is set to 0 m / s^2. Figure 7A is a diagram showing the trajectory of a specific movement trajectory connecting the nth turning circle and the (n+1)th turning circle of the moving part, and Figure 7B is a graph showing the relationship between the velocity and travel time on the specific movement trajectory of the moving part.
[0067] In this way, the travel time calculation unit 111b calculates the travel time Ten for each of the X-ray source 10 and the X-ray camera 20. FIG. 8 shows the relationship between the travel time thus determined and the specific travel trajectory for the X-ray source 10 and the X-ray camera 20. FIG. 8A is a diagram showing the trajectory of the specific travel trajectory connecting the nth turning circle and the (n+1)th turning circle of the X-ray source 10, and FIG. 8B is a graph showing the relationship between the speed and travel time Te1 on the specific travel trajectory of the X-ray source 10. FIG. 8C is a diagram showing the trajectory of the specific travel trajectory connecting the nth turning circle and the (n+1)th turning circle of the X-ray camera 20, and FIG. 8D is a graph showing the relationship between the speed and travel time Te2 on the specific travel trajectory of the X-ray camera 20.
[0068] As shown in Figure 8, when the target initial velocity and target terminal velocity of the X-ray source 10 were set to 1.4 m / s and the target acceleration was set to 0 m / s^2, the simulation result of the X-ray source 10 moving along a specific movement trajectory was obtained with a movement time Te1 of 0.644 seconds. On the other hand, when the target initial velocity and target terminal velocity of the X-ray camera 20 were set to 0.7 m / s and the target acceleration was set to 0 m / s^2, the simulation result of the X-ray camera 20 moving along a specific movement trajectory was obtained with a movement time Te2 of 1.066 seconds.
[0069] (Determination of common travel time) Here, the calculated movement times of the X-ray source 10 and the X-ray camera 20 are different, but the times at which the X-ray source 10 and the X-ray camera 20 reach the end point of the movement trajectory (i.e., the start point of the next turning circle) must be synchronized. Therefore, the common movement time determination unit 111c performs processing to determine one common movement time Tec that is applied to both the X-ray source 10 and the X-ray camera 20. Specifically, of the movement time Te1 of the X-ray source 10 and the movement time Te2 of the X-ray camera 20, the longer one, i.e., the movement time Te2 of the X-ray camera 20 that requires 1.066 seconds in this case, is determined as the common movement time (common entire trajectory movement time) Tec.
[0070] (Movement control command) When the control unit 100 (camera XY stage control unit 101, X-ray source XY stage control unit 107) controls the movement of the X-ray source 10 and the X-ray camera 20, it controls the X-ray source 10 and the X-ray camera 20 to move from the start point to the end point of the specific movement trajectory in a common movement time Tec. At this time, the X-ray source 10 moves at a slower speed during movement on the specific movement trajectory in order to move in accordance with the common movement time Tec of 1.066 seconds, which is a movement time Te1 of 0.644 seconds when moving at an acceleration of 0 m / s^2.
[0071] Figure 9 shows the relationship between the movement time and velocity of the X-ray source 10 and the specific movement trajectory when the X-ray source 10 moves over a common movement time Tec of 1.066 seconds. Figure 9A shows the trajectory of the specific movement trajectory connecting the nth turning circle and the (n+1)th turning circle of the X-ray source 10, and Figure 9B is a graph showing the relationship between the movement velocity and movement time on the specific movement trajectory of the X-ray source 10. As shown in Figure 9, the target initial velocity and target terminal velocity of the X-ray source 10 are 1.4 m / s. To achieve this condition, the X-ray source 10 must move at a reduced movement velocity during the specific movement trajectory.
[0072] (Movement control correction) As described above, it is possible to calculate the movement speed and movement time of each movable member in advance through simulation and then control the movement based on this. However, if an unexpected operation such as obstacle avoidance is required for a movable member during actual movement control, a problem occurs in which all the movable members cannot be synchronized.
[0073] For this reason, the travel time calculation unit 111b executes a process for calculating, for each movable member, a remaining trajectory travel time required for the movable member to reach the end point of a specific movement trajectory while achieving a target terminal velocity, based on the current position of the movable member on the specific movement trajectory, at each predetermined control period. The common travel time determination unit 111c then executes a process for each control period in which the longest remaining trajectory travel time among the remaining trajectory travel times calculated for each movable member is determined as the common remaining trajectory travel time, and updates the common travel time and the common remaining trajectory travel time determined at the immediately preceding control period. The control unit 100 (camera XY stage control unit 101, X-ray source XY stage control unit 107) then executes movement control of the X-ray source 10 and the X-ray camera 20 using the latest common remaining trajectory travel time determined at each control period. This allows the common travel time to be updated in real time, and even if a situation arises in which the end point of the specific movement trajectory cannot be reached within the initially determined travel time, the movable members can be synchronized and moved to achieve the target terminal velocity.
[0074] However, searching for a travel time that satisfies the maximum acceleration constraint for all movable members takes time, and it is not practical to continuously calculate travel times while performing such a search in real time. On the other hand, to achieve synchronization in real time, it is sufficient that the remaining trajectory travel time from the current time is common to all movable members, even if the travel time Te is not determined. Therefore, the travel time calculation unit 111b calculates the remaining trajectory travel time as the time required to connect the current speed and target terminal velocity of each movable member with a constant acceleration. Here, the acceleration calculation unit 111d calculates the target acceleration (the above-mentioned constant acceleration) for each of the multiple movable members to reach the end point of the specific trajectory so that the target terminal velocity can be achieved within the common remaining trajectory travel time.
[0075] 10 is an explanatory diagram showing the relationship between the speed of the movable member and elapsed time when the remaining trajectory travel time is calculated in this manner. As shown in FIG. 10, the target acceleration refAcc here is calculated using the current speed actVel of the movable member, the target terminal speed refVelEnd, and the remaining trajectory length resLen until the end point of the specific travel trajectory is reached, using the following equation: refAcc=(refVelEnd2-actVel2) / (2*resLen)···(2) That is, the remaining trajectory travel time is calculated by using the current velocity of the movable member, the target terminal velocity, and the remaining trajectory length until the end point of the specific travel trajectory is reached.
[0076] (Suppression of end-of-trajectory acceleration) Furthermore, if the travel time is dynamically changed, the acceleration at the end of the specific travel trajectory may become too large to achieve the target terminal velocity, resulting in a discontinuity with the acceleration (0 m / s^2) during the next turning motion. This is undesirable from the perspective of the load on the device and the quality of the captured image, so when the remaining trajectory travel time is changed, it is necessary to suppress the acceleration at the end of the travel trajectory.
[0077] Therefore, the acceleration calculation unit 111d calculates the target acceleration by using a predetermined correction coefficient, and calculates the target acceleration by which the speed of the movable member is increased ahead of schedule and the acceleration can be gradually decreased near the end point of the specific movement trajectory. When the current velocity is actVel, the common remaining orbit travel time is tLeft, the velocity required to reach the end point of the specific travel trajectory so that the target terminal velocity can be achieved within the common remaining orbit travel time is Vnec, and the correction coefficient is α, the following equation is used: accRefNonLimited=(Vnec-actVel+α×(Vnec-refVelEnd)) / tLeft...(3) The target acceleration can be calculated by:
[0078] The required speed Vnec is calculated using the following formula: Vnec=2×resLen / tLeft-actVel···(4) It can be calculated by:
[0079] Fig. 11 shows an explanatory diagram relating to calculation of the target speed when the correction coefficient α is set to 3. Fig. 12A shows an explanatory diagram showing the speed change of the movable member when the correction coefficient α is set to 1, and Fig. 12B shows an explanatory diagram showing the speed change of the movable member when the correction coefficient α is set to 3.
[0080] As shown in Figure 12, when the correction coefficient is 1 (when no correction is made to calculate the target acceleration), the reduced speed begins to increase in the latter half of the movement time, indicating that the acceleration cannot be reduced even near the end of the movement trajectory to achieve the target terminal speed. On the other hand, when the correction coefficient is 3, the reduced speed begins to increase in the first half of the movement time, indicating that the acceleration can be reduced smoothly near the end of the movement trajectory.
[0081] (Calculating the current position of the moving part) As described above, to calculate the remaining trajectory movement time, position information of the movable member (on a specific movement trajectory) for each control cycle is required. Below, a process for determining the position of the movable member for each control cycle will be described with reference to Fig. 13. Fig. 13 is a block diagram showing the flow of information processing for calculating the current position of the movable member.
[0082] As shown in Fig. 13, first, a command acceleration calculation module 301 calculates a pre-constraint command (target) acceleration accRefNonLimited using the remaining trajectory length resLen, remaining travel time tLeft, target terminal velocity refVelEnd, current velocity actVel, and acceleration correction coefficient α as input. Subsequently, a command acceleration upper / lower limit restriction module 302 determines whether the pre-constraint command acceleration does not deviate from predetermined upper or lower limits. If the pre-constraint command acceleration does not deviate from the upper or lower limits, the pre-constraint command acceleration is determined as the command acceleration accRef. On the other hand, if the pre-constraint command acceleration deviates from the upper or lower limit, the limit value that deviates is determined as the command acceleration.
[0083] Next, a command speed calculation module 303 calculates a pre-constraint command speed velRefNonLimited using the command acceleration accRef, the current speed actVel, and a predetermined control period Ts as inputs. Subsequently, a speed upper / lower limit module 304 determines whether the pre-constraint command speed deviates from predetermined upper / lower limits. If the pre-constraint command speed does not deviate from the upper / lower limits, the pre-constraint command speed is determined as the command speed velRef. On the other hand, if the pre-constraint command speed deviates from the upper / lower limit, the limit value that deviates is determined as the command speed.
[0084] Next, a control cycle movement amount calculation module 305 receives the command speed velRef and the control cycle Ts as inputs to calculate a control cycle movement amount (delta L). Then, a Bezier curve parameter increment calculation module 306 receives the control cycle movement amount and the Bezier curve parameter value R as inputs to calculate a Bezier curve parameter increment amount (delta R). In the Bezier curve parameter value calculation module 307, the Bezier curve parameter value R is calculated.
[0085] Here, the Bezier curve parameter value R is 0≦R≦1, and referring to Figure 4, if the start point P1 of the specific movement trajectory is set to 0 and the end point P4 is set to 1, the parameter value R will increase according to the movement amount of the movable part. If the movement amount during the control cycle is known, the corresponding increase in the parameter value R can also be calculated.
[0086] Then, the Bezier curve calculation module 308 inputs the Bezier curve parameter value R thus obtained and the coordinates (or control vectors) of the start point P1, end point P4, and control points P2 and P3 to determine the position P of the movable member for each control period.
[0087] According to the X-ray inspection apparatus 1 shown in this embodiment, it is possible to intuitively design the movement trajectory of the movable members so that it does not deviate from the operating range, and it is possible to achieve synchronous control of multiple movable members while maintaining the speed at the connection point between the rotational movement and the translational movement. Furthermore, it is possible to perform synchronous control of multiple movable members in real time without a trajectory generation process in advance. This makes it possible to improve the inspection speed while reducing the load on the apparatus.
[0088] <Other> The above-described embodiments merely exemplify the present invention, and the present invention is not limited to the specific embodiments described above. Various modifications and combinations of the present invention are possible within the scope of the technical concept thereof. For example, in this embodiment, the X-ray inspection apparatus 1 also functions as a control system. However, the information processing terminal functioning as the control system and the controlled device may be separate entities. Furthermore, the components of the control system may be distributed across multiple terminals.
[0089] In the above embodiment, the acceleration calculation unit 111d calculates the target acceleration using a correction coefficient as an equation, but it is not necessary to calculate the target acceleration using such an equation. For example, when the target acceleration is accRefNonLimited, the target terminal velocity is refVelEnd, the current velocity is actVel, the common remaining trajectory travel time is tLeft, and the required velocity is Vnec, the following equation can be used: accRefNonLimited=(2×Vnec-refVelEnd-actVel) / tLeft...(5) The target acceleration may be calculated by the following equation.
[0090] In addition, while the above examples have been described with reference to cases where the movement trajectory of the movable member is a Bezier curve, other curved trajectories defined using polynomials, such as a clothoid curve, may also be used. Furthermore, in the above examples, the common movement time is determined based on the longest movement time among the movement times of each movable member, but the method for determining the common movement time is not limited to this. For example, the shortest movement time may be used as long as it is within the allowable range of the device, or the average or median of multiple movement times may be used as the common movement time.
[0091] Furthermore, in the above embodiment, before the start of the movement control of the device, the movement time is calculated by simulation using the start point of the specific movement trajectory as a reference, but it is also possible to calculate the movement time from the start point of the specific movement trajectory using the current position and current speed of the movable member as input information without performing such a simulation. In other words, at the start point of the specific movement trajectory, a process of calculating the movement time may be performed using the total length of the specific movement trajectory as the remaining trajectory length, and movement control may be executed.
[0092] Furthermore, although the above examples have been described using an X-ray inspection device as an example, the present invention can be applied to various other devices. It is naturally possible to apply it to industrial robots and NC (Numerical Control) systems. The present invention can also be suitably applied to machine tools.
[0093] <Appendix 1> A control system (1) for an apparatus having a plurality of movable members (10, 20), comprising: a movement trajectory calculation means (111a) for calculating, for each of the plurality of movable members, a specific movement trajectory that is a path connecting a start point and an end point of movement of the movable members and is specified using a polynomial; a movement time calculation means (111b) for calculating, for each of the plurality of movable members, a time required for the movable members to move from one point on the specific movement trajectory to an end point, the movement time during which the movable members can achieve a target terminal velocity, which is a predetermined velocity that the movable members should maintain at the end point; a common travel time determination means (111c) for determining a common travel time that allows each of the plurality of movable members to achieve the target terminal velocity at the end point, based on the plurality of travel times calculated for each of the plurality of movable members; and a control command means (100) for causing the device to execute control including speed control for moving each of the plurality of movable members from the one point on each of the specific movement paths to the end point in the common movement time. A control system comprising:
[0094] <Appendix 2> 1. A method for controlling a device having a plurality of movable members, comprising: a movement trajectory calculation step (S101) of calculating, for each of the plurality of movable members, a specific movement trajectory that is a path connecting a start point and an end point of movement of the movable members and is specified using a polynomial; a movement time calculation step (S102) for calculating, for each of the plurality of movable members, a time required for the movable members to move from one point on the specific movement trajectory to an end point, the movement time being such that the movable members can achieve a target terminal velocity, which is a predetermined velocity that the movable members should maintain at the end point; a common travel time determination step (S103) of determining one common travel time that allows each of the plurality of movable members to achieve the target terminal velocity at the end point based on the plurality of travel times calculated for each of the plurality of movable members; and a control command step (S104) of causing the device to execute control including speed control for moving each of the plurality of movable members from the one point on the specific movement trajectory to the end point within the common movement time. A control method comprising: [Explanation of symbols]
[0095] 1, 11... X-ray inspection equipment 10...X-ray source 20. X-ray camera 30... Displacement meter 40...Holding part 100 Control unit 111...Arithmetic section 111a...Orbit calculation section 121···X-ray source rotational motion rotation circle 122···X-ray camera rotation movement rotation circle 123...Movement trajectory S...Inspection object (substrate)
Claims
1. 1. A control system for a device having a plurality of moving parts, comprising: a movement trajectory calculation means for calculating, for each of the plurality of movable members, a specific movement trajectory that is a path connecting a start point and an end point of movement of the movable members and is specified using a polynomial; a movement time calculation means for calculating, for each of the plurality of movable members, a time required for the movable members to move from one point on the specific movement trajectory to an end point, the movement time during which the movable members can achieve a target terminal velocity, which is a predetermined velocity that the movable members should maintain at the end point; a common travel time determination means for determining a common travel time that allows each of the plurality of movable members to achieve the target terminal velocity at the end point, based on the plurality of travel times calculated for each of the plurality of movable members; and a control command means for causing the device to execute control including speed control for moving each of the plurality of movable members from the one point on the specific movement trajectory to the end point in the common movement time, the movement time calculation means calculates a remaining trajectory movement time required for each of the plurality of movable members to reach the end point from a current position thereof for each predetermined control period during movement control of the movable members; the common moving time determination means determines and updates one common remaining orbit moving time for each control cycle based on the remaining orbit moving time for each movable member calculated for each control cycle; the control command means causes the device to execute control to move each of the plurality of movable members from the current position to the end point within the latest common remaining orbit movement time that is updated for each control period; A control system comprising:
2. The common travel time determination means determining the longest movement time among the plurality of movement times calculated for each of the plurality of movable members as the common movement time; 2. The control system of claim 1 .
3. the travel time calculation means calculates the remaining trajectory travel time using the current velocity of the movable member, the target terminal velocity, and a remaining trajectory length from the current position of the movable member to the end point of the specific movement trajectory.
3. A control system according to claim 1 or 2.
4. an acceleration calculation means for calculating a target acceleration or a target jerk for each of the plurality of movable members to reach the end point of the specific movement trajectory so as to realize the target terminal velocity within the common remaining trajectory movement time, for each of the plurality of movable members, for each of the plurality of movable members, the control command means causes the device to execute movement control for each of the plurality of movable members such that the target acceleration or the target jerk calculated for each control cycle is satisfied; A control system according to any one of claims 1 to 3, characterized in that
5. The acceleration calculation means When the target acceleration is accRefNonLimited, the target terminal velocity is refVelEnd, the current velocity of the movable member is actVel, the common remaining trajectory travel time is tLeft, and the velocity required to reach the end point of the specific movement trajectory in such a way that the target terminal velocity can be realized within the common remaining trajectory travel time is Vnec, accRefNonLimited=(2×Vnec-refVelEnd-actVel) / tLeft The target acceleration is calculated by the following formula:
5. The control system of claim 4.
6. The acceleration calculation means uses a predetermined acceleration correction coefficient α to When the target acceleration is accRefNonLimited, the target terminal velocity is refVelEnd, the current velocity of the movable member is actVel, the common remaining trajectory travel time is tLeft, and the velocity required to reach the end point of the specific movement trajectory in such a way that the target terminal velocity can be realized within the common remaining trajectory travel time is Vnec, accRefNonLimited=(Vnec-actVel+α×(Vnec-refVelEnd)) / tLeft The target acceleration is calculated by the following formula:
5. The control system of claim 4.
7. When the calculated target acceleration or the target jerk exceeds a predetermined limit value, the acceleration calculation means outputs the limit value as the target acceleration or the target jerk.
7. A control system according to any one of claims 4 to 6.
8. The control system according to claim 1 , wherein the common remaining orbit travel time is determined as a value that is an integer multiple of the control period.
9. the movement time calculation means calculates, before movement control of the movable members, a total trajectory movement time, which is a movement time from the start point to the end point of the specific movement trajectory, for each of the plurality of movable members; the common moving time determining means determines one common total orbit moving time based on the plurality of total orbit moving times calculated for each of the plurality of movable members. A control system according to any one of claims 1 to 8, characterized in that
10. The travel time calculation means At least a target initial velocity, which is a predetermined velocity that the movable member should maintain at the starting point, and a target terminal velocity are used as input information, and a time during which acceleration of the movable member becomes constant from the target initial velocity to the target terminal velocity when the movable member moves from the starting point to the terminal point along the specific movement trajectory is calculated as the movement time.
10. The control system of claim 9.
11. The travel time calculation means the target initial velocity, the target terminal velocity, and a limited acceleration, which is a limit value of acceleration until the movable member reaches the target terminal velocity from the target initial velocity, are used as input information, and the moving time is calculated by searching for a moving time at an acceleration that does not exceed the limited acceleration.
11. The control system of claim 10.
12. When a restricted target acceleration, which is a target value of the restricted acceleration, is refAcc, the target terminal velocity is refVelEnd, the target initial velocity is refVelStart, and the remaining trajectory length to the end point on the specific movement trajectory is resLen, the formula for determining the restricted target acceleration is: refAcc=(refVelEnd2-refVelStart2) / (2×resLen) 12. The control system according to claim 11, wherein:
13. 13. The control system according to claim 1, wherein the polynomial represents a Bezier curve or a clothoid curve.
14. The device is an X-ray inspection device including: an X-ray source that generates X-rays to be irradiated onto an inspection object; an X-ray camera that captures an X-ray image using the X-rays irradiated onto the inspection object from the X-ray source; and a holder that holds the inspection object; The plurality of movable members include at least two or more of the X-ray source, the X-ray camera, and the holder. A control system according to any one of claims 1 to 13, characterized in that
15. 1. A method for controlling a device having a plurality of movable members, comprising: a movement trajectory calculation step of calculating, for each of the plurality of movable members, a specific movement trajectory that is a path connecting a start point and an end point of movement of the movable members and is specified using a polynomial; a movement time calculation step of calculating, for each of the plurality of movable members, a time required for the movable members to move from one point on the specific movement trajectory to an end point, the movement time being such that the movable members can achieve a target terminal velocity, which is a predetermined velocity that the movable members should maintain at the end point; a common travel time determination step of determining a common travel time that allows each of the plurality of movable members to achieve the target terminal velocity at the end point, based on the plurality of travel times calculated for each of the plurality of movable members; a control command step of causing the device to execute control including speed control for moving each of the plurality of movable members from the one point on each of the specific movement paths to the end point in the common movement time, the movement time calculation step calculates a remaining trajectory movement time required for each of the plurality of movable members to reach the end point from a current position thereof for each predetermined control period during movement control of the movable members; In the common moving time determination step, one common remaining orbit moving time is determined and updated for each control cycle based on the remaining orbit moving time for each movable member calculated for each control cycle; In the control command step, the device is caused to execute control to move each of the plurality of movable members from the current position to the end point within the latest common remaining trajectory movement time that is updated for each control period. A control method comprising:
16. A program for causing a computer to execute the steps of the method of claim 15.
Citation Information
Patent Citations
Robot control device and robot control method
JP2006263850A
X-ray inspection device and method
JP2009156788A
Track generation method and track generation device
JP2011145797A
Controller, control system, and control method
JP2012083982A
X-ray inspection device and x-ray inspection method
JP2017223468A