WO1996008752A2 - Interactive machine control system and method - Google Patents
Interactive machine control system and method Download PDFInfo
- Publication number
- WO1996008752A2 WO1996008752A2 PCT/US1995/011142 US9511142W WO9608752A2 WO 1996008752 A2 WO1996008752 A2 WO 1996008752A2 US 9511142 W US9511142 W US 9511142W WO 9608752 A2 WO9608752 A2 WO 9608752A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cutter
- machine
- partitioning
- signals
- cell
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/409—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details, by setting parameters
Definitions
- This invention relates to interactive operation of computer-controllable machines, and more particularly, a method and system by which a machine user interacts with a programmable system to operate the machine within the limits of a preestablished set of geometric or other constraints.
- the invention has broad applicability, but one area in which it finds particular utility is in the field of computer operated machine tools. Accordingly, the description of the invention will be in the context of a manufacturing process and system in which a machinist interacts with a programmable system to manufacture a part according to a numerical model.
- CAD/CAM computer aided design and manufacturing
- CNC computer numeric control
- Batch processing does not lend itself well to efficient and economical execution of short-run jobs.
- the time required to plan and program a part on a CNC-controlled machine may be longer than the time consumed during a short production run.
- the effects of tool wear, deflection, part placement, and fixturing are impossible to predict accurately before program execution.
- accuracy derived from batch processing with CNC is not available for short-run jobs without considerable setup time. As a consequence, job shops still perform many tasks on manual machines, and industry sources estimate that six times as many manual machines have been sold over the past several years into the market world-wide as CNC machines.
- the present invention seeks to apply the economic and quality improvement advantages of CNC to short-run manufacturing.
- the machine tool control method and system according to this invention provide an interactive computer aided approach to parts manufacture in which a skilled or semi-skilled machinist provides real-time operating commands for the cutting tool, and the control system interprets the operator's commands in relation to a part model to generate the actual cutting instructions.
- the process which we call Path-Free Control, differs from existing computerized machine tool technology in that it takes advantage of the best capabilities of human, machine, and computer. By optimizing the relationship between the operator and the computer, both can perform efficiently in their areas of expertise.
- Interactive Path-Free Control returns a portion of the machine control to the skilled machinist. It makes the machine tool an extension of the machinist's hands and the CNC an extension of the machinist's knowledge.
- the machinist uses Path-Free Control, the machinist makes the objective or process-step related (high level) decisions which guide the machine toward the overall goal of cutting a precision part.
- the CNC portion of the system operates as an expert system performing the tasks that computers perform best—high speed calculation, feedback monitoring, and controlling low level, i.e., machine operation responsibilities. This division of labor allows the machinist to focus on the cutting processes while the controller handles part geometry and machine constraints. Path planning time is thus reduced, and the accuracy of a conventionally controlled CNC machine is available to job shops.
- the Path-Free Control equipment according to this invention is quite economical compared to existing CNC systems whereby small producers can retrofit the new control system on existing manual machine tools and even on machines having exiting proprietary CNCs.
- the control system according to this invention may also include the capability for recording the machinist- directed tool path and other operating commands. Accordingly, a cutting program can be generated during the process of machining a prototype.
- An interactive system also has the advantage of providing more job opportunities for highly skilled journeyman machinists, currently a decreasing resource of continuing strategic importance. Machinists using such a system will develop and use traditional skills to control the quality of the parts, efficiency of production, and even to help design parts.
- Path Free Controller itself, a multi-axis motor interface subsystem, a tool position feedback system and an interface unit including data entry means by which a numerical model of the part may be entered into the system, an operator input control unit for directing tool motion and positioning, and a display subsystem which provides a graphic display of the part geometry, the relationship of the cutting tool to the part, progress of the machining process itself and other operating parameters.
- Path-Free Control concept An important feature of the Path-Free Control concept is the implementation of real time collision avoidance in the interactive control process. This is facilitated by a relatively simple algorithm which rapidly locates the tool position in relation to adjacent part surfaces.
- the geometric compiler divides the part model into cells or regions according to a preestablished partitioning scheme. Each cell contains a predetermined maximum number of part boundaries; the data stored for each cell represents the spatial coordinates of these boundaries.
- a cell partitioning takes place during system initialization.
- a cell identifier employs the cell boundary coordinates to identify the cell in which the tool tip is located. Once the tool tip cell is identified, position computations only need to be performed in relation to the part boundaries associated with that particular cell.
- the Path Free controller generates collision avoidance control laws from which the tool tip trajectories for the machining process are computed.
- the permitted tool tip trajectories, or operating modes, as allowed by the control laws, are determined by the instantaneous tool tip position, the surrounding geometry and the operator's apparent intentions as reflected by his or her input commands.
- the operating modes may be regarded as conceptualizations of all the permitted trajectories, given the tool tip location and surrounding geometry.
- the control law data and the operator's input commands are processed by a command execution subsystem which generates direction and magnitude signals for a conventional multiple axis servo system.
- the tool tip position feedback loop may be closed by a shaft position or linear encoder or in any other conventional fashion.
- the system will also include a data acquisition and manipulation module and a playback unit.
- the actual sequence of commands which constituted the operators tool trajectory are recorded, along with the related position and velocity information, and may be used for direct playback.
- the recorded data may be further processed to abstract from it a body of data of the type usually provided as the input to a standard CAM system, which is then used to generate a new optimized part program, rather than the actual recorded tool path.
- This is used as the input to the command execution subsystem, or it may be transferred to a standard CNC system for execution.
- the operator's real-time experience in cutting the part is utilized, and the resulting part program takes better account of unique real-life conditions associated with the design and manufacture of the part in question.
- FIGURE 1 is a simplified block diagram showing the general nature of prior art CNC systems
- FIGURE 2 is a simplified flow diagram showing the essential features of the process according to the present invention
- FIGURE 3 is a block diagram showing functional and architectural features of an interactive machine tool control system according to this invention
- FIGURE 4 is a diagram of a part feature which shows cell partitioning as performed according to the present invention.
- FIGURE 5 is a flow diagram of a recursive partitioning algorithm employed by the geometric compiler in a preferred embodiment of the present invention
- FIGURE 6 is a flow diagram of a cell identification algorithm employed by the controller according to a preferred embodiment of the present invention
- FIGURE 7 is a tree diagram showing the partitioning of the part feature of FIGURE 5 to illustrate the implementation of the cell location algorithm
- FIGURES 9A-9C arranged as illustrated in FIGURE 9D, are a transition diagram demonstrating the implementation of the control law selector
- FIGURE 12 is a flow diagram showing an embodiment of the invention which provides record and play back functionality.
- FIGURE 13 is a block diagram showing functional and architectural features of the embodiment of FIGURE 12.
- FIG. 1 shows in flow diagram form, the essential features of a typical prior art process for computer aided design and manufacturing using computer controlled machine tool from conception to the production of a physical component.
- the first step is part design definition (Step S1A) .
- the component is conceptualized according to design criteria which may include shape, form and function.
- the machine tool operator then prepares the machine tool to manufacture the component by loading and fixturing the stock, initializing the machine tool and loading the CNC tool path program (Step S1E) .
- the tool path program is then executed on the controller which converts the point to point moves in the program into a series of trajectories used by the servo control loop (Step S1F) .
- FIGURE 2 shows a flow diagram of the essential features of a design and manufacturing process utilizing the interactive procedures according to the present invention.
- the first two steps, definition of the part design (Step S2A) , and definition of the geometric model of the component to be manufactured (Step S2B) may be performed in accordance with conventional techniques, and do not form a part of this invention.
- FIGURES 3 through 11 A detailed description of the interactive control system and method according to one embodiment of the present invention will now be presented in conjunction with FIGURES 3 through 11.
- the design of the control hardware emphasizes low-cost implementation to facilitate purchase of complete machine tool systems by small job shops, and to encourage retrofitting on existing manually operated machine tools, and on conventional CNC machines.
- conventional microcomputer system architecture, and commercially available components are employed wherever possible in the preferred embodiment. For this reason, and in the interest of brevity, a detailed description of the physical implementation of the system has been omitted; however, the assembly of the necessary hardware and software capable of performing the functions described will be apparent to one skilled in this field from the information presented.
- the system includes a suitable system control and coordination unit 12, memory unit 14, a hard disk drive 22, and associated controller 24, a floppy disk drive 26 and associated controller 28, an operator interface subsystem generally denoted at 30, geometric compiler 32, the path-free control subsystem generally denoted at 34, a motor interface subsystem 36, and a tool position feedback subsystem 38.
- Hard disk 22 stores a geometric model of the component to be machined. This may be in the form of a database containing the dimensions and other physical characteristics of the part or in any other suitable form. Hard disk 22 also stores other data and application software needed to run the system. Floppy disk drive 26 is used to load the geometric model and operating software in conventional fashion.
- User interface 30 provides the means by which the machinist interacts with Path-Free Control subsystem 34.
- the interface provides the capability for selecting the controller operating mode as described below, for entering tool setup commands and environmental parameters, and for editing part geometry.
- Data entry is provided by input devices such as keyboard 48, and mouse 50, or by other suitable devices and is implemented by appropriate data input software.
- a display device 52 such as a CRT monitor and an associated display generator 54 provide the user a visual display of system operating conditions, prompts for user inputs, and, as explained below, a graphical representation of the part and the progress of the machining process.
- the operator uses keyboard 48 and mouse 50 to provide information to path-free controller 34 about parameters such as cutter and fixture geometry, stock location within the machine work space, maximum allowable feed rate, etc. Additional machining information such as which feature of the part is to be machined at a particular time, the intended direction of motion of the cutter, the position of the stock relative to the machine tool's home position, the dimension of the cutter currently loaded in the spindle, etc. may be provided to controller 34 by these means as well.
- the data input software is written to provide what we call Flexible Fixturing, and the functions are implemented by fixturing data processor 56. This feature gives the operator freedom to clamp and re-clamp the work piece without concern for clamp or work piece position on the table.
- the machinist can mark regions that contain the clamp by jogging the machine tool cutter to opposite corners of the clamp and recording those positions using keyboard 48 or mouse 50.
- the geometric model is then updated to include a simplified model of the clamp, for example, in the form of a rectangular box. This is used in the collision avoidance computations performed by Path-Free controller 34 as described below.
- the operator invokes the flexible fixturing software, and again using keyboard 48 and/or mouse 50, removes the previous clamp location from the part model, and registers the new position.
- a machinist can reduce setup time and effort while maintaining a high degree of accuracy and operator safety.
- User interface 30 also includes the means by which the operator enters the cutter movement commands. This function is provided by a joy stick type device 58.
- a joy stick type device 58 In a three dimensional embodiment, the Spaceball TM manufactured by Spaceball Technologies, Inc, Lowell, Massachusetts is preferred, but other two or three dimensional input devices may also be used. For a two dimensional system, mouse 50 or even keyboard 48 may be used.
- input device 58 is a force measuring device, and thus provides an output related to how hard the operator pushes on the control mechanism.
- One or more outputs are provided, representing the resolution of the user's input force vector along orthogonal coordinates.
- samples are taken approximately 20 times per second.
- the sampling interval is treated as a measure of the duration of the input force.
- Each of the vector components is multiplied by this time value to produce a velocity command to be used by path-free control subsystem 34 as described below.
- Path-Free Control system 34 is designed to move the cutter at a speed which is functionally related to the intensity of the operator's action. In other words, if the operator pushes harder (or further, depending on the input device used) , the tool will move faster. Friction proportional to speed, and feedback to the operator on contact with a surface may also be provided through software implementation as will be obvious from the description provided.
- the monitoring function is provided by a display generator 54 and display device 52.
- display generator 54 creates a part status display in the form of a graphical image showing both the intended part configuration and the portions which remain un-machined at a given time.
- the display uses color or other attention focusing means, such as a flashing display, to highlight the uncompleted portions of the part.
- Information for generating the part status display is derived from the geometric model, and from the tool position data gathered by the tool position feedback subsystem
- the tool position data is used to identify all points on the perimeter of the part with which the cutting tool has come in contact, thereby identifying any unmachined areas. Any suitable software for controlling the display may be used for this purpose. Additionally, the current machining mode, tool position, feed, speed etc. may be displayed to the machinist. Display generator 54 may also include means to compare the machinist's cutting commands and tool selection with the geometric model, and to identify any areas where the machinist's actions had not fulfilled (or were unable to fulfill) the requirements of the part geometry, for example, by selection of a tool of inappropriate size.
- the strategy for implementing geometric compiler 32 may be understood with reference to FIGS. 4 and 5.
- the part to be machined generally denoted at 78, includes a pocket 80, the walls of which are defined by straight-line segments W1-W5, arc segments Al and A2 , and a cylindrical island 82 defined by arc segments A3 and A4 within pocket 80.
- the boundaries of pocket 80 have been contracted (and those of island 82 have been expanded) by a distance equal to the tool radius so the tool may be regarded as having zero diameter.
- partitioning rules may be employed, but the preferred one is as follows:
- n the number of part wall segments required to define a cell, the larger will be the number of cells required to partition the geometric model.
- the search time to identify the cell in which the tool tip is located may take longer, but the actual tool-tip-to-part-boundary computations will require less time. Since these computations are performed more frequently, a small value for n is preferred. Generally, good results are achieved if n is selected to be three or four.
- FIG. 5 A flow diagram of a recursive algorithm for the partitioning process described above is shown in FIG. 5.
- the dimensions of the geometric model are represented by x, y, and z coordinates of each part feature, in this case, the end points of the wall segments defining pocket 80 and cylinder 82 (see FIG. 4) .
- Step S5A The process begins at Step S5A by loading the coordinates of the wall segment representing the part (or part feature) to be segmented.
- the number of wall segments is then counted (Step S5B.)
- This may be done, for example, using a conventional clipping algorithm, modified in a manner which will be obvious to one skilled in the computer arts to count, rather than clip.
- Algorithms suitable for this purpose include the Cohen-Sutherland Algorithm, or the Liang-Barsky Line Algorithm as described in Computer Graphics by Donald Hearn and M. Pauline Baker, published 1986 by Prentice-Hall, Inc., Englewood Cliffs, NY, 1986.
- Step S5C If the number counted is ⁇ n, the pre-selected acceptable maximum, a cell has been identified, and its coordinates are recorded (Step S5C) .
- Step S5D a rectangle is defined which contains the part (or feature) , and its longest dimension is identified. If the length exceeds the height, the process branches to Step S5E. If the length is not greater than the height, the process branches to Step S5F.
- Step S5E a boundary is defined which bisects the longest wall of the rectangle to create a rectangle representing the right of the boundary (AREA_RIGHT, Step S5E- 1) and a rectangle representing the area to the left of the boundary (AREA_LEFT, Step S5E2). Preserving AREA-LEFT for future examination, the process returns to Step S5A. AREA RIGHT is now examined to determine its number of wall segments.
- Step S5C the region under examination is a cell, and its coordinates are recorded. If the number of segments is >n, the process continues to Step S5D and the length-height examination is repeated.
- Step S5E If the length is again greater than the height, the process returns to Step S5E; otherwise, it proceeds to Step S5F. In either case, one of the two resulting regions is again put aside for future processing and the process returns to Step S5A. The process is repeated (with the cell boundaries being displaced, if desired) until all regions have been identified as cells, and none remain to be examined.
- Step S5D (FIG. 5) dictates that the pocket first be partitioned vertically.
- a line LI is therefore defined which partitions the rectangle into left and right regions. If the tool happens to be to the right of line LI, or if preferred, to the right of expanded boundary line LI', FIG. 4 shows that we need to be concerned with its distance from only the three straight-line segments, Wl, W2, and W3. This meets our criterion for cell definition (FIG. 5, Step S5B) .
- the right half of the rectangle therefore constitutes a cell, denoted 80a.
- Step S5B reveals that we must be concerned with its position relative to eight wall segments (i.e., all but W2).
- the geometry on the left side of Ll must be partitioned further. Since the region to the left of line Ll is taller than it is wide, Step S5D dictates that we divide it in half horizontally.
- a line L2 is therefore defined which partitions the rectangle into upper and lower regions. The number of segments located in each region is counted again and the partitioning continues until all regions contain no more than 3 wall segments.
- the result of this process is the definition of a series of cells 80a-80g, as shown in FIG. 4.
- the data produced by geometric compiler 32 is used by cell identifier 60 to rapidly determine the cell in which the tool tip is located during a particular computation cycle.
- the process is performed using a recursive search algorithm similar to the partitioning algorithm described above.
- the data produced by geometric compiler 32 is stored in the form of a tree structure.
- the tree structure corresponding to the configuration illustrated in FIG. 4 is shown in FIG. 7.
- the tree consists of series of branching nodes 84, and a second series of cell nodes 86.
- Branching nodes contain information as to the partitioning rule for the area under examination, while cell nodes contain the coordinates of the wall segments in the cell. Again, if the cell boundaries have been enlarged to define overlapping cells, the coordinates of a particular wall segment may be included in more than one cell.
- Step S6B the data associated with node 84a is examined. Since rectangle 80 is not a cell, node 84a contains a partitioning rule, and the execution of the program goes down to step S6D. Now, because in our case, the length of the original rectangle is greater than its height, the execution goes to Step S6H. To test if p is to the right of dividing line Ll, the algorithm only needs to compare x t with XI, the x coordinate of Ll. If x t >Xl, corresponding to node 86A in FIG. 7, the execution goes to Step S6I, with AREA_RIGHT corresponding to rectangle 80a.
- Step S6A again (with (area) being rectangle 80a.
- Step S6B then reveals that node 86a contains coordinates rather than a partitioning rule. This reveals that the tool is in a cell, and the process transfers to the END state, Step S6C.
- Step S6D examines the data stored at node 84b to see if it contains a horizontal or vertical partitioning rule.
- the system finds a horizontal partitioning rule, so the process branches to Step S6E.
- Step S6F the process branches to Step S6F and examines the bottom of the area (corresponding to node 84c in FIG. 7 or if y t ⁇ Y2 , the process branches to Step S6G and examines the top of the area (corresponding to node 84d in FIG. 7) . From either Step S6F or S6G, the process returns to Step S6A and the process is repeated.
- Step S6F the partitioning rule must again be examined (FIG. 6, Step S6D.) In both cases, a vertical partitioning rule is encountered, and the process goes from Step S6D to Step S6H. Taking node
- Step S6B reveals that the tool tip is within cell 80e (FIG. 7, node 86e) , and the process ends, Step S6C.
- x t >X3, corresponding to node 84f
- the process continues again to S6D, where a horizontal partitioning rule is encountered.
- the coordinate y t is compared with the coordinate Y4 of line L4. If y t ⁇ Y4, Step S6B reveals that the tool tip is located in cell 80f (corresponding to node 86f in FIG. 7) . Conversely, if y t ⁇ Y4 , Step S6B reveals that the tool tip is in cell 80g (FIG. 7, node 86g.)
- control law/command selector 62 in Path Free controller subsystem 34 uses the data provided by cell identifier 60, tool position feedback subsystem 38 and input device 58 to select one of several available operating modes and/or movement control laws for directing the motion of the machine cutter head.
- control law selector 62 functions to interpret the machinist's input commands in light of the part geometry to select a suitable operating mode and to perform the collision avoidance computations between the work piece and the cutting tool.
- Jog Mode (see FIG 8A) :
- the cutter moves in the x, y, or z axis direction, depending on which component of the input command vector 90 is largest.
- the x-component is the largest, so the tool trajectory 88 is the x-direction.
- the tool velocity is fixed at a predetermined value, and part boundary conditions are not taken into account. This is useful in initializing the machine, for recording fixture locations, etc.
- Free Form Mode (see FIGS 8B and 8C) :
- the cutter trajectory 92 is allowed full three-dimensional freedom.
- Cutter direction and velocity are determined by the input command vector 96 produced by input device 58 (see FIG 3) . This is used for rapid movement of the cutting tool.
- Strict Grid Mode (see FIG 8D) : Here, the cutter is permitted single axis moves along a user-defined grid in the X-Y plane, stopping only at the nearest point of intersection between grid lines, provided that the tool does not contact a part surface.
- the separation d x and d between the grid lines is defined by the operator as an initial operating condition (e.g., in response to on ⁇ screen prompts) .
- the input command vector 98 is projected onto the grid and the direction of motion 100 is along the grid line corresponding to the component having the greatest magnitude. This is used most often during a facing operation.
- Grid Mode (see FIG 8E) : This is similar to the Strict Grid Mode but also allows for movement along 45 degree angles to the grid. This is also used for facing operations, but because it allows faster point to point travel, it is also advantageous for roughing operations.
- Corner Mode (see FIG 8F) : Here cutting tool 102 automatically moves around a corner once the cutting tool is brought to within a region 104 that is a pre- determined distance, dc, from the corner 106. This is used to assure complete machining of all corners.
- Corner Post Mode (see FIG 8G) : Here, cutting tool 108 pauses briefly near a corner 110 to allow the operator time either to machine the corner or continue past it. This is also used to assure the complete machining of all corners. However, the decision to machine the corner is left to the operator. The machinist will preselect this or the Corner Mode when setting up the machine, according to his preference.
- Position Locating Mode serves to position tool 112 over an active point 114, e.g., the center of a hole, closest to the tool. This is invoked when the tool reaches some predefined active plane, 115, e.g., a predetermined distance from some part boundary. At that time, an input command signal 116 which would cause tool 112 to pass through the plane instead is converted into a motion command 118 in plane 115 directed toward point 114.
- the tool velocity is functionally related to the magnitude 120 of the input command component normal to plane 115. This is used to accurately locate holes, and the start and end points of slots.
- a user input command, 122 is resolved into its components along the x, y and z axes.
- Tool movement is in the z-direction at a velocity functionally related to the magnitude of the Z-component of the input command.
- the tool is not permitted to violate any part boundary. This is used to drill holes, and facilitate cutting deep features.
- Sliding Mode (see FIG. 8M) :
- the tool follows the contour of a surface 126 by resolving an input command vector 128 along the vectors 130 and 132 which are normal and tangential , respectively, to the boundary at the point of contact 134 with the tool.
- Motion proceeds along the contour and the system remains in sliding mode as long as the input command is not within a predefined angle of the normal and pointed away from the part boundary. This is used to machine complex curved surfaces, and during finishing operations.
- Tool 136 moves along a predefined trajectory 138 with velocity functionally related to the magnitude of the input command component along the trajectory. This is used to machine slots where the tool tip diameter equals this slot width.
- FIGS. 9A-9C arranged as shown in FIG. 9D show a transition diagram in which the permitted states are indicated by circles and transitions between the states are indicated by transition vectors. Conditions initiating movement from one state to another are indicated in brackets (i.e., [ ]) next to the transition vectors.
- the control laws associated with each of the transition conditions are shown unbracketed.
- the operating modes are shown in parentheses.
- FIG. 9B, S9A Assume, for example, that the operator desires to machine a pocket.
- a [Do Pocket] command is issued, e.g., in response to an on-screen prompt, and a transition is made to the POCKET CLEARANCE state (FIG. 9C, Step S9B) .
- the Z-Only operating mode is selected (FIG. 9C, Step S9B-3).
- the resulting control law allows vertical motion of the cutting head above a computed "clearance plane", i.e., a plane of possible tool motion devoid of any obstruction such as a tool clamp or the stock material itself. (With reference to FIG. 10, an example of a clearance plane is shown at 140, at a distance d above pocket 80) .
- a down motion command is still being received when the tool tip 112 reaches a predetermined small distance g (e.g., 0.0025mm) from the hole center
- the system enters the DRILLING state (FIG. 9A, Step S9C-5) .
- a DRILLING state Z-Only operating mode is selected.
- Execution of an upward motion command [VM-U] is permitted; if upward motion is still being called for when the tool tip reaches the clearance plane, the system returns to the HOLE CLEARANCE State (FIG. 9A, Step S9C-6) .
- Downward vertical motion is allowed, but bounded by the hole bottom (FIG. 9A, Step S9C-7) .
- Step S9D a [Do Slot] command is issued, and the system enters the SLOT CLEARANCE state (Step S9D) .
- An [End Cycle] signal returns the system to START state (Step S9D-1) .
- a horizontal motion command [HM] places the system in the Free Form mode, allowing unrestricted horizontal moves as previously described.
- Step S9D-2 A vertical motion command [VM-U or VM-D] received while the tool tip is above the clearance plane 140 selects the Z-Only mode (S9D-3) . This allows vertical motion above the clearance plane. However, when the tool tip reaches clearance plane 140, the Position Locating mode (see FIGS. 8H and 81) is selected, and the tool tip moves toward the starting point of the slot (Step S9D-4) .
- Step S9D-8 If horizontal motion commands [HM] are encountered while in the IN SLOT state, the Slot mode is selected (Step S9D-8) . This permits the slot to be machined based on motion as described in connection with FIG. 8N. The extent of horizontal motion is determined by the slot shape and orientation according to the geometric model.
- Tool motion command execution processor 64 uses control law commands passed to it by control law/command selector 62 to move the tool tip along the trajectory corresponding to the selected operating mode, while assuring that the part boundaries are not violated.
- FIG. 11 shows how command execution processor 64 functions in response to control law selector commands.
- control law/command selector 62 has sent an instruction to command execution processor 64 allowing motion of tool 148 along a straight line path 150 ending at a point 152, which might represent a part boundary, and that, at some particular time, with the tool tip located at position 156 as shown, the user operates input device 58 to produce an input command vector 154.
- the output of command execution processor 64 is a control vector V 2 . This is produced by a five step computation cycle as follows:
- V 1 f(d is ) * U (1)
- V ⁇ Modify V ⁇ to create the final control vector V 2 , according to the following:
- th input control signal 128 is resolved into two components F and F n tangent and normal respectively, to part boundary 126.
- command execution processor 64 produces a output signal V 2 such that:
- V 2 V-L - f(d) * N (2)
- N is the unit vector normal to the boundary pointin toward the inside of the pocket and d is the distance from th tool to the boundary along N. (In FIG. 8M, the distance d is shown equal to 0.)
- equation (2) is modified so that control vector V 2 is:
- v 2 v,- 1 , n ⁇ , * t* ⁇ u t ⁇ * ⁇ u t ⁇ ⁇ (3)
- the magnitude of vector V 1 also decreases, This, in turn, reduces the magnitude of vector V 2 as tool tip 148 approaches the intended boundary point 152. (If the tool could cross the boundary, d is would become negative generating a control signal pushing the tool away from the boundary.) Also, as will be recalled, the sliding mode is defined such that if the angle between N and U becomes smaller than some predetermined distance, e.g., 20 degrees, control law/command selector 62 will pick a new control law, and operation of command execution processor 64 would be governed by other constraints.
- some predetermined distance e.g. 20 degrees
- a downward force generated while the tool is located on or above the clearance plane 115 results in movement of the machine tool tip 112 to center it over the nearest hole, e.g., at point 114.
- the x and y components of the velocity command vector V from command generator 64 are made proportional to the vertical component U v of the input command, and are functionally related to C ⁇ and C y/ the respective x and y components of vector 118 from the tool tip 112 to the point 114 above the hole center.
- V x f 2 ⁇ C ⁇ ) * ! U v! (6)
- V y f 2 (C y ) * jU v i (7)
- command execution processor 64 provides signals for controlling the machine tool drive motors (not illustrated) . This may be accomplished in any conventional way through motor interface subsystem 36 as will be understood by one skilled in the art based on the above description.
- FIG. 12 shows a flow diagram of an augmented embodiment of the present invention which differs from that previously described in that the process also includes recording the tool motion commands for subsequent use in automated cutting operation.
- the process again includes generation of a geometric model (Step S12A) , operator input of real time processing information (Step S12B) , interactive generation of tool motion commands (Step S12C) to control the cutting operation (Step S12D) and tool position feedback (Step S12E) to close the control loop.
- the process also includes processing of the tool motion commands to create a cutting program (Step S12F) , recording the processed command information (Step S12G) , and playing back the recorded cutting program (Step S12H) .
- FIG. 13 A functional implementation of the process of FIG. 12 is shown in FIG. 13. Two different approaches may be used in processing the motion commands; direct playback and abstracted playback. Both are shown in FIG. 13.
- the augmented system includes control law/command selector 62 and command execution processor 64 as previously described, process recorder 170, process storage means 171, and clock 175.
- Process Recorder 170 detects these changes. This may be accomplished in any suitable way; for example, the Process Recorder 170 monitors the commands passed from the Control Law Command selector 62, to Command Execution Processor 64. Each command that is passed to the Command Execution Processor 64 is compared with the previously passed command. If they are the same, the Process Recorder 170 does nothing; if they are different, the Process Recorder records the current position and time from the clock 175.
- the new position is stored in process storage means 171, and the distance traveled by the tool tip since the previous "significant event" is divided by the recorded time interval to create a current value of average tool tip velocity. This also is stored in process storage means 171.
- the sequence of recorded commands may also be down ⁇ loaded to a floppy disk, and edited or modified using conventional programming tools to create a part program for running a conventional CNC machine tool.
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8510224A JPH09507439A (en) | 1994-09-02 | 1995-09-01 | Interactive machine control device and method |
EP95932376A EP0727058A4 (en) | 1994-09-02 | 1995-09-01 | Interactive machine control system and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30063194A | 1994-09-02 | 1994-09-02 | |
US08/300,631 | 1994-09-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1996008752A2 true WO1996008752A2 (en) | 1996-03-21 |
WO1996008752A3 WO1996008752A3 (en) | 1996-05-09 |
Family
ID=23159925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1995/011142 WO1996008752A2 (en) | 1994-09-02 | 1995-09-01 | Interactive machine control system and method |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0727058A4 (en) |
JP (1) | JPH09507439A (en) |
CN (1) | CN1137829A (en) |
CA (1) | CA2175594A1 (en) |
WO (1) | WO1996008752A2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998041910A1 (en) * | 1997-03-19 | 1998-09-24 | Giddings & Lewis, Inc. | Cnc machine having interactive control of corner tolerance |
EP1146408A1 (en) * | 1998-10-08 | 2001-10-17 | Open Mind Software Technologies GmbH | Process to control the working movement of a tool for removal of material from a material block |
FR2834236A1 (en) * | 2002-01-03 | 2003-07-04 | Necati Ulas | Digital controller for a wood or metal lathe, especially a wood turning lathe, has a PC with simple design software and a controller card for two stepper motors that enable its use by a user with little computer knowledge |
DE10144508B4 (en) * | 2001-09-10 | 2012-06-06 | Open Mind Technologies Ag | Method for controlling relative movements of a tool against a workpiece |
EP4306281A1 (en) * | 2022-07-14 | 2024-01-17 | SCM Group S.p.A. | Method for the improved cutting of panels and working center that implements such method |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE29712266U1 (en) * | 1997-07-11 | 1997-09-11 | Siemens Ag | Numerical control for machine tools, robots or the like. |
FR2839561B1 (en) * | 2002-05-13 | 2004-07-30 | Somfy | METHOD FOR LEARNING THE LIMIT SWITCHES OF A SHUTTER ACTUATOR |
SE524818C2 (en) * | 2003-02-13 | 2004-10-05 | Abb Ab | A method and system for programming an industrial robot to move relatively defined positions on an object |
JP2005288563A (en) * | 2004-03-31 | 2005-10-20 | Yamazaki Mazak Corp | Method and device for creating working program |
CN1796046B (en) * | 2004-12-30 | 2010-05-26 | 鸿富锦精密工业(深圳)有限公司 | System for automatic detecting collision of numerically controlled machine tool |
WO2010017663A1 (en) * | 2008-08-15 | 2010-02-18 | 仁安资讯科技股份有限公司 | Synchronized dynamical interfere-verification predictive warning anti-collision method of a cnc tool machine and a computer program product thereof |
CN101887087B (en) * | 2009-05-13 | 2013-01-02 | 致茂电子股份有限公司 | Automatic test system and operating method and instrument control device thereof |
DE102010018475A1 (en) * | 2010-04-28 | 2011-11-03 | Netstal-Maschinen Ag | A method of displaying a programmable sequence for one or more machines having a cyclically recurring machine operation |
TWI469849B (en) * | 2010-11-12 | 2015-01-21 | Ind Tech Res Inst | Manufacturing method for cnc machine tools |
KR20120085420A (en) * | 2011-01-24 | 2012-08-01 | 두산인프라코어 주식회사 | Cutting shape input apparatus and method using interactive program in computer numarical control machine tools |
DE102012223806B4 (en) * | 2012-12-19 | 2018-11-29 | Trumpf Werkzeugmaschinen Gmbh + Co. Kg | Method for material-removing machining of a workpiece and associated computer program product |
US9452533B2 (en) * | 2013-05-15 | 2016-09-27 | Hexagon Technology Center Gmbh | Robot modeling and positioning |
EP3018541B1 (en) * | 2014-11-04 | 2023-10-25 | Garrett Transportation I Inc. | Configurable inferential sensor for vehicle control systems |
CN111596610B (en) * | 2020-05-19 | 2021-03-19 | 苏州诺达佳自动化技术有限公司 | Industrial control machine control system with operation track measurement and control function |
CN112008724B (en) * | 2020-08-25 | 2022-02-18 | 北京华航唯实机器人科技股份有限公司 | Method and device for displaying track process result and electronic equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5270915A (en) * | 1990-02-23 | 1993-12-14 | Kabushiki Kaisha Okuma Tekkosho | Apparatus for generating numerical control information based on shaped data for each machining step |
US5289382A (en) * | 1989-12-07 | 1994-02-22 | Mazda Motor Corporation | Method of and system for producing data for numerically controlled machining |
-
1995
- 1995-09-01 CN CN 95191091 patent/CN1137829A/en active Pending
- 1995-09-01 WO PCT/US1995/011142 patent/WO1996008752A2/en not_active Application Discontinuation
- 1995-09-01 JP JP8510224A patent/JPH09507439A/en active Pending
- 1995-09-01 EP EP95932376A patent/EP0727058A4/en not_active Withdrawn
- 1995-09-01 CA CA 2175594 patent/CA2175594A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5289382A (en) * | 1989-12-07 | 1994-02-22 | Mazda Motor Corporation | Method of and system for producing data for numerically controlled machining |
US5270915A (en) * | 1990-02-23 | 1993-12-14 | Kabushiki Kaisha Okuma Tekkosho | Apparatus for generating numerical control information based on shaped data for each machining step |
Non-Patent Citations (1)
Title |
---|
See also references of EP0727058A1 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998041910A1 (en) * | 1997-03-19 | 1998-09-24 | Giddings & Lewis, Inc. | Cnc machine having interactive control of corner tolerance |
US6317646B1 (en) | 1997-03-19 | 2001-11-13 | Fadal Machining Centers, Inc. | CNC machine having interactive control of corner tolerance that is programmed to vary with the corner angle |
EP1146408A1 (en) * | 1998-10-08 | 2001-10-17 | Open Mind Software Technologies GmbH | Process to control the working movement of a tool for removal of material from a material block |
DE10144508B4 (en) * | 2001-09-10 | 2012-06-06 | Open Mind Technologies Ag | Method for controlling relative movements of a tool against a workpiece |
DE10144508C5 (en) * | 2001-09-10 | 2018-01-04 | Open Mind Technologies Ag | Method for controlling relative movements of a tool against a workpiece |
DE10144508C9 (en) * | 2001-09-10 | 2018-06-28 | Open Mind Technologies Ag | Method for controlling relative movements of a tool against a workpiece |
FR2834236A1 (en) * | 2002-01-03 | 2003-07-04 | Necati Ulas | Digital controller for a wood or metal lathe, especially a wood turning lathe, has a PC with simple design software and a controller card for two stepper motors that enable its use by a user with little computer knowledge |
EP4306281A1 (en) * | 2022-07-14 | 2024-01-17 | SCM Group S.p.A. | Method for the improved cutting of panels and working center that implements such method |
Also Published As
Publication number | Publication date |
---|---|
EP0727058A1 (en) | 1996-08-21 |
JPH09507439A (en) | 1997-07-29 |
CN1137829A (en) | 1996-12-11 |
WO1996008752A3 (en) | 1996-05-09 |
EP0727058A4 (en) | 1997-10-15 |
CA2175594A1 (en) | 1996-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0727058A1 (en) | Interactive machine control system and method | |
US5406494A (en) | Numerical control system with operator controlled cutting | |
US6317646B1 (en) | CNC machine having interactive control of corner tolerance that is programmed to vary with the corner angle | |
KR100766310B1 (en) | Transformation method of G-code into STEP-NC part program and recording medium | |
EP1195665B1 (en) | Apparatus and method for setting control parameters of machining apparatus | |
JP4233147B2 (en) | How to determine an applicable feed rate for a machine tool | |
JPH0736191B2 (en) | Graphic display method of structure | |
CZ200021A3 (en) | System for making, modification and/or visual representation of machine control programs | |
EP0127688A1 (en) | Method of controlling profiling | |
Nishida et al. | Development of Innovative Intelligent Machine Tool Based on CAM-CNC Integration Concept–Adaptive Control Based on Predicted Cutting Force– | |
CN111113423A (en) | Hub deburring robot programming system | |
Ashley | A mosaic for machine tools | |
JP3066646B2 (en) | Motion simulation system | |
US20020072823A1 (en) | Machining | |
JPH08106311A (en) | Numerical controller | |
JPH06119029A (en) | Formation of approach route and retract route in nc working | |
JPH06119031A (en) | Nc data generating method for working of cut remaining part | |
Shyu et al. | A mini CIM system for turning | |
JP7004868B1 (en) | Numerical control device and numerical control method | |
JPH0579460B2 (en) | ||
JPS62293312A (en) | Numerical controller | |
JPH01189704A (en) | Numerical controller | |
Satine et al. | A process-oriented system for NC lathes | |
CN1319201A (en) | Process and system for working workpiece through numerically controlled machine tools | |
Kongiranda Ganapathi et al. | Design Automation For CNC Machining: A case study for generating CNC codes from geometric CAD models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 95191091.4 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): CA CN JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2175594 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1995932376 Country of ref document: EP |
|
AK | Designated states |
Kind code of ref document: A3 Designated state(s): CA CN JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 1995932376 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1995932376 Country of ref document: EP |