A method for predicting collision of a machining path includes: a step of reading an nc program; a step of translating a plurality of block information in the nc program; a step of, prior to perform interpolation upon each of the plurality of block information, calculating a safety distance of a next block information with respect to a block information to be interpolated; a step of searching a number of individual block information having an accumulated distance greater than or equal to the safety distance; and a step of performing an anti-collision detection upon each of the individual block information contributing the accumulated distance. In addition, a system for predicting collision of a machining path is also provided.
|
1. A method for predicting collision of a machining path, applicable to a machine tool including a controller, the controller including a processing unit, the method for predicting collision of the machining path comprising the steps of:
(a) reading an nc program;
(b) translating a plurality of block information in the nc program;
(c) prior to perform interpolation upon each of the plurality of block information, calculating a safety distance of a next block information with respect to a block information to be interpolated, wherein the safety distance is obtained by calculating a system response time and a stop distance with respect to the each of the plurality of block information; wherein step (c) includes steps of:
(c1) calculating the stop distance for the next block information to decelerate to zero from a speed value with respect to the block information to be interpolated; and
(c2) adding a delay distance to the stop distance so as to obtain the safety distance, wherein the delay distance is derived from the system response time and the speed values with respect to the individual block information;
(d) searching a number of individual block information having an accumulated distance greater than or equal to the safety distance, wherein the accumulated distance is obtained by orderly calculating and accumulating the stop distances with respect the individual block information; and wherein step (d) includes steps of:
(d1) according to an order of the plurality of block information, beginning from the next block information with respect to the block information to be interpolated, obtaining the accumulated distance by orderly calculating and accumulating the stop distance with respect to the individual block information; and
(d2) while in orderly calculating and accumulating the stop distances, determining whether or not the accumulated distance is greater than or equal to the safety distance; and
(e) performing an anti-collision detection upon each of the individual block information contributing to the accumulated distance when the accumulated distance is greater than or equal to the safety distance; wherein step (e) includes steps of:
(e1) according to a plurality of codes of each of the individual block information, drawing a machining path of the processing unit with respect to the codes;
(e2) according to a plurality of objects in the processing unit with respect to the machining path, detecting whether or not, in a moving process, boundaries of the plurality of objects are interfered to each other; and
(e3) if the boundaries of the plurality of objects are interfered to each other, issuing an alarm signal to the processing unit.
2. The method for predicting collision of a machining path of
3. The method for predicting collision of a machining path of
4. The method for predicting collision of a machining path of
5. The method for predicting collision of a machining path of
(f) If the anti-collision detection is passed, performing the interpolation upon the block information to be interpolated so as to obtain an interpolation command; and
(g) Outputting the interpolation command of the respective block information to the processing unit, determining whether or not the machining path with respect to the block information has been completely experienced; if positive, determining whether or not the nc program is finished; and, if the nc program is finished, outputting a stop machining command to the processing unit.
6. The method for predicting collision of a machining path of
7. The method for predicting collision of a machining path of
|
This application claims the benefits of Taiwan application Serial No. 108112435, filed on Apr. 10, 2019, the disclosures of which are incorporated by references herein in its entirety.
The present disclosure relates in general to a method for predicting collision of a machine tool and a system applying this method.
In the art, it is well known that the CNC (Computer numerical control) machine tool is featured in its programmability and precision machining According to machining procedures, paths and/or precision for a workpiece, a relevant CNC program can be prepared. The CNC program including contour-machining instructions and path determinations is usually organized by single-section input commands However, as the shape of workpiece becomes complicated, the section-wise CNC program may be time-consuming. Alternatively, various CAD, CAM and the like software are introduced to plan better machining paths for the CNC machine tool to perform machining
In view that the current machine tool has a trend of multiple axes, compound structuring and versatile applications, the complicity of machining paths is inevitably increased, and a prediction of collisions during real machining is even hard to made by existing human inspection means. In the art, an anti-collision detection includes at least a foreign computer simulation, an idle run to verify simulation results, and a pilot or test run for online detecting. The foreign computer simulation usually needs to prepare a 3D model in advance. That is, cameras, detectors and related gears per requirements shall be integrated in advance. Also, plenty time would be consumed for preparing excessive system sources and data transmission among various controllers. In addition, the idle-run investigation, a machine run without cutting tools to follow schemes of machining paths, is unable to locate possible collisions during the machining Hence, an interpolation method is usually needed to calculate and thereby to obtain required interpolated commands for accurately and faithfully executing the preset machining paths. Thereupon, additional costs for system resources in performing the idle run can be foreseen. Further, in a typical pilot or test run (or called as an online detection), a virtual kinematic model of a machine tool and a communication interface of the corresponding controller are applied to execute an online collision test. If a collision is met, the machine will be stopped. Namely, the test run needs an additional 3D model and individual calculation for each time increment. Thereupon, huge calculations have been spent, and it is yet to be confirmed that, prior to a potential collision, the machine tool still has enough time and space to decelerate so as to avoid an incoming collision.
Thus, a topic how to provide an improved method and system for predicting collision of a machining path so as to avoid the aforesaid defects is definitely urgent and welcome to the art.
In this disclosure, a method and a system for predicting collision of a machining path is provided to perform anti-collision detection with less system resources, and to predict beforehand if or not an unexpected machining action is coming, such that false machining paths can be prevented from possible damages at the machine and/or the workpiece, and further from reducing the machining yield.
In one embodiment of the disclosure, the method for predicting collision of a machining path is applicable to a machine tool including a controller further including a processing unit, and includes: a step of reading an NC program; a step of translating a plurality of block information in the NC program; a step of, prior to perform interpolation upon each of the plurality of block information, calculating a safety distance of a next block information with respect to a block information to be interpolated, wherein the safety distance is obtained by calculating a system response time and a stop distance with respect to the each of the plurality of block information; a step of searching a number of individual block information having an accumulated distance greater than or equal to the safety distance, wherein the accumulated distance is obtained by orderly calculating and accumulating the stop distances with respect the individual block information; and a step of performing an anti-collision detection upon each of the individual block information contributing the accumulated distance.
In another embodiment of this disclosure, a system for predicting collision of a machining path is applicable to a machine tool including a controller further including a processing unit, and includes a calculation unit and a collision-detecting unit. The calculation unit is used for receiving a plurality of block information in an NC program translated by the controller, wherein, prior to perform interpolation upon each of the plurality of block information, the calculation unit calculates a safety distance of a next block information with respect to a block information to be interpolated, the safety distance is obtained by calculating a system response time and a stop distance with respect to the each of the plurality of block information, the calculation unit searched a number of individual block information having an accumulated distance greater than or equal to the safety distance, and the accumulated distance is obtained by orderly calculating and accumulating the stop distances with respect the individual block information. The collision-detecting unit is connected with the calculation unit, and performs an anti-collision detection upon each of the individual block information contributing the accumulated distance.
As stated, in the method and system for predicting collision of a machining path provided by this disclosure, before every block information can be interpolated, the collision detection is only performed within the reasonable safety distance prior to the beginning of the machining at the instant block information. Thus, less system resources should be used for performing the anti-collision detection. In addition, since the aforesaid reasonable safety distance is also an initial safety distance for the calculation upon the next block information, thus unexpected machining can be predicted beforehand, such that false machining paths can be prevented from possible damages at the machine and/or the workpiece, and further from reducing the machining yield.
Further, since this disclosure utilizes the block information of the NC program to perform the anti-collision detection, thus prior to individual block information can be interpolated, based on the velocity of the next block information, the number of the block information needed for satisfying the safety distance can be submitted in advance to proceed collision detection through 3D simulations, and thus no more interpolation calculation is required. In comparison with the interpolation calculation, at least 40% CPU capacity can be saved, and the system machining calculation can be significantly reduced.
Further scope of applicability of the present application will become more apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating exemplary embodiments of the disclosure, are given by way of illustration only, since various changes and modifications within the spirit and scope of the disclosure will become apparent to those skilled in the art from this detailed description.
The present disclosure will become more fully understood from the detailed description given herein below and the accompanying drawings which are given by way of illustration only, and thus are not limitative of the present disclosure and wherein:
In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawing.
Referring now to
In this embodiment, after the NC program is translated into a command format that the controller 52 can read and realize. In particular, the NC program is translated into a plurality of block information so as to obtain machining information corresponding to the NC program. In detail, the NC program is consisted of a series of block information, and a group of commands within an individual step is called as a single section. Namely, the plurality of block information are program codes of the NC program, and the block information include line numbers, spindle speeds, machining feed rates, velocities, accelerations and the like codes. These codes are in correspondence with at least one component within the processing unit 521. The NC program can be consisted of G codes (such as G00 and G01), M codes, S codes, T codes, N codes and F codes. For example, G01 stands for Move at feed rate, Z44.5 stands 44.5 units (inches for example) in the Z-axial direction, and F200 stands for 200 units (mm/min for example) of the feed speed.
In this embodiment, the processing unit 521 includes an interpolator 5211. After the processing unit 521 receives a plurality of block information of the NC program translated within the controller 52, the interpolator 5211 is then introduced to perform interpolation upon the plurality of block information within the NC program, and further corresponding interpolation commands are generated and transmitted to the spindle motor, the servo motor and the driver of the processing unit 521 for executing thereof the machining upon the workpiece.
In this embodiment, the system for predicting collision of a machining path 100, applicable to a machine tool 50, includes a response-time estimating unit 110, a calculation unit 120 and a collision-detecting unit 130. As shown, the collision-detecting unit 130 is connected to the calculation unit 120, and the calculation unit 120 is further connected to the response-time estimating unit 110. The response-time estimating unit 110 is used for estimating a system response time and then transmitting the system response time to the calculation unit 120. The response-time estimating unit 110 estimates a signal transmission time for an alarm signal issued by the collision-detecting unit 130 to be transmitted to the processing unit 521 as the system response time. In other words, the system response time is estimated by judging the transmission performance of the system for predicting collision of a machining path 100. In other embodiments, the system for predicting collision of a machining path 100 can utilize directly an internal counter or clock of the controller 52 to estimate a duration of time from a generation time of the alarm signal at the collision-detecting unit 130 to a receipt time of the alarm signal by the processing unit 521. This time duration is defined as the signal transmission time for being provided to the response-time estimating unit 110 as a reference.
It shall be explained that, in this embodiment, the system for predicting collision of a machining path 100 can connect a nearby or far-end controller 52 of the machine tool 50. For example, the system for predicting collision of a machining path 100 can include a processor of the controller 52 for performing versatile calculations, and also can be embodied as a micro controller, a microprocessor, a digital signal processor, an application-specific integrated circuit (ASIC) or a logic circuit. In another embodiment, the system for predicting collision of a machining path 100 is a processor inside the machine tool 5, and the processor is connected with a controller 52. In a further embodiment, the system for predicting collision of a machining path 100 is a cloud processor for communicating information with the controller 52 of the machine tool 50 through networking.
In this embodiment, the calculation unit 120 can be embodied through hardware such as an IC or a CPU, or software such as program commands performed by a processor. The calculation unit 120 is used for receiving a plurality of block information within the NC program translated by the controller 52. Before the interpolation can be performed upon individual block information, the calculation unit 120 calculates a safety distance between the instant block information to be interpolated and the next block information, and a number of individual block information satisfying an accumulated distance greater than or equal to the safety distance would be transmitted to the collision-detecting unit 130. In this embodiment, the accumulated distance is obtained by orderly calculating and accumulating corresponding stop distances of individual block information. The safety distance is obtained by calculating the system response time and a stop distance of the corresponding block information. The stop distance is the distance for the velocity of individual block information to decelerate to zero. A delay value is obtained by evaluating the system response time and the velocity of the corresponding block information. The safety distance is obtained by adding the delay distance and the stop distance. In other words, since the safety distance is varied in accordance with the stop distance of the corresponding block information, thus the aforesaid safety distance is not simply obtained by giving a constant or fixed distance.
In this embodiment, the collision-detecting unit 130 firstly receives the number of the individual block information transmitted from the calculation unit 120 and satisfying the accumulated distance to be greater than or equal to the safety distance. Then, the collision-detecting unit 130 performs an anti-collision detection according to individual block information within the accumulated distance. If an interference is detected (i.e., an occurrence of a collision), the collision-detecting unit 130 would issue an alarm signal to the processing unit 521, such that the processing unit 521 can stop the machining permanently or temporarily. If no collision is detected, the instant block information is sent to the interpolator 5211 for performing an interpolation. Then, corresponding interpolation commands are sent to the spindle motor, the servo motor and the driver of the processing unit 521 for executing thereof the machining upon the workpiece.
Upon such an arrangement, in this embodiment, the system for predicting collision of a machining path 100 is to detect possible collisions within a reasonable safety distance only prior to a beginning of the block information, before interpolation upon individual block information is performed. Thus, less system resources are required for performing the anti-collision detection, and the reasonable safety distance is an initial safety distance for calculating next block information. Therefore, it can be predicted in advance if or not there exists unexpected machining Thereupon, machine or workpiece damage caused by following an ill or false planned path can be avoided, such that the machining yield can be ensured.
Referring now to
In this embodiment, the method for predicting collision of a machining path S100 includes step S110 to step S150 as follows. In performing step S110, the NC program is read by the controller 52 of the machine tool 50. In reading the NC program, following detail steps are included. Firstly, a signal transmission time between the controller 52 and the processing unit 521 is estimated to be a system response time. Then, the response-time estimating unit 110 is used for estimating the system response time and further transmitting the system response time to the calculation unit 120. The response-time estimating unit 110 has the signal transmission time needed for the collision-detecting unit 130 to issue an alarm signal to the processing unit 521 to be the system response time. In other words, the system response time is estimated in accordance with variations in the transmission performance of the system for predicting collision of a machining path 100. In other embodiments, the system for predicting collision of a machining path 100 can utilize directly an internal counter or clock of the controller 52 to estimate a time duration from a generation time of the alarm signal at the collision-detecting unit 130 to a receipt time of the alarm signal by the processing unit 521. This time duration is defined as the signal transmission time for being provided to the response-time estimating unit 110 as a reference.
Then, in performing step S120, a plurality of block information of the NC program is translated. The NC program is translated and transformed into a readable and reasonable command format to the controller 52. In particular, the NC program is translated into a plurality of single block information so as to obtain machining information with respect to the NC program.
Then, in performing step S130, before the interpolation is performed to individual block information, a safety distance for decelerating to stop (i.e., a zero velocity) is calculated for a next block information with respect to the instant block information to be interpolated. As shown in
Referring now to
Referring now to
Referring to
Referring to
For example, as shown in
Similarly, as shown in
Similarly, as shown in
After step S152 is performed to plot the machining path for the processing unit according to the aforesaid codes, then step S154 is performed. As shown in
On the other hand, if, in step S154, boundaries of a plurality of objects are not interfered with each other. Then, it means that the boundaries of the plurality of objects are detected by the collision-detecting unit 130 to have no overlapping or collisions. Thus, stage A can be performed. Referring now to
In summary, in the method and system for predicting collision of a machining path provided by this disclosure, before every block information can be interpolated, the collision detection is only performed within the reasonable safety distance prior to the beginning of the machining at the instant block information. Thus, less system resources should be used for performing the anti-collision detection. In addition, since the aforesaid reasonable safety distance is also an initial safety distance for the calculation upon the next block information, thus unexpected machining cab be predicted beforehand, such that false machining paths can be prevented from possible damages at the machine and/or the workpiece, and further from reducing the machining yield.
Further, in comparison with errors at the conventional technique that are caused by sampling upon the interpolation points, this disclosure proceeds the 3D drawing path according to the codes of the block information. Thereupon, there is no more the situation that the 3D drawing path fails to fulfill the real machining path, and thereby the authenticity of the simulated machining path for testing of the anti-collision detection can be ensured. In other words, this embodiment in accordance with this disclosure requires no interpolation, and thus fidelity concerns upon the 3D drawing path would be substantially removed. Thereupon, failure to detect unexpected collisions caused by distortions between the simulated machining path and the real machining path would be significantly reduced.
In addition, since this disclosure utilizes the block information of the NC program to perform the anti-collision detection, thus prior to individual block information can be interpolated, based on the velocity of the next block information, the number of the block information needed for satisfying the safety distance can be submitted in advance to proceed collision detection through 3D simulations, and thus no more interpolation calculation is required. In comparison with the interpolation calculation, at least 40% CPU capacity can be saved, and the system machining calculation can be significantly reduced.
With respect to the above description then, it is to be realized that the optimum dimensional relationships for the parts of the disclosure, to include variations in size, materials, shape, form, function and manner of operation, assembly and use, are deemed readily apparent and obvious to one skilled in the art, and all equivalent relationships to those illustrated in the drawings and described in the specification are intended to be encompassed by the present disclosure.
Mai, Chao-Chuang, Lin, Shu-Yu, Ho, Ming-Chun, Huang, Chu-Kai
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
10126729, | Sep 27 2013 | Siemens Aktiengesellschaft | Position control of machine axes with collision avoidance and adaption of a machine model to a real machine |
10140395, | Dec 31 2014 | Dassault Systemes | Detecting collisions in a simulated machining of a workpiece represented by dexels |
6678582, | May 30 2002 | KUKA Laboratories GmbH | Method and control device for avoiding collisions between cooperating robots |
8577591, | Sep 15 2004 | WFL MILLTURN TECHNOLOGIES GMBH & CO KG | Method for preventing a collision between a part movable along an axis and an obstacle |
8630732, | Apr 18 2011 | Siemens Aktiengesellschaft | Method for avoiding an unwanted collision between a tool and a workpiece in a machine tool |
9292626, | Dec 10 2012 | Sandvik Intellectual Property AB | Computer numerical control (CNC) machining tool and method for controlling a CNC machining tool |
9530246, | Jan 15 2009 | Mitsubishi Electric Corporation | Collision determination device and collision determination program |
20090062955, | |||
20100087948, | |||
CN101377671, | |||
CN103128661, | |||
CN104238433, | |||
CN104680587, | |||
CN106202767, | |||
CN106383493, | |||
CN1796046, | |||
CN202317881, | |||
JP7314378, | |||
TW428778, | |||
TW505052, | |||
TW530201, | |||
WO2010082378, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 28 2019 | LIN, SHU-YU | Industrial Technology Research Institute | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049447 | /0871 | |
May 28 2019 | HO, MING-CHUN | Industrial Technology Research Institute | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049447 | /0871 | |
May 28 2019 | HUANG, CHU-KAI | Industrial Technology Research Institute | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049447 | /0871 | |
May 28 2019 | MAI, CHAO-CHUANG | Industrial Technology Research Institute | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049447 | /0871 | |
Jun 12 2019 | Industrial Technology Research Institute | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jun 12 2019 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Aug 09 2025 | 4 years fee payment window open |
Feb 09 2026 | 6 months grace period start (w surcharge) |
Aug 09 2026 | patent expiry (for year 4) |
Aug 09 2028 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 09 2029 | 8 years fee payment window open |
Feb 09 2030 | 6 months grace period start (w surcharge) |
Aug 09 2030 | patent expiry (for year 8) |
Aug 09 2032 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 09 2033 | 12 years fee payment window open |
Feb 09 2034 | 6 months grace period start (w surcharge) |
Aug 09 2034 | patent expiry (for year 12) |
Aug 09 2036 | 2 years to revive unintentionally abandoned end. (for year 12) |