System and method for planning support removal in hybrid manufacturing with the aid of a digital computer
10921781 ยท 2021-02-16
Assignee
Inventors
Cpc classification
G05B2219/49041
PHYSICS
G05B2219/49038
PHYSICS
B33Y50/00
PERFORMING OPERATIONS; TRANSPORTING
B29C64/40
PERFORMING OPERATIONS; TRANSPORTING
B29C64/393
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/49012
PHYSICS
G05B19/4099
PHYSICS
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B33Y50/02
PERFORMING OPERATIONS; TRANSPORTING
International classification
G05B19/4099
PHYSICS
B33Y50/02
PERFORMING OPERATIONS; TRANSPORTING
B29C64/393
PERFORMING OPERATIONS; TRANSPORTING
B29C64/40
PERFORMING OPERATIONS; TRANSPORTING
Abstract
Algorithmic reasoning about a cutting tool assembly's space of feasible configurations can be effectively harnessed to construct a sequence of motions that guarantees a collision-free path for the tool assembly to remove each support structure in the sequence. A greedy algorithm models the motion of the cutting tool assembly through the free-spaces around the intermediate shapes of the part as the free-spaces iteratively reduce in size to the near-net shape to determine feasible points of contact for the cutting tool assembly. Each support beam is evaluated for a contact feature along the boundary of the near-net shape that constitutes a feasible point of contact. If a support beam has at least one feasible configuration at each point, the support beam is deemed accessible and a collection of tool assembly configurations that are guaranteed to be non-colliding but which can access all points of contact of each accessible support beam can be generated.
Claims
1. A system, comprising: a storage device that stores parameters of a manufacturing process for removing one or more support structures from a part using a set of tools of a manufacturing assembly; and a processor configured to determine whether a support structure is removable based on the parameters of the manufacturing assembly and to develop a process plan comprising manufacturing operations by the manufacturing assembly that remove the support structures.
2. The system of claim 1, further comprising the manufacturing assembly configured to use one or more of the tools to remove the support structures according to the process plan.
3. The system of claim 1, wherein: the storage device stores a near-net shape initially modeled as the part combined with the support structures; and the near-net shape is continually updated as the processor determines that a support structure is removable.
4. The system of claim 1, wherein each parameter comprises at least one of an orientation and a position of the manufacturing assembly.
5. The system of claim 1, wherein the storage device stores a model of the part defining surfaces of the part, interior of the part, and the support structures.
6. The system of claim 5, wherein the processor is configured to evaluate each support structure to identify contact features at an intersection of the support structure and the part and to add a support structure to a support removal sequence of the process plan if a contact feature accessible by the manufacturing assembly is identified.
7. The system of claim 6, wherein the processor is configured to construct for each support structure in the support removal sequence a set of collision-free contact configurations of the manufacturing assembly at a contact feature of the support structure.
8. The system of claim 6, wherein the processor is configured to determine that a part is non-manufacturable when no accessible contact feature exists.
9. The system of claim 6, wherein the processor is configured to generate a plurality of support removal sequences and to select one of the support removal sequences based upon an optimization constraint.
10. The system of claim 6, wherein the processor is configured to reorder the support removal sequence and re-attempt to create the process plan based upon the reordered support removal sequence.
11. A method comprising: storing parameters of a manufacturing process for removing one or more support structures from a part using a set of tools of a manufacturing assembly; determining whether a support structure is removable based on the parameters of the manufacturing assembly; and developing a process plan comprising manufacturing operations by the manufacturing assembly that remove the support structures.
12. The method of claim 11, further comprising operating the manufacturing assembly to remove the support structures according to the process plan.
13. The method of claim 11, wherein each parameter comprises at least one of an orientation and a position of the manufacturing assembly.
14. The method of claim 11, further comprising storing a model of the part, the model defining surfaces of the part, interior of the part, and the support structures.
15. The method of claim 14, wherein developing the process plan comprises: evaluating each support structure to identify contact features at an intersection of the support structure and the part; and adding a support structure to a support removal sequence of the process plan if a contact feature accessible by the manufacturing assembly is identified.
16. The method of claim 15, further comprising constructing for each support structure in the support removal sequence a set of collision-free contact configurations of the manufacturing assembly at a contact feature of the support structure.
17. The method of claim 15, further comprising determining that a part is non-manufacturable when no accessible contact feature exists.
18. The method of claim 15, further comprising generating a plurality of support removal sequences and to select one of the support removal sequences based upon an optimization constraint.
19. The method of claim 15, further comprising: reordering the support removal sequence; and re-attempting to create the process plan based upon the reordered support removal sequence.
20. The method of claim 11, further comprising: storing a near-net shape initially modeled as the part combined with the support structures; and continually updating the near-net shape based on determining that a support structure is removable.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) Planning SM processes for removing scaffolding from an AM-produced near-net shape requires analysis of feasible non-colliding cutting tool configurations in a dynamically-changing space. As each support is removed from the near-net shape, the space available to the cutting tool for collision-free motion around the near-net shape changes, usually by increasing the amount of free space within which a cutting tool assembly can move. For each type of cutting tool to be used, a tool's configuration includes a position and orientation. Thus, the combination of the part and scaffolding, which constitute the near-net shape, and tool assembly configuration geometries together creates a complex problem space for determining support removability through SM processes.
(7) A support removal process plan for SM processes includes sequences of support beams to be removed.
(8) For each support removal sequence generated, a tool path planner, such as a computer-aided manufacturing (CAM) system, or a system using motion planning algorithms, for instance, the Open Motion Planning Library (OMPL), generates a tool path to be used in a process plan.
(9) The server 22 is operatively coupled to a storage device 24, within which is stored models of designed parts 25 that define surfaces and the interior of the part, such as represented using some CAD representation such as STEP, STL, voxels or some other solid model representation, a library of cutting or machining tools 26, and, in one embodiment, a library of motion planning algorithms, such as the Open Motion Planning Library (OMPL). Both the server 22 and personal computer 27 include components conventionally found in general purpose programmable computing devices, such as a central processing unit, memory, input/output ports, network interfaces, and non-volatile storage, although other components are possible. In addition, other computational components are possible.
(10) In one embodiment, through the tool path planner 21, the Web-based service 23 generates process plans 30 that each contain support removal sequences. Each sequence includes CNC machining instructions that have been generated by the tool path planner 21 by modeling the inherent capabilities of a hybrid manufacturing setup 29. The hybrid manufacturing setup 29 includes a cutting or machining tool assembly 31 for performing SM operations. The machining tool assembly 29 can be programmed with the machining instructions in the process plans 30 generated by the tool path planner 21 and operated to remove supporting beams 12 from the near-net shape 10.
(11) The tool path planner 21 implements a geometric engine that executes a set of spatial planning algorithms for automated manufacturability analysis of arbitrary geometric models, without making assumptions on the tool geometry and degrees of freedom, or the existence of surrounding tooling and fixtures, such as described in U.S. Pat. No. 9,292,626, issued Mar. 22, 2016, to Nelaturi et al., the disclosure of which is incorporated by reference. The manufacturing setup model corresponds to the library of cutting or machining tools 26 with specifications for each operable tool, and the tool path planner 21 connects the available capability of each tool to the uploaded geometric model of each part 25 to provide qualitatively distinct process plans, represented in the form of a JSON (JavaScript Object Notation) file or similar structured encoding or human-readable format, with detailed feedback for each individual plan.
(12) The geometric reasoning algorithms use tooling information from the library 26 to allow the tool path planner 21 to generate a collision-free path for the tool assembly to remove one support beam 12 at a time, as further described infra with reference to
(13) In modeling an SM process plan problem space, begin by assuming that there are finitely many (say k) support beams 12 that contact the fabricated part 11. Each support beam 12 can be numbered and indexed, so as to generate all k! permutations of support structure removal sequences. Considering that a single part 11 being fabricated may consist of several hundred support beams 12, an enumeration of all k! permutations would result in an astronomically large set of possible support removal sequences. Generating and testing each possible sequence would be impracticable.
(14) On the other hand, human engineers may be able to visually inspect a near-net shape and recommend a candidate set of support beam removal sequences based on their own experience. Importantly, a human engineer may be able to quickly decide if a near-net shape 10 has support beams 12 that cannot be removed, for example, when supports support beams 12 are placed in internal voids 13, and that knowledge can be used to pare down the size of the problem space. Nevertheless, relying upon human expertise can present shortcomings due to the limitations inherent in the human reasoning of three-dimensional space and a fully automated process plan generate and test approach for candidate sequences of support removal is needed.
(15) Algorithmic reasoning about a cutting tool assembly's space of feasible configurations can be effectively harnessed by the tool path planner to construct a sequence of supports structures 12 that guarantees a collision-free path for the tool assembly to remove each support structure 12 in the sequence.
(16) Initially, a model of the manufacturing setup, including a library of the cutting tools 26 to be used to machine the near-net shape 12, as well as knowledge of the part 11 as designed and the scaffolding 12 (available through the stored models of designed parts 25), are respectively retrieved (steps 41 and 42). Note that initially, the near-net shape 10 is the combination of the part 11 and the scaffolding 12. The library 26 stores information on each type of milling tool, including the orientations and positions in which the milling tool can operate. Next, for process planning purposes, the tip of the machining tool assembly 29 is logically located (step 43) to coincide with the origin of a coordinate system in R.sup.3. The tool assembly's tip would ordinarily be the aspect of the machining tool 31 that makes actual physical contact with the near-net shape 10 to remove a support beam 12 from the part 11. This coordinate system is used to measure the relative positions and orientations of the tool assembly T with respect to the near-net shape N. Next, logically assume that there are finitely many support beams S={S.sub.1, . . . , S.sub.k} added on to the part P that is intended to be fabricated by the AM process (step 44). In general, k will represent the actual number of support beams 12. Therefore, N=P.sub.i=1.sup.kS.sub.i.
(17) Unlike traditional machining, the entire scaffolding 12 need not be completely machined off the near-net shape 10, though that is a feasible strategy. Rather, in SM processes, fracturing the region (or point) of contact between the support beam 12 and the part 11, so that the part 11 can be disengaged from the support beam 12, will suffice. Therefore, at a minimum, collision-free contacts between the cutting tool's tip and the region of a near-net shape 10 where a support beam 12 touches the part's surface must be found. A greedy algorithm to plan the removal of the support beams 12 from the near-net shape 10 is performed (step 45), as further described infra with reference to
(18) The greedy algorithm models the motion of the tool assembly 31 through the free-spaces around the near-net shape 10 and the part 10 to determine feasible points of contact for the tool assembly 31.
.sub.1: C.fwdarw.R.sup.3(1)
.sub.2: C.fwdarw.SO(3)(2)
(19) Now, define the free-space .sub.N around the near-net shape N as the set of all of tool assembly T's configurations that do not collide with the near-net shape N, that is, all non-colliding orthogonal transformations of the machining tool assembly within the configuration space C, and any workholding devices W that are used to fixture the part as scaffolding is removed:
.sub.N={gC s.t. T.sub.g*{NW}=}(3)
where the letter g emphasizing that C is also a Lie group called the Special Euclidean group SE(3). Here T.sub.g refers to the tool assembly T transformed by an element gC, and * refers to regularized intersection. The complement of the free space .sub.N is called the obstacle space O that delineates configurations of the tool assembly T that cause collision with the near-net shape N. Therefore, the boundary shared by O and
.sub.N delineates all of the tool configurations that cause contact, but no collision between the tool assembly T and the near-net shape N.
(20) Similarly, define the free-space .sub.P around the part P as the set of all of tool assembly T's configurations that do not collide with PW, which is the part P and any workholding devices W.
.sub.P={gC s.t. T.sub.g*{PW}=}(4)
Notice that after the AM processes complete and before the SM processes start, .sub.P
.sub.N, that is, the free-space
.sub.P around the part P is a superset of the free-space
.sub.N around the near-net shape N because the support beams 12 will prevent the tool assembly T from being able to reach the physical space otherwise available to access the part P. As the support beams 12 are removed, the near-net shape N will get smaller and converge in size towards the size of the part P, while the free-space
.sub.N around the near-net shape N will get larger and converge towards the free-space
.sub.P around the part P.
(21) Given a boundary feature FP, where boundary of a set Y is denoted Y, two sets of collision-free contact configurations of tool assembly T at the boundary feature F can be defined as:.sub.F.sup.P={gF.sub.P.sub.1(T.sub.g)F}(5)
.sub.F.sup.N={gF.sub.F.sub.1(T.sub.g)F}(6)
The intersection of each support beam S.sub.iS with the part P will be a boundary feature F.sub.i. For simplicity, assume that boundary feature F.sub.i is a point set, which is consistent with AM practice, where support beams S are often designed to have minimal contact with the boundary of the part P to minimize surface roughness and enable easier fracture and removal of the support beams S by SM processes.
(22) Next, the manner of construction of the support beams 12 is determined (step 62) to provide boundary features at the intersection of the individual support beam S.sub.i and the part P. Preferably, support beams are constructed from a surface of P to a stationary base plate or fixture. However, in some situations, the support beams 12 may have to be constructed from one location of P to another location of P. Also, an individual support beam S.sub.i may contact the part P at multiple locations when the contacting support beams are branched outwards from a main trunk, such as occurs when the scaffolding is organized in tree-like shapes. To accommodate these situations, a specific boundary feature F.sub.i=S.sub.iP can be a discrete point set, which is the intersection of the individual support beam S.sub.i and the part P. Therefore, if .sub.F.sub.
.sub.F.sub.
.sub.F.sub.
(23) The part 11 is then evaluated for manufacturability (step 63), as further described infra with reference to
(24) On the other hand, if a part being fabricated 11 is manufacturable (step 64), that is, boundary features F.sub.i have been found for all of the support beams S, a collection of tool assembly configurations that are guaranteed to be non-colliding but which can access all points in the boundary features F.sub.i can be generated (step 65) using the support removal sequence, after which the greedy algorithm terminates. In a further embodiment, human engineers can validate the process plans and, if desired, re-order the support removal sequence. The reordered support removal sequence is resubmitted to the greedy algorithm to attempt to re-plan the tool motions to remove the supports without collision, starting with determining the manner of construction of the support beams 12 (step 62) based upon the reordered support removal sequence.
(25) Hybrid manufacturability hinges upon the ability to remove the support beams 12 from a near-net shape 10 to yield the part 11. .sub.F.sub.
.sub.F.sub.
(26) There may be multiple individual support beams S.sub.i that are eligible for removal at each recursion (or iteration), that is, multiple support beams S.sub.i may satisfy the condition that .sub.1(.sub.F.sub.
.sub.F.sup.N of tool assembly T at the boundary feature F. A tool path planner 21 that uses motion planning algorithms, for instance, the OMPL, cited supra, may be used to choose a particular support beam 12 and plan the individual tool assembly trajectories from the chosen support beam 12 to the next support beam 12 in the support removal sequence. The challenge with this approach, though, is computing the collision-free contact configurations
.sub.F.sub.
(27) In practical situations, several collision-free support removal sequences may be possible and various combinations of collision-free contact configurations .sub.F.sub.
(28) More generally, to optimize the sequencing of SM processes, a search space can be iteratively built where each search node stores distinct boundary features F.sub.N for the near-net shape N as obtained by calculating the free-space .sub.N around the near-net shape N resulting from subtracting a distinct support beam S.sub.iS from the near-net shape N. Several practical heuristics may be used to pick the support beams 12 that are good candidates for removal. For example, visibility analysis for manufacturing algorithms may be used to decide which of the F.sub.i have the most visibility because visibility can be used as a weak condition for accessibility. Furthermore, there may be practical considerations about how much deviation from the surface normal can be allowed for the tool contact orientations to minimize scalloping the part surface. Therefore, a limited set of cutting tool assembly orientations may be chosen a priori to minimize the number of cutting tool assembly orientations for which the free-spaces need to be computed.
(29) The six-dimensional configuration space of obstacles and free-space for complex cutting tool and fixture assemblies can be effectively modeled to compute the collision-free contact configurations .sub.F.sub.
.sub.F.sub.
(30) More generally, given a collection of free-spaces obtained by iteratively reducing the number of support beams, standard search algorithms, such as A* (with an implemented cost function), can be used to find the best sequence of free-spaces that will provide a low-level tool path planner that uses motion planning algorithms, for instance, the OMPL, cited supra, all the available configurations to find a tool path from one support beam to the next support beam, and execute the support removal.
(31) While the invention has been particularly shown and described as referenced to the embodiments thereof, those skilled in the art will understand that the foregoing and other changes in form and detail may be made therein without departing from the spirit and scope of the invention.