Control Device, Control Method, and Computer-Readable Recording Medium

By calculating the movement cost on the curve trajectory, the order of the control device head through each point is solved, and the problem of the motor load cannot be suppressed in the prior art is achieved, and efficient head movement and operation efficiency are improved.

CN113473836BActive Publication Date: 2025-06-13OMRON CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110147312.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-11
Filing Date
2021-02-03
Publication Date
2025-06-13
Estimated Expiration
2041-02-03

AI Technical Summary

Technical Problem

The prior art cannot determine the order of passing through the head through each point in a way that the motor load of the control device is suppressed.

Method used

By calculating the movement cost of the head as the action of the head to depict the curve trajectory passes from the current point to the next point, the next moving target point of the head is selected to minimize the movement cost and the movement distance error of the actual control device.

Benefits of technology

It is realized that the load applied to the driving portion of the driving head is suppressed, and the head is moved based on the determined passing order, thereby improving the operating efficiency of the control device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113473836B_ABST
    Figure CN113473836B_ABST
Patent Text Reader

Abstract

The present invention relates to a control device, a control method, and a computer-readable recording medium. The present invention determines the passing order of the head through each point in a manner that suppresses the load on the motor of the control device. The control device (100) includes: a pedestal (105) for setting a workpiece; a head (110) that moves above the pedestal; a first driving mechanism for moving the head in a first axial direction of the pedestal; a second driving mechanism for moving the head in a second axial direction of the pedestal; and a control unit that controls the first driving mechanism and the second driving mechanism. When the head passes through a plurality of points of the workpiece, the control unit calculates the movement cost when the head moves from the current point (C) to the next point (N1, N2, N3) by an action of depicting a curved trajectory, and selects the next movement target point of the head in a manner that minimizes the movement cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a control device, a control method, and a computer-readable recording medium, and more particularly, to a determination of the passing order of points on a workpiece by a head of a control device. Background Art

[0002] In control devices such as robotic arms, inspection devices, pick-up devices, and welding devices, the heads installed in each device sometimes complete one operation by passing through multiple points on a workbench or a workpiece. At this time, in order to improve the operation efficiency of the control device, it is important to obtain the optimal passing order of the head through each point. The "passing order" here refers to the order of passing through each of the multiple points on the workpiece.

[0003] Regarding the determination of the passing order of the head of a control device through points on a workpiece, for example, Japanese Patent Application Laid-Open No. 2017-181188 (Patent Document 1) discloses a substrate inspection device, "characterized in that, based on a preset inspection order, the surface-side irradiation component and the surface-side imaging component are sequentially moved to positions corresponding to a plurality of inspection ranges set on the surface side of the substrate, so as to sequentially execute image acquisition processing related to the plurality of inspection ranges, and based on a preset inspection order, the back-side irradiation component and the back-side imaging component are sequentially moved to a plurality of inspection ranges set on the back side of the substrate, so as to sequentially execute image acquisition processing related to the plurality of inspection ranges. In this structure, regarding the surface side of the substrate, the inspection order is set such that the paths traveled by the surface-side irradiation component and the surface-side imaging component are the shortest paths starting from a specified starting point, and / or, regarding the back side of the substrate, the inspection order is set such that the paths traveled by the back-side irradiation component and the back-side imaging component are the shortest paths starting from a specified starting point" (see paragraph

[0025] ).

[0004] [Prior Art Documents]

[0005] [Patent Documents]

[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-181188 Summary of the Invention

[0007] [Problems to be Solved by the Invention]

[0008] According to the technology disclosed in Patent Document 1, it is impossible to determine the passing order of the head through each point in a way that suppresses the load on the motor of the control device. Therefore, a technology for determining the passing order of the head through each point in a way that suppresses the load on the motor of the control device is needed.

[0009] The present disclosure is completed in view of the above background. An object of one aspect is to provide a technique for determining the passing order of the head through each point in a manner that suppresses the load on the motor of the control device.

[0010] [Technical means for solving the problem]

[0011] In an example of the present disclosure, a control device is provided. The control device includes: a pedestal for setting a workpiece; a head that moves above the pedestal; a first driving mechanism for moving the head in a first axial direction of the pedestal; a second driving mechanism for moving the head in a second axial direction of the pedestal; and a control unit that controls the first driving mechanism and the second driving mechanism. When the head passes through a plurality of points of the workpiece, the control unit calculates the movement cost when the head moves from the current point to the next point by an action of depicting a curved trajectory, and selects the next movement target point of the head in such a way that the movement cost is minimized.

[0012] According to the above disclosure, the control device can obtain the passing order of each point suitable for the head to pass through each point by depicting a curved trajectory.

[0013] In the above disclosure, the curved trajectory is a trajectory on a circle that is tangent to the previous point, the current point, and the next point of the head.

[0014] According to the above disclosure, the control device can calculate the movement cost on the curved trajectory from the current point to the next point based on the previous point, the current point, and the next point of the head.

[0015] In the above disclosure, the control unit obtains a point P located on the line segment passing through the previous point and the current point of the head. The distance from the point P to the current point is equal to the distance from the current point to the next point, and the curved trajectory is a trajectory on a circle that is tangent to the point P, the current point, and the next point.

[0016] According to the above disclosure, by using the point P, the control device can reduce the error between the movement cost on the curved trajectory from the current point to the next point and the movement distance of the actual control device.

[0017] In the above disclosure, the control unit determines whether the previous point, the current point, and the next point are arranged on a straight line. If the previous point, the current point, and the next point are arranged on a straight line, the control unit calculates the movement cost when the head moves from the current point to the next point by an action of depicting a straight trajectory. If the previous point, the current point, and the next point are not arranged on a straight line, the control unit calculates the movement cost when the head moves from the current point to the next point by an action of depicting a curved trajectory.

[0018] According to the above disclosure, the control device can calculate the movement cost by an appropriate calculation method based on the positional relationship between the previous point, the current point, and the next point.

[0019] In the disclosure, after determining the passing order of the head passing points, the control unit determines the passing path of the head such that the passing path when the head passes each point is equal to or greater than the minimum turning radius of the head.

[0020] According to the disclosure, the control device can both suppress the load applied to the driving unit of the driving head and move the head based on the determined passing order.

[0021] In the disclosure, after determining the passing order of the head passing points based on the movement cost when the head passes while depicting a curved trajectory, the control unit changes the passing order of the head passing points by the 2-opt method.

[0022] According to the disclosure, the control device changes the passing order by the 2-opt method, whereby the movement distance of the head can be reduced.

[0023] In the disclosure, the control unit accepts the selection input of the calculation method of the movement cost when the head passes while depicting a curved trajectory and the calculation method of the movement cost when the head passes while depicting a straight trajectory. In the calculation method of the movement cost when the head passes while depicting a straight line, when the error tolerance value of the distance from the current point to the next point is greater than 0, the smaller the angle between the line segment connecting the previous point and the current point and the line segment connecting the current point and the next point when the current point is set as the vertex, starting from 180 degrees, the greater the movement cost.

[0024] According to the disclosure, in the calculation method of the movement cost when passing while depicting a straight trajectory, the control unit can preferentially select the points close to the traveling route of the head.

[0025] In another example of the present disclosure, a method is provided for obtaining the passing order of the head passing through each point on the workpiece in the control device. The method includes the following steps: when the head passes through a plurality of points on the workpiece, calculating the movement cost when the head passes from the current point to the next point while depicting a curved trajectory; and selecting the next movement target point of the head in such a way that the movement cost is minimized.

[0026] According to the disclosure, it is possible to obtain the passing order of each point suitable for the head to pass through each point while depicting a curved trajectory.

[0027] In the disclosure, the curved trajectory is a trajectory on a circle tangent to the previous point, the current point, and the next point of the head.

[0028] According to the disclosure, it is possible to calculate the movement cost on the curved trajectory from the current point to the next point based on the previous point, the current point, and the next point of the head.

[0029] In the above disclosure, the method further includes the following steps, that is, to find a point P on the line segment passing through the previous point of the head and the current point. The distance from point P to the current point is equal to the distance from the current point to the next point, and the curve trajectory is the trajectory on a circle tangent to point P, the current point, and the next point.

[0030] According to the above disclosure, by using point P, the error between the movement cost on the curve trajectory from the current point to the next point and the movement distance of the actual control device can be reduced.

[0031] In the above disclosure, the method further includes the following steps: determining whether the previous point, the current point, and the next point are arranged on a straight line; if the previous point, the current point, and the next point are arranged on a straight line, calculating the movement cost when the head moves from the current point to the next point by the action of depicting a straight line trajectory; and if the previous point, the current point, and the next point are not arranged on a straight line, calculating the movement cost when the head moves from the current point to the next point by the action of depicting a curve trajectory.

[0032] According to the above disclosure, based on the positional relationship between the previous point, the current point, and the next point, the movement cost can be calculated by an appropriate calculation method.

[0033] In the above disclosure, the method further includes the following steps: after determining the passing order of the points through which the head passes, determining the passing path of the head in such a way that the passing path when the head passes through each point is greater than or equal to the minimum turning radius of the head.

[0034] According to the above disclosure, the control device can not only suppress the load applied to the driving part of the driving head, but also move the head based on the determined passing order.

[0035] In the above disclosure, the method further includes the following steps: after determining the passing order of the points through which the head passes based on the movement cost when the head passes by the action of depicting a curve trajectory, changing the passing order of the points through which the head passes by the 2-opt method.

[0036] According to the above disclosure, by changing the passing order by the 2-opt method, the movement distance of the head can be reduced.

[0037] In the above disclosure, the method further includes the following steps, that is, accepting a selection input for the calculation method of the movement cost when the head passes by the action of depicting a curve trajectory and the calculation method of the movement cost when the head passes by the action of depicting a straight line trajectory. In the calculation method of the movement cost when the head passes by the action of depicting a straight line, when the error tolerance value of the distance from the current point to the next point is greater than 0, the smaller the angle between the line segment connecting the previous point and the current point and the line segment connecting the current point and the next point starting from 180 degrees when the current point is set as the vertex, the greater the movement cost.

[0038] According to the disclosure, in the calculation method of the movement cost when an action depicting a straight trajectory passes, a point on a travel path closer to the head can be preferentially selected.

[0039] In another example of the present disclosure, a program is provided for causing a control device to execute any of the above methods.

[0040] According to the disclosure, it is possible to cause a control device to execute any of the methods described above.

[0041] [Effects of the Invention]

[0042] According to one embodiment, it is possible to determine the passing order of the head passing through each point in a manner that suppresses the load on the motor of the control device.

[0043] The above and other objects, features, aspects and advantages of the present disclosure will become apparent from the following detailed description of the present disclosure understood in connection with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 FIG. is an example of a method for determining the passing order of the head 110 passing through each point according to one embodiment.

[0045] Figure 2 FIG. is an example of a drive mechanism of the control device 100.

[0046] Figure 3 FIG. is an example of a schematic configuration of a control system of the control device 100 according to one embodiment.

[0047] Figure 4 FIG. is a schematic diagram of an example of functional modules included in the control device 100.

[0048] Figure 5 FIG. is an example of a passing path of the head 110 on the workpiece 500.

[0049] Figure 6 FIG. is an example of a change amount of the movement cost of a straight trajectory based on the trajectory angle θT.

[0050] Figure 7 FIG. is an example of a change amount of the movement cost of a curved trajectory based on the trajectory angle θT.

[0051] Figure 8 FIG. is an example of a change amount of the movement cost obtained by the first calculation method based on the distances (P, C) and (C, N).

[0052] Figure 9 FIG. is an example for explaining a point P' which is a premise of the second calculation method.

[0053] Figure 10 It is a diagram showing an example of the outline of the second calculation method.

[0054] Figure 11 It is a first example of the passing path of the head 110.

[0055] Figure 12 It is a second example of the passing path of the head 110.

[0056] Figure 13 It is a third example of the passing path of the head 110.

[0057] Figure 14 It is a diagram showing an example of the error between the first calculation method and the second calculation method, and the distance (actual moving distance) of the passing path of the head 110.

[0058] Figure 15 It is a diagram showing a first example of the passing path of the straight trajectory pattern and the passing path of the curved trajectory pattern.

[0059] Figure 16 It shows Figure 15 A diagram showing an example of the total moving distance of the passing path of each pattern shown and the load on the motor.

[0060] Figure 17 It is a diagram showing a second example of the passing path of the straight trajectory pattern and the passing path of the curved trajectory pattern.

[0061] Figure 18 It shows Figure 17 A diagram showing an example of the moving distance of each path of each passing path shown and the load on the motor.

[0062] Figure 19 It is a schematic diagram showing an example of the third calculation method.

[0063] Figure 20 It shows an example of the passing order determined by the control device 100 using the third calculation method.

[0064] Figure 21 It is a diagram showing an example of the moving cost calculation process of the control device 100.

[0065] [Description of symbols]

[0066] 100: Control device

[0067] 105: Pedestal

[0068] 110: Head

[0069] 120: Path

[0070] 201: Driving mechanism

[0071] 301: Control unit

[0072] 302: Communication unit

[0073] 303: Storage unit

[0074] 304: Input unit

[0075] 305: Output unit

[0076] 306: Output interface

[0077] 310: Tool control unit

[0078] 320: Tool

[0079] 400: Motor command control unit

[0080] 401: Motor command generation unit

[0081] 402: Motor command correction unit

[0082] 403: Motor command unit

[0083] 430: Prediction synchronization calculation unit

[0084] 450: Trigger command control unit

[0085] 451: Trigger command generation unit

[0086] 452: Trigger command correction unit

[0087] 453: Trigger command unit Detailed implementation manners

[0088] Hereinafter, embodiments of the technical idea of the present disclosure will be described with reference to the accompanying drawings. In the following description, the same reference numerals are assigned to the same parts. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.

[0089] <A. Application example>

[0090] Figure 1 It is a diagram showing an example of a method for determining the passing order of the head 110 of the present embodiment through each point. Refer to Figure 1 , an example of a scenario to which the present invention is applied will be described. In addition, in the following description, the passing order means the passing order of the head 110 through each point on the workpiece.

[0091] (A-1. Device structure)

[0092] The method for determining the passing order of the head 110 of the present embodiment can be preferably applied to Figure 1The illustrated control device 100. The control device 100 includes a head 110 and a pedestal 105 that move by a drive mechanism for at least two axes (X-axis, Y-axis).

[0093] The head 110 moves above the pedestal 105. Here, the head 110 includes any structure such as the front end of a robotic arm, a camera or sensor of an inspection device, and a gripping portion of a pick-up device. Moreover, the control device 100 may also include a drive mechanism for adjusting the distance (Z-axis) of the head 110 from the pedestal 105.

[0094] The drive mechanism can be, for example, a linear motion mechanism such as a computerized numerical control (CNC) machine tool, or a mechanism including joints formed by combining multiple motors such as a robotic arm or a selective compliance assembly robot arm (SCARA) device. In one aspect, the control device 100 may also include a mechanism for combining multiple motors to simultaneously adjust two axes (X-axis, Y-axis).

[0095] In one aspect, the control device 100 may also be a repair device such as a liquid crystal panel, a CNC machine tool, a robotic arm, an inspection device, a pick-up device, an assembly device, a welding device, etc., a device including a drive mechanism and a head with any number of axes.

[0096] (A-2. By sequential selection criteria)

[0097] The head 110 moves at multiple points on the pedestal 105 corresponding to its use. For example, assume that the control device 100 is an inspection device for a substrate, and there are four inspection sites on the substrate to be inspected (hereinafter, the components provided on the pedestal 105 are represented as "workpieces"). At this time, the head 110 moves on a path 120 passing through multiple points (inspection sites) (A) to (D) on the pedestal 105. In order to determine the passing order of the head 110 through points (A) to (D), the control device 100 can use an algorithm such as the nearest neighbor method. Algorithms such as the nearest neighbor method that find the shortest distance determine the passing order based on the movement cost. Therefore, the movement cost can also be said to be the selection criterion for the passing order.

[0098] In order to improve the operation efficiency of the control device 100, it is only necessary to find the path with the minimum movement distance of the head 110 and make the head 110 pass through this path. Figure 1 In the example, if the head 110 passes through the shortest path connecting points (A) to (D) in a straight line, the operation efficiency of the control device 100 reaches the maximum. In other words, it is only necessary to set the straight-line distance between each point as the movement cost to determine the passing order.

[0099] However, the shortest distance in the linear movement will cause a large load on the motor driving the drive mechanism, which is not preferable in consideration of the life of the machine. Therefore, in order to reduce the load on the motor, it is ideal that the head 110 moves while drawing a gentle arc trajectory.

[0100] Therefore, the method for determining the passing order of the head 110 through each point in this embodiment is to determine the passing order in which the moving distance on the curve becomes the smallest, based on the premise that the head 110 draws a curve trajectory from the current point to the next point. The "point" here can also be expressed by the coordinates on the base 105. In other words, the "point (X)" on the base 105 refers to the "coordinate (X)". In addition, in the following description, the so-called "Nth point" refers to the point that the head 110 passes through for the Nth time.

[0101] (A-3. Cost calculation between points)

[0102] In the method for determining the passing order of the head 110 through each point of the present embodiment, the next moving target of the head 110 is determined by the following process. In addition, assuming that the control device 100 has determined the passing order up to the Nth point of the head 110, the N+1th point (N+1th moving target) is to be determined next.

[0103] In the first step, the control device 100 stores the coordinates of the current point (C), which is the Nth moving target, and the previous point (P), which is the N-1th moving target. In the second step, the control device 100 selects the next point (N), which is the candidate for the N+1th moving target.

[0104] In the third step, the control device 100 calculates the movement cost from the current point (C) to the next point (N) based on the size of the circle passing through the previous point (P), the current point (C), and the next point (N). More specifically, the control device 100 calculates the movement cost from the current point (C) to the next point (N) based on the distance of the arc from the point (C) to the point (N). Figure 1 The trajectory angle θ T The larger the angle, the higher the cost of movement. T It is the angle with respect to the line segment PC. In other words, the more acute the angle between the line segment (PC) and the line segment (CN) including the point (C) as the vertex, the higher the travel cost.

[0105] Figure 1 In the example, based on the trajectory angle θ T, the movement costs from the current point (C) to points (N1) to (N3) at the same distance are "movement cost (point (C) - point (N1)) < movement cost (point (C) - point (N2)) < movement cost (point (C) - point (N3))". Therefore, the control device 100 selects point (N1) as the next movement target. The control device 100 repeats the processing from the first step to the third step until the determination of the passing order of all points is completed. The detailed calculation method of the calculation cost will be described later.

[0106] In addition, when selecting the first movement target, since there cannot be a previous point (P), the control device 100 can also set the point closest to the initial position of the head as the first movement target. On the one hand, after determining the passing order of the head 110 passing through each point based on the movement cost, the control device 100 can further use the 2-opt method or the like to correct the passing order.

[0107] (A-4. Movement of the head 110)

[0108] After the control device 100 determines the passing order of the head 110 passing through each point, it makes the head 110 pass through each point along the determined passing order. At this time, the head 110 moves between each point while drawing a curved trajectory with a radius of curvature not less than the minimum turning radius at which the head 110 can move. The minimum turning radius at which the head 110 can move is determined by the motor and drive mechanism that drive the head 110. In addition, hereafter, for the sake of distinction, the order of each point passed by the head 110 is called the "passing order". In contrast, the path drawn by the head 110 when passing through each point is called the "passing path".

[0109] The head 110 does not need to move by drawing the circular arc trajectory obtained during the cost calculation, and only needs to pass through each point with a certain degree of curve movement according to the determined passing order. The movement cost is an approximation of the movement cost when the head 110 passes through each point along a curved trajectory, and the distance of the actual passing path of the head 110 does not need to be the same as the movement cost (the distance of the circular arc).

[0110] As described above, the control device 100 of the present embodiment determines the passing order of the head 110 passing through each point based on the movement cost when the head 110 moves along a curved trajectory. Through the above processing, the control device 100 can suppress the burden on the motor and drive mechanism that drive the head 110, and can efficiently move the head 110 to improve the operation efficiency of the control device 100.

[0111] The method for determining the passing order of the head 110 passing through each point in the present embodiment can be preferably applied to a device (such as a liquid crystal panel repair device, a screw fastening device, or a welding device) in which the points to be toured by the head 110 have been determined in advance.

[0112] <B. Hardware Structure>

[0113] Next, with reference to Figures 2 to 4 the hardware structure of the control device 100 that can apply the determination method of the passing path according to this embodiment will be described. In the following description, the control device 100 is described as a device including a three-axis linear motion mechanism, but the structure of the control device 100 is not limited to this. In one aspect, the control device 100 can also be a device including an arbitrary drive axis, such as a robotic arm, a horizontal multi-joint robot device, etc.

[0114] Figure 2 is a diagram showing an example of the drive mechanism of the control device 100. The control device 100 includes a drive mechanism 201X for the X-axis, a drive mechanism 201Y for the Y-axis, a drive mechanism 201Z for the Z-axis, a pedestal 105, and a head 110. When collectively referring to each drive mechanism, it is sometimes expressed as "drive mechanism 201". The control device 100 can drive the head 110 to move in three-dimensional space by combining the drive mechanisms 201X to 201Z.

[0115] The drive mechanism 201 is a drive mechanism that moves the head 110 and is driven by an arbitrary motor such as a servo motor or a stepper motor. The drive mechanism 201 transmits the power of the motor to the head 110 or the frame part where the head 110 is installed via power transmission parts such as a ball screw, a belt, or a link mechanism.

[0116] Figure 1 In the example shown, the head 110 is connected to the drive mechanism 201Z of the Z-axis via a power transmission part. By driving the drive mechanism 201Z, the position of the head 110 in the Z direction is adjusted. Moreover, the drive mechanism 201Z is connected to the drive mechanism 201Y of the Y-axis via a power transmission part. By driving the drive mechanism 201Y, the position of the drive mechanism 201Z and the head 110 in the Y-axis direction is adjusted. Furthermore, the drive mechanism 201Y is connected to the drive mechanism 201X of the X-axis via a power transmission part. By driving the drive mechanism 201X, the position of the drive mechanism 201Y, the drive mechanism 201Z, and the head 110 in the X direction is adjusted.

[0117] The pedestal 105 is a place for setting the workpiece, and sometimes has screw holes, jigs, or chucks for fixing the workpiece. The pedestal 105 is generally rectangular, and any one of the four corners of the pedestal 105 becomes the XY-axis coordinates (0, 0) of the head 110. The control device 100 can specify the position of the head 110 with the said coordinates.

[0118] The head 110 is equipped with certain working tools. As an example, on the head 110, any tool such as a cutting tool, an inspection camera, a picking arm, a soldering iron, or an electric screwdriver can be set. The head 110 adjusts its position through the drive mechanism 201 to perform certain operations (such as inspection, screw fastening, etc.) on the workpiece.

[0119] Figure 3 FIG. is an example showing the structure of the control system of the control device 100 according to the present embodiment schematically. The control device 100 includes a drive mechanism 201, a head 110, a control unit 301, a communication unit 302, a storage unit 303, an input unit 304, and an output unit 305.

[0120] The drive mechanism 201 includes: a motor as a power source to drive the drive mechanism 201; and a motor driver to control the motor. More specifically, in the drive mechanism 201X, a motor (Mx) and a motor driver (Dx) are provided. In the drive mechanism 201Y, a motor (My) and a motor driver (Dy) are provided. In the drive mechanism 201Z, a motor (Mz) and a motor driver (Dz) are provided. In one aspect, each motor and motor driver may also be built into the drive mechanism 201. On the other hand, each motor and motor driver may also be provided outside the drive mechanism 201.

[0121] The head 110 includes: a tool control unit 310 to control the tool installed at the front end of the head 110; and a tool 320. The tool 320 may also be detachable. In one aspect, the tool 320 may also be any tool such as a cutting tool, an inspection camera, a picking arm, a soldering iron, or an electric screwdriver. The tool control unit 310 controls the operation of the tool 320 based on an instruction from the control unit 301. In one aspect, the tool control unit 310 may also be included in the tool 320.

[0122] The control unit 301 controls the entire control device 100. The control unit 301 may include a central processing unit (CPU), a random access memory (RAM), and a read only memory (ROM). In one aspect, the RAM and / or ROM may also be provided outside the control unit 301.

[0123] The CPU executes or refers to various programs and data read into the RAM. In one aspect, the CPU may also be an embedded CPU, or a field-programmable gate array (FPGA), or may also include a combination thereof, etc.

[0124] RAM stores the programs executed by the CPU and the data referenced by the CPU. In one aspect, RAM can also be implemented by Dynamic Random Access Memory (DRAM) or Static Random Access Memory (SRAM).

[0125] ROM is a non-volatile memory and can also store the programs executed by the CPU. At this time, the CPU executes the program read from the ROM into the RAM. In one aspect, ROM can also be implemented by Erasable Programmable Read Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), or flash memory.

[0126] The communication unit 302 is a communication interface for the drive mechanism 201 and the head 110. The control unit 301 sends control signals to the motor driver and the tool control unit 310 via the communication unit 302 respectively. Moreover, the communication unit 302 can receive various information such as the rotational speed of the motor from the motor driver and the tool control unit 310 respectively.

[0127] The storage unit 303 is a non-volatile memory and can store data even when the power of the control device 100 is cut off. The storage unit 303 can store any programs and data executed or referenced by the CPU. In one aspect, the storage unit 303 can also be implemented by a Hard Disk Drive (HDD) or a Solid State Drive (SSD). The CPU can read various programs from the storage unit 303 into the RAM as needed and execute the read programs.

[0128] The input unit 304 is an interface for accepting various input operations from the outside. The input unit 304 can be connected to any input device such as a keyboard, a mouse, a touchpad, or a gamepad. In one aspect, the input unit 304 can also be a communication port and can receive instructions from an external computer or the like. The control unit 301 can control the drive mechanism 201 and the head 110 based on the instructions. On the other hand, the input unit 304 can also be an emergency stop button. When the emergency stop button is pressed, the control device 100 forcibly stops the operation of the drive mechanism 201 and the head 110.

[0129] The output unit 305 is an interface for externally outputting certain information. The output unit 305 can be connected to any output device such as a cathode ray tube display, a liquid crystal display, or an organic electro-luminescence (EL) display. In one aspect, the output interface 306 can also be implemented through a universal serial bus (USB) terminal, a D-sub terminal, a digital visual interface (DVI) terminal, a high-definition multimedia interface (HDMI (registered trademark)) terminal, etc. In another aspect, the output unit 305 can also send signals to an external computer.

[0130] Figure 4 It is a schematic diagram showing an example of the functional modules included in the control device 100. Figure 4 The functional modules shown can also be implemented as software, and these functional modules can be executed by the control unit 301.

[0131] The control device 100 includes a motor command control unit 400, a prediction synchronization calculation unit 430, and a trigger command control unit 450 as functional modules. The motor command control unit 400 includes a motor command generation unit 401, a motor command correction unit 402, and a motor command unit 403. The trigger command control unit 450 includes a trigger command generation unit 451, a trigger command correction unit 452, and a trigger command unit 453.

[0132] The motor command generation unit 401 generates the coordinates (Px, Py, Pz) of the target position of the head 110 and outputs a position command based on the target position to the motor command correction unit 402. The control unit 301 calculates the target trajectory of the head 110 according to the passing order of each point determined by the path selection based on the present embodiment.

[0133] The motor command correction unit 402 has an X-axis position correction unit, a Y-axis position correction unit, and a Z-axis position correction unit. The X-axis command position corresponding to the X coordinate (Px) of the target position is input to the X-axis position correction unit, the Y-axis command position corresponding to the Y coordinate (Py) of the target position is input to the Y-axis position correction unit, and the Z-axis command position corresponding to the Z coordinate (Pz) of the target position is input to the Z-axis position correction unit.

[0134] The motor command unit 403 sends commands to the motor drivers Dx, Dy, and Dz based on the output of the motor command correction unit 402. In one aspect, the commands sent to each motor driver can also be the pulses or current amounts output to the motor, the rotation amount of the motor, the number of steps of the motor, or any command for the motor.

[0135] The prediction synchronization calculation unit 430 reads and obtains drive parameters (parameters such as the position loop gain of each axis) from the motor drivers Dx, Dy, and Dz. Moreover, the prediction synchronization calculation unit 430 obtains the response delay time of each of the motor drivers Dx, Dy, and Dz. The prediction synchronization calculation unit 430 calculates a prediction position synchronization correction parameter including the response delay time based on the obtained information, and outputs the prediction position synchronization correction parameter to the motor command correction unit 402. The motor command correction unit 402 corrects the command to the motor driver based on the obtained prediction position synchronization correction parameter.

[0136] The trigger command generation unit 451 calculates the time T when the motors of each axis synchronously respond to the position commands Cx, Cy, and Cz based on the X-axis command position, Y-axis command position, and Z-axis command position corrected by the motor command correction unit 402. Moreover, the trigger command generation unit 451 generates a trigger command for operating the tool 320 at this time T, and outputs the trigger command to the trigger command correction unit 452.

[0137] The trigger command correction unit 452 calculates the time T2 when a work object such as a part of the workpiece reaches the work position of the tool 320 based on the time T when the motors of each axis synchronously respond and the mechanical specified reaction time of each axis motor. Moreover, the trigger command correction unit 452 corrects the trigger command in consideration of the prediction position synchronization correction parameter for the time T2.

[0138] The trigger command unit 453 sends the corrected trigger command to the tool control unit 310 based on the trigger command output from the trigger command correction unit 452 so that the tool 320 responds at the time T1.

[0139] <C. Calculation method of movement cost>

[0140] Next, with reference to Figures 5 to 10 The first calculation method of the movement cost for the head 110 to move between each point in the present embodiment will be described in detail. Figure 5 is a diagram showing an example of the passing path of the head 110 on the workpiece 500. The workpiece 500 is a substrate on which parts are mounted, and the points 501 to 508 are the points that the cameras equipped on the head 110 should inspect. The control device 100 determines the passing order of each point based on the calculation of the movement cost. The calculation method of the movement cost includes the calculation method of the movement cost of a straight trajectory and the calculation method of the movement cost of a curved trajectory. In one aspect, the calculation method of the movement cost may only include the calculation method of the movement cost of a curved trajectory.

[0141] Figure 6 is a diagram showing based on the trajectory angle θ TA diagram showing an example of the change in the movement cost of a straight-line trajectory. Figure 6 In the example shown, the control device 100 has determined "previous point P → current point C" as the passing order of the head 110. The control device 100 calculates the movement cost from point C to the candidates for the next movement target, namely points N1 to N3 (collectively referred to as "point N").

[0142] In the case of a straight-line trajectory, when the distances from point C to each of points N1 to N3 are equal, regardless of the trajectory angle θ T the calculation formula for the movement cost of the straight-line trajectory from point C to each of the next points N1 to N3 is expressed by the following formula.

[0143] [Equation 1]

[0144]

[0145] Moreover, as shown in the graph 600, the movement cost of the straight-line trajectory from point C to the next point N is fixed regardless of the trajectory angle θ T Therefore, the control device 100 can also select any one of points N1 to N3 as the next movement target.

[0146] Figure 7 is a diagram showing an example of the change in the movement cost of a curved trajectory based on the trajectory angle θ T A diagram showing an example of the change in the movement cost of a curved trajectory based on the trajectory angle θ. Figure 7 In the example shown, the control device 100 has determined "previous point P → current point C" as the passing order of the head 110. The control device 100 calculates the movement cost from point C to the candidates for the next movement target, namely points N1 to N3.

[0147] In the case of a curved trajectory, when the distances from point C to each of points N1 to N3 are equal, the movement cost increases in proportion to the trajectory angle θ T This is because as the trajectory angle θ T increases, the length of the circumference of the circle passing through points P, C, and N also increases. The calculation formula for the movement cost of the curved trajectory from point C to each of the next points N1 to N3 is expressed by the following formula.

[0148] [Equation 2]

[0149]

[0150]

[0151]

[0152]

[0153] Further, as shown in Chart 700, the movement cost of the curved trajectory from point C to the next point N increases in proportion to the trajectory angle θ T Therefore, it can be understood that the control device 100 should select the point N1 with the smallest trajectory angle θ T as the next movement target.

[0154] The control device 100 of the present embodiment can use a combination of the calculation formula for the movement cost of a linear trajectory and the calculation formula for the movement cost of a curved trajectory. More specifically, when the previous point P, the current point C, and the next point N are arranged in a straight line (when the trajectory angle θ T = 0), the control device 100 calculates the movement cost from point C to point N through the calculation formula for the movement cost of a linear trajectory. Conversely, when the previous point P, the current point C, and the next point N are not arranged in a straight line (when the trajectory angle θ T ≠ 0), the control device 100 calculates the movement cost from point C to point N through the calculation formula for the movement cost of a curved trajectory.

[0155] Through the above processing, the control device 100 can generate a passing path (only a path of linear movement and curved movement) for the head 110 to pass through each point based on the determined passing order of the head 110 through each point. The passing path becomes a path that suppresses the load applied to the drive mechanism 201 and the motor of the drive head 110.

[0156] Moreover, the generated passing path is obtained through algorithms such as the nearest neighbor method and the 2-opt method, and is a passing path that can suppress the load applied to the drive mechanism 201 and the motor and has the shortest distance as much as possible.

[0157] <D. Improvement of the calculation method for the movement cost of a curved trajectory>

[0158] Next, with reference to Figures 8 to 14 the second calculation method for the movement cost of a curved trajectory will be described. The difference between the second calculation method and the first calculation method is that the error between the calculated movement cost and the actual movement distance of the head 110 is smaller. It can be understood that in the first calculation method, depending on the combination of the distance from the previous point P to the current point C (hereinafter, the distance between two points will be expressed as, for example, "distance (P, C)") and the distance from the current point C to the next point N (C, N), the error of the movement cost sometimes changes significantly. In contrast, in the second calculation method, even if the combination of distance (P, C) and distance (C, N) changes, the error of the movement cost only changes slightly.

[0159] Figure 8This is a diagram showing an example of the change amount of the movement cost obtained by the first calculation method based on the distances (P, C) and (C, N). The combination patterns of the distances (P, C) and (N, C) are classified into the following patterns (1) to (3).

[0160] Pattern (1) is the case where the distance (P, C) is equal to the distance (C, N). At this time, as shown in Chart 810, the movement cost increases in proportion to the trajectory angle θ T Pattern (2) is the case where the distance (P, C) is longer than the distance (C, N). At this time, as shown in Chart 820, the movement cost increases in proportion to the trajectory angle θ T temporarily and then decreases. Pattern (3) is the case where the distance (P, C) is shorter than the distance (C, N). At this time, as shown in Chart 830, the movement cost hardly increases regardless of the trajectory angle θ T until a certain degree, and increases rapidly when the trajectory angle θ T reaches an angle above a certain level.

[0161] In contrast, the actual movement distance of the head 110 becomes the value closest to the movement cost shown in Chart 810. In order to suppress the load on the drive mechanism 201 and the motor, the head 110 moves along a curved trajectory. Therefore, the smaller the angle formed by points P, C, and N, the greater the rotation of the head 110 and the greater the deviation from the straight line of the minimum path. Therefore, the actual movement distance of the head 110 increases in proportion to the trajectory angle θ T

[0162] However, depending on the combination of the distances (P, C) and (C, N), as shown in Chart 820 or Chart 830, sometimes the movement cost is not exactly proportional to the trajectory angle θ T Therefore, the error between the movement cost calculated by the control device 100 and the actual movement distance of the head 110 sometimes increases. Therefore, the second calculation method provides a method for suppressing the error.

[0163] Figure 9 This is a diagram for explaining an example of point P' which is a prerequisite for the second calculation method. The control device 100 has determined "the previous point P → the current point C" as the passing order of the head 110. The control device 100 calculates the movement cost from point C to the next movement target candidate, that is, point N. Moreover, it is assumed that the distance (P, C) is different from the distance (C, N).

[0164] ​At this time, in order to use the second calculation method, the control device 100 selects a point P' on the line segment PC. At this time, the distance (P', C) and the distance (C, N) are equal. Next, the control device 100 obtains the center point of the circle that is tangent to the point P', the point C, and the point N. The control device 100 calculates the movement cost from the point C to the point N based on the point P' and the circle that is tangent to the point P', the point C, and the point N.

[0165] Figure 10 This is a diagram showing an example of the outline of the second calculation method. When the points P, C, and N are not arranged in a straight line, as Figure 9 shown, the control device 100 obtains the point P'. Next, the control device 100 calculates the length of the arc on the circle that is tangent to the point P', the point C, and the point N and extends from the point C to the point N (hereinafter referred to as "arc (CN)") as the movement cost from the point C to the point N. The calculation formula for the movement cost of the arc (CN) is expressed by the formula (Equation 2). Here, R is the radius of the circle that is tangent to the point P', the point C, and the point N. When the points P, C, and N are arranged in a straight line, the control device 100 uses the formula (Equation 1) to calculate the movement cost from the point C to the point N.

[0166] Next, with reference to Figures 11 to 14 it is explained what kind of errors the movement cost calculated by the first calculation method and the movement cost calculated by the second calculation method have with respect to the actual passing path of the head 110.

[0167] Figure 11 This is a first example of the passing path of the head 110. The head 110 starts from the starting point (Start) and moves on the workpiece 1101 in the order of the points (P1) to the point (P3) and the end point (End). It can be seen that the distance (P1, P2) is longer than the distance (P2, P3). This corresponds to Figure 8 the mode (2). As an example, it is assumed that the head 110 moves on the passing path 1102.

[0168] Figure 12 This is a second example of the passing path of the head 110. The head 110 starts from the starting point and moves on the workpiece 1201 in the order of the points (P1) to the point (P4) and the end point. The distance (P2, P3) is close to the length of the distance (P3, P4). This corresponds to Figure 8 the mode (1). As an example, it is assumed that the head 110 moves on the passing path 1202.

[0169] Figure 13The third example of the passing path of the head 110. The head 110 starts from the starting point and moves on the workpiece 1301 in the order of point (P1) to point (P5) and the end point. It is known that the distance (P3, P4) is shorter than the distance (P4, P5). This corresponds to Figure 8 Pattern (3). As an example, it is assumed that the head 110 moves on the passing path 1302.

[0170] Figure 14 It is a diagram showing an example of the error between the first calculation method and the second calculation method and the distance (actual moving distance) of the passing path of the head 110. Chart 1404A shows Figure 11 the difference between the moving cost obtained by the first calculation method and the distance of the passing path of the head 110 on the path shown. Chart 1404B shows Figure 12 the difference between the moving cost obtained by the first calculation method and the distance of the passing path of the head 110 on the path shown. Chart 1404C shows Figure 13 the difference between the moving cost obtained by the first calculation method and the distance of the passing path of the head 110 on the path shown.

[0171] Chart 1405A shows Figure 11 the difference between the moving cost obtained by the second calculation method and the distance of the passing path of the head 110 on the path shown. Chart 1405B shows Figure 12 the difference between the moving cost obtained by the second calculation method and the distance of the passing path of the head 110 on the path shown. Chart 1405C shows Figure 13 the difference between the moving cost obtained by the second calculation method and the distance of the passing path of the head 110 on the path shown. The difference here can also be said to be the error of the moving cost with respect to the distance of the passing path of the head 110.

[0172] Referring to the above-mentioned Chart 1404A to Chart 1404C, it is known that when the control device 100 uses the first calculation method, in the passing order including Figure 8 Pattern (2) and Pattern (3), the error of the moving cost increases.

[0173] In contrast, referring to the above-mentioned Chart 1405A to Chart 1405C, it is known that when the control device 100 uses the second calculation method, the error of the moving cost is substantially fixed regardless of which passing path.

[0174] Chart 1401 shows the distances of the passing paths of the head 110. Chart 1402 shows the error of the movement cost when using the first calculation method. Chart 1403 shows the error of the movement cost when using the second calculation method. It is also clear from Charts 1401 to 1403 that the control device 100 can calculate the movement cost between each point on the workpiece passed by the head 110 with high precision by using the second calculation method.

[0175] In addition, the control device 100 stores programs for causing the control unit 301 to execute the first calculation method and the second calculation method in the storage unit 303. The control device 100 can read these programs from the storage unit 303 into the RAM and execute them as needed.

[0176] <E. Changes in Motor Load Caused by Calculation Method of Movement Cost>

[0177] Next, use Figures 15 to 18 to illustrate how the load applied to the motor changes by calculating the movement cost using a curved trajectory. In the following description, the passing path obtained based on the calculation of the movement cost through a straight trajectory is referred to as the "passing path in the straight trajectory mode". The passing path obtained based on the calculation of the movement cost through a curved trajectory is referred to as the "passing path in the curved trajectory mode".

[0178] Figure 15 is a diagram showing a first example of the passing path in the straight trajectory mode and the passing path in the curved trajectory mode. Figure 15 In the example shown, the head 110 passes through points (1) to (7) on the workpiece 1501.

[0179] The passing path 1502A is the passing path in the straight trajectory mode. The passing path 1502B is the passing path in the curved trajectory mode. It can be seen that the passing path 1502B depicts a relatively gentle curve with respect to the passing path 1502A. Therefore, the head 110 moves along a gentle curve, and the load on the motor that drives the drive mechanism 201 is suppressed.

[0180] Figure 16 is a diagram showing Figure 15 an example of the total movement distance of the passing paths in each mode shown and the load on the motor. Referring to Figure 16 , compared with the total movement distance of the head 110 on the passing path in the straight orbit mode, the total movement distance of the head 110 on the passing path in the curved orbit mode slightly increases.

[0181] Moreover, the maximum acceleration of the head 110 on the passing path in the curved track mode is significantly reduced compared to the maximum acceleration of the head 110 on the passing path in the straight track mode. From this, it can be known that the passing path in the curved track mode is a smoother and more efficient path than the passing path in the straight track mode.

[0182] Figure 17 It is a diagram showing a second example of the passing path in the straight track mode and the passing path in the curved track mode. Figure 15 In the example shown, the head 110 passes through points (1) to (21) on the workpiece 1501.

[0183] The passing path 1702A is the passing path in the straight track mode. The passing path 1702B is the passing path in the curved track mode. It can be known that the passing path 1702B depicts a relatively gentle curve with respect to the passing path 1702A. Therefore, the head 110 moves in a gentle curve, and the load on the motor that drives the drive mechanism 201 is suppressed.

[0184] Figure 18 It represents Figure 17 It is a diagram showing an example of the moving distance of each of the passing paths shown and the load on the motor. Refer to Figure 18 , compared with the total moving distance of the head 110 on the passing path in the straight track mode, the total moving distance of the head 110 on the passing path in the curved track mode is reduced.

[0185] Moreover, the maximum acceleration of the head 110 on the passing path in the curved track mode is significantly reduced compared to the maximum acceleration of the head 110 on the passing path in the straight track mode. From this, it can be known that the passing path in the curved track mode is a smoother and more efficient path than the passing path in the straight track mode.

[0186] From Figure 16 and Figure 18 The comparison results show that the control device 100 can significantly reduce the load applied to the motor that drives the drive mechanism 201 by using the passing path in the curved track mode. Moreover, the control device 100 can also reduce the total moving distance according to the location and number of points on the workpiece by using the passing path in the curved track mode.

[0187] <F. Improvement of Path Selection for Straight Trajectory>

[0188] Next, refer to Figures 19 to 21 to explain a third calculation method for the moving cost of the improved straight trajectory. The difference between the third calculation method and the first calculation method and the second calculation method is that the moving cost between each point is defined by the straight trajectory and the trajectory angle θ T .

[0189] Figure 19 It is a schematic diagram showing an example of a third calculation method. Figure 19 In the example of Figure 19 , the control device 100 has determined the passing path up to point P and point C, and next, it is necessary to calculate the moving cost from point C to point N1 or point N2. The third calculation method can efficiently determine the passing path, for example, when the points to be passed are arranged neatly in a grid pattern on the workpiece. The calculation formula for the moving cost in the third calculation method is expressed by the following formula.

[0190] [Equation 3]

[0191]

[0192] The error tolerance is the tolerance of the error between point C and point N. For example, assume that the points to be passed on a certain workpiece are arranged evenly in a grid pattern. However, due to manufacturing errors or the like, the distance between each point may sometimes change slightly. The error tolerance represents the allowable range of the distance error between the points. Figure 19 In the example of Figure 19 , "error tolerance = 0.55".

[0193] As shown in (Equation 3), in the third calculation method, the trajectory angle θ T The greater the increase, the greater the moving cost. That is, the smaller the angle formed by the line segment (PC) and the line segment (PN) with C as the vertex, the greater the moving cost.

[0194] Figure 19 In the example of Figure 19 , "distance (C, N1) = 40, the trajectory angle of point P, point C, and point N1 = 0", "distance (C, N2) = 39.5, the trajectory angle of point P, point C, and point N2 = 90". Therefore, it can be known that point N2 is closer to point C than point N1. However, the trajectory angle of point P, point C, and point N2 is greater than the trajectory angle of point P, point C, and point N1. Therefore, in the third calculation method, the moving cost from point C to point N1 is smaller than the moving cost from point C to point N2. The control device 100 calculates the moving cost based on the third calculation method, whereby the head 110 can preferentially select a point that does not bend during movement.

[0195] Figure 20 It shows an example of the passing order determined by the control device 100 using the third calculation method. Figure 20In the example, the control device 100 is on points (1) to (25) on the workpiece 2001. The passing path 2002A is generated by the control device 100 using the movement cost calculated by the third calculation method and based on the passing order determined by the nearest neighbor method. It can be known that the control device 100 determines the passing order in such a way that the head 110 can move in a straight line as much as possible. The passing path 2002B is the result of the control device 100 applying the 2-opt method to the passing path 2002A.

[0196] As described above, the control device 100 of the present embodiment calculates the movement cost between each point on the workpiece using any one of the first calculation method to the third calculation method. The control device 100 determines the passing order of each point of the head 110 through algorithms such as the nearest neighbor method and the 2-opt method based on the movement cost.

[0197] <G. Internal Processing of Control Device 100>

[0198] Figure 21 is a diagram showing an example of the movement cost calculation process of the control device 100. In one aspect, the control unit 301 may also read a program for performing Figure 21 the processing into the RAM from the storage unit 303 and execute the program. On the other hand, a part or all of the processing may also be implemented as a combination of circuit elements configured to execute the processing.

[0199] In step S2105, the control unit 301 selects a calculation method for the movement cost. When the calculation method for the straight line trajectory is selected by the user's input in the program or the like, the control unit 301 moves the control to step S2110. Alternatively, when the control unit 301 selects the calculation method for the straight line trajectory based on the positional relationship between the previous point P, the current point C, and the next point N, the control unit 301 moves the control to step S2110. If not (when the calculation method for the curved trajectory is selected by the user's input in the program or the like, or when the control unit 301 selects the calculation method for the curved trajectory based on the positional relationship between point P, point C, and point N), the control unit 301 moves the control to step S2120.

[0200] In step S2110, the control unit 301 calculates the trajectory angles of points P, C, and N. In step S2115, the control unit 301 uses equation (6) of (number 3) in the third calculation method to calculate the movement cost from point C to point N.

[0201] In step S2120, the control unit 301 calculates the trajectory angles of point P, point C, and point N. In step S2125, the control unit 301 determines whether "trajectory angle ≠ 0", that is, whether point P, point C, and point N are not on the same straight line. When the control unit 301 determines that "trajectory angle ≠ 0" (yes in step S2125), it moves the control to step S2130. Otherwise (no in step S2125), the control unit 301 moves the control to step S2135.

[0202] In step S2130, the control unit 301 calculates the movement cost from point C to point N using equation (2) of (Equation 2). On the one hand, the control unit 301 can also calculate the movement cost from point C to point N based on point P, point C, and point N using a first calculation method. Moreover, on the other hand, the control unit 301 can also calculate the movement cost from point C to point N based on point P', point C, and point N using a second calculation method. In step S2135, the control unit 301 calculates the movement cost from point C to point N using equation (1) of (Equation 1).

[0203] As described above, the control device 100 of the present embodiment calculates the movement cost between each point on the workpiece by combining the calculation formula of the movement cost of the straight-line trajectory and the calculation formula of the movement cost of the curved trajectory. The control device 100 determines the passing order of each point of the head 110 based on the movement cost through algorithms such as the nearest neighbor method and the 2-opt method. Through the above processing, the control device 100 can not only suppress the load applied to the drive mechanism 201 and the motor for driving the head 110, but also efficiently determine the passing order of the points.

[0204] <H. Notes>

[0205] As described above, the present embodiment includes the following technical ideas.

[0206] [Structure 1]

[0207] A control device includes:

[0208] A pedestal 105 for setting a workpiece;

[0209] A head 110 that moves above the pedestal 105;

[0210] A first drive mechanism 201X for moving the head in the first axial direction of the pedestal;

[0211] A second drive mechanism 201Y for moving the head in the second axial direction of the pedestal; and

[0212] A control unit 301 that controls the first drive mechanism and the second drive mechanism

[0213] When the head passes through multiple points of the workpiece, the control unit calculates the movement cost when the action of the head to depict a curved trajectory passes from the current point C to the next point N.

[0214] The next movement target point of the head is selected in such a way that the movement cost is minimized.

[0215] [Structure 2]

[0216] The control device according to Structure 1, wherein

[0217] The curved trajectory is a trajectory on a circle tangent to the previous point P, the current point, and the next point of the head.

[0218] [Structure 3]

[0219] The control device according to Structure 1, wherein

[0220] The control unit obtains a point P (P') located on the line segment passing through the previous point and the current point of the head,

[0221] The distance from the point P to the current point is equal to the distance from the current point to the next point,

[0222] The curved trajectory is a trajectory on a circle tangent to the point P, the current point, and the next point.

[0223] [Structure 4]

[0224] The control device according to Structure 2 or 3, wherein

[0225] The control unit determines whether the previous point, the current point, and the next point are arranged in a straight line,

[0226] If the previous point, the current point, and the next point are arranged in a straight line, the movement cost when the head moves from the current point to the next point along a straight-line trajectory is calculated,

[0227] If the previous point, the current point, and the next point are not arranged in a straight line, the movement cost when the head moves from the current point to the next point along the curved trajectory is calculated.

[0228] [Structure 5]

[0229] The control device according to any one of Structures 1 to 4, wherein

[0230] After determining the passing order of the head passing points, the control unit determines the passing path of the head such that the passing path when the head passes through each point is equal to or greater than the minimum turning radius of the head.

[0231] [Structure 6]

[0232] The control device according to any one of Structures 1 to 5, wherein

[0233] After determining the passing order of the head passing points based on the movement cost when the head passes while depicting the curved trajectory, the control unit changes the passing order of the head passing points by the 2-opt method.

[0234] [Structure 7]

[0235] The control device according to Structure 2 or 3, wherein

[0236] The control unit accepts a selection input of the calculation method of the movement cost when the head passes while depicting a curved trajectory and the calculation method of the movement cost when the head passes while depicting a straight trajectory.

[0237] In the calculation method of the movement cost when the head passes while depicting a straight line, when the error tolerance value of the distance from the current point to the next point is greater than 0, the smaller the angle between the line segment connecting the previous point and the current point and the line segment connecting the current point and the next point when the current point is set as the vertex, the greater the movement cost.

[0238] [Structure 8]

[0239] A method for obtaining the passing order of a head passing through each point on a workpiece in a control device, the method comprising the following steps:

[0240] When the head passes through multiple points on the workpiece, calculating the movement cost when the head passes from the current point to the next point while depicting a curved trajectory; and

[0241] Selecting the next movement target point of the head such that the movement cost is minimized.

[0242] [Structure 9]

[0243] The method according to Structure 8, wherein

[0244] The curved trajectory is a trajectory on a circle tangent to the previous point, the current point, and the next point of the head.

[0245] [Structure 10]

[0246] The method according to Structure 8, wherein

[0247] The method further includes the following steps, that is, finding a point P on the line segment passing through the previous point of the head and the current point,

[0248] The distance from the point P to the current point is equal to the distance from the current point to the next point,

[0249] The curve trajectory is a trajectory on a circle tangent to the point P, the current point, and the next point.

[0250] [Structure 11]

[0251] The method according to Structure 9 or 10 further includes the following steps:

[0252] Determine whether the previous point, the current point, and the next point are arranged on a straight line;

[0253] If the previous point, the current point, and the next point are arranged on a straight line, calculate the movement cost when the head moves from the current point to the next point to depict a straight line trajectory; and

[0254] If the previous point, the current point, and the next point are not arranged on a straight line, calculate the movement cost when the head moves from the current point to the next point to depict the curve trajectory.

[0255] [Structure 12]

[0256] The method according to any one of Structures 8 to 11 further includes the following steps:

[0257] After determining the passing order of the points through which the head passes, determine the passing path of the head in such a way that the passing path when the head passes through each point is equal to or greater than the minimum turning radius of the head.

[0258] [Structure 13]

[0259] The method according to any one of Structures 8 to 12 further includes the following steps:

[0260] After determining the passing order of the points through which the head passes based on the movement cost when the head moves to depict the curve trajectory, change the passing order of the points through which the head passes by the 2-opt method.

[0261] [Structure 14]

[0262] The method according to Structure 9 or 10, wherein

[0263] The method further includes the following steps, that is, accepting a selection input of a calculation method for the movement cost when the head passes through with an action of depicting a curved trajectory and a calculation method for the movement cost when the head passes through with an action of depicting a straight trajectory.

[0264] In the calculation method of the movement cost when the head passes through with an action of depicting a straight line, when the error tolerance value of the distance from the current point to the next point is greater than 0, the smaller the angle between the line segment connecting the previous point and the current point and the line segment connecting the current point and the next point when the current point is set as the vertex starting from 180 degrees, the greater the movement cost.

[0265] [Structure 15]

[0266] A program for causing a control device to execute the method according to any one of Structures 8 to 14.

[0267] It should be considered that the embodiments disclosed this time are merely illustrative in all aspects and not restrictive. The scope of the present invention is shown by the claims rather than the description, and is intended to include all modifications within the meaning and scope equivalent to the claims. Moreover, the disclosed contents described in the embodiments and each modification can be implemented alone or in combination as long as possible.

Claims

1. A control device, comprising: a pedestal for setting a workpiece; a head that moves above the pedestal; a first driving mechanism for moving the head in a first axial direction of the pedestal; a second driving mechanism for moving the head in a second axial direction of the pedestal; and a control unit that controls the first driving mechanism and the second driving mechanism, wherein when the head passes through multiple points of the workpiece, the control unit calculates a movement cost when the head moves from the current point to the next point in an action of depicting a curved trajectory, selects the next movement target point of the head in such a way that the movement cost is minimized, and the curved trajectory is a trajectory on a circle tangent to the previous point, the current point, and the next point of the head.

2. The control device according to claim 1, wherein the control unit determines whether the previous point, the current point, and the next point are arranged in a straight line, if the previous point, the current point, and the next point are arranged in a straight line, calculates the movement cost when the head moves from the current point to the next point in an action of depicting a straight trajectory, if the previous point, the current point, and the next point are not arranged in a straight line, calculates the movement cost when the head moves from the current point to the next point in an action of depicting the curved trajectory.

3. The control device according to claim 1, wherein after determining the passing order of the points through which the head passes, the control unit determines the passing path of the head in such a way that the passing path when the head passes through each point is equal to or greater than the minimum turning radius of the head.

4. The control device according to claim 1, wherein after determining the passing order of the points through which the head passes based on the movement cost when the head passes in an action of depicting the curved trajectory, the control unit changes the passing order of the points through which the head passes by the 2-opt method.

5. The control device according to claim 1, wherein the control unit accepts a selection input of a calculation method for the movement cost when the head passes in an action of depicting a curved trajectory and a calculation method for the movement cost when the head passes in an action of depicting a straight trajectory, in the calculation method for the movement cost when the head passes in an action of depicting a straight line, when the error tolerance value of the distance from the current point to the next point is greater than 0, the smaller the angle between the line segment connecting the previous point and the current point and the line segment connecting the current point and the next point with the current point as the vertex starting from 180 degrees, the greater the movement cost.

6. A control device, comprising: a pedestal for setting a workpiece; a head that moves above the pedestal; a first driving mechanism for moving the head in a first axial direction of the pedestal; a second driving mechanism for moving the head in a second axial direction of the pedestal; and a control unit that controls the first driving mechanism and the second driving mechanism, wherein when the head passes through multiple points of the workpiece, the control unit calculates a movement cost when the head moves from the current point to the next point in an action of depicting a curved trajectory, Select the next moving target point of the head in such a way that the moving cost is minimized. The control unit calculates a point P located on the line segment passing through the previous point and the current point of the head. The distance from the point P to the current point is equal to the distance from the current point to the next point. The curved trajectory is a trajectory on a circle that is tangent to the point P, the current point, and the next point.

7. The control device according to claim 6, wherein The control unit determines whether the previous point, the current point, and the next point are arranged in a straight line. If the previous point, the current point, and the next point are arranged in a straight line, calculate the moving cost when the head moves from the current point to the next point by depicting a straight-line trajectory. If the previous point, the current point, and the next point are not arranged in a straight line, calculate the moving cost when the head moves from the current point to the next point by depicting the curved trajectory.

8. The control device according to claim 6, wherein After determining the passing order of the points through which the head passes, the control unit determines the passing path of the head in such a way that the passing path when the head passes through each point is greater than or equal to the minimum turning radius of the head.

9. The control device according to claim 6, wherein After determining the passing order of the points through which the head passes based on the moving cost when the head passes by depicting the curved trajectory, the control unit changes the passing order of the points through which the head passes by the 2-opt method.

10. The control device according to claim 6, wherein The control unit accepts a selection input for the calculation method of the moving cost when the head passes by depicting a curved trajectory and the calculation method of the moving cost when the head passes by depicting a straight-line trajectory. In the calculation method of the moving cost when the head passes by depicting a straight line, when the error tolerance value of the distance from the current point to the next point is greater than 0, the smaller the angle between the line segment connecting the previous point and the current point and the line segment connecting the current point and the next point with the current point as the vertex is from 180 degrees, the greater the moving cost.

11. A control method for obtaining the passing order of the points through which the head in a control device passes on a workpiece, the method comprising the following steps: When the head passes through a plurality of points on the workpiece, calculate the moving cost when the head moves from the current point to the next point by depicting a curved trajectory; and Select the next moving target point of the head in such a way that the moving cost is minimized. The curved trajectory is a trajectory on a circle that is tangent to the previous point, the current point, and the next point of the head.

12. The control method according to claim 11, further comprising the following steps: Determine whether the previous point, the current point, and the next point are arranged in a straight line; If the previous point, the current point, and the next point are arranged in a straight line, calculate the movement cost when the head moves from the current point to the next point to depict a straight-line trajectory; and If the previous point, the current point, and the next point are not arranged in a straight line, calculate the movement cost when the head moves from the current point to the next point to depict the curved trajectory.

13. The control method according to claim 11, further comprising the following steps: After determining the passing order of the points through which the head passes, determine the passing path of the head such that the passing path when the head passes through each point is equal to or greater than the minimum turning radius of the head.

14. The control method according to claim 11, further comprising the following steps: After determining the passing order of the points through which the head passes based on the movement cost when the head moves to depict the curved trajectory, change the passing order of the points through which the head passes by the 2-opt method.

15. The control method according to claim 11, wherein, the method further comprises the following steps, that is, accepting a selection input for the calculation method of the movement cost when the head moves to depict a curved trajectory and the calculation method of the movement cost when the head moves to depict a straight-line trajectory, in the calculation method of the movement cost when the head moves to depict a straight line, when the error tolerance value of the distance from the current point to the next point is greater than 0, the smaller the angle between the line segment connecting the previous point and the current point and the line segment connecting the current point and the next point when the current point is set as the vertex, the greater the movement cost.

16. A control method for obtaining the passing order of a head through each point on a workpiece in a control device, the method comprising the following steps: When the head passes through a plurality of points on the workpiece, calculate the movement cost when the head moves from the current point to the next point to depict a curved trajectory; and Select the next movement target point of the head in such a way that the movement cost is minimized, the method further comprises the following steps, that is, obtaining a point P located on the line segment passing through the previous point and the current point of the head, the distance from the point P to the current point is equal to the distance from the current point to the next point, the curved trajectory is a trajectory on a circle tangent to the point P, the current point, and the next point.

17. The control method according to claim 16, further comprising the following steps: Determine whether the previous point, the current point, and the next point are arranged in a straight line; If the previous point, the current point, and the next point are arranged in a straight line, calculate the movement cost when the head moves from the current point to the next point to depict a straight-line trajectory; and If the previous point, the current point, and the next point are not arranged in a straight line, calculate the movement cost when the head moves from the current point to the next point to depict the curved trajectory.

18. The control method according to claim 16 further includes the following steps: After determining the passing order of the head passing points, determine the passing path of the head in such a way that the passing path when the head passes through each point is above the minimum turning radius of the head.

19. The control method according to claim 16 further includes the following steps: After determining the passing order of the head passing points based on the movement cost when the head passes through while depicting the curve trajectory, change the passing order of the head passing points by the 2-opt method.

20. The control method according to claim 16 wherein the method further includes the following steps, that is, accepting a selection input of a calculation method of the movement cost when the head passes through while depicting a curve trajectory and a calculation method of the movement cost when the head passes through while depicting a straight line trajectory; in the calculation method of the movement cost when the head passes through while depicting a straight line, when the error tolerance value of the distance from the current point to the next point is greater than 0, the smaller the angle between the line segment connecting the previous point and the current point and the line segment connecting the current point and the next point starting from 180 degrees when the current point is set as the vertex, the greater the movement cost.

21. A computer-readable recording medium records a program for causing a control device to execute the control method according to claim 11 or 16.

Citation Information

Patent Citations

  • Circuit board inspection device

    JP2017181188A

  • Robot control method for welding along any curve trace in vertical plane

    CN102962549A

  • Tolerance-based path design and control methods

    JP2010511919A