Workpiece surface acquisition device, workpiece surface acquisition method, workpiece surface acquisition program, and recording media
The workpiece surface acquisition device and method efficiently calculate the shape of substrates with multiple blocks by using existing measurement points and estimated points at boundaries, addressing inefficiencies in existing technologies and improving measurement accuracy.
Patent Information
- Application Number
- JP2024081706
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-20
- Publication Date
- 2025-12-03
AI Technical Summary
Existing technologies face inefficiencies in accurately measuring the shape of substrates with multiple blocks separated by boundaries, leading to prolonged measurement times due to the need for additional measurement points to account for boundaries.
A workpiece surface acquisition device and method that utilize a work support unit, data acquisition unit, and calculation unit to extract target measurement points within a block, calculate a surface from these points, and estimate heights at boundaries to efficiently obtain the shape of the substrate while minimizing the influence of boundaries.
Efficiently acquires the shape of substrates with multiple blocks separated by boundaries, reducing measurement time and improving accuracy by calculating surfaces using existing measurement points and estimated points at boundaries.
Smart Images

Figure 2025175540000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for obtaining a surface of a workpiece having a plurality of blocks separated from one another by boundaries and separably connected to one another by the boundaries. [Background technology]
[0002] As shown in Patent Document 1, when mounting components on a board, the shape of the board can affect the accuracy of component mounting. Therefore, Patent Document 1 aims to improve mounting accuracy by controlling component mounting on the board based on the results of measuring the board shape with a height detection sensor. Specifically, the height of the measurement point and an auxiliary measurement point set near the measurement point are detected by a height detection sensor to measure the shape of the board.
[0003] In some cases, the shape of a substrate having multiple blocks separated from each other by boundaries such as slits, such as a split substrate, may be required. In such cases, the substrate bends at the boundaries, and if a boundary exists between the measurement point and the auxiliary measurement point, the shape of the substrate may not be measured properly. Therefore, in Patent Document 1, if the amount of displacement between the height of the measurement point and the height of the auxiliary measurement point is greater than a threshold, it is determined that a slit, step, or the like may exist between them, and the auxiliary measurement point is invalidated and a new auxiliary measurement point is set. This makes it possible to eliminate the influence of the boundary and properly obtain the shape of the substrate. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 4185960 Summary of the Invention [Problem to be solved by the invention]
[0005] In Patent Document 1, in addition to the measurement points, auxiliary measurement points are set so that there are no boundaries between the measurement points. In other words, Patent Document 1 increases the number of measurement points for height measurement so that there are no boundaries between the measurement points. When the number of measurement points is increased in this way, it takes time to complete the height measurement at each measurement point, which poses a problem that it is difficult to efficiently obtain the shape of the substrate.
[0006] This invention has been made in consideration of the above-mentioned problems, and aims to make it possible to efficiently obtain the shape of a substrate having multiple blocks that are separated from each other by boundaries and connected to each other in a separable manner at the boundaries, while eliminating the influence of the boundaries. [Means for solving the problem]
[0007] The work surface acquisition device of the present invention comprises a work support unit that supports a work having a plurality of blocks that are separated from each other by boundaries and connected to each other separably by the boundaries; a data acquisition unit that acquires measurement point data indicating the positions of a plurality of measurement points set on the work; a height measurement unit that measures the height of the measurement points; and a calculation unit that acquires a surface indicating a first block among the plurality of blocks that includes the measurement points.The calculation unit extracts a target measurement point included in the first block from the plurality of measurement points indicated by the measurement point data, and acquires three-dimensional coordinates indicating the position and height of the target measurement point by having the height measurement unit measure the height of the target measurement point, and calculates a first surface, which is a surface indicating the first block, from the three-dimensional coordinates of the target measurement point.
[0008] The work surface acquisition method of the present invention includes the steps of supporting a work having a plurality of blocks separated from each other by boundaries and separably connected to each other by the boundaries, acquiring measurement point data indicating the positions of a plurality of measurement points set on the work, and acquiring a surface indicating a first block among the plurality of blocks that includes the measurement point, extracting a target measurement point included in the first block from the plurality of measurement points indicated by the measurement point data, and having a height measurement unit measure the height of the target measurement point to obtain three-dimensional coordinates indicating the position and height of the target measurement point, and calculating a first surface, which is the surface indicating the first block, from the three-dimensional coordinates of the target measurement point.
[0009] A workpiece surface acquisition program according to the present invention causes a computer to execute the above-described workpiece surface acquisition method.
[0010] A recording medium according to the present invention records the above-described height measurement program in a computer-readable manner.
[0011] In the present invention (workpiece surface acquisition device, workpiece surface acquisition method, workpiece surface acquisition program, and recording medium) configured as described above, measurement point data indicating the positions of multiple measurement points set on the workpiece is acquired, and target measurement points included in the first block are extracted from the multiple measurement points indicated by the measurement point data. Then, three-dimensional coordinates indicating the positions and heights of the target measurement points are acquired by having a height measurement unit measure the heights of the target measurement points, and a first surface (the shape of the first block), which is a surface indicating the first block, is calculated from the three-dimensional coordinates of the target measurement points. In other words, no additional measurement points are added from the multiple measurement points indicated by the measurement point data. Furthermore, because the first surface indicating the first block is calculated only from the measurement points included in the first block, the first surface can be calculated while eliminating the influence of boundaries. As a result, it is possible to efficiently acquire the shape of a board having multiple blocks separated from each other by boundaries and connected separably to each other by the boundaries while eliminating the influence of boundaries.
[0012] The workpiece surface acquisition device may also be configured so that the calculation unit sets an estimated point on a boundary, acquires three-dimensional coordinates indicating the height and position of the estimated point estimated using the first surface, and calculates a second surface, which is a surface indicating a second block among the multiple blocks that does not include the measurement point, from the three-dimensional coordinates of the estimated point adjacent to the second block. This makes it possible to efficiently acquire the second surface (shape of the second block) indicating the second block that does not include the measurement point while eliminating the influence of the boundary.
[0013] More specifically, in this configuration, the height of an estimated point set on a boundary is estimated using the first plane. Because the height of the estimated point is thus obtained by estimation (in other words, calculation for estimation) rather than measurement, obtaining the height of the estimated point has little effect on the time required to obtain the shape of the substrate. Furthermore, an estimated point set on a boundary does not have a boundary between it and any point in the second block adjacent to the estimated point. Therefore, the second plane representing the second block (the shape of the second block) can be obtained from the three-dimensional coordinates of the estimated point adjacent to the second block while eliminating the influence of the boundary. In this way, the second plane representing the second block can be obtained efficiently while eliminating the influence of the boundary.
[0014] The workpiece surface acquisition device may also be configured so that the calculation unit sets an estimated point on a boundary adjacent to the first block as a first block estimated point, estimates the height of the first block estimated point by extrapolating the first surface to the first block estimated point, and acquires the three-dimensional coordinates of the first block estimated point, and calculates a second surface indicating a second block adjacent to the first block estimated point from the three-dimensional coordinates of the first block estimated point. With this configuration, the second surface indicating the second block that does not include the measurement point can be acquired efficiently while eliminating the influence of the boundary.
[0015] The workpiece surface acquisition device may also be configured so that the calculation unit sets an estimated point on a boundary adjacent to a second block whose second surface has already been calculated as a second block estimated point, estimates the height of the second block estimated point by extrapolating the second surface to the second block estimated point, and acquires the three-dimensional coordinates of the second block estimated point, and calculates the second surface of a second block whose second surface has not yet been calculated adjacent to the second block estimated point from the three-dimensional coordinates of the second block estimated point. With this configuration, the second surface indicating the second block that does not include the measurement point can be acquired efficiently while eliminating the influence of the boundary.
[0016] Furthermore, the workpiece surface acquisition device may be configured so that, when the block includes a mounting point where a component is to be mounted and the number of target measurement points included in the first block is four or more, the calculation unit acquires three-dimensional coordinates for three of the four or more target measurement points in order of proximity to the mounting point, and calculates the first surface from the three-dimensional coordinates of the three target measurement points. With this configuration, it is possible to calculate the first surface that contributes to highly accurate component mounting while suppressing the number of measurement points at which height measurements are performed.
[0017] Furthermore, the workpiece surface acquisition device may be configured so that, when the number of target measurement points included in the first block is three or less, the calculation unit acquires three-dimensional coordinates for the three or less target measurement points and calculates the first surface from the three-dimensional coordinates of the three or less target measurement points. With this configuration, it is possible to efficiently acquire the shape of the substrate while eliminating the influence of boundaries. [Effects of the Invention]
[0018] As described above, according to the present invention, it is possible to efficiently obtain the shape of a substrate having multiple blocks that are separated from each other by boundaries and connected to each other in a separable manner at the boundaries, while eliminating the influence of the boundaries. [Brief explanation of the drawings]
[0019] [Figure 1] 1 is a plan view schematically showing the configuration of an example of a component mounter corresponding to an example of a work surface acquisition device of the present invention. [Figure 2] FIG. 2 is a block diagram showing an electrical configuration of the component mounter of FIG. 1. [Figure 3A] FIG. 2 is a plan view schematically showing an example of a board on which the component mounter of FIG. 1 mounts components. [Figure 3B] FIG. 3B is a diagram schematically showing measurement point data indicating the positions of measurement points provided on the substrate of FIG. 3A. [Figure 4] 10 is a flowchart showing an example of a block plane measurement process executed by the component mounter. [Figure 5A]5 is a diagram schematically illustrating an example of calculations executed in the block plane measurement process of FIG. 4. [Figure 5B] 5 is a diagram schematically illustrating an example of calculations executed in the block plane measurement process of FIG. 4. [Figure 5C] 5 is a diagram schematically illustrating an example of calculations executed in the block plane measurement process of FIG. 4. [Figure 6A] 10 is a flowchart showing an example of a block plane estimation process executed by a component mounter. [Figure 6B] 10 is a flowchart showing an example of a block plane estimation process executed by a component mounter. [Figure 6C] 10 is a flowchart showing an example of a block plane estimation process executed by a component mounter. [Figure 7A] FIG. 7 is a diagram schematically showing an example of calculations executed in the block plane estimation processing of FIGS. 6A to 6C. [Figure 7B] FIG. 7 is a diagram schematically showing an example of calculations executed in the block plane estimation processing of FIGS. 6A to 6C. DETAILED DESCRIPTION OF THE INVENTION
[0020] FIG. 1 is a plan view showing a schematic configuration of an example of a component mounter corresponding to an example of a workpiece plane acquisition device of the present invention. FIG. 2 is a block diagram showing the electrical configuration of the component mounter of FIG. 1. FIG. 3A is a plan view showing a schematic configuration of an example of a board on which the component mounter of FIG. 1 mounts components. FIG. 3B is a diagram showing a schematic diagram of measurement point data indicating the positions of measurement points provided on the board of FIG. 3A. In this specification, the horizontal X direction, the horizontal Y direction perpendicular to the X direction, and the vertical Z direction are appropriately indicated. This component mounter 2 mounts small piece-like components C such as integrated circuits, transistors, and capacitors on a board 1.
[0021] As shown in FIG. 3A, the substrate 1 has a plurality of blocks 11a to 11h arranged in a matrix in the X and Y directions. When the blocks 11a to 11h are not to be distinguished from one another, they will be referred to as blocks 11. Each block 11 is a flat plate having a rectangular shape in a plan view. Boundaries 12 are provided between the plurality of blocks 11a to 11h, and the plurality of blocks 11a to 11h are separated from one another by the boundaries 12. The substrate 1 also has slits 13 provided along the boundaries 12. The slits 13 separably connect two blocks 11 adjacent to the slits 13 from both sides of the slits 13. In other words, the plurality of blocks 11a to 11h can be separated from one another at the boundaries 12.
[0022] Furthermore, the substrate 1 is provided with a plurality of measurement points P1 to P9 located at different X and Y coordinates. When the measurement points P1 to P9 are not particularly distinguished from one another, they are referred to as measurement points P. These measurement points P are the points targeted for height measurement, which will be described later. As shown in FIG. 3B, the measurement point data Dm indicates the X and Y coordinates (i.e., positions) of the measurement points P for each of the measurement points P1 to P9. While the measurement point data Dm is shown in table format in FIG. 3B, the format of the measurement point data Dm is not limited to tables and may be, for example, comma separated values (CSV). The measurement points P are not provided in all of the plurality of blocks 11a to 11h. The plurality of blocks 11a to 11h includes blocks 11b, 11d, and 11e in which the measurement points P are provided, and blocks 11a, 11c, 11f, 11g, and 11h in which the measurement points P are not provided.
[0023] 2, the mounter 2 includes a controller 3 that performs overall control of the mounter 2. The controller 3 includes a calculation unit 31 and a storage unit 32. The calculation unit 31 is a processor configured with a CPU (Central Processing Unit) and RAM (Random Access Memory). The storage unit 32 is a storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
[0024] The controller 3 also has a drive control unit 33 that controls the drive system of the mounter 2, and the calculation unit 31 controls the drive system using the drive control unit 33 to perform component mounting, which mounts a component C on the board 1. The controller 3 also has a sensor control unit 34, a UI (User Interface) 35, and a communication unit 36. The sensor control unit 34 controls the sensors of the mounter 2 in response to commands from the calculation unit 31 and acquires the detection results of the sensors. The UI 35 has input devices such as a mouse and keyboard, and output devices such as a display. The input and output devices of the UI 35 do not need to be configured separately, and may be configured integrally using a touch panel display or the like. The communication unit 36 communicates with external devices such as a management server 9 provided outside the mounter 2.
[0025] 3B is stored in the storage unit 32. For example, the measurement point data Dm is generated by the calculation unit 31 in response to a user's input operation on the UI 35, and stored in the storage unit 32. Alternatively, the measurement point data Dm is downloaded by the communication unit 36 from an external device of the mounter 2 (for example, a management server 9 described below), and stored in the storage unit 32. Furthermore, the storage unit 32 stores board data Db indicating the range in which each of the multiple blocks 11a to 11h included in the board 1 exists in the XY coordinate system (in other words, the XY plane).
[0026] The management server 9 is, for example, a personal computer, and includes a storage unit 91 configured with an HDD, SSD, or the like. This storage unit 91 stores a plane acquisition program G that acquires a plane that indicates the shape of the board 1. In the mounter 2, the communication unit 36 downloads the plane acquisition program G from the storage unit 91 of the management server 9 and stores it in the storage unit 32. Furthermore, the calculation unit 31 executes the plane acquisition program G downloaded to the storage unit 32, thereby generating a measurement control unit 311, a measurement point extraction unit 312, a plane calculation unit 313, and an estimation point setting unit 314. These will be described in detail later.
[0027] 1, the component mounter 2 includes a transport unit 21 that transports the board 1 in the X direction (board transport direction). This transport unit 21 has a pair of conveyors 211 arranged in parallel in the X direction, and transports the board 1 in the X direction by the conveyors 211. The spacing between these conveyors 211 is changeable in the Y direction (width direction) that is perpendicular to the X direction, and the transport unit 21 adjusts the spacing between the conveyors 211 according to the width of the board 1 being transported. This transport unit 21 transports the board 1 from the upstream side in the X direction, which is the board transport direction, to a predetermined work position 212, and transports the board 1 on which components C have been mounted at the work position 212 from the work position 212 downstream in the X direction.
[0028] This component mounter 2 is provided with a total of four component supply carts 22. Specifically, two component supply carts 22 are lined up in the X direction on each side of the transport unit 21 in the Y direction. On each component supply cart 22, multiple tape feeders 23 are lined up in the X direction, and multiple component supply reels are arranged corresponding to the multiple tape feeders 23. A component storage tape is wound around the component supply reel. This component storage tape has multiple pockets arranged in a row, and components C are stored in each pocket. Each tape feeder 23 has a component supply position 231 at its tip on the transport unit 21 side in the Y direction, and supplies components C in the component storage tape to the component supply position 231 by intermittently feeding the component storage tape pulled out from the component supply reel toward the transport unit 21.
[0029] The component mounter 2 is also provided with a pair of Y-axis rails 241 extending in the Y direction, a Y-axis ball screw 242 extending in the Y direction, a Y-axis motor My that rotates and drives the Y-axis ball screw 242, and an X-axis rail 244. The X-axis rail 244 is fixed to a nut of the Y-axis ball screw 242 while being supported by the pair of Y-axis rails 241 so as to be movable in the Y direction. An X-axis ball screw 245 extending in the X direction and an X-axis motor Mx that rotates and drives the X-axis ball screw 245 are attached to the X-axis rail 244. The component mounter 2 is provided with a head unit 25, and the head unit 25 is fixed to a nut of the X-axis ball screw 245 while being supported by the X-axis rail 244 so as to be movable in the X direction. Therefore, the drive control unit 33 can rotate the Y-axis ball screw 242 using the Y-axis motor My to move the head unit 25 in the Y direction, or rotate the X-axis ball screw 245 using the X-axis motor Mx to move the head unit 25 in the X direction.
[0030] 1, the head unit 25 is an inline type having multiple mounting heads 26 arranged linearly in the X direction. However, the specific configuration of the head unit 25 is not limited to the example in FIG. 1, and the head unit 25 may be a rotary type having multiple mounting heads 26 arranged circumferentially. Furthermore, the number of mounting heads 26 that the head unit 25 has is not limited to multiple, and may be a single mounting head.
[0031] A nozzle is detachably attached to the bottom end of the mounting head 26, and the mounting head 26 picks up components C using the nozzle. Meanwhile, the component mounter 2 has a Z-axis motor Mz that raises and lowers the mounting head 26 in the Z direction, and an R-axis motor Mr that rotates the mounting head 26. The drive control unit 33 adjusts the height of the mounting head 26 (i.e., the height of the nozzle) using the Z-axis motor Mz, and adjusts the rotation angle of the mounting head 26 (i.e., the rotation angle of the nozzle) using the R-axis motor Mr.
[0032] In the component mounter 2, the drive control unit 33 executes control in response to commands from the calculation unit 31, thereby mounting the component C on the land (mounting point) of the board 1. That is, the drive control unit 33 moves the mounting head 26 using the X-axis motor Mx and the Y-axis motor My, thereby causing the nozzle of the mounting head 26 to face the component C supplied to the component supply position 231 from above. Next, the drive control unit 33 lowers the nozzle using the Z-axis motor Mz, thereby bringing the nozzle into contact with the upper surface of the component C supplied to the component supply position 231, and then adsorbs the component C onto the nozzle. Furthermore, the drive control unit 33 raises the nozzle using the Z-axis motor Mz. In this way, the head unit 25 picks up the component C from the component supply position 231 using the nozzle of the mounting head 26. Next, the drive control unit 33 moves the mounting head 26 using the X-axis motor Mx and the Y-axis motor My, thereby causing the component C to be adsorbed by the nozzle of the mounting head 26 to face the land of the board 1 from above. Furthermore, the drive control unit 33 adjusts the angle of the component C picked up by the nozzle relative to the land using the R-axis motor Mr, and then lowers the nozzle using the Z-axis motor Mz, thereby placing the component C on the land of the board 1.
[0033] The component mounter 2 also includes a distance sensor 4 attached to the head unit 25. This distance sensor 4 moves integrally with the head unit 25 in the X and Y directions. The distance sensor 4 faces the board 1 from above and measures the distance to the board 1, i.e., the height of the board 1. The sensor control unit 34 acquires the height of the board 1 measured by the distance sensor 4.
[0034] In particular, the distance sensor 4 is used to measure the height of the measurement point P of the substrate 1 supported at the work position 212 by the transport unit 21. That is, the measurement control unit 311 of the calculation unit 31 outputs a measurement command for the height of the measurement point P to the drive control unit 33 and the sensor control unit 34. The drive control unit 33 controls the position (XY coordinates) of the distance sensor 4 using the X-axis motor Mx and the Y-axis motor My, thereby positioning the distance sensor 4 at the position (XY coordinates) of the measurement point P indicated by the measurement command. As a result, the distance sensor 4 faces the measurement point P from above. The sensor control unit 34 then causes the distance sensor 4 to measure the height of the measurement point P and acquires the height of the measurement point P. Specifically, the distance sensor 4 is used to acquire a plane (shape) representing the block 11 of the substrate 1.
[0035] Fig. 4 is a flowchart showing an example of block plane measurement processing executed by a mounter, and Figs. 5A to 5C are diagrams schematically showing an example of calculations executed in the block plane measurement processing of Fig. 4. The block plane measurement processing of Fig. 4 acquires planes showing blocks 11b, 11d, and 11e that include measurement point P among multiple blocks 11a to 11h on board 1.
[0036] The measurement point extraction unit 312 resets the count value Ib, which is an integer for identifying the blocks 11a to 11h, to zero (step S101), and increments the count value Ib by 1 (step S102). In step S103, the measurement point extraction unit 312 determines whether the number of measurement points P included in the block 11 corresponding to the count value Ib is three or more. The number of measurement points P present in the block 11 is determined by checking the number of measurement points P included in the existence range of the block 11 indicated by the board data Db, based on the measurement point data Dm.
[0037] If it is determined in step S103 that the number of measurement points P in block 11 is three or more (if the determination is "YES"), then measurement point extraction unit 312 determines whether the number of measurement points P in block 11 is four or more (step S104). If the number of measurement points P in block 11 is four or more (if the determination is "YES" in step S104), then measurement point extraction unit 312 extracts three measurement points P in block 11 from the multiple measurement points P indicated by measurement point data Dm in order of proximity to the lands (mounting points) included in block 11 (step S105). If the number of measurement points P in block 11 is three (if the determination is "NO" in step S104), then measurement point extraction unit 312 extracts three measurement points P in block 11 from the multiple measurement points P indicated by measurement point data Dm (step S106).
[0038] In step S107, a regression plane for the three measurement points P extracted in step S105 or S106 is found, thereby acquiring a plane (block plane) representing the block 11 including the three measurement points P. Specifically, the measurement control unit 311 measures the height of each of the three measurement points P using the distance sensor 4. Since the position (XY coordinates) of each measurement point P is known from the measurement point data Dm, the three-dimensional coordinates (XYZ coordinates) of each measurement point P are acquired by measuring the height (Z coordinate) of each measurement point P. Then, the plane calculation unit 313 calculates a plane S1 passing through the three-dimensional coordinates of each of the three measurement points P as the plane representing the block 11 including the three measurement points P, as shown in FIG. 5A . Note that, of the multiple blocks 11a to 11h on the substrate 1, the planes of blocks 11b, 11d, and 11e including the three measurement points P are acquired in steps S103, S104, S106, and S107.
[0039] In the following step S114, the measurement control unit 311 determines whether the count value Ib has reached the maximum value Ibx. Here, the maximum value Ibx is the number of blocks 11 included on the substrate 1. If the count value Ib is less than the maximum value Ibx ("NO" in step S114), the measurement control unit 311 returns to step S102. On the other hand, if the count value Ib is the maximum value Ibx ("YES" in step S114), the block plane measurement process in FIG. 4 ends.
[0040] If it is determined in step S103 that the number of measurement points P in block 11 is not three or more (determined as "NO"), measurement point extraction unit 312 determines whether the number of measurement points P in block 11 is two (step S108). If the number of measurement points P in block 11 is two ("YES" in step S108), measurement point extraction unit 312 extracts the two measurement points P in block 11 from the multiple measurement points P indicated by measurement point data Dm (step S109).
[0041] In step S110, a regression plane for the two measurement points P extracted in step S109 is found, thereby acquiring a plane (block plane) indicating the block 11 including the two measurement points P. Specifically, the measurement control unit 311 measures the height of each of the two measurement points P using the distance sensor 4, thereby acquiring the three-dimensional coordinates (XYZ coordinates) of each measurement point P. Then, the plane calculation unit 313 calculates a plane S1 passing through the three-dimensional coordinates of each of the two measurement points P as the plane indicating the block 11 including the two measurement points P, as shown in FIG. 5B.
[0042] In this case, if the three-dimensional coordinates of one of the two measurement points P, Pa, are (Xa, Ya, Za), and the three-dimensional coordinates of the other measurement point Pb are (Xb, Yb, Zb), the height of any point Q on the plane S1 can be calculated using the following formula: {(Zb-Za) / (distance between Pa and Pb)} × (distance from Pa to Q) + Z1 The plane S1 is calculated so as to satisfy the following.
[0043] Once step S110 has been executed in this manner, step S114 is executed in the same manner as described above.
[0044] If it is determined in step S108 that the number of measurement points P in block 11 is not two (determined as "NO"), then measurement point extraction unit 312 determines whether the number of measurement points P in block 11 is one (step S111). If the number of measurement points P in block 11 is not one ("NO" in step S111), step S114 is executed as described above. On the other hand, if the number of measurement points P in block 11 is one ("YES" in step S111), then measurement point extraction unit 312 extracts one measurement point P in block 11 from the multiple measurement points P indicated by measurement point data Dm (step S112).
[0045] In step S113, a regression plane for the one measurement point P extracted in step S112 is found, thereby acquiring a plane (block plane) indicating the block 11 including the one measurement point P. Specifically, the measurement control unit 311 measures the height of the one measurement point P using the distance sensor 4, thereby acquiring the three-dimensional coordinates (XYZ coordinates) of the measurement point P. Then, the plane calculation unit 313 calculates a plane S1 passing through the three-dimensional coordinates of the one measurement point P as the plane indicating the block 11 including the one measurement point P, as shown in FIG. 5C . In this case, the plane S1 is calculated to be parallel to the X direction and the Y direction.
[0046] Once step S113 has been executed in this manner, step S114 is executed in the same manner as described above.
[0047] In the embodiment described above, measurement point data Dm indicating the positions of multiple measurement points P set in block 11 (workpiece) is acquired, and measurement points P (target measurement points) included in block 11 (first block) are extracted from the multiple measurement points P indicated by the measurement point data Dm (steps S103 to S106, S108, S109, S111, and S112). Then, the distance sensor 4 (height measurement unit) measures the height of the extracted measurement point P to obtain three-dimensional coordinates indicating the position and height of the measurement point P, and a plane S1 (first plane) indicating block 11 is calculated from the three-dimensional coordinates of the measurement point P (steps S107, S110, and S113). In other words, no additional measurement points are added to the multiple measurement points P indicated by the measurement point data Dm. Furthermore, since the plane S1 indicating block 11 is calculated from only the measurement points P included in block 11, the plane S1 can be calculated while eliminating the influence of the boundary 12. As a result, it is possible to efficiently obtain the shape of a substrate 1 having multiple blocks 11 separated from each other by boundaries 12 and separably connected to each other by the boundaries 12 while eliminating the influence of the boundaries 12.
[0048] In the block plane measurement process, planes are acquired that indicate blocks 11b, 11d, and 11e that include measurement point P among the multiple blocks 11a to 11h on the substrate 1. That is, planes S1 (measured planes) that are obtained by measuring the heights of measurement point P included in blocks 11b, 11d, and 11e with distance sensor 4 are acquired as planes that indicate blocks 11b, 11d, and 11e.
[0049] In contrast, the following example describes a block plane estimation process for acquiring planes (block planes) representing blocks 11a, 11c, 11f, 11g, and 11h that do not include measurement point P. In this block plane estimation process, estimated points are set at the corners (i.e., corners) of blocks 11 on the substrate 1, and planes (estimated planes) obtained by estimating the heights of the estimated points are acquired as planes representing blocks 11a, 11c, 11f, 11g, and 11h. Here, the corners of blocks 11 are points where lines along the outline of block 11 form angles in a planar view (i.e., intersections of the lines). In particular, estimated points set for corners of blocks 11 defined by boundary 12 (e.g., the upper right and lower right corners of block 11a in FIG. 3A) are set on the boundary 12. Therefore, two adjacent blocks 11 across the boundary 12 share the estimated point set at the boundary 12.
[0050] Figures 6A to 6C are flowcharts showing an example of block plane estimation processing executed by a mounter, and Figures 7A to 7B are diagrams schematically showing an example of calculations executed in the block plane estimation processing of Figures 6A to 6C. The block plane estimation processing of Figures 6A to 6C estimates planes that represent blocks 11a, 11c, 11f, 11g, and 11h that do not include measurement point P, among multiple blocks 11a to 11h on board 1.
[0051] The measurement control unit 311 resets the count value Ib to zero (step S201) and increments the count value Ib by 1 (step S202). Furthermore, the measurement control unit 311 resets the count value Ic to zero (step S203) and increments the count value Ic by 1 (step S204). This count value Ic is set to identify the four corners of the block 11 corresponding to the count value Ib.
[0052] In step S205, the measurement point extraction unit 312 extracts a measurement point P that is close to the corner corresponding to the count value Ic, in other words, a measurement point P that is included in the block 11 to which the corner corresponding to the count value Ic belongs. In step S206, the measurement point extraction unit 312 determines whether the measurement point P is included in the block 11, in other words, whether extraction of the measurement point P in step S205 was successful. If the measurement point P is not included and extraction of the measurement point P failed ("NO" in step S206), the process returns to step S204. If the measurement point P is included and extraction of the measurement point P was successful ("YES" in step S206), the process proceeds to step S207.
[0053] In step S207, the estimation point setting unit 314 sets a first estimation point E1 for the corner corresponding to the count value Ic. As a result, the first estimation point E1 is set for the corner of the block 11 including the measurement point P. In step S208, the estimation point setting unit 314 extrapolates a plane S1 calculated from the measurement point P included in the block 11 in which the first estimation point E1 is set to the first estimation point E1. The estimation point setting unit 314 then estimates the height of the first estimation point E1 by calculating the height of the extrapolated plane S1 at the first estimation point E1. In this way, the three-dimensional coordinates (XYZ coordinates) of the first estimation point E1 are calculated (step S209).
[0054] In step S210, the measurement control unit 311 determines whether the count value Ic has reached the maximum value Icx. Here, the maximum value Icx is the number of corners that the block 11 has, that is, 4. If the count value Ic is less than the maximum value Icx ("NO" in step S210), the measurement control unit 311 returns to step S204. On the other hand, if the count value Ic is the maximum value Icx ("YES" in step S210), the measurement control unit 311 proceeds to step S211.
[0055] In step S211, the measurement control unit 311 determines whether the count value Ib has reached the maximum value Ibx. If the count value Ib is less than the maximum value Ibx ("NO" in step S211), the measurement control unit 311 returns to step S202. On the other hand, if the count value Ib is the maximum value Ibx ("YES" in step S211), the measurement control unit 311 proceeds to step S212.
[0056] In this way, a first estimated point E1 is set for the corner of the block 11 that includes the measurement point P, and steps S205 to S209 for calculating the three-dimensional coordinates of the first estimated point E1 are performed for each corner of each block 11. Incidentally, as shown in the "0th" column in FIG. 7A, blocks 11a, 11c, 11f, 11g, and 11h do not include the measurement point P. Therefore, extraction of the measurement point P for blocks 11a, 11c, 11f, 11g, and 11h in step S205 fails ("NO" in step S206). On the other hand, blocks 11b, 11d, and 11e include the measurement point P. Therefore, extraction of the measurement point P for blocks 11b, 11d, and 11e in step S205 is successful. As a result, as shown in the "First" column of Figure 7A, a first estimated point E1 is set for each corner of blocks 11b, 11d, and 11e (step S207), and the three-dimensional coordinates of the first estimated point E1 are calculated (step S209) by extrapolating to plane S1 (step S208).
[0057] Next, the measurement control unit 311 resets the count value Ib to zero (step S212) and increments the count value Ib by 1 (step S213). In step S214, the estimation point setting unit 314 determines whether the number of estimation points (first estimation points E1) set for the corner of the block 11 corresponding to the count value Ib is three. If the number of estimation points is 0, 1, 2, or 4 and not three, the determination in step S214 is "NO," and the process returns to step S213.
[0058] If the number of estimated points is three, the determination in step S214 is "YES," and the process proceeds to step S215. In step S215, the estimated point setting unit 314 sets a second estimated point E2 for one corner of the four corners of the block 11 corresponding to the count value Ib for which an estimated point (first estimated point E1) has not yet been set. In step S216, the estimated point setting unit 314 calculates a regression plane for the three first estimated points E1, i.e., a plane passing through the three first estimated points E1, and extrapolates the plane to the second estimated point E2. The method for calculating the plane for the three first estimated points E1 is the same as the method for calculating the plane for the three measurement points P (FIG. 5A). The estimated point setting unit 314 then calculates the height of the second estimated point E2 on the extrapolated plane, thereby estimating the height of the second estimated point E2. In this way, the three-dimensional coordinates (XYZ coordinates) of the second estimated point E2 are calculated (step S217).
[0059] In step S218, the measurement control unit 311 determines whether the count value Ib has reached the maximum value Ibx. If the count value Ib is less than the maximum value Ibx ("NO" in step S218), the measurement control unit 311 returns to step S213. On the other hand, if the count value Ib is the maximum value Ibx ("YES" in step S218), the measurement control unit 311 proceeds to step S219.
[0060] In this way, steps S214 to S217 are performed for each block 11, where a second estimated point E2 is set for the remaining corner of the block 11 for which three first estimated points E1 have already been set, and the three-dimensional coordinates of the second estimated point E2 are calculated. In the "First" column of Fig. 7A, three first estimated points E1 are set for blocks 11a and 11f when the first estimated point E1 is set. Therefore, as shown in the "Second" column of Fig. 7A, a second estimated point E2 is set for blocks 11a and 11f (step S215), and the three-dimensional coordinates of the second estimated point E2 are calculated by extrapolating a plane that passes through the three first estimated points E1 (step S216) (step S217). Furthermore, in step S216, when a plane passing through the three first estimated points E1 is calculated, a plane (estimated plane) of blocks 11a and 11f including the three first estimated points E1 is calculated.
[0061] In step S219, the estimation point setting unit 314 determines whether there is a block 11g having three estimation points (first estimation point E1 and second estimation point E2). As shown in the "Second" column of FIG. 7A, a total of three estimation points, two first estimation points E1 and one second estimation point E2, are set in the block 11g. Therefore, the determination in step S219 is "YES," the process returns to step S213, and steps S215 to S217 are executed for the block 11g. As a result, as shown in the "Third" column of FIG. 7B, a third estimation point E3 is set for the block 11g (step S215), and the three-dimensional coordinates of the third estimation point E3 are calculated by extrapolating a plane passing through the three estimation points (the two first estimation points E1 and the one second estimation point E2) (step S216) (step S217). Furthermore, in step S216, along with the calculation of the plane passing through the three estimated points, the plane (estimated plane) of the block 11g including the three estimated points is calculated.
[0062] In step S219, the estimation point setting unit 314 determines whether there is a block 11h that has three estimation points (first estimation point E1, second estimation point E2, and third estimation point E3). As shown in the "Third" column of FIG. 7B, a total of three estimation points, two first estimation points E1 and one third estimation point E3, are set in block 11h. Therefore, the determination in step S219 is "YES," and the process returns to step S213, and steps S215 to S217 are executed for block 11h. As a result, as shown in the "Fourth" column of FIG. 7B, a fourth estimation point E4 is set for block 11h (step S215), and the three-dimensional coordinates of the fourth estimation point E4 are calculated by extrapolating a plane that passes through the three estimation points (the two first estimation points E1 and the one third estimation point E3) (step S216) (step S217). Furthermore, in step S216, along with the calculation of the plane passing through the three estimated points, the plane (estimated plane) of the block 11h including the three estimated points is calculated.
[0063] In step S219, the estimation point setting unit 314 determines whether there is a block 11 in which the number of estimation points (first estimation point E1, second estimation point E2, third estimation point E3, and fourth estimation point E4) is three. In the example shown in FIGS. 7A and 7B, four estimation points (not three) are set for each block 11. Therefore, the determination in step S219 is "NO," and the process proceeds to step S220.
[0064] The measurement control unit 311 resets the count value Ib to zero (step S220) and increments the count value Ib by 1 (step S221). In step S222, the estimation point setting unit 314 determines whether the number of estimation points set for the corner of the block 11 corresponding to the count value Ib is two. If the number of estimation points is 0, 1, 3, or 4 and not two, the determination in step S222 is "NO," and the process returns to step S221.
[0065] If the number of estimated points is two, the determination in step S222 is "YES," and the process proceeds to step S223. In step S223, the estimated point setting unit 314 sets estimated points for two of the four corners of the block 11 corresponding to the count value Ib for which estimated points have not yet been set. In step S224, the estimated point setting unit 314 calculates a regression plane for the two estimated points confirmed in step S222, i.e., a plane passing through the two estimated points, and extrapolates the plane to the estimated points set in step S223. The method for calculating the plane for the two estimated points is the same as the method for calculating the plane for the two measurement points P (FIG. 5B). The estimated point setting unit 314 then calculates the heights of the plane at the two estimated points set in step S223, thereby estimating the heights of these two estimated points. In this way, the three-dimensional coordinates (X, Y, and Z coordinates) of the two estimated points are calculated (step S225).
[0066] In step S226, the measurement control unit 311 determines whether the count value Ib has reached the maximum value Ibx. If the count value Ib is less than the maximum value Ibx ("NO" in step S226), the measurement control unit 311 returns to step S221. On the other hand, if the count value Ib is the maximum value Ibx ("YES" in step S226), the measurement control unit 311 proceeds to step S227.
[0067] In step S227, the estimated point setting unit 314 determines whether there is a block 11 with less than four estimated points. If there is a block 11 with less than four estimated points (YES in step S227), the process returns to step S212. On the other hand, if there is no block 11 with less than four estimated points (NO in step S227), the plane estimation process ends.
[0068] By performing the plane estimation process in this manner, estimated points are set for the four corners of each of the multiple blocks 11 included in the substrate 1. Specifically, a first estimated point E1 is set for the corner of the block 11 that includes the measurement point P but for which no estimated point has been set. Furthermore, an n-th estimated point En is set for the corner of the block 11 that includes the (n-1)th estimated point En-1 but for which no estimated point has been set, where n is an integer equal to or greater than 2. Furthermore, in conjunction with calculating a regression plane for the estimated point provided on the block 11, i.e., a plane passing through the estimated point, a plane indicating the block 11 that does not include the measurement point P is calculated.
[0069] In the plane estimation process described above, the calculation unit 31 sets estimated points E1 to E4 on the boundary 12 and acquires three-dimensional coordinates indicating the heights and positions of the estimated points E1 to E4 estimated using the plane S1 (first plane) (steps S207 to S209, S215 to S217, S223 to S225).The calculation unit 31 then calculates a plane (second plane) indicating blocks 11a, 11c, 11f, 11g, and 11h that do not include the measurement point P among the multiple blocks 11a to 11h, from the three-dimensional coordinates of the estimated points E1 to E4 adjacent to the blocks 11a, 11c, 11f, 11g, and 11h (in other words, the estimated points E1 to E4 set at the corners of the blocks 11a, 11c, 11f, 11g, and 11h). This makes it possible to efficiently acquire a plane (second plane) showing the block 11 that does not include the measurement point P while eliminating the influence of the boundary 12.
[0070] More specifically, in this configuration, the heights of the estimated points E1 to E4 set on the boundary 12 are estimated using the plane S1. Because the heights of the estimated points E1 to E4 are thus obtained by estimation (in other words, calculation by the calculation unit 31) rather than by measurement using the distance sensor 4, obtaining the heights of the estimated points E1 to E4 has little effect on the time required to obtain the shape of the substrate 1 (the plane of the block 11). Furthermore, the estimated points E1 to E4 set on the boundary 12 are not separated from any points in the block 11 adjacent to the estimated points E1 to E4 by the boundary 12. Therefore, the plane representing the block 11 can be obtained from the three-dimensional coordinates of the estimated points E1 to E4 adjacent to the block 11 while eliminating the influence of the boundary 12. In this way, it is possible to efficiently obtain a plane (second plane) representing the block 11 that does not include the measurement point P while eliminating the influence of the boundary 12.
[0071] The calculation unit 31 also sets a first estimated point E1 (first block estimated point) on the boundary 12 adjacent to the block 11 (first block) that includes the measurement point P, and estimates the height of the first estimated point E1 by extrapolating the plane S1 (first plane) to the first estimated point E1, thereby acquiring the three-dimensional coordinates of the first estimated point E1. The calculation unit 31 then calculates a plane (second plane) that indicates the block 11 (not including the measurement point P) that is adjacent to the first estimated point E1 from the three-dimensional coordinates of the first estimated point E1 (step S208). With this configuration, the plane that indicates the block 11 that does not include the measurement point P can be acquired efficiently while eliminating the influence of the boundary 12.
[0072] The calculation unit 31 also sets estimated points E2 and E3 (second block estimated points) on the boundary 12 adjacent to the block 11 (not including the measurement point P) whose plane has already been calculated. The calculation unit 31 then extrapolates the plane to the estimated points E2 and E3 to estimate the heights of the estimated points E2 and E3, and acquires the three-dimensional coordinates of the estimated points E2 and E3. Furthermore, the calculation unit 31 calculates the plane of the block 11 adjacent to the estimated points E2 and E3 whose plane has not yet been calculated, from the three-dimensional coordinates of the estimated points E2 and E3 (step S216). With this configuration, the plane representing the block 11 that does not include the measurement point P can be acquired efficiently while eliminating the influence of the boundary 12.
[0073] Furthermore, block 11 includes a mounting point where component C is to be mounted. On the other hand, when the number of measurement points P included in block 11 is four or more, calculation unit 31 acquires three-dimensional coordinates for three of the four or more measurement points P in order of proximity to the mounting point, and calculates plane S1 from the three-dimensional coordinates of the three measurement points P. With this configuration, it is possible to calculate plane S1 that contributes to highly accurate component mounting while suppressing the number of measurement points P at which height measurements are performed.
[0074] Furthermore, when the number of measurement points P included in block 11 is three or less, calculation unit 31 acquires three-dimensional coordinates for the three or less measurement points P, and calculates plane S1 from the three-dimensional coordinates of the three or less measurement points P. With this configuration, it is possible to efficiently acquire the shape of substrate 1 (plane of block 11) while eliminating the influence of boundary 12.
[0075] In the embodiment described above, the boundary 12 corresponds to an example of a "boundary" of the present invention, the block 11 corresponds to an example of a "block" of the present invention, the substrate 1 corresponds to an example of a "work" of the present invention, the transport unit 21 corresponds to an example of a "work support unit" of the present invention, the measurement point P corresponds to an example of a "measurement point" of the present invention, the measurement point data Dm corresponds to an example of "measurement point data" of the present invention, the UI 35 or the communication unit 36 corresponds to an example of a "data acquisition unit" of the present invention, the distance sensor 4 corresponds to an example of a "height measurement unit" of the present invention, the blocks 11b, 11d, and 11e correspond to an example of a "first block" of the present invention, and the calculation unit 31 corresponds to an example of a "calculation unit" of the present invention. the component mounting machine 2 corresponds to an example of a "work surface acquisition device" of the present invention; blocks 11a, 11c, 11f, 11g, and 11h correspond to an example of a "second block" of the present invention; estimated points E1 to E4 correspond to an example of an "estimated point" of the present invention; estimated point E1 corresponds to an example of a "first block estimated point" of the present invention; estimated points E2 to E4 correspond to an example of a "second block estimated point" of the present invention; the calculation unit 31 corresponds to an example of a "computer" of the present invention; the plane acquisition program G corresponds to an example of a "work surface acquisition program" of the present invention; and the memory unit 32 or the memory unit 91 corresponds to an example of a "recording medium" of the present invention.
[0076] The present invention is not limited to the above embodiment, and various modifications can be made to the above without departing from the spirit of the present invention. For example, the position of the estimated point set on the boundary 12 does not need to be the corner of the block 11, and may be a position other than the corner.
[0077] Furthermore, the shape of the substrate 1 can be acquired by targeting the substrate 1 in which the measurement point P is included in all the blocks 11.
[0078] Furthermore, a flat surface is acquired as the surface representing the block 11. However, a curved surface representing the block 11 may also be acquired as the surface representing the block 11. [Explanation of symbols]
[0079] 1...Substrate 11...Block 11a~11h...Block 12...boundary 2...Component mounting machine 21...Transport unit 31...Arithmetic section 32...Storage section 35...UI 36…Communications Department 4...Distance sensor 91...Storage section Dm: Measurement point data E1…Estimated point E2…Estimated point G...Plane acquisition program P…Measurement point
Claims
1. a workpiece support unit for supporting a workpiece having a plurality of blocks separated from one another by boundaries and separably connected to one another at the boundaries; a data acquisition unit that acquires measurement point data indicating the positions of a plurality of measurement points set on the workpiece; a height measuring unit for measuring the height of the measurement point; a calculation unit that acquires a surface indicating a first block including the measurement point among the plurality of blocks; Equipped with The calculation unit extracts a target measurement point included in the first block from the multiple measurement points indicated by the measurement point data, obtains three-dimensional coordinates indicating the position and height of the target measurement point by having the height measurement unit measure the height of the target measurement point, and calculates a first surface, which is a surface indicating the first block, from the three-dimensional coordinates of the target measurement point.
2. 2. The work surface acquisition device according to claim 1, wherein the calculation unit sets an estimated point on the boundary, acquires three-dimensional coordinates indicating the height and position of the estimated point estimated using the first surface, and calculates a second surface, which is a surface indicating a second block among the plurality of blocks that does not include the measurement point, from the three-dimensional coordinates of the estimated point adjacent to the second block.
3. 3. The work surface acquisition device according to claim 2, wherein the calculation unit sets the estimated point on the boundary adjacent to the first block as a first block estimated point, estimates the height of the first block estimated point by extrapolating the first surface to the first block estimated point, and obtains three-dimensional coordinates of the first block estimated point, and calculates the second surface indicating the second block adjacent to the first block estimated point from the three-dimensional coordinates of the first block estimated point.
4. The work surface acquisition device according to claim 2 or 3, wherein the calculation unit sets the estimated point on the boundary adjacent to the second block for which the second surface has been calculated as a second block estimated point, estimates the height of the second block estimated point by extrapolating the second surface to the second block estimated point, and obtains three-dimensional coordinates of the second block estimated point, and calculates the second surface of the second block adjacent to the second block estimated point for which the second surface has not been calculated from the three-dimensional coordinates of the second block estimated point.
5. The block includes a mounting point for mounting a component, 2. The workpiece surface acquisition device according to claim 1, wherein, when the number of target measurement points included in the first block is four or more, the calculation unit acquires three-dimensional coordinates for three of the four or more target measurement points in order of proximity to the mounting point, and calculates the first surface from the three-dimensional coordinates of the three target measurement points.
6. 2. The work surface acquisition device according to claim 1, wherein, when the number of target measurement points included in the first block is three or less, the calculation unit acquires three-dimensional coordinates for the three or less target measurement points and calculates the first surface from the three-dimensional coordinates of the three or less target measurement points.
7. Supporting a workpiece having a plurality of blocks separated from one another by boundaries and separably connected to one another at the boundaries; acquiring measurement point data indicating the positions of a plurality of measurement points set on the workpiece; acquiring a surface indicating a first block including the measurement point among the plurality of blocks; Equipped with A work surface acquisition method that extracts a target measurement point included in the first block from the multiple measurement points indicated by the measurement point data, acquires three-dimensional coordinates indicating the position and height of the target measurement point by having a height measurement unit measure the height of the target measurement point, and calculates a first surface, which is a surface indicating the first block, from the three-dimensional coordinates of the target measurement point.
8. A workpiece surface obtaining program that causes a computer to execute the workpiece surface obtaining method according to claim 7.
9. A recording medium on which the height measurement program according to claim 8 is recorded so as to be readable by a computer.
Citation Information
Patent Citations
WORKING DEVICE AND WORKING METHOD FOR CIRCUIT BOARD
JP4185960B2