System and Method for Automated Precision Control of a Computer Numerical Control (CNC) Machine
20230418261 ยท 2023-12-28
Inventors
Cpc classification
International classification
Abstract
A system, method, and device for automated precision control of a computer numerical control (CNC) machine to a workpiece. The system receives via at least one visual input device at least one detectable marking on a workpiece. The system decodes the at least one detectable marking and determines a stored and pre-defined movement routine of a cutting element attached to the CNC machine relative to the workpiece based on the at least one marking. The system then determines, using the at least one visual input device and/or another visual input device, a current position of a working end of the cutting element relative to the at least one marking. Finally, the system performs the pre-defined movement routine including cutting into the workpiece with the cutting element.
Claims
1-16. (canceled)
17. A method for automated precision control of a computer numerical control (CNC) machine to a workpiece comprising: receiving via at least one visual input device at least one detectable marking on a workpiece; detecting at least a position and a shape of at least one detectable marking; determining at least one stored and pre-defined movement routine of a cutting element attached to said CNC machine relative to said workpiece based on said decoded shape of said at least one marking; determining, based on said at least one detectable marking, a sequence of said at least one determined routine, each said routine comprising one starting point and one ending point; determining, based on said at least one detectable marking, a position of said starting point of each said routine relative to said at least one decoded marking for each of said at least one determined routine; determining, using said at least one visual input device and/or another visual input device, a current position of a working end of said cutting element relative to said at least one marking; and performing said pre-defined movement routine comprising cutting into said workpiece with said cutting element.
18. The method of claim 17, wherein said one starting point and said one ending point of at least one of each said routine are at a same position.
19. The method of claim 17, wherein each said routine comprises at least one middle point which is unaligned with said at least one starting point and one ending point.
20. The method of claim 17, wherein said at least one visual input device and a holder for said cutting element are fixedly mounted to a movable housing at a proximity such that a central axis of a working end of said cutting element remains within a field of view of said at least one visual input device, and move together, relative to a position of said workpiece, wherein said movable housing is mobilized by a mobilizing assembly.
21. The method of claim 20, wherein said cutting element holder is adapted to removably hold said cutting element and a mount for said workpiece is adapted to removably hold said workpiece.
22. The method of claim 20, wherein said at least one visual input device comprises a plurality of visual input devices which are used to determine at least a two-dimensional location in a three-dimensional space of said workpiece.
23. The method of claim 17, wherein said at least one marking is determined, in said step of decoding, to be any one of a polygon, square, circle, an x shape or a cross shape, and wherein the center of said at least one marking is a calibration point for determining the spatial offset of said at least one visual input device from the central axis of said working element along a horizontal plane.
24. The method of claim 17, wherein in said step of decoding, decoding a marking of two lines is insufficient to cause said step of performing to be carried out until said two lines are inscribed within a larger proximate shape.
25. The method of claim 17, wherein said pre-defined movement routine is parameterized by one or more variables; and said at least one marking comprises a marking of at least one letter and/or number representative of a constant value used in place of each of said one or more variables when performing said pre-defined movement routine.
26. The method of claim 25, wherein said pre-defined parameterized movement routine is modified by at least one of a rotation, translation, or scaling, based on said at least one marking.
27. The method of claim 17, wherein said at least one marking comprises a first marking and a second marking; said first marking corresponds to a first reference point of said pre-defined movement routine; and said second marking corresponds to a second reference point on said workpiece cut during said pre-defined movement routine.
28. The method of claim 27, wherein said pre-defined movement routine is at least one of translated, rotated and scaled based on a position of said second marking compared to a position of said first marking.
29. A method for automated precision control of a computer numerical control (CNC) machine to a workpiece comprising: receiving via at least one visual input device at least one detectable marking on a workpiece; detecting at least a position and a shape of at least one detectable marking; determining at least one stored and pre-defined movement routine of a cutting element attached to said CNC machine relative to said workpiece based on said decoded shape of said at least one marking; determining, based on said at least one detectable marking, a sequence of said at least one determined routine, each said routine comprising one starting point and one ending point; determining, based on said at least one detectable marking, a position of said starting point of each said routine relative to said at least one decoded marking for each of said at least one determined routine; determining, using said at least one visual input device and/or another visual input device, a current position of a working end of said cutting element relative to said at least one marking; and performing said pre-defined movement routine comprising cutting into said workpiece with said cutting element; and wherein, said cutting element comprises any one of a drill press, a milling machine, a lathe, a CNC mill, a router, a plasma cutter, a punch or a laser.
30. The method of claim 17, wherein said at least one visual input device and a holder for said cutting element are fixedly mounted to a movable housing at a distance to each other of substantially one inch, and move together, relative to a position of said workpiece, wherein said movable housing is mobilized by a mobilizing assembly.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
DETAILED DESCRIPTION OF EMBODIMENTS OF THE DISCLOSED TECHNOLOGY
[0042] A system for automated precision control of a computer numerical control (CNC) machine operating on a workpiece includes receiving, via at least one visual input device, at least one detectable marking on a workpiece. The at least one detectable marking would typically have been placed on the workpiece by an operator of the system, or of the machine. The at least one detectable marking is decoded to determine a stored and pre-defined movement routine of a cutting element attached to said CNC machine relative to said workpiece based on the at least one marking. Using the one or more visual input devices and/or other visual input devices, a current position of a working end of said cutting element relative to the at least one marking is determined. Subsequently, the pre-defined movement routine, which includes cutting into the workpiece with the cutting element, is performed.
[0043] A method of modifying a workpiece includes the steps of securing the workpiece to a fixed location, and marking a surface of said workpiece with human readable indicia using a handheld writing apparatus, to cause a cutting tool to move in at least three axes to a coordinate of the marking. The human readable indicia is associated with a predefined series of movements which begin at a position of a detected marking on a surface. As an example, a marking might be Bore(A, diam=2.0, d=0.25) which instructs the cutting of a circle that is 2 in diameter and 0.25 deep.
[0044] A device includes a computer numerical control (CNC) machine with a movable housing having a cutting element therein. The device further includes a spatial recognition system, which includes at least one visual input device mounted to the movable housing. The device also includes control mechanism receives input from said spatial recognition system and provides output which controls placement of said movable housing. Based on the input from the spatial recognition system, upon the control mechanism detecting printed indicia on a surface of a workpiece, the control mechanism causes motion of the movable housing into position such that rotation of the cutting element cuts into the printed indicia and said workpiece. The spacial recognition system can include depth sensors, time-of-flight determinations, stereo camera, and two-dimensional cameras.
[0045] Embodiments of the disclosed technology will become clearer in view of the forthcoming description of the figures.
[0046]
[0047] Turning to
[0048] Reference is now made to
[0049] As seen in
[0050] In the illustrated embodiment, the working element 108 comprises a cutting element, such as a cutting bit, terminating in a cutting end. However, in some embodiments, the working element may be any suitable working element, such as a router, a mill, a lathe, a laser, a water jet, a three-dimensional printing element (e.g. a material depositing element used for three-dimensional printing), a vinyl cutter, and a wire bender.
[0051] Visual input device(s) 112 may include any suitable type of device. For example, a device 112 may be a depth sensor, a camera, a stereo camera, or a depth finder using time of flight to determine depth. Device(s) 112 being able to identify depth may be particularly advantageous in determining a starting Z-value for working end 110 of the working element, relative to workpiece 12. Device(s) 112 being able to identify depth may also be advantageous in providing compensation during a cutting routine cutting into workpiece 12, for example for projecting cutting tool paths onto the surface of a workpiece having variable heights. Such identification of depth can also be used for purposes of collision avoidance with items or the surface of the work-piece.
[0052] Visual input device(s) 112 is functionally associated with a spatial recognition system 116, which provides input to a controller 118 forming part of the CNC machine. Specifically, device(s) 112 may be one or more cameras, which capture an image of the field of view 114, and provide the image to controller 118. Controller 118 is adapted to receive the input from spatial recognition system, and to detect a two-dimensional location of printed markings in the image, such as detecting markings 30 within the field of view 114. Controller 118 is then adapted to move the working head into a suitable place, such that when the working head is operated, the operation is at the detected markings. As shown and described hereinbelow, the operation maybe cutting into workpiece 12, at the location of markings 30.
[0053]
[0054] In
[0055] As seen in
[0056] As seen in
[0057] Following completion of the scanning process of
[0058] It is to be appreciated that in some embodiments, following scanning or decoding of the markings 30, the movement therebetween may be in accordance with a pre-defined, and previously stored, movement routine. In some embodiments, the movement routine may be defined in a calibration phase occurring prior to the scanning phase. An exemplary calibration phase is described hereinbelow with respect to
[0059]
[0060] As seen in
[0061] In some embodiments, the depth of the hole may be provided to controller 118 separately, such as a parameter provided in a code file, or may be a default depth. In some embodiments, the depth of the hole may be 445 provided to the controller as visual input via device(s) 112, as explained hereinbelow with respect to
[0062]
[0063] As seen in
[0064] In the embodiment of
[0065] As seen, in
[0066] Furthermore, controller is adapted to identify the placement of lines 134, and to use the placement of the lines as guidance for operating on the workpiece. For example, the instructions for how to treat a line may be provided in a separate instruction file or instruction code provided to controller 118, or may be provided to the controller using parameters set into variables, as explained in further detail hereinbelow with respect to
[0067] Turning to
[0068] As seen from
[0069] In a similar manner, indicators on workpiece 12 may include letters to be etched over by CNC machine 100.
[0070]
[0071] As seen in
[0072] For example, if the two markings are close to each other, a smaller number of holes may be drilled between the two markings, than if the two markings are further from each other. Alternately, if three holes are to be drilled at equal distances between the two markings, the distance between each two holes will be greater when the distance between the reference points is greater, and will be smaller when the distance between the reference points is smaller.
[0073] Turning to
[0074] Further, a user can write code on the material such as by way of a programming language known in the art and/or call a class and/or function pre-set within the CNC machine (e.g. class Bore). For example, Bore(Rect(A,B), diam=0.25, d=0.5) might make a 0.25 diameter, 0.5 deep hole at the corners of the rectangle defined by the two diagonal points A and B.
[0075] In a similar manner, any number of parameters, or any information, may be provided, in writing, on the surface of the workpiece, to be scanned by the CNC machine. For example, the markings may include symbols, such as letters, digits, or marks, to be etched by the CNC machine, a specification of a font and/or text size to be used for etching text, a depth of etching or drilling, and the like. As another example, the markings or variable provided on the surface of the workpiece may define parameters of a tool to be used, such as a type of tool, or properties of the tool, e.g. its diameter or its height. QR codes may be associated with pre-defined such parameters and be placed on the tool's storage container or nearby and used to indicate via visual input device to a CNC machine which tool is in use on the CNC machine.
[0076]
[0077]
[0078] As seen in
[0079] At step S304, a calibration square is drawn around the drilled hole, such that the drilled hole is at the center of the calibration square. In order to ensure that the hole is indeed centered in the square, supporting tools may be used, such as a jig allowing centering of a square stencil on the hole.
[0080] At step S306, the controller (118,
[0081] At step S310, working element (108,
[0082] In some embodiments, the method of calibration may further include an optional step S314, in which the controller navigates the working element back to the computed position, and the user confirms that the tool is aligned with the previously drilled hole.
[0083]
[0084] At an initial step S350, a stored hole position, and a visual input device offset for a specific tool, are read from a preferences file, where they were previously stored. At step S352, the controller moves the tool to a location at (hole_position+visual_input_device_offset), and scans the workpiece for the calibration square at step S354.
[0085] At step S356, the operator, or the controller, evaluates whether the square is precisely centered within the field of view of the visual input device. If the square is precisely centered, the recalibration process is complete. Otherwise, if the square is not precisely centered, at step S358 the controller causes the visual input device to navigate to the square, and computes a new device offset by subtracting the newly acquired calibration square position from the saved hole position, at step S360. At step S362, the working element is jogged to (current_positionupdated_offset), and at step S364 the user confirms that the working element is aligned with the hole drilled at step S300. The user may then be prompted to update the stored camera offset, at step S366.
[0086] While the disclosed technology has been taught with specific reference to the above embodiments, a person having ordinary skill in the art will recognize that changes can be made in form and detail without departing from the spirit and the scope of the disclosed technology. The described embodiments are to be considered in all respects only as illustrative and not restrictive. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope. Combinations of any of the methods, systems, and devices described herein-above are also contemplated and within the scope of the disclosed technology.