Implementations of the present disclosure relate to automatic shapes generation in manufacturing.
Mechanical assemblies can exhibit complex relative motions (e.g., an engine may include pistons, a crankshaft, and a number of cam-follower driven valves that move coherently for proper operation). During such complex motions, collisions or interference, such as violation of physical spaces, between moving parts and their surroundings, must be avoided. That is, each moving component must not encounter unwanted interference to avoid physical damage to the mechanical assembly.
To achieve such goals, feasible design spaces are designed for each part's shape. For example, “maximal” collision-free pointsets may be computed using configuration space modeling techniques, such as Minkowski operations and sweep/unsweep. Using such techniques, for a pair of parts undergoing a given relative motion, the geometry of one part (chosen arbitrarily) must be fixed to compute the maximal shape of the other part by an unsweep operation. Making such arbitrary choices in a multi-component assembly can place unnecessary restrictions on the design space, and may not allow for generating or optimizing (e.g., via topology optimization) multiple interactive components (e.g., two or more objects moving simultaneously relative to each other).
The described embodiments and the advantages thereof may best be understood by reference to the following description taken in conjunction with the accompanying drawings. These drawings in no way limit any changes in form and detail that may be made to the described embodiments by one skilled in the art without departing from the spirit and scope of the described embodiments.
Like numerals indicate like elements.
The present disclosure provides various techniques for automatically generating shapes (e.g., geometric representations) of two or more interacting objects based on arbitrary motions specified for the two or more interacting objects. In an example system. the system receives specifications of motions or movements of two or more objects and the associated design spaces and generates collision-free shapes for the two or more objects while the two or more objects undergo the specified motions. As such, the system solves for unknown or undefined shapes based on desired motion profiles. The shapes generated may be complicated and take advantage of additive manufacturing techniques. The term “co-generation” or “co-generate” refer to the process in which the shapes for multiple interactive objects are simultaneously generated (e.g., as opposed to generating one shape to fit another).
The present disclosure provides techniques, apparatus, systems, processes, methods, and/or non-transitory computer-readable storage medium for co-generating shapes free from collision or interference given arbitration motions. For example, given respective movement or motion characterizations of two or more objects, such as at least one of a function translation or a function rotation over time in at least one of the three axes in a Euclidean space, topology optimizations may be performed to generate the respective shapes or geometric representations of the two or more objects.
In an example, a processing device may receive a first characterization of motions of a first one of the two or more objects and receive a second characterization of motions of a second one of the two or more objects. The second characterization of motions is associated with the first characterization of motions of the first one of the two or more objects. The processing device may receive a respective design domain for each of the first and the second ones of the two or more objects. The respective design domain may include at least a dimensional constraint for the two or more objects. The processing device may perform, based on the first and the second characterizations of motions of the first and the second ones of the two or more objects and the design domain, topology optimizations for both the first and the second ones of the two or more objects to generate respective geometric representations that enable the first and the second characterizations of motions free from interference between the first and the second ones of the two or more objects. The topology optimizations may include sensitivity fields augmented by gradients and local measures of potential collisions.
In an example, the present disclosure provides a generic method for generating a broad set (or subset) of collision-free objects for given motion conditions. Examples of the present disclosure extends unsweep and allows for co-generation of geometries which change and evolve simultaneously to avoid collision. The techniques herein demonstrate the effectiveness and scalability in both 2D and 3D by generating a variety of collision-free geometric representations. The terms “collision” and “interference” may be used interchangeably herein. Collision or interference occurs when two objects, behaving according to specified motions, experience excessive deformation or stress (e.g., greater than a predefined threshold value). Certain desired surface contact (e.g., two rollers pressing toward each other to provide desired grip or friction, or two gears engaged with each other) is not collision or interference when such contact does not result in excessive deformation or stress.
As discussed below, the disclosed methods are illustrated with examples of automatic generation of freeform cam-follower profiles, gear teeth, and screw threads, starting from colliding blocks of materials, solely from a specification of relative motion and without the use of any feature-informed heuristics. Moreover, the disclosed techniques provide continuous measures of collision. The continuous measures of collision may be incorporated into standard physics-based shape generation, allowing for simultaneous collision-free and physics-informed co-design of mechanical parts for assembly (e.g., verification of interference conditions).
In aspects of the present disclosure, an example automated and scalable method is provided for co-generating geometric representations under parametric motions to satisfy collision avoidance or (equivalently) containment constraints. The example automated method herein may generate a family of “maximal pairs” of collision-free solids (e.g., geometric representations thereof) simultaneously, ensuring persistent contact while avoiding collisions of interference, and using a hyper-parameter to control the relative size of their modified regions. Unlike existing methods that require making arbitrary geometric choices (e.g., fixing one solid and computing the other via unsweep), techniques of the present disclosure avoid premature decisions and unnecessary restrictions that lead to suboptimal solutions. The present disclosure also show that unsweep of each solid against the other is subsumed as a special case of operation at the two extremes of the hyper-parameter spectrum.
Various examples were provided demonstrating aspects of the present disclosure. The disclosed methods may generate pairs of collision-free solids in both 2D and 3D, discretized by immersing them into a pair of Cartesian grids using finite volume (FV) and finite sampling (FS) schemes. By precomputing the sparse pair-wise correlation matrix for a pair of grids in relative motion, the present disclosure demonstrated the scalability of the approach. The most computationally demanding task in the design loop is cast into a pre- and post-multiplication of the correlation matrix with the design variables (e.g., the density arrays for each solid). The results indicate that co-generating is essential, not only for generating a broad family of collision-free solids to enable downstream design flexibility, but also to find well-fitting solids that maintain contact throughout the motion. While collision avoidance is not sufficient to ensure persistent contact, the co-generation approach of the present disclosure is a viable route for designing mechanisms in which contact and complementarity are critical for function, such as cam-follower mechanisms and gear trains. More effective contact or complementarity measures can be developed, using similar measure-theoretic approaches employed for collision measures, to replace the simple mass maximization objective and mass ratio constraint.
Additionally, the formulation of the co-generation procedure in which measures of collision are formulated as locally differentiable fields can be seamlessly integrated into generative design approaches, such as topology optimization (TO). In the context of design for assembly, this could broaden the scope of TO from part-level design to assembly-level design in which parts and components are simultaneously designed for physics-based objectives while ensuring parts are collision free. When co-generating shapes (e.g., of solids) within larger assemblies (e.g., hundreds of parts) one has to deal with combinatorial explosion when attempting to co-design pairs, triplets, and so on, to avoid collision across all parts. This indicates that future work should explore how to avoid the need to compute the collision between all components in an assembly. In the worst case scenario, the initial design domain of each component can be large enough for all parts in an assembly to collide with all others, and the geometric representations are co-generated therein (e.g., in the interfering initial design domains). Various examples are presented below.
The motions and objective information 163 from the data storage 140 may be received from a design input device 110. The design input device 110 may include any computational terminal, such as a standalone computational device that includes individual processing and storage capacities. The design input device 110 may receive various inputs from a user, including motion information 112, design domain 114, and objective information 116.
The motion information 112 may include, for each of two or more interacting objects, a characterization of movement. The characterization of movement may be a function over time. The function may describe any transition in and rotation about a Cartesian axis. The motion information 112 may also include relationships between at least two motions of the two or more interacting objects, such as a phase difference or delays between motions. In some cases, the motion information 112 may include at least one of: a trajectory or a boundary of motions; a velocity of movements along the trajectory or within the boundary; a rate of rotation along the trajectory or within the boundary; or a causal relationship between the first characterization of motions and the second characterization of motions.
The design domain 114 may include boundaries or limits enclosing the respective geometric representation for each of the moving objects. Such boundaries may be identified based on the physical limits of each of the moving object and the surrounding objects (e.g., what the moving object is not interacting with, such as a housing or a boundary limit, size limit, clearance limit, etc.). For objects interacting with each other, the respective design domains 114 may overlap and interfere initially for co-generating the collision-free results. In some cases, the design domain 114 includes at least one of: a parameter of a material aspect of the first or the second one of the one or more objects for determining deformation in the potential collisions; or a parameter of a production aspect of the first or the second one of the one or more objects for determining manufacturability of the first or the second one of the one or more objects.
The objective information 116 may include constraints or criteria for determining or selecting results that satisfy the motion requirements 112 within the design domain 114. For example, the objective information may include load capacity, material applicability, costs, and different aspects of performance (see examples corresponding to
In some cases, the objective information 116 may include specific materials or associated manufacturing techniques for producing the geometric representations to be generated. For example, certain shapes may be available in additive manufacturing (AM) while some other shapes may be suited for subtractive manufacturing (SM), both of which may affect shape and strength availabilities. In AM in general, layers of materials may be added along a direction to form a 3D shape. The strength of the produced shape may thus depend on the bonding between the layers. In SM, however, a block of material is cut (e.g., by milling, turning, etc.) down to the desired shape. The strength of the produced shape may thus depend on the original material strength. Both AM and SM produced parts may use post-processing, such as heat treatment, to further alter the strength of the produced parts.
Regarding AM, any material that may solidify into a controlled pattern may form each of the added layers, such as, for example, powder materials to be sintered at high temperatures, extrudable materials to be extruded and solidify, and photosensitive materials to be solidified from liquid by light. Specifically, powder materials may include any pulverized materials, such as metal powders and powders of various thermoplastics. When locally heated, by a high power laser dot, for example, the powder materials melt and connect into a solitary piece. By controlling manufacturing parameters, including power output, how fast the laser dot (or another heat source) is traveling, how big (or small) the laser dot is used, the size and density of the powder materials, the melting temperature, and other production parameters, a physical copy of the model can be produced. Selective laser sintering (SLS), selective laser melting (SLM), and laser powder bed fusion (LPBF) are examples of manufacturing techniques that use powder materials.
Extrudable materials may include various thermoplastic materials as well as edible materials such as sugar or ice cream, or materials such as sand or glass. Example thermal plastic materials may include acrylonitrile butadiene styrene (ABS), polylactic acid (PLA), polyethylene terephthalate glycol (PTEG), nylon, thermoplastic polyurethane (TPU), polycarbonate (PC), and any combination thereof. Fused deposition modeling (FDM) is an example AM technique applicable to use extrudable materials in AM processes. Extrudable materials may also include materials that solidify by chemical reactions, such as concrete, two-part epoxy, or the like.
During printing of the extrudable materials, a controlled portion of the extrudable materials is extruded and deposited onto a layer below (or the build plate when printing the first layer). The deposited portion is quickly cooled down to solidify, either by conducting the heat away through the layer below or transferring away by cool air created to surround the extrusion. Or, in case of curing or solidifying by chemical reactions, the extruded materials may solidify in an expected reaction time. By controlling production parameters, such as the extrusion temperature, the cooling rate (or the solidifying rate), the extrusion rate, and other constraints (e.g., the width of the extrusion nozzle), parts of different materials and different strengths can be printed.
Photosensitive materials may include curable resin materials reactive to ultra-violet radiations at various wavelength ranges (e.g., 390-405 nm). During printing, each layer of photosensitive materials is exposed, either globally or locally, to a curing light source to transform from liquid to solid. In some examples, such as stereolithography (SLA) 3D printing or liquid crystal display (LCD) 3D printing, a tank or bath of the photosensitive materials may be disposed between a light source and a build platform. The light source may be a moving laser dot (e.g., in SLA) or a collimated beam filtered by an LCD. The initial layer may be created by having the build platform positioned adjacent to a transparent and flexible medium to produce a thin layer of the photosensitive materials in the liquid phase. The movement of the laser dot and the filtering pattern of the LCD creates the pattern for each layer.
Upon the initial layer solidifies, the build platform and the cured layer are moved away from the medium to allow the next layer of photosensitive materials in liquid phase to enter the gap between the platform and the medium. Layer by layer, the build platform moves away from the medium (and the light source) to form the model. In some examples, such as in “Polyjet” 3D printing, the photosensitive materials may be disposed directly by jetting (similar to jetting ink by inkjet printers) onto the previous layer or a build surface and then cured by a light source.
In some examples, a print head may extrude thick or viscous photosensitive materials that are cured by a light source carried by the print head. When the aforementioned techniques are used, the design domain 114 may include various aspects of exposure (e.g., light power, rate of transmission, exposure time, etc.), pattern creation (e.g., laser dot size, LCD resolution, jetting resolution, etc.), and other system parameters (e.g., layer height, material properties, etc.).
During operation, the design input device 110 may receive the motion information 112, the design domain 114, and the objective information 116. The design input device 110 may then provide the information (collectively referred to as the motions and objective information 163) to the data storage 140 connected to the network 105. The network 105 may, upon demand or request by a user, provide the motions and objective information 163 to the processing device 160. When the processing device 160 completes co-generating the optimized shapes 167, the processing device 160 transfers the optimized shapes 167 to the data storage 140 to be accessible by the manufacturing device 142.
As shown, the collision-free shapes co-generation processing device 160 may include a topology optimization module 130, a collision measurement module 150, and an incremental shape co-generation module 155. The topology optimization module 130 may further include a sensitivity fields augmentation module 132. These modules operate to provide a general formulation and computational framework for co-generating maximal collision-free shapes in arbitrary relative motion. In particular, the techniques herein, as performed by the collision-free shapes co-generation processing device 160, expand the unsweep operation and the underlying notion of maximality (for a partial ordering of sets) to two or more of solids, to more broadly explore the space of collision-free designs. The techniques herein may measure the collision of solids in relative motion both locally and globally to use as a differentiable violation measure for gradient-descent optimization.
According to aspects of the present disclosure, the violation measure may be used to formulate an iterative and incremental co-generation procedure for a broad subset of maximal pairs of collision-free solids. In addition, the techniques disclosed herein may be scaled to efficiently co-generate a variety of nontrivial collision-free solids with persistent contact in both two-dimensional (2D) and three-dimensional (3D) models.
Finally, the techniques herein may easily be integrated with other constraints in gradient-descent optimization to extend beyond geometric reasoning. In some cases, the present disclosure also computes the collision measure efficiently by linear-algebraic operations, involving a pre-computed pairwise correlation matrix that depends on the motion, pre- and post-multiplied by arrays of design variables, all of which can be parallelized on multi-core and/or multi-thread central processing units (CPU) as well as graphical processing units (GPU). Details operations of the collision-free shapes co-generation processing device 160 are further discussed in view of
Although the design input device 110 and the collision-free shapes co-generation processing device 160 are illustrated as two separate devices, in some cases, the design input device 110 and the collision-free shapes co-generation processing device 160 may be included in a same computational system (or two modules on a common computational platform). In some cases, the design input device 110 may have sufficient computational power to behave as the collision-free shapes co-generation processing device 160, or the collision-free shapes co-generation processing device 160 may include one or more user interfaces to receive direct input of modeling and production parameters therein.
In some cases, the design input device 110 may be a consumer terminal (e.g., a personal computer, a smart phone, etc.) that enables a user to upload designs and relevant information to the data storage 140. The collision-free shapes co-generation processing device 160 may behave as a server performing requested services to modify or improve the shape and production information in the data storage 140, via the network 105. The data storage 140 may store production information separate from the design input device 110 (e.g., from the primary manufacturing device 142). The systems, techniques, and methods disclosed herein may therefore be applicable without a fixed terminal for the design input device 110, and rather, a flexible web-based service that connects user data, processing devices, and manufacturing devices in one production optimization environment.
As to be described with various examples below, in the present disclosure, the collision-free shapes co-generation system 100 allows for automatic shape co-generation of objects given arbitrary relative motions to avoid collision or other (equivalent) containment constraints are disclosed. In some cases, the constraints may include various design criteria involving interactions of shapes and motions. To incorporate such constraints into gradient-based optimization, according to aspects of the present disclosure, violations of the containment constraints are locally evaluable and differentiable with respect to design variables (e.g., small geometric or topological changes), to penalize the objective functions. Additionally, collision is a pairwise relation, presenting additional challenges when multiple moving parts are to be designed simultaneously. Changes to one part will potentially introduce or eliminate collisions with the others, necessitating a co-design workflow in which the parts are shaped simultaneously, evolution of one part directly informing those of the others in the assembly.
Aspects of the present disclosure provide a framework to develop such workflows to design families of parts in which collision avoidance constraints can be simultaneously satisfied and seamlessly integrated with other (e.g., performance and manufacturing) constraints. More specifically, aspects of the present disclosure provide an example procedure to generate members of a family of “maximal pairs” of collision-free parts or objects. Herein, the terms objects, parts, shapes, forms, designs, geometries, and geometric representations may be understood interchangeably as a geometric representations of objects and the like.
Existing methods do not allow for co-generation of objects based on interactive and arbitrary motions. There are at least two challenges, formulated in a set-theoretic language, in a design framework. First, they require full knowledge of all but one of the shapes and motions on which they apply—for instance, sweep/unsweep map a given shape and a given motion to a maximal shape, while homogeneous Minkowski products/quotients map a given pair of shapes to a maximal motion, avoiding collisions. Second, these set-theoretic operations do not interoperate well with other (e.g., performance and manufacturing) constraints, commonly expressed using analytic inequalities. Unlike the latter, the former does not measure violation of collision constraints, which is critical for navigating tradeoffs with other constraints. Measure-theoretic generalizations of such operations based on convolution algebras have led to a path forward by formulating violations of collision constraints as locally evaluable and differentiable measures and integrating them with other constraints via Lagrange multipliers. Therefore, existing practice has been limited to single part design or shape generation.
In contrast, techniques disclosed herein do not require either part's shape to be fixed upfront and can generate families of maximal collision-free designs, using local and global measures that can be integrated with other constraints and differentiated for gradient-descent optimization. The present disclosure provides an incremental co-generation procedure that subsumes one-way unsweeps of either part, against the initial design of the other part's complement, as extreme cases of the family of maximal pairs. Aspects of the present disclosure provide a computational algorithm to compute collision measures using a voxelization of the moving domains. An example formal set-theoretic groundwork not tied to a specific representation scheme and can be discretized in many different ways is also disclosed. Moreover, the present disclosure uses gradients and local measures of the collision measures to augment the TO sensitivity fields, enabling further scalability. Importantly, techniques disclosed herein generate families of maximal shapes as opposed to a single arbitrary pair obtained using rule-based heuristics.
Upon receiving the design input 210, the collision-free shape co-generation module 220 may, at 222, receive a first characterization of motions of a first object, such as from the motion characterizations 212. An example of a first characterization of motions is shown in
At 224, the collision-free shape co-generation module 220 receives a second characterization of motions of a second object. In the cam-follower mechanism example 300 of
At 226, the collision-free shape co-generation module 220 may receive a respective design domain for each of the first and the second objects. For example, in
At 228, the collision-free shape co-generation module 220 may generate respective geometric representations in an incremental or iterative procedure for a subset of maximal pairs of the first and second objects. For example, the initial geometric representations may be shapes corresponding to the respective design domains, which may overlap (e.g., potential collisions to be measured in the coming procedures). An illustrative example is provided in
At 230, the collision-free shape co-generation module 220 may perform an unsweep operation for both the first and the second objects and measure the potential collisions. Based on the measurement, at 232, the collision-free shape co-generation module 220 may perform topology optimizations for the first and the second objects so that the respective geometric representations of the first and second objects are free from interference or collision when performing the first and the second motions.
The design output 240 may include the co-generated results for the geometric representation of the first object 242 and the geometric representation of the second object 244. Illustrative examples are shown in
For example, kinematic design of mechanical parts and assemblies under prescribed motions can be formulated as computing “maximal” pointsets that satisfy collision avoidance or (equivalently) containment constraints. The maximality is defined in the partial ordering of pointsets with respect to containment. Such maximal shapes prune the design space to a feasible subspace, defined by the powerset of the maximal pointset, for subsequent design space exploration to satisfy various performance and manufacturing criteria (e.g. via topology optimization).
To illustrate, let S⊂d stand for a d dimensional solid or ‘r-set’, defined as a compact (bounded and closed) regular semi-analytic pointset in the Euclidean d space
d. Let M⊂SE(d) be a motion, e.g., a parametrized collection of rigid configurations or ‘poses’ (combined rotations and translations) that a d dimensional pointset can assume. For computational purposes, the solids are commonly represented by boundary or volumetric representations (e.g., NURBS, CSG, surface/volume mesh, voxels, or sampled point clouds), while motions are typically represented by sampled or parametrized homogeneous matrices, dual quaternions, etc.
The first class of problems can be formulated and solved using the sweep and unsweep operations. The sweep of a given solid S under a given motion M is another pointset sweep (M, S)⊂d, which is a superset of S collecting all points that are included in the displaced shape τS for at least one configurations τ∈M:
where Mx≙{τx|τ∈M}“and” τS≙{τx|x∈S},
where τx∈d denotes a displaced point.
Note that the membership of a query point x∈d in the sweep is tested by applying the inverse motion to the query point and checking whether the resulting trajectory passes through the given shape.
On the other hand, the unsweep of a given solid S undergoing a given motion M is another pointset unsweep (M, S)⊂d, defined by the subset of S including all points that that remain included in the displaced shape τS for all configurations τ∈M:
where Ŝ≙(d−S) (is the set complement of S.
Note that the membership of a query point x∈d in the upsweep is tested by applying the forward motion to the query point and checking whether the resulting trajectory passes through the given shape.
To see how sweep and unsweep can be used in practical design problems, consider a pair of solids S1, S2⊂d moving under one-parametric motions M1, M2⊂
d. The solids can be parts in a single degree-of-freedom (DOF) mechanism, e.g., any pair of links in a four-bar linkage, a cam and a follower, a pair of gears, a latch and a pin, etc. The relative motion (of S2 as observed from a frame attached to S1) is M≙M1−1M2. If the present disclosure fix the shape of solid S1, the maximal pointset that does not collide with S1 (e.g., is contained within
S*
2≙
The maximality implies that every other solid that satisfies the no-collision constraint will be a subset of the maximal pointset (e.g., (MS2∩S1=0 iff S2⊆S*2).
Let us assume the 1-DOF motion can be parametrized as M={τ(t)|0≤t≤1}. For the 1 DOF mechanisms exemplified above, t∈[0, 1] can be thought of as normalized time—or any parameter monotonically changing with time—over the mechanism's motion cycle. For example, in the cam-follower mechanism 300 of
Constraint 1: Let SB represent a bounding region that the follower 315 must not exit certain boundary to avoid collision with surrounding objects that are stationary (hence MB is identity).
Constraint 2: Let SP represent the cam 350 of given shape, attached to the common frame of reference, thus moving along a given trajectory MP. The follower 315 must avoid collision while maintaining contact with the cam 350, as it moves with a relative motion MP−1ML.
The design space for SL is thus restricted (by the conjunction of these constraints) to subsets of
S*
L:=unsweep(ML,SL)∩unsweep(M−1ML,SP).
Despite its generality (for arbitrarily complex shapes and motions) and rigor, this approach in current practice has three major limitations, which are to be overcome by the techniques provided in the present disclosure. The limitations include:
First, using unsweep requires pre-defining one of the two shapes in relative motion to obtain a maximal shape for the other one. This requirement may be fine for design problems with clear choices for the shapes of certain components or spatial regions because of non-negotiable conditions (e.g., a bounding box) or simple profiles (e.g., the cam 350 of
Second, the maximal pointsets that satisfy these constraints come with no guarantees for effective contact, shape complementary, force/torque transmission, etc., whose quantification for arbitrary shapes is nontrivial. For example, consider two parts in a relative screw motion, each to be selected as a subset of the bounding boxes. If one of the parts is shaped as a cylindrical hole or a threaded nut, the maximal shape for the other part will be computed by an unsweep as a matching cylindrical peg or a threaded bolt, respectively. The contact and complementary is perfect in this case, because the screw motions form a symmetry subgroup of SE(3) and the first part's shape (the nut) was carefully selected such that this particular screw motion of the same pitch is it's symmetry; hence unsweep generates a matching shape (the bolt) that, not only avoids collision with the nut, but is also a perfect complement of it and remains as such throughout the motion. However, if a slightly different shape for the first part is picked, such as a half-cylindrical hole or a nut of a different pitch, the unsweep would generate a maximal shape that, despite avoiding collision, offers poor contact and complementarity. This example illustrates why co-design or co-generation is an improved approach as disclosed herein, where both shapes are generated (e.g., by initial selection or definition) and refined (e.g., by topology optimization) simultaneously.
The third limitation is that set-theoretic operations such as unsweep, used to express kinematic constraints, do not interoperate well with analytic constraints such as global or local inequalities in terms of field variables, used to express physics-based constraints (e.g., stiffness or strength). As a result, concurrently satisfying kinematic and physical constraints is challenging. In some cases, set-theoretic operations may be translated with measure-theoretic parallels, e.g., by replacing Boolean and morphological operations of pointsets with pointwise logical operations and convolutions of their indicator functions, respectively. The later extend the former by not only providing binary membership tests for set operations, but also continuous and differentiable membership “grades” that measure violations of constraints and can be penalized to sensitivity fields for topology optimization. By comparison, the present disclosure provides a measure-theoretic extension of unsweep that defines a distributed field measuring pointwise collision on both objects in relative motion, and a systematic approach to incrementally reduce them by adding/removing points from both pointsets.
To illustrate, two design domains are considered: Ω1, Ω2⊆d for the two solid the present disclosure aim to co-design (d=2, 3). The formulation may begin from two given initial designs S1⊆Ω1 and S2⊆Ω2 representing the shapes of the two solids at rest (e.g., before applying any motion). Let M1, M2∈SE(d) represent the motions that these solids experience with respect to a common frame of reference.
M
1≙{τ1(t)|0≤τ≤1},
M
2≙{τ2(t)|0≤τ≤1},
where τ1, τ2: [0, 1]→SE(d) are continuously time-variant configurations, and can be represented by homogeneous matrices, dual quaternions, etc. The displaced solids at any given time t∈[0, 1] are:
S
1(t)≙τ1(t)S1={τ1(t)x|x∈S1},
S
2(t)≙τ2(t)S2={T2(t)x|x∈S2}.
Without loss of generality, the present disclosure assume τ1(0)=τ2(0) to be identity, so S1(0)=S1 and S2(0)=S2, as intended.
To formulate collision measures, it is more convenient to represent the two pointsets implicitly via binary membership tests, also called indicator or characteristic functions 1S1, 1S2:3→{0,1}, defined generally by:
The indicator functions are contra-variant with rigid transformations, e.g., 1τS(x)=1S(τ−1x). This means that a membership query for a given point against the displaced solid can be computed by displacing the query point along the inverse trajectory and testing its membership against the stationary solid.
Let M=M1−1M2 stand for the relative motion of S2 as observed from a frame of reference attached to S1, noting that by kinematic inversion, M−1=M2−1M1 would represent the relative motion of S1 as observed from a frame of reference attached to S2.
Let M1,2 (resp. M2,1) represent the relative motions of S2 (resp. S1) as observed from a moving frame of reference attached to S1 (resp. S2):
M
1,2
≙M
1
−1
M
2={τ1,2(t)|0≤t≤1},
M
2,1
≙M
2
−1
M
1={τ2,1(t)|0≤t≤1};
where τ1,2(t)=τ1−1(t)τ2(t) and τ1,2(t)=τ1−1(t)τ2(t). Note also that τ1,2(t)=τ2,1−1(t) hence M1,2(t)=M2,1−1(t).
The displaced solids at any given time t∈[0, 1] in the relative frames are:
S
1,2(t)≙τ2,1(t)S1={τ2,1(t)x|x∈S1}
S
2,1(t)≙τ1,2(t)S2={τ1,2(t)x|x∈S2}
To quantify the contribution of every point x∈3 attached to S1 (resp. S2) to its collision with S2 (resp. S1), the present disclosure can measure the duration of its trajectory that collides with S2 (resp. S1):
f
S
(x)≙∫011S
f
S
(x)≙∫011S
as illustrated in
S
(x)≙∫011S
S
(x)≙∫011S
which resemble convolutions (need not be, however, because these motions do not necessarily form subgroups; analysis herein applies anyways), generalized from the Euclidean space to motions M1,2, M2,1∈SE(d).
Lemma 1. The two functions above are implicit representations of the following unsweeps as their 0-superlevel sets (up to regularization), e.g., the following statement is true “almost everywhere.” That is, it can be untrue over regions of d−1 or lower dimensions, which disappear upon topological regularization.
x∈unsweep (M1,2,S
x∈unsweep (M2,1,S
The idea is that by definition, points in a given unsweep (M,S) are defined by containment in
To derive global measures (a single value for each solid) from the above local measures, the present disclosure can integrate them over the respective solids:
g
S
≙∫SS
g
S
≙∫SS
The goal of collision-free co-design is to find a “maximal pair” of solids S1⊆Ω1 and S2⊆Ω2 in a sense that the present disclosure shall define precisely below, such that gS2=gs2=0, which is true iff for all x∈d,
Definition 1. A pair of solids (S1, S2) are called collision-free under the relative motion M1,2=M2,1−1 if:
μd+1[S1∩M1,2S2]=μd+1[M2,1S1∩S2]=0
Lemma 2. A pair of solids (S1, S2) are collision-free iff gS2=0 which is equivalent to gS2=0.
The above collision criteria imply interference over a d-dimensional region—while contact over lower (d−1 and below) dimensional regions is allowed-over a 1-measurable period of time. Substituting the local measures into the global measures and swapping the space and time integrals yield:
g
S
=∫01∫Ω
g
S
=∫01∫Ω
At a given snapshot t∈[0.1], the inner integrals are nonzero iff μd[S1(t)∩S2(t)]=0 which, by changing the fram of reference to those attached to each solid, is equivalent to μd[S1∩S2,1(t)]=0 abd μd[S1,2(t)∩S2]=0. The outer integrals are nonzero if such a nonzero d-measurable interference persists for a 1-measurable period of time.
Definition 2. A pair of collision-free solids (S*1, S*2) under the relative motion M1,2=M2,1−1 is “maximal” if any d-measurable growth of either solid, while keeping the other solid unchanged, makes them no longer collision-free under the same motion. More precisely, for every other pair of solids (S1, S2):
if S*1⊂S1 then (S1,S*2) cannot be collision-free; and
if S*2⊂S2 then (S*1,S2) cannot be collision-free.
The maximal pairs can be more formally defined by a imposing a partial order relationover the space of all collision-free pairs, where (S1, S2)
(S′1, S′2) iff S1⊆S′1 and S2=S′2 or S1=S′1 and S2⊆S′2. A pair (S*1, S*2) is maximal if (S*1, S*2)
(S′1, S′2) implies (S*1, S*2)=(S′1, S′2).
Notice that for a maximal pair of collision-free solids (S*1, S*2), if one solid is grown by the slightest bit, the only way to keep the pair collision-free for the same motion scenario is to shrink the other solid. This observation provides us with an incremental shape modification strategy to traverse a family of maximal pairs, akin to walking along a Pareto front of maximality. If the present disclosure picture the design space of all pairs of solids within the domains Ω1, Ω2⊆d, the maximal front is a higher-dimensional manifold that bounds the feasible design subspace.
Corollary 1. Given a pair of “initial designs” S1⊆Ω1 and S2⊆Ω2 that collide under one-parametric motions M1, M2⊆SE(3), the following two pairs of maximally collision-free can be constructed via unsweep:
(S1,S*2), where S*2≙unsweep(M1,2,
(S*1, S2), where S*1≙unsweep(M2,1,
Note that these are extreme cases:
However, there are uncountably many other pairs (S′1, S′2 in between the two extreme cases, if the present disclosure allow both shapes to change. All of them can be captured by simultaneously satisfying gS′
The next operation is how the present disclosure may effectively parameterize the family of maximal collision-free pairs (S′1, S′2), e.g., how do the present disclosure pick a hyper-parameter γ∈[0,1] such that:
(S′1,S′2)γ|γ:=0=(S1,S*2),
(S′1,S′2)γ|γ:=1=(S*1,S2),
while (S′1, S′2)γ for γ∈[0,1] produces other maximal pairs in between. Note that this does not mean the uncountable family of all maximal pairs can be parameterized with a single (or a number of) parameters—in fact, it cannot. Aspects of the present disclosure provide techniques to capture some subset of the family with a meaningful hyper-parameter that serves as a “knob” to navigate tradeoffs for design space exploration. An optimization-based approach is provided below.
The above formulation is representation-agnostic and can be used with a variety of different representation schemes (e.g., B-reps, mesh, and voxels), as long as they support computation of d-integrals—and if they do not, one can approximate d-integrals by sampling the solids using quadrature rules, as long as the representation schemes support basic membership classification queries. Here, the present disclosure provides examples using the simplest approach to illustrate the practicality of formulation methods disclosed herein.
To enable finite representation of solids and digital computation of collision measures, let us approximate the indicator function using a finite linear combination:
where ϕ1(x) are local basis functions associated with a spatial tessellation and pS,i≥0 are the corresponding density values for i=1, 2, . . . , n. To approximately compute the integrals in (21) and (22), the present disclosure considers an asymmetric discretization strategy in which the stationary solid (e.g., the one to which the frame of reference is attached) is discretized via a finite volume (FV) scheme, while the moving solid (e.g., the one whose motion is observed) is discretized via a finite sample (FS) scheme.
For both schemes, let us immerse the solid in a uniform Cartesian grid of edge length ϵ>0, which is small enough to resolve the minimum features of the solid. Let xi∈d be the coordinates of the ith vertex (e.g., 0-cell) on the grid. Let Ci⊂
d stand for the dual d-cell (e.g., square pixels in 2D and cubic voxels in 3D):
C
i
≙{x
i
+x|x∈C},C≙[−∈/2,+∈/2]d
To capture the d-integral quantities accurately, let us associate to the ith grid vertex/cell the d-measure of the solid confined to Ci, normalized by μd[Ci]=∈d:
For the FV scheme, the basis functions are selected as unit pulse functions, e.g., indicator functions of Ci:
∅iFV(x)≙1C
Using these basis functions in the discrete formula above gives a piecewise-constant approximation of the indicator function over the dual grid. For the FS scheme, on the other hand, the basis functions are selected as impulse functions of intensity ∈d, e.g., shifted Dirac delta functions weighted by the d-measure of the cells they “lump” into their center points:
Using these basis functions in the discrete formula in (27) gives a lumped-measure approximation of the indicator function over the primal grid. Note that both FV and FS schemes are constructed such that the d-measures of the solid over every subset of the d-cells (e.g., digitized areas in 2D and volumes in 3D) are captured exactly for the finite ∈>0, while other integral properties converge to their exact values as ∈→0+.
Using an FV scheme to approximate the indicator functions of stationary solids S1⊆Ω1 and Ω2⊆Ω2, the present disclosure obtain:
where PS1, i1, PS2, i2∈[0,1] are densities (e.g., d-measure fractions) of S1∩Ci
Using an FS scheme to approximate the indicator functions of relatively moving solids S1,2(t)=T2,1(t)S1 and S2,1(t)=T1,2(t)S2 defined above, the present disclosure obtain:
Substituting the indicator functions with their d-measure-preserving approximations via density functions, respectively, and rearranging sums and integrals, the following is obtained:
where the weights wi
The δd-function has a “sifting” property; meaning that it turns d-integrals into a reading of the integrand at the impulse centers (where the δd-function's input is zero):
Here is what these weights mean:
Due to the asymmetric nature, discretization strategy wi
The integrand in (40) is nonzero if T1,2(t)xi
(τ2(t)xi
The integrand in (41) is nonzero if T2,1(t)xi
(τ1(t)xi
The finite approximations of the collision measures can be written as matrix equations:
q
S
≈[ρS
q
S
≈[ρS
The two arrays [PS
To precompute the grid correlations (e.g., weights) in (40) and (41), the time integral can be discretized in using a simple Riemann sum approximation:
where tk≙(k−1)δ for k=1, 2, . . . , K to uniformly discretize the time period [0,1] with time-steps of δ=(K−1)−1, small enough to capture the minimum features of the motion trajectories. Each sum takes 0 (K) operations involving evaluating and applying the motions T1,2(tk)∈M1,2 and T2,1(tk)∈M2,1 to each of the grid vertices xi
To enable co-design of [PS
First, partition the initial designs S1⊆Ω1 and S2⊆Ω2 are partitioned into two subdomains each; namely, the initially colliding subdomains and
are:
Ŝ
1
≙{x∈S
1|S
Ŝ
2
≙{x∈S
2|S
The initially collision free subdomains and
are:
≙{x∈S1|
S
≙{x∈S2|
S
S1=∪
and S2=
∪
. The collisions by modifying the latter are to be eliminated. In an example, optimization problem may be posed to pick an objective function that pushes the collision avoidance constraints to become active, e.g., the resulting pairs of solids become maximally collision-free. The present disclosure observed that maximizing the d-measure of both design subdomains (e.g., area in 2D and volume in 3D) if effective in many scenarios—although more sophisticated objective functions such as contact and complementarity measures can be adopted in future work. Moreover, to control the choice of maximal pairs from a one-parametric family using a meaningful hyper-parameter γ∈[0,1], the present disclosure add another constraint that enforces a d-measure ratio between two solids. The optimization problem is thus formulated as finding
⊆Ω1 and
⊆Ω2 to:
For gradient-descent optimization, the present disclosure defines a Lagrangian from the general formulation:
(Ŝ1,Ŝ2)=f(Ŝ1,Ŝ2)+λ1
Using the discretization scheme presented above, both ⊆Ω1 and
⊆Ω2 can be represented by density arrays [
]n1×1, and [
]n2×1, with pairwise collisions, [ŵi
f(Ŝ1,Ŝ2)≈∈d∥ρŜ
g(Ŝ1,Ŝ2)≈γ∈d∥ρŜ
where ∥⋅∥1 is the L1-norm, e.g., ∥pŜ
Without loss of generality, the present disclosure can eliminate ∈: =1 from all equations, given that aspects of the present disclosure is scale-agnostic. Substituting for the collision measures as well as the above norms, the following is obtained:
(Ŝ1,Ŝ2)≈(1+λ3γ)∥ρŜ
+λ1[ρŜ
+λ2[ρŜ
The quantities in the above Lagrangian and its partial derivatives with respect to design variables can be readily computed through linear-algebraic operations, which scale well for parallel computing on CPU/GPU, although the present disclosure have not implemented such parallelization in the present disclosure.
To solve the optimization problem an iterative approach is utilized where the method of moving asymptotes (MMA) is utilized. An example algorithm is provided below.
Obj. func.
Vol. diff.
Iter. Counter
For next iteration
With the optimization formulated, various examples of co-generation of collision-free solids are provided below.
As shown on the left, dimensions and initial positions of the cam and follower are provided. The normalized local collision measures are provided to show how initially the two shapes collide. The plots of local collisions measures are offset and rescaled for clarity and do not correspond to the initial physical locations. The local collision measure for each domain is shown in the grey-scale representations.
As shown on the right, the results 920 illustrates how the unsweep operation can result in a loss of contact for the cam and follower. The temporal resolution is 1,000 time-steps, the resolution of the cam is 400×400, and the resolution of the follower is 400×200. The unsweep operations result in a loss of contact at certain times in the trajectory. This example therefore shows that co-generation (shown in
In the range of approximately γ∈(0.7, 0.9) the solutions maintains contact even though it is not an explicit constraint. The present disclosure may not guarantee a continuous contact, for example, continuous contact is not required as maximality in collision avoidance may imply contact in one configuration, but not persistent contact throughout the whole motion, as shown in the results of
The dimensions and initial positions are provided in the upper left corner of
where ϕS is the rotation of the screw about the z-axis and the nut is stationary, and where RS describes the motion of the screw in the homogeneous transformation matrix, and the screw is translating about the z-axis as a function of its rotation, ϕ∈[0, 2π]. During its movement, the screw rotates 4 times. The temporal resolution is 5,000 time-steps, the resolution of the screw is 50×50×150, and the resolution of the nut is 100×100×50. One particular solution in which γ=0.2 is provided on the right of
As shown, the automatic co-generation of threads and convergence to a screw and nut pair, starting from two colliding boxes, illustrates aspects of the present disclosure. The threads appear naturally to generate maximal collision-free pairs from a screw motion, leading to a screw and nut pair with the same pitch as the given screw motion. The screw and nut pair need not be the only optimal solutions for such a motion path, however, as a cylindrical peg and hole pair would satisfy all the constraints, including maximally collision-free persistent contact, maximal (space-filling) mass, and desired mass ratio.
There may be infinitely many screw and nut pairs (of different thread profiles) that could satisfy the constraints and have equal (maximal) mass, thus automatically generating geometric representations of one of these threaded solids is more likely than finding the degenerate extreme case of cylindrical peg and hole (e.g., no threads). As such, aspects of the present disclosure employ methods that lead to convergence to one such local extremum of the optimization problem. Without the need to co-generate all possible shapes for the object pairs, additional constraints or an entirely different objective functions or constraints, e.g., maximizing contact, or complementarity measures as opposed to total mass and mass ratio (as well as manufacturing constraints and material considerations), may be used to identify more maximal pairs with better form, fit, or function.
The operations 1300 begins at 1310, by receiving a first characterization of motions of a first one of the two or more objects.
At 1320, a second characterization of motions of a second one of the two or more objects is received. The second characterization of motions is associated with the first characterization of motions of the first one of the two or more objects.
At 1330, a respective design domain for each of the first and the second ones of the two or more objects is received. The respective design domain includes at least a dimensional constraint for the two or more objects.
At 1340, a processing device performs, based on the first and the second characterizations of motions of the first and the second ones of the two or more objects and the design domain, topology optimizations for both the first and the second ones of the two or more objects to generate respective geometric representations that enable the first and the second characterizations of motions free from interference between the first and the second ones of the two or more objects. The topology optimizations include sensitivity fields augmented by gradients and local measures of potential collisions. In some cases, the processing device is coupled to a memory in an apparatus to carry out the operations.
In aspects, the processing device may perform the topology optimizations for both the first and the second ones of the two or more objects to generate the respective geometric representations by: performing an unsweep operation in the respective design domain for each of the first and the second ones of the two or more objects; and measuring potential collisions of solids, based on the first and the second characterizations of motions, locally and globally for a gradient-descent optimization.
In aspects, the processing device may perform the topology optimizations for both the first and the second ones of the two or more objects to generate the respective geometric representations further by: generating the respective geometric representations in an incremental or iterative procedure for a subset of maximal pairs of collision-free solids corresponding to the first and the second ones of the two or more objects, wherein the subset of maximal pairs of collision-free solids are conditioned upon an increase of shape in either the first or the second one of the one or more objects causes a collision.
In some cases, the first and the second characterizations of motions may include at least one of: a trajectory or a boundary of motions; a velocity of movements along the trajectory or within the boundary; a rate of rotation along the trajectory or within the boundary; or a causal relationship between the first characterization of motions and the second characterization of motions.
In aspects, the respective design domain further includes at least one of: a parameter of a material aspect of the first or the second one of the one or more objects for determining deformation in the potential collisions; or a parameter of a production aspect of the first or the second one of the one or more objects for determining manufacturability of the first or the second one of the one or more objects.
In some cases, the geometric representations of the first and the second ones of the one or more objects maintain a profile of contact in or during the first and the second characterizations of motions.
In some cases, the respective geometric representations comprise shapes that are: specific to one or more materials to be used, and specific to manufacturing techniques for the one or more materials to be used, wherein the shapes are represented by data convertible to additive manufacturing instructions.
Various operations are described as multiple discrete operations, in turn, in a manner that is most helpful in understanding the present disclosure, however, the order of description may not be construed to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation.
The exemplary computer system 1400 includes a processing device 1402, a main memory 1404 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM), a static memory 1406 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 1418, which communicate with each other via a bus 1430. The processing device 1402 may be implemented as the shape co-generation component 160 or a related processing device unit. In some cases, the processing device 1402 may be used to perform tasks associated with the shape co-generation component 160. Any of the signals provided over various buses described herein may be time multiplexed with other signals and provided over one or more common buses. Additionally, the inter1429 connection between circuit components or blocks may be shown as buses or as single signal lines. Each of the buses may alternatively be one or more single signal lines and each of the single signal lines may alternatively be buses.
Processing device 1402 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device may be complex instruction set computing (CISC) microprocessor, reduced instruction set computer (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device 1402 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 1402 may execute processing logic 1426, which may be one example of system 100 shown in
The data storage device 1418 may include a machine-readable storage medium 1428, on which is stored one or more set of instructions 1422 (e.g., software) embodying any one or more of the methodologies of functions described herein, including instructions to cause the processing device 1402 to execute system 100. The instructions 1422 may also reside, completely or at least partially, within the main memory 1404 or within the processing device 1402 during execution thereof by the computer system 1400; the main memory 1404 and the processing device 1402 also constituting machine-readable storage media. The instructions 1422 may further be transmitted or received over a network 1420 via the network interface device 1408.
The non-transitory machine-readable storage medium 1428 may also be used to store instructions to perform the methods and operations described herein. While the machine-readable storage medium 1428 is shown in an exemplary embodiment to be a single medium, the term “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) that store the one or more sets of instructions. A machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The machine-readable medium may include, but is not limited to, magnetic storage medium (e.g., floppy diskette); optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read-only memory (ROM); random-access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or another type of medium suitable for storing electronic instructions.
The preceding description sets forth numerous specific details such as examples of specific systems, components, methods, and so forth, in order to provide a good understanding of several embodiments of the present disclosure. It will be apparent to one skilled in the art, however, that at least some embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known components or methods are not described in detail or are presented in simple block diagram format in order to avoid unnecessarily obscuring the present disclosure. Thus, the specific details set forth are merely exemplary. Particular embodiments may vary from these exemplary details and still be contemplated to be within the scope of the present disclosure.
Additionally, some embodiments may be practiced in distributed computing environments where the machine-readable medium is stored on and or executed by more than one computer system. In addition, the information transferred between computer systems may either be pulled or pushed across the communication medium connecting the computer systems.
Embodiments of the claimed subject matter include, but are not limited to, various operations described herein. These operations may be performed by hardware components, software, firmware, or a combination thereof.
Although the operations of the methods herein are shown and described in a particular order, the order of the operations of each method may be altered so that certain operations may be performed in an inverse order or so that certain operation may be performed, at least in part, concurrently with other operations. In another embodiment, instructions or sub-operations of distinct operations may be in an intermittent or alternating manner.
The above description of illustrated implementations of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific implementations of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. The words “example” or “exemplary” are used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example” or “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the words “example” or “exemplary” is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X includes A or B” is intended to mean any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Moreover, use of the term “an embodiment” or “one embodiment” or “an implementation” or “one implementation” throughout is not intended to mean the same embodiment or implementation unless described as such. Furthermore, the terms “first,” “second,” “third,” “fourth,” etc. as used herein are meant as labels to distinguish among different elements and may not necessarily have an ordinal meaning according to their numerical designation.
It will be appreciated that variants of the above-disclosed and other features and functions, or alternatives thereof, may be combined into may other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims. The claims may encompass embodiments in hardware, software, or a combination thereof