Conventional material extrusion additive manufacturing (AM) processes require the user to make a trade-off between surface quality and build time of the part. A large bead filament deposition can speed up the build process; however, it leads to surfaces with high roughness due to the stair-stepping effect. The surface quality can be improved by using a small bead filament deposition, which increases the build time of the part. We present a new approach incorporating hybrid multi-resolution layers in material extrusion additive manufacturing to provide excellent surface quality without increasing the build time. Our slicing algorithm generates planar layers with large filaments to fill the interior regions in less time. The generated exterior layers are conformal and use small filaments to reduce the stair-stepping effect and improve surface quality. We also present a path planning algorithm to build parts with a single manipulator using a multi-nozzle extrusion tool. The path planning algorithm generates a smooth material deposition path by avoiding collision between the tool and the already built layers. It reduces the collision checks and performs collision detection in a computationally efficient manner. We build five parts to validate our approach and illustrate the benefits of multi-resolution AM.
American Society of Testing and Materials (ASTM) classifies Additive Manufacturing (AM) into the following seven categories: VAT photopolymerization, powder bed fusion, binder jetting, material jetting, sheet lamination, material extrusion, and direct energy deposition. In AM, the process in which the part is built layer by layer by extruding a molten filament is called material extrusion AM .
The filament, when deposited on a surface, has a bead geometry, as shown in Fig. 1. The deposited filament bead geometry can be defined using bead height and bead width. This bead geometry is related to the nozzle diameter, extrusion rate, and nozzle speed. The nozzle diameter limits the maximum bead height. To increase the bead height, we need to increase the nozzle diameter. To increase the bead width, we can squish the extruded material under the flat nozzle tip. So, it is crucial to understand that to attain a larger bead width along with a larger bead height, we need to use a separate nozzle with a larger diameter. Moreover, the build time reduction by having only larger bead width is lower than the build time reduction by having larger bead width and bead height in material extrusion AM.
The conventional material extrusion AM builds part using a constant bead size, which is dependent on the extrusion nozzle’s diameter. In this paper, we will refer to bead size with large height and width as the large filament and the bead size with comparatively small height and width as the small filament (see Fig. 1). Parts built with large filament have a lower build time. However, such parts face limitations, such as poor part geometry approximation and increased surface roughness caused by the stair-stepping effect and the deep grooves caused by the large filament. All these limitations can be reduced by using small filaments in material extrusion AM. This, in turn, increases the build time of the part. Thus, conventional material extrusion AM forces the user to compromise either on build-time or surface finish.
Conformal material extrusion AM enables building a part using non-planar layers. A conformal part is built with non-planar layers, and the CAD model of the built part is shown in Fig. 2. It is usually enabled using robotic manipulators, as shown in Fig. 3 or with computer numerical control (CNC) machine with a rotary table. We select manipulators for the bigger workspace, higher kinematic flexibility, and portability. Manipulators are easily programmable to execute non-planar tool-paths.
The main advantage of using non-planar layers is that it reduces the stair-stepping effect and improves surface quality [2–4]. Along with the reduced stair-stepping effect, conformal AM also provides advantages such as the reduction in build time and better-oriented filament in the parts. However, it is also affected by the bead size used to build the part. A larger filament increases the surface roughness due to the deep grooves caused by the bead shape. In comparison, a smaller filament reduces the surface roughness but increases the build time of the part. It can be seen in Fig. 4 that a large filament gives a rough surface quality to the part. Thus, users have to compromise between the surface quality and build time in conformal AM.
We define multi-resolution AM as a process in which small and large filaments are used to build a single part. The large filament is used to build the part’s interior regions (i.e., interior layers). The small filament is used to build the skin (i.e., exterior layers). The interior layers are sandwiched between the exterior layers. A part being built using multi-resolution AM is shown in Fig. 5. Multi-resolution AM offers the advantage of reducing the build time without compromising the surface quality. The part is built fast as the interior layers are built using large filaments. The interior layers form the major chunk of the part volume. The part has good surface quality as the exterior layers are built using small filaments.
We introduced the concept of multi-resolution AM in our previous work . In that work, we developed a robotic cell for performing multi-resolution AM. The robotic cell consisted of two 6 degrees-of-freedom (DOF) manipulators. The physical setup of the cell is shown in Fig. 6. We also described the algorithms needed to make the robotic cell work. These algorithms were as follows: (1) decomposition of a CAD part into different types of layers, (2) generation of tool-paths for each layer, (3) computation of part placement, and (4) generation of configuration space trajectory for each manipulator. The two drawbacks of this approach are (1) the voxel-based slicing algorithm and (2) the two manipulator setup. The voxel-based slicing is computationally expensive for small voxel sizes, and the path generated is rough when the voxel sizes are large. The use of two manipulators makes the entire setup expensive, and the approach not viable for industrial applications. This is because of the added investment for a second manipulator and a high amount of robot idle time while printing the part.
In a voxel-based slicing algorithm, the bounding box of the part is determined. The bounding box is divided into small cuboids known as voxels. The user usually determines the size of the voxels. The smaller the voxel size, the better will be the slicing resolution. However, a relatively smaller voxel compared to the bounding box of the part increases the computational cost of the algorithm. Finally, each voxel is labeled to indicate if it includes the part’s surface, and this information is used to generate the sliced layers of the part at the desired height.
This study presents a new approach for performing multi-resolution AM using a single 6DOF manipulator. To perform multi-resolution AM with a single manipulator, we need a multi-nozzle extrusion tool. Such a tool has a complex geometry, and we need to design our planning approach to work with this tool. The planning algorithm needs to generate a smooth path and avoid tool and workpiece collisions. Our approach has two novel features. First, we have developed an automated slicing algorithm (see Sec. 4) that analyzes the part and utilizes a combination of planar and conformal deposition steps to generate the layers for performing multi-resolution deposition. The slicing algorithm directly uses surface representation and hence avoids the limitations of the voxel-based approach. This enables it to generate a smooth path without increasing the execution time. Second, we present a search-based path planning algorithm (see Sec. 5) to generate smooth collision-free extrusion tool-paths for a manipulator. This algorithm achieves computational efficiency by reducing collision checks.
Our approach combines planar and conformal layers and utilizes a complex multi-nozzle tool to build the part. Due to the added complexity in extrusion tool geometry, the hybrid layers require collision checks along the entire deposition path to ensure feasibility. Doing this using an exhaustive search is not feasible. We have developed a graph search-based algorithm to guide the search to create tool-path for multi-resolution deposition in an efficient manner.
2 Related Work
Multi-resolution AM is currently being researched for several different processes . We focus on the extrusion-based process in this study . A few works in the domain include our prior work in building a robotic cell to perform multi-resolution AM . Chesser et al. used dual resolution planar layers to improve surface roughness for big area AM . Delrot et al. developed an integrated platform for multi-resolution AM by miniaturizing two nozzles . This means there is no specialized algorithm meant explicitly for multi-resolution material extrusion AM. So, we develop one such algorithm that combines planar and conformal AM to generate tool-paths for performing multi-resolution AM. This algorithm derives the ideas from adaptive slicing, conformal AM, and collision avoidance in AM. We discuss the relevant works in each of these areas and the limitations of the existing works.
Adaptive slicing is a process in which the layer height is varied to reduce the stair-stepping effect of planar AM [10,11]. We discuss a few of the relevant research in adaptive slicing. Mao et al. have developed an algorithm for adaptive slicing, which is computationally efficient and minimizes the global error caused by the stair-stepping effect . Gokulakrishnan and Kumar improved the strength of the part by adaptively changing the layer thickness in fused deposition modeling . Taufik and Jain demonstrated an advanced adaptive slicing technique to reduce the volumetric error of the built part instead of the cusp height error . Wasserfall et al. utilized the volumetric surface deviation metric with adaptive slicing to improve the part accuracy . Li and Xu have demonstrated their self-adaptive slicing algorithm for functionally graded material components . Siraskar et al. generated variable height slices using a modified boundary data structure . Huang and Singamneni created adaptive layers for planar and non-planar layers to minimize the stair-stepping error . Sikder et al. used an NURBS representation of the surface to minimize the texture error caused by stair-stepping using adaptive layers . Wang et al. uses a new saliency-based metric to optimize the adaptive slicing thickness for saving build time and preserving the visual quality of the parts . Adaptive slicing in these works reduced the stair-stepping effect and improved the build time. However, the stair-stepping effect reduction is not as prominent, and the build time reduction is not as significant as conformal AM.
Conformal slicing is a process in which the part is sliced using non-planar layers. It allows us to reduce the stair-stepping effect while building curved surfaces. We discuss a few of the relevant research in conformal slicing. Alkadi et al. have showcased two slicing algorithms for conformal printing and transitioning conformal layers to planar layers by building parts . Zhao et al. have demonstrated the benefits of curved layer slicing and variable extruder filament to build conformal parts . Shembekar et al. have generated tool-paths for building multiple conformal parts using robotic manipulators . Kraljić and Kamnik developed an optimization-based curved layer slicing method to build conformal parts with improved accuracy and speed . Zhao et al. have developed a method for decomposing and building non-planar parts using robotic manipulators . Jin et al. have published a detailed study on the modeling and process planning for performing conformal AM . Alsharhan improved the part’s mechanical properties using conformal layers to build an additively manufactured part . Lim et al. applied curved layer slicing to large scale AM . Kim et al. have embedded wire on curved surfaces to build multi-functional parts by performing conformal tool-path planning . These conformal slicing approaches reduced the stair-stepping effect of planar slicing but were limited to the geometries they would build. Moreover, the build time reduction is only notable in a few geometries.
Collision avoidance in material extrusion AM is essential for nontraditional processes [29,30]. A few examples of AM processes that needed a collision check are given below. Bhatt et al. used Euclidean transform-based collision checker to avoid collisions between the moving nozzle and reorienting build-platform . Zhang et al. have developed a time-optimal, and collision-free path-planning approach for a dual-manipulator 3D printer . Cai and Choi demonstrated a system consisting of multiple robotic actuators for building multiple parts or large parts without causing collisions . Jin et al. devised an algorithm for collision-free concurrent material deposition using scheduling and tool-path planning for AM . Sossou et al. showcased a voxel-based collision checker for building AM parts with smart materials . Wu et al. built a collision checker between the nozzle and the already built part while reorienting the build platform mounted on the robotic manipulator . Urbanic et al. developed a process planning framework to avoid collisions while depositing the bead to build the part . Among these works, Wu et al. performed an intermittent collision check, and Zhang et al. integrated continuous collision check  between the nozzle and the already built part. None of the works address the computational challenges for performing collision checks while performing material extrusion AM.
3 Overview of Approach
In the slicing section, we discuss two types of multi-resolution slicing. The first type is the conformal slicing (Sec. 4.1). Conformal slicing slices the part into conformal layers. The second type is the hybrid slicing (Slicing 4.2). The hybrid slicing generates planar and conformal layers to build the part.
The manipulator path planning section utilizes the sliced part layers to generate the manipulator path. It consists of three steps: (1) finding the possible tool-paths to build the sliced multi-resolution layers (Sec. 5.1), (2) searching for the best tool-path which is free from collisions (Sec. 5.2), and (3) generating the manipulator trajectory for the selected tool-path (Sec. 5.3).
We test the multi-resolution slicing algorithm and the manipulator path planning algorithm by building and characterizing several parts (see Sec. 6 for details).
4 Slicing Algorithm
The design of our slicing algorithm depends on the representation of the CAD model . We consider two types of CAD representations for our algorithm. (1) The tessellated CAD representation uses planar triangular faces to approximate the CAD model. This type of representation is stored using STL (stereolithography) format, which consists of the vertex, normal, and face data of the triangles . The limitation of tessellated CAD representation is the approximation of the model using planar triangular faces and the increase in the number of triangles to represent the part accurately. (2) The boundary representation (BRep) of a CAD model stores the model information in the form of vertices, edges, wires, faces, shells, solids, compsolids, compounds, edge triangulations, face triangulations, polylines on triangulations, space location, and orientation. The STEP (Standard for the Exchange of Product model data) file format  can be used to obtain the BRep of the CAD model. The advantage of using this representation is that it can avoid any approximation of the model. In our approach of multi-resolution AM, we select the BRep representation over the tessellated representation of the CAD model to avoid approximation while building complex geometries.
Based on the geometric complexity of , we classify the part slicing for multi-resolution AM into two categories, conformal, and hybrid slicing. The novel characteristic of our multi-resolution slicing approach is that it reduces the build time without compromising the surface quality of the additively built part.
4.1 Conformal Slicing.
Our conformal slicing algorithm is comparable to any other traditional non-planar slicing algorithm (Sec. 2). Our algorithm’s different property is the change of resolution between layers to improve the surface quality and reduce the build time. The illustration of the steps in our conformal slicing algorithm for multi-resolution AM is shown in Fig. 7. Given the in STEP format as an input to the algorithm, the user needs to select the set of surfaces on using a graphical user interface (GUI). defines the shape of the conformal layer, which will be used to build the entire part. The user can make this decision by analyzing if the outer surface needs to have a better surface quality for the desired application of the part. If it does, the user can select this surface. For example, the selected surfaces for an illustrative part are shown in gray color in Fig. 7(a). The shape of the rest of the layers to build the part will be generated by stacking the similar surfaces above or below the selected surface. This limits the shape of the part built using the conformal slicing algorithm. Apart from this, the algorithm needs to know the nozzle diameters (small filament ds and large filament dl), the thickness of the part t, and the hatching direction vectors (small filament and large filament ). The nozzle diameters are related to the small and large filament bead geometry .
In the conformal slicing algorithm, we start by building the path for the selected surfaces . This conformal path will act as a template for building the other layers. It depends on the nozzle diameter and the hatching direction vector.
Using the selected , the bounding box enclosing all the selected surfaces is determined. x, y, and z represent the x, y, and z coordinate values, and the subscripts min and max represent the minimum and maximum values, respectively.
The user can select the surfaces in a random order. So, we sort the surfaces in along the direction of the vector perpendicular to the hatching vector. For example, if the hatching vector points in the positive x-direction, the surfaces are sorted along the positive y-direction. This means that if we are traveling along the positive y-direction in , the surface encountered first is considered first.
The sorted surfaces are sliced by calculating the intersection between slicing planes and surfaces. The set of slicing planes are generated perpendicular to . They are limited within and are arranged such that the consecutive planes are separated by a distance equal to the bead width. Figure 7(b) shows the edges generated by the intersection of these planes and surfaces. These edges are pre-sorted as we have sorted the surfaces before slicing them. As a next step, we trim each of the edges whose endpoints lie on the other surfaces contained in . It is trimmed by a length equal to half of the nozzle diameter at the respective endpoint. These processed edges are discretized and differentiated to generate an equidistant point and surface normal pair on it. The points, along with blue normals, are shown in Fig. 7(c).
Once we have the points and the normals on , we order them to generate the conformal path on the selected surfaces. For a multi-resolution part, the exterior layers are built with small filament to improve the surface quality. The interior layers are built using a large filament to reduce the build time of the part. The top and bottom layers form the exterior layers of the illustrative part shown in Fig. 7. To build them, we execute the itemized steps with ds and . By doing so, we have obtained the path to build the exterior surfaces. If the user selects the top layer surfaces, the bottom layer path is generated by translating the points in the opposite direction of the normals by a distance t and vice-versa if the bottom layer surfaces are selected. The generated top and bottom layer paths are shown in Fig. 7(d) in red color.
The interior layers in our conformal slicing algorithm are required to fill the remaining t minus the small filament bead height thickness of the part. To build the template for interior layers, we again executed the itemized steps with dl and . The interior layers are generated by translating the interior layer template points along the normal such that interior thickness is filled with consecutive layers separated by large diameter bead height distance. Such layers are shown in green in Fig. 7(e). These layers fill the solid part and do not determine the surface quality of the part. The generated points are converted to coordinate frames with a z-direction vector along the normal and x and y-direction vector perpendicular to it. The set of these frames defines the path to be traced by a small or large diameter nozzle to build the layer. The path for each layer from bottom to top is stored to build the part using multi-resolution conformal AM.
The conformal slicing used in this paper uses planes to slice the non-planar surface. In scenarios where the surface has high curvature, this type of conformal slicing is not adequate. It can lead to gaps or accumulation between the deposited filament. Our approach can be modified to use specialized techniques to generate the conformal layer for the high curvature surfaces [42–44]. The rest of the approach is compatible with the high curvature conformal layers.
4.2 Hybrid Slicing.
The multi-resolution conformal slicing algorithm successfully reduced the build time and improved surface quality. However, all conformal layers limit the part geometries they can build. To overcome this limitation, we design a novel hybrid multi-resolution slicing algorithm with the qualities of reducing build time and improving surface quality. By hybrid, we mean the part can have non-planar/conformal as well as planar layers. The exterior layers, such as the top and bottom layers, are built using conformal layers with small filaments to keep surface quality high. The interior layers are built using planar layers with large filaments to reduce the build time and provide the capability to build complex geometries. Figure 8 shows the steps required to build a multi-resolution additive part using our hybrid slicing algorithm. The hybrid slicing algorithm requires the , the nozzle diameters (small filament ds and large filament dl), and the hatching direction vectors (small filament and large filament ) as inputs. The nozzle diameters are related to the small and large filament bead geometry . Moreover, the user also needs to select the exterior surfaces using a GUI.
In the first part of the hybrid slicing algorithm, we build the exterior conformal layers with small filaments. The user selects the exterior surfaces to be built using an interactive GUI. The selected top surfaces and bottom surfaces for an illustrative part to be built using multi-resolution AM is shown in Figs. 8(a) and 8(c). The steps similar to the conformal slicing algorithm are executed to generate the conformal path on the exterior layers. Consider we are building the top layer represented using the surfaces . The bounding box containing is calculated. The conformal layers are to be built using ds by slicing the surfaces along . To enable that, the selected surfaces are sorted along the direction perpendicular to . These surfaces are sliced with a set of planes perpendicular to , separated by a distance equal to small filament bead width, and lying within the bounding box bounds. The intersection between the sorted surfaces and the planes generates edges. The trimmed edges are discretized and differentiated to generate the points along with their respective normals. Thus, we can obtain and store the path frames and to build and , respectively. These paths are shown in Figs. 8(b) and 8(d).
In the second part of our hybrid slicing algorithm, we build the interior planar layers to fill the volume between the exterior small filament conformal layers. The hybrid layers in a single part and the large filament planar layers to fill the volume between the small filament conformal layers are the novel features of our algorithm. The interior layers are built using dl and .
From the dimensions of , we calculate the bounding box enclosing the model . Assuming that the model is oriented such that the z-axis is pointing upward, we generate the slicing planes perpendicular to the z-axis. The planes start from a height of zmin plus half of the sum of the small filament and large filament bead height to zmax minus half of the sum of the small filament and large filament bead height, and the consecutive planes are separated by a distance equal to large filament bead width. A clearance distance equal to half of the small filament bead height is provided at the top and bottom limits to build the exterior conformal layers.
The intersection between the slicing planes and generates the planar surfaces containing the interior layers. Such a set of surfaces containing the interior layers are shown in Fig. 8(e). To generate the path on the interior layers, we slice each of the interior layers with planes perpendicular to , with consecutive planes separated by a distance equal to large filament bead width. This will generate the edges on each of the interior layers.
We know all the surfaces on which the small filament conformal layers are built. These exterior surfaces determine if extra trimming of the edges generated on the interior layers is required. If the endpoints of the edge lie on any of the surfaces in , it is trimmed by a length equal to half of the sum of the small filament and large filament bead width; otherwise, it is trimmed only by a length equal to half of large filament bead width at the particular endpoint. These trimmed edges are discretized and differentiated to generate the interior layer path . Such a path on each of the interior layers for an illustrative part is shown in Fig. 8(f).
The entire hybrid layer, multi-resolution part can be build with the generated layer paths . Such part will have high surface quality and low build time. We enabled this using the novel multi-resolution and hybrid characteristics in the slicing algorithm.
5 Manipulator Path Planning Algorithm
Building multi-resolution parts require an extrusion tool capable of extruding small filament and large filament. The extrusion tool selected for our approach is shown in Fig. 9. This tool has three extruders with different nozzles mounted on linear actuators. One nozzle has a small diameter, the second nozzle has a large diameter, and the third nozzle, which is (not used in this work), extrudes support material. A large diameter nozzle allows us to have large filament layers with a bead height equal to the large nozzle diameter. This is required for fast building, as max bead height is limited by the nozzle diameter. If we use the large diameter nozzle for small filament layers by reducing the bead height, it will, in turn, increase the bead width and defeat the purpose of high resolution. So, we need to have a small diameter nozzle to build layers with small bead height and width . Moreover, using a small diameter nozzle increases the geometry precision of the built part, and the multi-nozzle setup allows us to have the capability of building a multi-material part along with multi-resolution parts. Yoon et al. have described the working principles of the extrusion tool in detail .
The small diameter nozzle is utilized to trace the FWPexterior frame to build the exterior layers, and the large diameter nozzle is used to trace the FWPinterior frame to build the interior layers of the multi-resolution part. Since the extrusion tools have complex geometry due to multiple extruders, and since we are building conformal and planar layers in the same part, there are chances of a collision while executing the path. This leads us to the path planning problem to avoid tool collision and maintain tool continuity while building a layer. We solve this problem by using a search-based planning approach. The approach reduces the number of collision checks to generate a smooth path. This makes it computationally efficient [46,47].
The overview of the tool-path planning algorithm is shown in Fig. 10. It consists of three major stages, (1) selecting tool center point (TCP) candidates, (2) directed graph generation, and (3) search and collision detection. While tracking FWPframe, we want the extruder of the extrusion tool to be aligned with the gravity vector. This constraint allows the material to deposit under the force of gravity easily. However, while building part with conformal or hybrid layers, there can be a collision between the extrusion tool and the already built part or substrate. The only way to avoid a collision is by tilting the extruder about the gravity vector. To represent this degree-of-freedom, we define multiple TCPs by uniformly discretizing a right circular cone with the vertex at the nozzle tip and a cone angle 30 deg (can be varied) into finite vectors. This is represented in the GUI shown in Fig. 9. The human selects the surface containing the tip of the nozzle. The u and v parameters of the selected BRep surface are used to generate the nozzle tip coordinate frame. The z-vector of the coordinate frame is aligned with the discretized vectors of the nozzle tip cone to generate sample frames. This set of finite coordinate frames are the candidate TCPs for each nozzle. By changing the TCPs for a single extruder executing the path, we can reorient the tool to avoid collisions and keep the motion of the tool smooth. To do that, we need first to encode all the possible choices using a graph.
5.1 Directed Graph Generation.
We generated the to build the layers of the multi-resolution part using the slicing algorithm. The nozzle tool needs to trace the using either the small or the large diameter nozzle to build the layers of the part. Each nozzle has a set of available to generate collision-free and smooth tool-paths. We can generate many possible tool-path for a particular layer using the and combinations. We represent the many possible tool-paths using a directed acyclic graph. The graph consists of the nodes, edges, and the weight to travel on those edges. A representative segment of the graph used in our algorithm is shown in Fig. 11.
The curve shown in Figs. 7 and 8 needs to be traced by the extrusion tool. This is possible using an infinite number of tool orientations. We discretize the tool orientations to generate finite possibilities. The possibilities are the tool-paths. Not all of these tool-paths are possible due to collision but any possible tool-path can build the part. However, the trajectory execution can be improved by selecting the best one from all the tool-paths represented as a graph.
- Nodes: The nodes on the graph represent the and frames pair. Here, i is the index for the frames in and j is the index for the frames in . If the tool-path contains a node, it means that the extrusion tool will be passing through the location denoted by transformation with respect to the part origin. is calculated using the Eq. (1).Here, is the transformation matrix of a with respect to the part origin, and is the inverse of the transformation matrix of a frame in with respect to the extrusion tool origin. The total number of nodes in our graph can be calculated by multiplying the size of set to the size of set.(1)
Edges: The edges connect the nodes. In our directed graph, , the edges have a fixed direction, and the connection between the nodes is made in a specific manner. The edges determine how the extrusion tool nozzle can travel from one node to the other to generate a tool-path. In Fig. 11, the node representing and pair is connected to all the possible pairs of and the frames in . It implies that the extrusion tool, using a particular nozzle, cannot change the TCP on a fixed frame of FWP while building the multi-resolution part. It needs to travel to the next frame on the path to change the TCP. The number of edges in the is equal to the number of frames in minus one times the square of the number of frames in .
- Weights: The weights of the edges define the cost incurred by the extrusion tool to travel from one node to another. The weight of an edge from node n to m is calculated using Eq. (2).Here, , , and are the vectorial part of TN and (·) is the dot product operator. w1 and w2 are the numbers for the weighted sum and is the gravity vector. The total weight W is the weighted sum of the difference in orientation between z-vector of extrusion tool and gravity vector W1 and the change of orientation of the extrusion tool between two nodes W2. The number of extrusion tool reorientations is captured by the weight W2. We reduce the number of reorientations while planning the tool-path. In the next stage, we will minimize the total weight to get a continuous tool-path with the least orientation changes of the extrusion tool while building a multi-resolution part.(2)
5.2 Search and Collision Detection.
The collision detection is performed between our custom extrusion tool and the already built layers of the multi-resolution part, including the substrate. It is required as the layers we are building are planar and conformal. This means that the extrusion tool for multi-resolution AM can collide with the already built layers or the substrate. We utilize geometry-based collision checking. It uses the BRep model of the tool, the part layers, and the substrate. It enables two advantages for our application. (1) The geometry-based collision check avoids any approximation of the CAD models while performing a collision check. This is very important as the extrusion tool is moving very close to the previously built layers. (2) The previously built layers can be easily modeled by generating new BRep surfaces for performing collision checks. It is fast and accurate.
We have encoded all the possible tool-paths for each layer using the layer and the corresponding to the nozzle tip used to build that layer using graphs. The for a given layer contains the desired tool-path for a nozzle tip of the extrusion tool. We can search the graph to obtain the tool-path. We consider three types of search algorithms: (1) Flloyd–Warshall algorithm , (2) Bellman–Ford algorithm [49,50], and (3) Dijkstra algorithm . We select the Dijkstra shortest-path algorithm as our graph has no negative weights or cycles. Also, we know the start and end nodes in . Using this search algorithm and the geometry-based collision checker, we generate the tool-path using the planning algorithm.
Any path between the start node and goal node is a tool-path. The Dijkstra algorithm is used to generate the shortest path between the start node and the goal node, i.e., the best tool-path. The nodes representing the tool-path should be executed in sequence to build the part. But each node in the graph is connected to multiple succeeding nodes. So there is a selection to be made at each node on the tool-path. Dijkstra algorithm makes this decision so that the tool-path has the lowest weight. However, this tool-path does not have collision information. So we use the following planning algorithm to add the collision information efficiently.
The Planning Algorithm:
In the first step of the planning algorithm, we decide the start node and the target node of . All the nodes containing qualify for the start node, and the nodes containing qualify for the goal node. We check the extrusion tool and built part collision by transforming the tool using of the node. If there is a collision, those nodes are no longer considered for the start or end node. We pick one node with the least W1 weight, each from the remaining list of start nodes and end nodes.
In the second step, we generate the shortest-path in between the start and end node using the Dijkstra algorithm.
In the third step, we perform the geometry-based collision check on the shortest path generated by the Dijkstra algorithm. If a collision is found at a node, the weight of all the edges connected to and from the node is increased by some finite weight, far greater than any edge weight generates using W (e.g., 107). We use finite value rather than keeping it infinite because it allows us to keep track of the number of collisions in the shortest-path.
The final step is a decision step. If no collisions are detected between the extrusion tool and the built layers in the third step, the planner returns the shortest path generated in the second step. If collisions are detected in the third step, the planner returns to the second step with the updated weights.
Collision checks are known to be computationally expensive. Collision detection compromising multiple checks is the bottleneck in planning algorithms. The geometry-based collision check we are using takes an average time of 0.02 s per call. If collision checks were done for each edge while generating the directed graph, the collision detection time for only one million edges is 20,000 s. This makes the collision detection time complexity and our path planning problem computationally intractable. Here wp is the number of frames in and tcp is the number of frames in . The only way to avoid this is to reduce the collision detection time complexity by reducing the collision check calls.
Our planning algorithm demonstrates an ability to reduce the number of collision check calls. It has a collision detection time complexity equal to . Here, 1 ≤ k < 2. This allows it to generate a smooth tool-path for the selected weight in a computationally efficient manner. The data shown in Table 1 indicates the collision detection time taken by our algorithm. Our algorithm takes far less time than the collision check done at all edges during graph generation. We also compare it with a lazy collision checking algorithm for sampling-based planners . The lazy collision algorithm reduces the search time by approximately 70% in some of the relevant cases. We provide a rough estimate time for the lazy collision algorithm to compare with our algorithm for each case in the table.
|Collision detection time (s)|
|Case||Graph edges||All edges||Lazy collision||Our algorithm||Time reduction(%)|
|Collision detection time (s)|
|Case||Graph edges||All edges||Lazy collision||Our algorithm||Time reduction(%)|
Note: The Table lists the graph’s number of edges, collision detection time, and time reduction percentage of our algorithm with respect to all edges.
Our algorithm is not a sampling-based algorithm, instead it builds the entire graph beforehand. This graph does not have the collision information. So the collision checks are done while searching through the graph for the tool-path with the lowest weight. This allows us to reduce the collision checks significantly. The lazy collision check method is not used for preexisting graphs. However, it is a search-based method that reduces the collision checks. So we compare it with our approach.
The returned shortest path in terms of nodes has associated with each node. This transformation is converted to a coordinate frame by using its displacement value as the absolute location and the rotation matrix as the axis of the frame. The set of the frames generated is the tool-path for building the layer with the selected nozzle of the extrusion tool.
Collision checking is a fundamental problem in manufacturing. Irrespective of the type of collision checking used, it is a bottleneck as it takes a considerably longer time to compute. Our approach has the novel advantage of significantly reducing the number of calls to the computationally expensive collision checker to avoid this bottleneck. This applies to any application which requires close contact between the tool and the part .
5.3 Manipulator Trajectory Generation.
The generated for each layer of the multi-resolution part provides the extrusion tool-paths in the part coordinate frame. To execute these sequences of tool frames, we use a robotic manipulator. A six or greater DOF robotic manipulator (redundant) provides the necessary maneuverability and accuracy to build the multi-resolution part.
Robot limits: There are upper and lower bounds to the joint angle values of a manipulator. Motor speed and torques are also limited. This enforces lower and upper bound constraints given by , represent the joint velocity and joint torque, respectively.
- Velocity: The manipulator is required to maintain a constant linear velocity during the process. For a waypoint, , an instantaneous velocity can be defined. The direction of is toward the next waypoint, and magnitude can be obtained from the process speed requirement. Robot joint velocity is related to Cartesian velocity by the Jacobian J as . This gives us a constraint expressed by the Eq. (3). This would not ensure if the robot can transition in between and within its joint velocity limits. If ti is the time in which the motion from to must be completed then Eq. (4) gives us another constraint.(3)(4)
Collision: We represent the rigid bodies as a collection of spheres and then check for collision. The approach is similar to work done in Ref. . The collision is an equality constraint where it should always be false.
Singularity: Singularity constraint is imposed using the manipulability index of the manipulator. The manipulability index must be higher than some positive value to avoid singularity. Work was done by Yoshikawa in Refs. [56–58] describe manipulability in detail.
Continuity: In order to maintain a continuous motion in space, we use the pearson correlation coefficient described in Ref. . If any two joint configurations at successive waypoints are continuous then correlation is higher. Maximum value the correlation can take is 1. We express this constraint as .
To generate the results, we build multiple parts using the single manipulator multi-resolution setup. Then, we characterize the surface quality and build time for our multi-resolution algorithm.
6.1 Built Parts.
The snapshots of a part being built on our multi-resolution setup are shown in Fig. 13. As a first step, the substrate on which the part is to be built is fixed to the build-platform. The substrate is calibrated so that the manipulator knows where to find the substrate. A substrate is only required for the parts whose bottom layer is not planar. We use acrylonitrile butadiene styrene (ABS) material for the substrate to build polylactic acid (PLA) material parts. As ABS has a higher melting temperature than PLA, the built part does not bond to the substrate, and it is easily removed without affecting the part’s bottom surface quality. We heat the PLA material at 210°C to extrude the molten filament. In the second step, the bottom layer is built using the small diameter nozzle (small black filament). As the third step, the interior planar layers are built using the large diameter nozzle (large yellow filament). Finally, the top conformal layer is built using the small diameter nozzle.
We built five parts using our multi-resolution setup. Continuous filament spools of diameter 1.75 mm are used for both nozzles. This filament diameter is the input to the nozzles, and the output molten filament geometry depends on the nozzle diameter, speed, and layer height. The CAD model of the five parts with the plotted filaments , and the printed parts on our multi-resolution setup are shown in the Fig. 14. The tool-path generated using the multi-resolution algorithm consists of layers defined using a set of frames. These tool-paths are also used to build the actual parts. In all the parts, the black filament layers are built using a small nozzle diameter equal to 0.6 mm (bead height 0.6 mm and bead width 0.6 mm), and the yellow filament layers are built using the large diameter nozzle equal to 1.2 mm (bead height 1.2 mm and bead width 1.2 mm). The bead geometry for both the filaments is circular, with the bead height and width equal to the nozzle diameter. The minimum part height that can be sliced and built is limited by the small bead height, i.e., 0.6 mm in our setup. The smallest feature that can be successfully built is limited by the bead width in the feature layer, i.e., 0.6 mm or 1.2 mm in our setup.
6.2 Part Accuracy.
Part accuracy is an essential characteristic of any AM process [60,63,64]. The details of the multi-nozzle extrusion tool calibration can be found in our previous work . In our multi-resolution setup, the part accuracy is improved using small filament and conformal paths on the exterior layers. The stair-stepping on the part surface is also reduced by the path generated by our multi-resolution algorithm. To characterize our multi-resolution setup, we scan each of the built part surfaces to generate a point cloud and compare it with the CAD model used to generate the tool-paths. To generate the point cloud, we use the Hexagon Absolute ROMER Arm with an integrated laser scanner, which has a volumetric accuracy of +/ − 0.051 mm  to scan the built part. The point cloud density used for the measurement is 100 points per mm2. The point cloud is compared to the CAD model of each part using the hexagon pc-dmis software, and the volumetric surface error of the built part is calculated. The generated volumetric surface error color map of the built part exterior surfaces with the labeled accuracy color bar is shown in Fig. 15. The blue spots in the color map are the unscanned areas on the part surface caused by human error. From the figure, we can see that the average part accuracy is 0.222 mm, and the maximum error is around 1 mm. For a conventional AM using the small diameter nozzle will generate a part with an average accuracy of a quarter of the bead height, i.e., 0.15 mm. This number will be higher if we include the stair-stepping effect error for conventional AM. Thus our average part accuracy is close to a conventional AM setup and has a better surface quality due to the outer conformal surface.
6.3 Build Time.
The build time is the time required to build one part completely. Along with the improved part accuracy, our multi-resolution setup reduces the build time. The reduction in build time is attained by using large filaments for the interior layers. The multi-resolution PLA parts are built at a nozzle speed of 12 mm/s. The exterior layers are built with a 0.6 mm small diameter nozzle, and the interior layers are built with a 1.2 mm large diameter nozzle. We compare the multi-resolution part’s build time with an estimated build time of the constant resolution part built with a 0.6 mm diameter nozzle. We also calculate the estimated build time for the adaptively sliced part, which uses a 1.2 mm diameter nozzle, varying layer thickness (bead height) between 0.6 mm to 1.2 mm, and planar layers. The adaptive planar layers were generated using the ultimaker cura software .
Table 2 enumerates the build time for building all the parts with a constant resolution, adaptive planar layers, and multi-resolution. The bounding box dimensions for each part are also listed in the table. All the parts built with constant or multi-resolution will have the same exterior surface bead geometry. The time required to build the multi-resolution parts is considerably lower than the constant resolution parts. The time to build the planar adaptive part is close to hybrid multi-resolution parts. This happens because the extra time required to build thin planar layers in adaptive parts is equal to the time required to build the conformal layer in hybrid multi-resolution parts. The advantage of the multi-resolution parts over the adaptive planar layer parts will be the no stair-stepping effect on the conformal exterior surfaces.
|Build time (hh:mm)|
|Slicing||Resolution||Part 1 (55 × 38 × 14 mm)||Part 2 (69 × 38 × 10 mm)|
|Part 3 (50 × 65 × 15 mm)||Part 4 (105 × 36 × 14 mm)||Part 5 (40 × 58 × 13 mm)|
|Build time (hh:mm)|
|Slicing||Resolution||Part 1 (55 × 38 × 14 mm)||Part 2 (69 × 38 × 10 mm)|
|Part 3 (50 × 65 × 15 mm)||Part 4 (105 × 36 × 14 mm)||Part 5 (40 × 58 × 13 mm)|
Note: The reduction percentage is calculated between the constant and multi-resolution parts.
Existing material extrusion software is capable of varying the infill rate of the part to reduce the build time. However, this may not be acceptable in applications that do not want to compromise with the structural integrity controlled by the infill rate. So by using a multi-nozzle extrusion tool and our approach, this problem can be avoided, i.e., a reduction in build time is obtained without reducing the infill of the part. Moreover, the multi-resolution approach can be combined with lower infill rate for further reduction in build time.
The slicing algorithm successfully breaks down the part CAD models into conformal and planar multi-resolution layers. The manipulator path planning algorithm generates a smooth and collision-free tool-path and the manipulator trajectory in a computationally efficient manner for the multi-resolution layers. The multi-resolution parts demonstrate the advantages of better surface quality and short build time. Our experiments achieved an average part accuracy of 0.222 mm using a setup with a small diameter nozzle of 0.6 mm and a large diameter nozzle of 1.2 mm. The build time is reduced from 50.0% to 62.8% for the parts built with multi-resolution AM when compared with constant resolution AM process.
Limitations: The parts printed in our work show overflow of material at corners. This can be avoided by controlling the extrusion rate at corners. The extrusion rate should be changed when the extrusion tool changes directions or reorients. The exposed large filament in the built parts reduces surface quality. This can be quickly taken care of by building small filament boundaries while building the interior layers. Our slicing algorithm allows the user to select any exterior surface for building it using small filament conformal layers. To enable this on the side surfaces, we require a reorienting build-platform to orient the built part and build the conformal side layer. There are voids formed when transitioning from planar to conformal layers. They are not handled in the current approach and are out of the scope of this work. However, they can be reduced by having a gradual transition between the planar and conformal layers. Moreover, there can be a case where using only large filament in the interior layers cannot fill the gap correctly due to the low resolution. In that case, multiple exterior small diameter layers can be built for a better geometry approximation.
Future work: Though multi-resolution AM has several advantages, it requires much future research. Some of the future research domains are as follows: (1) Improving the path planning algorithm to reduce the void gap between the planar and conformal layers. Interior voids can lead to surface collapsing, low structural strength, and unexpected waviness. (2) Building extremely complex parts with a double curvature and significant normal variations. This will allow magnifying the defects which would not show up in standard geometries. (3) Testing the multi-resolution AM parts against traditional AM parts to balance the trade-off between build time and the structural properties. This will allow multi-resolution AM to reliably replace traditional AM in industries and overcome high build time limitation.
This work quantified only the surface quality of the part. In multi-resolution additive manufacturing, the mechanical properties of the part are altered. This occurs as the infill filaments have higher diameters which increase the void between these filaments. Also, there is a complex relationship between the conformal layers with small filament and the infill planar layers between the large filament. This will need to be studied in the future by modeling the filaments to understand the contact between them and using testing to benchmark against the conventional AM parts.
This work is supported in part by National Science Foundation Grant No. 1925084. Opinions expressed are those of the authors and do not necessarily reflect opinions of the sponsors.
Conflict of Interest
There are no conflicts of interest.
Data Availability Statement
The authors attest that all data for this study are included in the paper. Data provided by a third party listed in Acknowledgment.