Processing machine, processing machine control device, and processing machine control method

The processing machine uses depth cameras and control units to calculate cutting depths and tool movements, addressing the challenge of preparing machining programs and reducing cutting errors by processing workpieces without pre-defined programs.

JP7802558B2Active Publication Date: 2026-01-20KOMATSU LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022015574
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-03
Publication Date
2026-01-20
Estimated Expiration
2042-02-03

AI Technical Summary

Technical Problem

Preparing a machining program for machining a workpiece is difficult, and cutting errors often occur due to machine characteristics, requiring repeated trial machining and program corrections.

Method used

A processing machine equipped with a depth camera, position measurement unit, alignment unit, cutting depth determination unit, and tool control unit to process a workpiece without a pre-defined program by calculating cutting depths based on three-dimensional data and depth images.

Benefits of technology

Enables machining without preparing a processing program, allowing for accurate cutting by determining cutting depths and tool movements based on real-time depth image analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007802558000002
    Figure 0007802558000002
  • Figure 0007802558000003
    Figure 0007802558000003
  • Figure 0007802558000004
    Figure 0007802558000004
Patent Text Reader

Abstract

To machine a work-piece without preparing a working program.SOLUTION: A working machine, having a tool for machining a work-piece and a depth camera that is set up such that the work-piece comes within a range of imaging and images a depth of a subject, comprises: a position measuring section that computes a three-dimensional position at a surface of the work-piece based on a depth image the depth camera has taken; a positioning section that computes a three-dimensional position of a target shape in a superposition of the work-piece and the target shape based on three-dimensional data representative of a target shape of the work-piece and the three-dimensional position of the work-piece; a depth-of-cut determining section that determines depths of cut at respective ones of a plurality of points on a surface of the work-piece based on a difference in a sight-line direction between the three-dimensional position at a surface of the work-piece when the work-piece is seen from a predetermined point of view and the three-dimensional position at the surface of the target shape; and a tool control section that allows the tool to move based on a determined depth of cut.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a processing machine, a control device for a processing machine, and a control method for a processing machine. Regarding. [Background technology]

[0002] The control device of the processing machine reads the processing program used to process the workpiece and executes the program to drive the processing machine, thereby cutting the workpiece into a desired shape. Patent Document 1 discloses a technology for superimposing and displaying the processing trajectory according to the processing program on a camera image of the workpiece. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 6253847 Summary of the Invention [Problem to be solved by the invention]

[0004] Preparing a machining program for machining a workpiece is not easy. Even if a machining program is created based on the target shape of the workpiece, when it is executed on an actual machining machine, cutting errors will occur due to the characteristics of the machine. Therefore, workers must create a machining program by repeatedly performing trial machining of the workpiece and correcting the machining program. An object of the present disclosure is to provide a processing machine, a control device for the processing machine, and a control method for the processing machine that are capable of processing a workpiece without preparing a processing program. [Means for solving the problem]

[0005] According to one aspect of the present disclosure, a processing machine includes a tool for machining a workpiece, a depth camera installed so that the workpiece is within its imaging range and for capturing images of the depth of the subject, a position measurement unit that calculates the three-dimensional position of the surface of the workpiece based on the depth image captured by the depth camera, an alignment unit that calculates the three-dimensional position of the target shape when the workpiece and the target shape are superimposed based on three-dimensional data representing the target shape of the workpiece and the three-dimensional position of the workpiece, a cutting depth determination unit that determines the cutting depth at each of multiple points on the surface of the workpiece based on the difference in line of sight between the three-dimensional position of the surface of the workpiece when the workpiece is viewed from a predetermined viewpoint and the three-dimensional position of the surface of the target shape, and a tool control unit that moves the tool based on the determined cutting depth. [Effects of the Invention]

[0006] According to the above aspect, it is possible to machine a workpiece without preparing a machining program. [Brief explanation of the drawings]

[0007] [Figure 1] 1 is a perspective view of a processing machine according to a first embodiment; [Figure 2] FIG. 1 is a perspective view showing a configuration of a robot arm according to a first embodiment. [Figure 3] FIG. 2 is a schematic block diagram showing the configuration of a control device according to the first embodiment. [Figure 4] 4 is an example of a display screen according to the first embodiment. [Figure 5] 4 is a flowchart (part 1) showing a control method for a processing machine by the control device according to the first embodiment. [Figure 6] 5 is a flowchart (part 2) showing a control method for a processing machine by the control device according to the first embodiment. [Figure 7] FIG. 1 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0008] First Embodiment <Configuration of processing machine 1> Hereinafter, the embodiments will be described in detail with reference to the drawings. 1 is a perspective view of a processing machine according to a first embodiment. The processing machine 1 includes a table 10, a jig 20, a plurality of stereo cameras 30, a robot arm 40, a tool 60, and a control device 70. In other embodiments, the processing machine 1 may be, for example, a machining center.

[0009] The table 10 is a base of the processing machine 1. The jig 20 is provided on the table 10. The jig 20 supports the workpiece W by clamping it therebetween.

[0010] The stereo camera 30 captures depth images of a subject within its imaging range. The stereo camera 30 is an example of a depth camera. The stereo camera 30 is installed so that the area where the workpiece W is placed is included in its imaging range. The stereo camera 30 is installed, for example, on the inner wall of the processing machine 1 so as to overlook the table 10. The stereo camera 30 is preferably fixed with a jig made of a material that is resistant to thermal expansion so that its relative position with respect to the table 10 does not change. Multiple stereo cameras 30 are arranged so as to cover each other's blind spots. In the example shown in FIG. 1, the processing machine 1 is equipped with four stereo cameras 30, which can capture depth images from four directions. Note that in other embodiments, the number of stereo cameras 30 may be one or more. Also, depth images may be measured from two or one direction instead of four directions. The stereo cameras 30 are attached to the four corners of the ceiling of a roughly rectangular parallelepiped housing that covers the processing machine 1. Note that the stereo cameras 30 only need to be fixed to the processing machine 1; they may be fixed not only to the housing but also to, for example, four pillars.

[0011] FIG. 2 is a perspective view showing the configuration of a robot arm 40 according to the first embodiment. The robot arm 40 movably supports a tool 60. The tool 60 is supported at the tip of the robot arm 40. The tool 60 cuts a workpiece W. In another embodiment, the tool 60 may grind the workpiece W. The robot arm 40 may be, for example, a six-axis vertically articulated robot. The robot arm 40 includes a base 41, a first arm 42, a second arm 43, a third arm 44, a fourth arm 45, a fifth arm 46, and a spindle 47. The base 41 is fixed to the table 10 so as to be rotatable about a first axis O1 extending in the vertical direction. The first arm 42 is connected to the table 10 so as to be rotatable about a second axis O2 perpendicular to the first axis O1. The second arm 43 is connected to the first arm 42 so as to be rotatable about a third axis O3 parallel to the second axis O2. The third arm 44 is connected to the table 10 so as to be rotatable about a fourth axis O4 parallel to the third axis O3. The fourth arm 45 is connected to the third arm 44 so as to be rotatable about a fifth axis O5 extending in the axial direction of the third arm 44. The fifth arm 46 is connected to the fourth arm 45 so as to be rotatable about a sixth axis O6 perpendicular to the fifth axis O5. The spindle 47 is provided at the tip of the fifth arm 46 and rotatably supports a tool 60.

[0012] The robot arm 40 includes a first motor 51, a second motor 52, a third motor 53, a fourth motor 54, a fifth motor 55, a sixth motor 56, and a seventh motor 57. The first motor 51 rotates the base 41. The second motor 52 rotates the first arm 42 relative to the base 41. The third motor 53 rotates the second arm 43 relative to the first arm 42. The fourth motor 54 rotates the third arm 44 relative to the second arm 43. The fifth motor 55 rotates the fourth arm 45 relative to the third arm 44. The sixth motor 56 rotates the fifth arm 46 relative to the fourth arm 45. The seventh motor 57 rotates the spindle 47. Each motor is provided with an encoder (not shown) that measures the rotation angle of each arm.

[0013] The robot arm 40 includes a driver 58. The driver 58 drives each motor of the robot arm 40 in accordance with a control instruction. The driver 58 calculates the position and orientation of the tip of the spindle 47 based on the rotation angle measured by the encoder. The driver 58 identifies the position and orientation of the spindle 47 using a base coordinate system and a tool coordinate system. The base coordinate system has its origin at the center of the bottom surface of the base 41 and is represented by a Zb axis extending in the vertical direction and Xb and Yb axes perpendicular to the Zb axis. The tool coordinate system has its origin at the tip of the spindle 47 and is represented by a Zt axis extending in the axial direction of the spindle 47 and Xt and Yt axes perpendicular to the Zt axis. Upon receiving a control instruction indicating the coordinate axes and the amount of translation or rotation, the driver 58 calculates the angle of each motor to move the spindle 47 by the amount indicated by the control instruction along the coordinate axes indicated by the control instruction, and controls each motor. In addition, when the driver 58 receives a control instruction indicating a coordinate system and a position and attitude in that coordinate system, it calculates the angle of each motor to move the spindle 47 to the position indicated by the control instruction and controls each motor.

[0014] The control device 70 controls the robot arm 40 based on the depth image captured by the stereo camera 30 and the position of the tip of the robot arm 40 .

[0015] Configuration of the control device 70 FIG. 3 is a schematic block diagram showing the configuration of the control device 70 according to the first embodiment. The control device 70 includes a data acquisition unit 71, a memory unit 72, a position measurement unit 73, an alignment unit 74, a display control unit 75, a difference calculation unit 76, a cutting amount determination unit 77, a path generation unit 78, a tool control unit 79, and a correction unit 80.

[0016] The data acquisition unit 71 acquires a depth image from the stereo camera 30 and acquires measurement values ​​of the angles of each arm from the robot arm 40. The depth image is obtained by associating each pixel constituting an image captured by one of the cameras, which is the main camera of the stereo camera 30, with a depth indicating the distance from that camera.

[0017] The storage unit 72 stores tool data, which is three-dimensional data indicating the shape of the tool 60, matching data, which is three-dimensional data indicating the shape of the workpiece W before machining, and target data, which is three-dimensional data indicating the target shape of the workpiece W. The tool data, matching data, and target data may be, for example, CAD data. The target data is created and recorded by an operator who operates the processing machine 1. The storage unit 72 also stores the position and orientation of the stereo camera 30 in the base coordinate system.

[0018] The position measurement unit 73 identifies the three-dimensional position of the workpiece W based on the depth image acquired from the stereo camera 30. Specifically, the position measurement unit 73 according to the first embodiment identifies the three-dimensional position of the workpiece W in the following procedure. First, the position measurement unit 73 generates point cloud data in a base coordinate system based on the depth image generated by at least one stereo camera 30 and the position and orientation of the stereo camera 30 in the base coordinate system. Next, the position measurement unit 73 matches the point cloud data with the matching data stored in the memory unit 72. The position measurement unit 73 can perform matching using, for example, an ICP algorithm. As a result, the position measurement unit 73 identifies the position and orientation of the matching data in the base coordinate system as the three-dimensional position of the workpiece W.

[0019] The alignment unit 74 places the target data stored in the memory unit 72 at the three-dimensional position of the workpiece W measured by the position measurement unit 73. That is, the alignment unit 74 determines the position and orientation of the target shape of the workpiece W represented by the target data in the base coordinate system. The alignment unit 74 generates a depth image corresponding to the stereo camera 30 from the aligned target shape. That is, the alignment unit 74 generates a depth image when the target shape of the workpiece W is projected from the viewpoint of the stereo camera 30 based on the position and orientation of the stereo camera 30 in the base coordinate system and the position and orientation of the target shape in the base coordinate system stored in the memory unit 72. Hereinafter, the depth image generated by the alignment unit 74 is referred to as a target depth image. The alignment unit 74 is an example of a target depth calculation unit that calculates the depth of the surface of the target shape relative to the stereo camera 30 based on the three-dimensional position of the target shape.

[0020] The display control unit 75 renders a target image P1 representing the target shape of the workpiece W as seen from one of the stereo cameras 30, which is the main camera, for each of the stereo cameras 30 based on the target depth image generated by the alignment unit 74. The target image P1 may be, for example, a line drawing obtained by outline rendering of a three-dimensional model, or a translucent image. The display control unit 75 displays on the display a display screen in which the image captured by the stereo camera 30 (captured image P0) and the target image P1 corresponding to the stereo camera 30 are superimposed. FIG. 4 is an example of a display screen according to the first embodiment. Note that the display control unit 75 does not necessarily need to display information such as alignment on the display screen. As shown in FIG. 4, the target image P1 is displayed so as to be included in the workpiece W captured in the captured image P0. The captured image P0 may be a composite of images captured by the four stereo cameras 30.

[0021] The difference calculation unit 76 calculates the depth difference for each pixel between the depth image acquired by the stereo camera 30 and the target depth image generated by the positioning unit 74.

[0022] The cutting depth determination unit 77 determines the cutting depth at a position of the workpiece W corresponding to each pixel based on the depth difference of each pixel and the maximum cutting depth of the tool 60. A pixel of the workpiece W represents a point on the surface of the workpiece W. Specifically, the cutting depth determination unit 77 determines the cutting depth in the following procedure. First, the cutting depth determination unit 77 identifies the maximum value of the depth difference calculated by the difference calculation unit 76. The cutting depth determination unit 77 determines the expected number of scans by adding 1 to the integer part of the value obtained by dividing the maximum value of the depth difference by the maximum cutting depth. Note that in other embodiments, the expected number of scans may be determined using a predetermined cutting depth smaller than the maximum cutting depth set in advance by the operator instead of the maximum cutting depth. The expected number of scans is the number of scans required to complete cutting of the workpiece W if it is cut as planned. Note that due to influences such as control errors of the robot arm 40 and deflection of the tool 60, the actual number of scans does not necessarily match the expected number of scans. The cutting depth determination unit 77 determines the cutting depth at a position corresponding to a pixel whose depth difference is equal to or greater than the maximum cutting depth as the maximum cutting depth. The cutting depth determination unit 77 determines the cutting depth at a position corresponding to a pixel whose depth difference is less than the maximum cutting depth as the amount obtained by dividing the depth difference by the number of scans. As a result, for positions corresponding to pixels whose depth difference is less than the maximum cutting amount, cutting with small cutting amounts is repeatedly performed, thereby achieving highly accurate cutting. In other embodiments, the cutting amount determination unit 77 may determine the cutting amount at a position corresponding to each pixel using other methods. For example, the cutting amount determination unit 77 according to other embodiments may determine the cutting amount as an amount obtained by dividing the depth difference by the number of scans, regardless of the magnitude of the depth difference. Furthermore, the cutting amount determination unit 77 according to other embodiments may determine the cutting amount at a position corresponding to a pixel whose depth difference is less than the maximum cutting amount to be an cutting amount equivalent to the depth difference. The cut-in amount determination unit 77 may thin out pixels of the depth image and calculate the cut-in amount for only the remaining pixels. In this case, the cut-in amount determination unit 77 may calculate the cut-in amount by interpolating the thinned pixels using a moving average.

[0023] The path generating unit 78 determines a path, which is the movement route of the tip of the tool 60, based on the depth image acquired from the stereo camera 30 and the cutting amount determined by the cutting amount determining unit 77. The path generating unit 78 determines the position of the tip of the tool 60 during cutting by adding the cutting amount determined by the cutting amount determining unit 77 to the depth of each pixel of the depth image, and determines the path of the tool 60 according to a predetermined path planning algorithm. Examples of path planning algorithms include the Dijkstra algorithm, the A* algorithm, the PRM algorithm, the RRT algorithm, and the RRT* algorithm. The path generating unit 78 may generate a smooth path by interpolating the position of the tip of the tool 60 using a NURBS curve.

[0024] The tool control unit 79 generates a movement instruction to be output to the driver 58 of the robot arm 40 so as to move the tool according to the path generated by the path generation unit 78. The tool control unit 79 first generates a movement instruction to rotate the tool 60 based on the orientation of the stereo camera 30 stored in the storage unit 72, in order to align the orientation of the tool 60 (the rotation angle around each axis in the base coordinate system) with the orientation of the stereo camera 30, and transmits the movement instruction to the driver 58. When aligning the tool 60 with the orientation of the stereo camera 30, it is preferable to align the orientation of the tool 60 with the orientation of one of the cameras that serves as the main camera of the stereo camera 30. This allows the driver 58 to align the orientation of the spindle 47 of the robot arm 40 with the orientation of the stereo camera 30. This causes the facing direction of the tool 60 to align with the line of sight of the stereo camera 30. That is, the direction in which the Zt axis of the tool coordinate system extends aligns with the depth direction of the depth image. Thereafter, the tool control unit 79 generates a movement instruction based on the path generated by the path generation unit 78 and transmits it to the driver 58. At this time, the tool control unit 79 corrects the position in the Zt axis direction to a position that is the length of the tool 60 before the tip position of the tool 60 indicated by the path. Note that the initial orientation of the tool 60 matches the orientation of the stereo camera 30, but when the tool 60 moves along the path, the orientation of the tool 60 may change depending on the machining surface.

[0025] After one cutting pass is completed by the tool control unit 79, the correction unit 80 corrects the deviation between the instruction of the tool control unit 79 and the machining position of the robot arm 40. Specifically, the correction unit 80 calculates the deviation amount d of the Xb axis that minimizes the SAD (Sum of Absolute Difference) shown in the following formula (1): x and the deviation amount d in the Yb axis direction y Explore.

[0026]

number

[0027] In equation (1), x is the Xb-axis component of the base coordinate system, and y is the Yb-axis component of the base coordinate system. h is the length of the smallest rectangle that contains the path in the Xb-axis direction, and w is the length of the smallest rectangle that contains the path in the Yb-axis direction. p(x,y) is the cutting depth command amount at position (x,y) in the base coordinate system. δ is a constant to prevent division by zero. I(x,y) is the depth difference at position (x,y) between the depth image captured before machining and the depth image captured after machining, that is, the actual cutting depth. The value d that minimizes SAD in equation (1) is x , d y However, since SAD represents a deviation between the instruction of the tool control unit 79 and the machining position of the robot arm 40, the correction unit 80 corrects the control deviation by subtracting the calculated deviation from the subsequent movement instruction. Note that, in order to prevent overcutting, the correction unit 80 may add a significantly large penalty value to the SAD when there is a portion where the actual cutting depth is larger than the instructed cutting depth.

[0028] <<Control of Processing Machine 1>> Fig. 5 is a flowchart (part 1) showing a method for controlling the processing machine 1 by the control device 70. Fig. 6 is a flowchart (part 2) showing a method for controlling the processing machine 1 by the control device 70. When an operator places a workpiece W on the table 10, records target data in the memory unit 72, and inputs an instruction to start processing, the control device 70 starts processing the workpiece W.

[0029] First, the data acquisition unit 71 acquires depth images from the stereo camera 30 (step S1). Next, the position measurement unit 73 generates point cloud data in the base coordinate system based on the depth images generated by the stereo camera 30 and the position and orientation of the stereo camera 30 in the base coordinate system stored in the storage unit 72 (step S2). The position measurement unit 73 merges the four generated point cloud data (step S3).

[0030] The position measurement unit 73 identifies the three-dimensional position of the workpiece W by matching the matching data stored in the storage unit 72 with the merged point cloud data (step S4). Next, the alignment unit 74 places the target data stored in the storage unit 72 at the three-dimensional position of the workpiece W identified in step S4 in the virtual space (step S5). Next, the alignment unit 74 generates a target depth image corresponding to the stereo camera 30 from the aligned target shape (step S6). The alignment unit 74 records the generated target depth image in the storage unit 72.

[0031] The display control unit 75 renders a target image representing the target shape of the workpiece W as seen from one of the stereo cameras 30, based on the target depth image corresponding to the stereo camera 30 generated in step S6 (step S7). The display control unit 75 records the generated target image in the storage unit 72. The display control unit 75 causes the display to display a display screen in which the image captured by one of the stereo cameras 30 and the target image generated in step S6 are superimposed (step S8). Thereafter, each time the display control unit 75 acquires an image captured by the stereo camera 30 at a constant frame rate, the display control unit 75 updates the display screen by superimposing the image on the target image stored in the storage unit 72, and displays the image on the display. This allows the worker to compare the shape of the workpiece W with the target shape in real time.

[0032] Next, the control device 70 selects the stereo cameras 30 one by one (step S9), and executes the following processes from step S10 to step S22. The tool control unit 79 reads out the attitude of the stereo camera 30 selected in step S9 from the storage unit 72, generates a movement instruction to align the attitude of the spindle 47 in the base coordinate system with the attitude of the stereo camera 30, and transmits the instruction to the driver 58. In other words, the tool control unit 79 aligns the direction in which the tool 60 faces with the line of sight of the stereo camera 30 (step S10).

[0033] Next, the data acquisition unit 71 acquires a new depth image from the stereo camera 30 selected in step S9 (step S11). Next, the difference calculation unit 76 calculates the depth difference for each pixel between the depth image acquired in step S11 and the target depth image corresponding to the stereo camera 30 selected in step S9 (step S12).

[0034] Next, the cutting amount determination unit 77 determines the expected number of scans by adding 1 to the integer part of the value obtained by dividing the maximum value of the calculated depth difference by the maximum cutting amount of the tool 60 (step S13). The cutting amount determination unit 77 determines the cutting amount at a position corresponding to each pixel of the depth image based on the depth difference, the maximum cutting amount of the tool 60, and the expected number of scans (step S14). Specifically, the cutting amount determination unit 77 determines the cutting amount at a position corresponding to a pixel whose depth difference is equal to or greater than the maximum cutting amount as the maximum cutting amount. The cutting amount determination unit 77 determines the cutting amount at a position corresponding to a pixel whose depth difference is less than the maximum cutting amount as the amount obtained by dividing the depth difference by the maximum cutting amount.

[0035] The path generating unit 78 generates a path for the tool 60 based on the depth image and the cutting amount determined by the cutting amount determining unit 77 (step S15). If a correction amount is recorded in the memory unit 72, the path generating unit 78 corrects the path based on the correction amount. Next, the tool control unit 79 issues a movement instruction to move the tool according to the path generated in step S15, and outputs the instruction to the driver 58 of the robot arm 40 (step S16). As a result, the robot arm 40 moves the tool according to the path and cuts the workpiece.

[0036] Next, the data acquisition unit 71 acquires a new depth image from the stereo camera 30 selected in step S9 (step S17). Next, the difference calculation unit 76 calculates the depth difference for each pixel between the depth image acquired in step S17 and the target depth image corresponding to the stereo camera 30 selected in step S9 (step S18).

[0037] The control device 70 determines whether the depth differences of all pixels are less than a predetermined allowable error (step S19). If the depth difference of at least one pixel is not less than the predetermined allowable error (step S19: NO), the control device 70 determines to continue cutting the surface imaged by the stereo camera 30 selected in step S9.

[0038] If cutting is to continue, the correction unit 80 calculates the actual cutting depth at the position corresponding to each pixel of the depth image by calculating the depth difference between the depth image used to generate the path and the newly acquired depth image (step S20). Next, the correction unit 80 searches for the deviation amount of the machining position using the above-mentioned formula (1) based on the cutting depth instruction amount indicated by the instruction output to the driver 58 in step S16 and the actual cutting depth (step S21). The correction unit 80 updates the correction amount by adding the obtained deviation amount to the correction amount stored in the memory unit 72 (step S22). Note that if the correction amount is not recorded in the memory unit 72, the correction unit 80 records the obtained deviation amount in the memory unit 72 as the correction amount. Then, the control device 70 returns the process to step S13 and performs cutting again based on the depth image acquired in step S17 and the depth difference calculated in step S18.

[0039] If the depth differences of all pixels are less than the predetermined allowable error (step S19: YES), the control device 70 selects the next stereo camera 30 and executes the processes of steps S10 to S22. When the processing from step S10 to step S22 is completed for all stereo cameras 30, the control device 70 determines that the processing of the workpiece W is complete and ends the processing. In other words, the control device 70 ends the processing of the workpiece W when the difference between the target shape and the actual shape as viewed from the multiple stereo cameras 30 installed to compensate for blind spots is less than the allowable error.

[0040] Actions and Effects As described above, the processing machine 1 according to the first embodiment processes the workpiece W in the following procedure. The control device 70 calculates the three-dimensional position of the surface of the workpiece W based on the depth image captured by the stereo camera 30. The control device 70 calculates the three-dimensional position of the target shape when the workpiece W and the target shape are superimposed, based on target data representing the target shape of the workpiece W and the three-dimensional position of the workpiece W. The control device 70 determines the cutting depth at each of multiple points on the surface of the workpiece W based on the difference in the line of sight between the three-dimensional position of the surface of the workpiece W when the workpiece W is viewed from the viewpoint of the stereo camera 30 and the three-dimensional position of the surface of the target shape. The control device 70 moves the tool 60 based on the determined cutting depth. As a result, the processing machine 1 according to the first embodiment can automatically control the tool 60 based on the depth image and target data, without the operator having to prepare a processing program.

[0041] Furthermore, the control device 70 of the processing machine 1 according to the first embodiment calculates the depth of the surface of the target shape relative to the stereo camera 30 based on the three-dimensional position of the target shape, and determines the depth of cut based on the depth of the workpiece W in the depth image and the calculated depth of the target shape. This eliminates the need for the processing machine 1 according to the first embodiment to convert the depth image into three-dimensional data each time cutting is performed to determine the depth of cut. Specifically, once the control device 70 generates point cloud data in step S2 shown in FIG. 5, it is not necessary to generate point cloud data in the loop from steps S9 to S22 or the loop from steps S13 to S22 for the selected stereo camera 30. The target shape of the workpiece W remains unchanged from the start of processing to the end of processing. Therefore, if the control device 70 generates a target depth image before processing in step S8 and stores it in the memory unit 72, the control device 70 can use the target depth image stored in the memory unit 72 to calculate the depth difference in subsequent steps S12 and S18, thereby eliminating the need to convert the target data into a target depth image. Three-dimensional data is data that represents the positions of multiple points in a three-axis Cartesian coordinate system. Point cloud data is an example of three-dimensional data. A depth image is data that associates depth with each point on a two-dimensional plane. Depth represents the distance from the camera's viewpoint, so it is not necessarily orthogonal to the two-dimensional plane. Conversion from a depth image to three-dimensional data requires a large amount of calculation, so by reducing the calculation of the three-dimensional data using the above procedure, the processing machine 1 can quickly process the workpiece W. Furthermore, since three-dimensional data requires a large volume of data, a large storage area must be reserved in the storage unit 72. However, by using depth images instead of three-dimensional data as in the first embodiment, the amount of data can be reduced. Note that in other embodiments, the depth difference may be calculated using three-dimensional data instead of depth images, although this increases the amount of calculation.

[0042] Furthermore, the control device 70 of the processing machine 1 according to the first embodiment again determines the cutting depth for each pixel on the surface of the workpiece W based on the difference between the three-dimensional position of the surface of the workpiece W after cutting the workpiece W with the tool 60 and the three-dimensional position of the surface of the target shape. In this way, by recalculating the shape of the workpiece W each time cutting is performed, the control device 70 is able to constantly recognize the error between the actual shape and the target shape and cut the workpiece W while reducing the error.

[0043] Other Embodiments Although one embodiment has been described in detail above with reference to the drawings, the specific configuration is not limited to the above, and various design modifications are possible. That is, in other embodiments, the order of the above-described processes may be changed as appropriate. Furthermore, some processes may be executed in parallel. The control device 70 according to the above-described embodiment may be configured by a single computer, or the configuration of the control device 70 may be divided among multiple computers that cooperate with each other to function as the control device 70. In this case, the control device 70 may have some of the functions of the driver 58 of the robot arm 40, or the driver 58 may have some of the functions of the control device 70.

[0044] The processing machine 1 according to the embodiment described above includes the stereo camera 30 as a depth camera, but is not limited to this. For example, in other embodiments, a TOF camera, LiDAR, 3D scanner, or the like may be used as the depth camera. Furthermore, in other embodiments, the processing machine 1 may include a plurality of single cameras instead of the stereo camera 30, and images captured by two adjacent cameras among the plurality of single cameras may be subjected to stereo matching processing and used as a stereo camera. In other embodiments, the processing machine 1 may be equipped with only one depth camera. For example, the processing machine 1 according to other embodiments may be equipped with a depth camera directly above the workpiece W, and processing may be performed by pointing the tool 60 in the line of sight of the depth camera. In other embodiments, the depth camera may be a combination of a camera and a depth measurement device.

[0045] Furthermore, although the control device 70 according to the embodiment described above generates a tool path without converting the depth image by aligning the orientation of the tool 60 with the line of sight of the stereo camera 30, this is not limiting. For example, the control device 70 according to another embodiment may convert the line of sight of the depth image to the orientation of the tool 60 to determine the cutting depth and create a path. For example, the control device 70 according to another embodiment may convert the line of sight of the depth image to a vertically downward direction to determine the cutting depth and create a path. In this case, the converted depth image is represented by a three-axis Cartesian coordinate system. Furthermore, in another embodiment, although the amount of calculation is increased, three-dimensional data may be generated from the depth image to determine the cutting depth. When converting the depth image, the arm supporting the tool 60 does not need to have a high degree of freedom like the robot arm 40. For example, the arm may translate the tool 60 without changing the angle of the tool 60.

[0046] Furthermore, although the control device 70 according to the above-described embodiment identifies the three-dimensional position of the workpiece W based on matching data representing the shape of the workpiece W before machining, this is not limited to this. For example, the control device 70 according to another embodiment may identify the three-dimensional position of the workpiece W based on the difference between a depth image before the workpiece W is placed and a depth image after the workpiece W is placed. Furthermore, in another embodiment, since the portion of the workpiece W held by the jig 20 is not machined, the three-dimensional position of the workpiece W may be identified and the target data may be aligned by matching the shape (face, edge, etc.) of the held portion of the workpiece W with the shape of the held portion of the target data. Furthermore, in another embodiment, the alignment may be performed manually by an operator.

[0047] Furthermore, the control device 70 according to the embodiment described above performs cutting for depth images captured by one stereo camera 30 until the depth difference becomes less than the allowable error, and then performs cutting based on the next stereo camera 30, but this is not limited to this. For example, in another embodiment, the control device 70 may switch the target stereo camera 30 each time cutting of one path is performed. That is, the control device 70 according to another embodiment may perform the processes from step S10 to step S18 for all stereo cameras 30, and then determine the end of processing in step S19.

[0048] <Computer Configuration> FIG. 7 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. The computer 900 includes a processor 901 , a main memory 902 , a storage 903 , and an interface 904 . The above-described control device 70 is implemented in a computer 900. The operations of the above-described processing units are stored in the form of a program in a storage 903. A processor 901 reads the program from the storage 903, loads it into a main memory 902, and executes the above-described processing in accordance with the program. The processor 901 also allocates storage areas in the main memory 902 corresponding to the above-described storage units in accordance with the program. Examples of the processor 901 include a CPU (Central Processing Unit), a GPU (Graphic Processing Unit), and a microprocessor.

[0049] The program may be for realizing some of the functions to be performed by the computer 900. For example, the program may be combined with other programs already stored in storage or other programs implemented in other devices to perform the functions. In other embodiments, the computer 900 may include a custom LSI (Large Scale Integrated Circuit) such as a PLD (Programmable Logic Device) in addition to or instead of the above configuration. Examples of PLDs include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), and FPGA (Field Programmable Gate Array). In this case, some or all of the functions realized by the processor 901 may be realized by the integrated circuit. Such an integrated circuit is also an example of a processor.

[0050] Examples of storage 903 include a magnetic disk, a magneto-optical disk, an optical disk, and a semiconductor memory. Storage 903 may be an internal medium directly connected to the bus of computer 900, or an external medium connected to computer 900 via interface 904 or a communication line. Furthermore, when this program is distributed to computer 900 via a communication line, computer 900 that receives the program may load the program into main memory 902 and execute the above-described processing. In at least one embodiment, storage 903 is a non-transitory tangible storage medium.

[0051] The program may also be a program for realizing part of the above-described functions. Furthermore, the program may be a so-called differential file (differential program) that realizes the above-described functions in combination with another program already stored in storage 903. [Explanation of symbols]

[0052] REFERENCE SIGNS LIST 1...machining machine 10...table 20...jig 30...stereo camera 40...robot arm 41...base 42...first arm 43...second arm 44...third arm 45...fourth arm 46...fifth arm 47...spindle 51...first motor 52...second motor 53...third motor 54...fourth motor 55...fifth motor 56...sixth motor 57...seventh motor 58...driver 60...tool 70...control device 71...data acquisition unit 72...storage unit 73...position measurement unit 74...alignment unit 75...display control unit 76...difference calculation unit 77...cutting amount determination unit 78...path generation unit 79...tool control unit 80...correction unit 900...computer 901...processor 902...main memory 903...storage 904...interface W...work

Claims

1. A tool for machining the workpiece; a depth camera that is installed so that the workpiece falls within an imaging range and captures the depth of the subject; a position measurement unit that calculates the three-dimensional position of the surface of the workpiece based on the depth image captured by the depth camera; a positioning unit that calculates a three-dimensional position of the target shape when the workpiece and the target shape are superimposed on each other based on three-dimensional data representing the target shape of the workpiece and the three-dimensional position of the workpiece; a cutting-in amount determination unit that determines cutting-in amounts at each of a plurality of points on the surface of the workpiece based on a difference in line of sight between a three-dimensional position on the surface of the workpiece when viewed from a predetermined viewpoint and a three-dimensional position on the surface of the target shape; a tool control unit that determines a path, which is a movement path of the tool, based on the depth image and the determined cutting depth, and moves the tool according to the path; A processing machine equipped with:

2. a target depth calculation unit that calculates a depth of a surface of the target shape relative to the depth camera based on a three-dimensional position of the target shape; The position measurement unit identifies a depth of the surface of the workpiece based on the depth image, The cutting depth determination unit determines the cutting depth based on a difference between a depth of the surface of the workpiece and a depth of the surface of the target shape. The processing machine according to claim 1.

3. The alignment unit aligns the machining direction of the tool with the imaging direction of the depth camera, and moves the tool based on the determined cutting depth. The processing machine according to claim 2.

4. the cutting-in amount determination unit determines the cutting-in amount at a point where the difference between the surface of the workpiece and the surface of the target shape exceeds the maximum cutting-in amount of the tool as the maximum cutting-in amount, and determines the cutting-in amount at a point where the difference between the surface of the workpiece and the surface of the target shape does not exceed the maximum cutting-in amount of the tool as an amount obtained by dividing the difference between the surface of the workpiece and the surface of the target shape by a predetermined number. The processing machine according to any one of claims 1 to 3.

5. The cutting-in amount determination unit again determines the cutting-in amount at each of a plurality of points on the surface of the workpiece based on a difference between a three-dimensional position of the surface of the workpiece after machining of the workpiece by the tool and a three-dimensional position of the surface of the target shape. The processing machine according to any one of claims 1 to 4.

6. A control device for a processing machine including a tool for machining a workpiece, a depth camera that is installed so that the workpiece is included in an imaging range and captures an image of the depth of a subject, and an actuator that drives the tool, a position measurement unit that calculates a three-dimensional position of the surface of the workpiece based on the depth image captured by the depth camera; a positioning unit that calculates a three-dimensional position of the target shape when the workpiece and the target shape are superimposed on each other based on three-dimensional data representing the target shape of the workpiece and the three-dimensional position of the workpiece; a cutting-in amount determination unit that determines cutting-in amounts at each of a plurality of points on the surface of the workpiece based on a difference in line of sight between a three-dimensional position on the surface of the workpiece when viewed from a predetermined viewpoint and a three-dimensional position on the surface of the target shape; a tool control unit that determines a path, which is a movement path of the tool, based on the depth image and the determined cutting amount, and controls the actuator based on the path; A control device for a processing machine comprising:

7. A control method for a processing machine including a tool for machining a workpiece, a depth camera that is installed so that the workpiece is included in an imaging range and captures an image of the depth of a subject, and an actuator that drives the tool, Calculating a three-dimensional position of the surface of the workpiece based on the depth image captured by the depth camera; a step of calculating a three-dimensional position of the target shape when the workpiece and the target shape are superimposed on each other based on three-dimensional data representing the target shape of the workpiece and the three-dimensional position of the workpiece; determining a cutting depth at each of a plurality of points on the surface of the workpiece based on a difference in a line of sight between a three-dimensional position on the surface of the workpiece when viewed from a predetermined viewpoint and a three-dimensional position on the surface of the target shape; determining a path, which is a movement path of the tool, based on the depth image and the determined cutting depth, and controlling the actuator based on the path; A control method for a processing machine comprising:

Citation Information

Patent Citations

  • End-face type thermal head

    JP1987053847A

  • Interference check method, machining program check method and machining suitability check method

    JP1996052638A

  • Three-dimensional molding device

    JP1999138388A

  • Processing method for three-dimensional object modeling work

    JP2001264047A

  • Bit cutting device

    JP2013107144A