## Abstract

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.

## 1 Introduction

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 [1].

Fig. 1
Fig. 1
Close modal

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.

Fig. 2
Fig. 2
Close modal
Fig. 3
Fig. 3
Close modal

The main advantage of using non-planar layers is that it reduces the stair-stepping effect and improves surface quality [24]. 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.

Fig. 4
Fig. 4
Close modal

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.

Fig. 5
Fig. 5
Close modal

We introduced the concept of multi-resolution AM in our previous work [5]. 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.

Fig. 6
Fig. 6
Close modal

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 [6]. We focus on the extrusion-based process in this study [7]. A few works in the domain include our prior work in building a robotic cell to perform multi-resolution AM [5]. Chesser et al. used dual resolution planar layers to improve surface roughness for big area AM [8]. Delrot et al. developed an integrated platform for multi-resolution AM by miniaturizing two nozzles [9]. 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.

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 [21]. Zhao et al. have demonstrated the benefits of curved layer slicing and variable extruder filament to build conformal parts [22]. Shembekar et al. have generated tool-paths for building multiple conformal parts using robotic manipulators [2]. Kraljić and Kamnik developed an optimization-based curved layer slicing method to build conformal parts with improved accuracy and speed [23]. Zhao et al. have developed a method for decomposing and building non-planar parts using robotic manipulators [24]. Jin et al. have published a detailed study on the modeling and process planning for performing conformal AM [25]. Alsharhan improved the part’s mechanical properties using conformal layers to build an additively manufactured part [26]. Lim et al. applied curved layer slicing to large scale AM [27]. Kim et al. have embedded wire on curved surfaces to build multi-functional parts by performing conformal tool-path planning [28]. 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 [31]. Zhang et al. have developed a time-optimal, and collision-free path-planning approach for a dual-manipulator 3D printer [32]. Cai and Choi demonstrated a system consisting of multiple robotic actuators for building multiple parts or large parts without causing collisions [33]. Jin et al. devised an algorithm for collision-free concurrent material deposition using scheduling and tool-path planning for AM [34]. Sossou et al. showcased a voxel-based collision checker for building AM parts with smart materials [35]. 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 [36]. Urbanic et al. developed a process planning framework to avoid collisions while depositing the bead to build the part [37]. Among these works, Wu et al. performed an intermittent collision check, and Zhang et al. integrated continuous collision check [38] 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

Our approach is divided into two sections: (1) slicing of the multi-resolution parts (Sec. 4) and (2) planning the manipulator path to build the part (Sec. 5).

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 $C$. 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 [39]. 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 [40] 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 $C$, 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 $C$ in STEP format as an input to the algorithm, the user needs to select the set of surfaces $S$ on $C$ using a graphical user interface (GUI). $S$ 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 $h→s$ and large filament $h→l$). The nozzle diameters are related to the small and large filament bead geometry [41].

Fig. 7
Fig. 7
Close modal

In the conformal slicing algorithm, we start by building the path for the selected surfaces $S$. This conformal path will act as a template for building the other layers. It depends on the nozzle diameter and the hatching direction vector.

1. Using the selected $S$, the bounding box $B={xmin,ymin,zmin,xmax,ymax,zmax}$ 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.

2. The user can select the surfaces in a random order. So, we sort the surfaces in $S$ 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 $B$, the surface encountered first is considered first.

3. The sorted surfaces are sliced by calculating the intersection between slicing planes and surfaces. The set of slicing planes $P$ are generated perpendicular to $h→$. They are limited within $B$ 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 $C$. 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 $S$, 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 $h→s$. 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 $h→l$. 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 $FWP$ 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 $Lconformal={FWPbottom,…,FWPtop}$ 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 [4244]. 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 $C$, the nozzle diameters (small filament ds and large filament dl), and the hatching direction vectors (small filament $h→s$ and large filament $h→l$) as inputs. The nozzle diameters are related to the small and large filament bead geometry [41]. Moreover, the user also needs to select the exterior surfaces using a GUI.

Fig. 8
Fig. 8
Close modal

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 $Stop$ and bottom surfaces $Sbottom$ 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 $Stop$. The bounding box $Btop$ containing $Stop$ is calculated. The conformal layers are to be built using ds by slicing the surfaces along $h→s$. To enable that, the selected surfaces are sorted along the direction perpendicular to $h→s$. These surfaces are sliced with a set of planes perpendicular to $h→s$, 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 $FWPtop$ and $FWPbottom$ to build $Stop$ and $Sbottom$, 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 $h→l$.

1. From the dimensions of $C$, we calculate the bounding box enclosing the model $BC={xmin,ymin,zmin,xmax,ymax,zmax}$. 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.

2. The intersection between the slicing planes and $C$ generates the planar surfaces containing the interior layers. Such a set of surfaces $Sinterior$ 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 $h→l$, with consecutive planes separated by a distance equal to large filament bead width. This will generate the edges on each of the interior layers.

3. We know all the surfaces on which the small filament conformal layers are built. These exterior surfaces $Sexterior=Stop∪Sbottom$ 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 $Sexterior$, 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 $FWPinterior$. 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 $Lhybrid={FWPbottom,$$FWPinterior1,…,FWPtop}$. 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 [41]. 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 [45].

Fig. 9
Fig. 9
Close modal

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 $FTCP$ 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.

Fig. 10
Fig. 10
Close modal

### 5.1 Directed Graph Generation.

We generated the $FWP$ to build the layers of the multi-resolution part using the slicing algorithm. The nozzle tool needs to trace the $FWP$ using either the small or the large diameter nozzle to build the layers of the part. Each nozzle has a set of $FTCP$ available to generate collision-free and smooth tool-paths. We can generate many possible tool-path for a particular layer using the $FTCP$ and $FWP$ 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 $DG$ used in our algorithm is shown in Fig. 11.

Fig. 11
Fig. 11
Close modal

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.

1. Nodes: The nodes on the graph $DG$ represent the $FWPi$ and $FTCPj$ frames pair. Here, i is the index for the frames in $FWP$ and j is the index for the frames in $FTCP$. If the tool-path contains a node, it means that the extrusion tool will be passing through the location denoted by transformation $TNij$ with respect to the part origin. $TNij$ is calculated using the Eq. (1).
$TNij=TWPi×(TTCPj)−1$
(1)
Here, $TWPi$ is the transformation matrix of a $FWP$ with respect to the part origin, and $(TTCPj)−1$ is the inverse of the transformation matrix of a frame in $FTCP$ with respect to the extrusion tool origin. The total number of nodes in our graph can be calculated by multiplying the size of $FWP$ set to the size of $FTCP$ set.
2. Edges: The edges connect the nodes. In our directed graph, $DG$, 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 $FWPi$ and $FTCPj$ pair is connected to all the possible pairs of $FWPi+1$ and the frames in $FTCP$. 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 $DG$ is equal to the number of frames in $FWP$ minus one times the square of the number of frames in $FTCP$.

3. 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).
$W1=(1−z→m⋅g→)W2=((1−x→m⋅x→n)+(1−y→m⋅y→n)+(1−z→m⋅z→n))/(3)W=w1×W1+w2×W2$
(2)
Here, $x→$, $y→$, and $z→$ are the vectorial part of TN and (·) is the dot product operator. w1 and w2 are the numbers for the weighted sum and $g→$ 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.

### 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 $FWP$ and the $FTCP$ corresponding to the nozzle tip used to build that layer using graphs. The $DG$ 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 [48], (2) Bellman–Ford algorithm [49,50], and (3) Dijkstra algorithm [51]. 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 $DG$. Using this search algorithm and the geometry-based collision checker, we generate the tool-path $FTP$ 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:

1. In the first step of the planning algorithm, we decide the start node and the target node of $DG$. All the nodes containing $FWP1$ qualify for the start node, and the nodes containing $FWPend$ qualify for the goal node. We check the extrusion tool and built part collision by transforming the tool using $TNij$ 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.

2. In the second step, we generate the shortest-path in $DG$ between the start and end node using the Dijkstra algorithm.

3. 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.

4. 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 $O(wp×tcp2)$ and our path planning problem computationally intractable. Here wp is the number of frames in $FWP$ and tcp is the number of frames in $FTCP$. 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 $O(k×wp)$. 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 [52]. 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.

Table 1

Test cases indicating the collision detection time taken by our planning algorithm

Collision detection time (s)
CaseGraph edgesAll edgesLazy collisionOur algorithmTime reduction(%)
A1,577,40831,548.169464.45224.9099.29
B2,067,20041,344.0012,403.20203.8599.51
C1,990,40039,808.0011,942.40529.2298.67
D1,012,92820,258.566077.5772.7199.64
Collision detection time (s)
CaseGraph edgesAll edgesLazy collisionOur algorithmTime reduction(%)
A1,577,40831,548.169464.45224.9099.29
B2,067,20041,344.0012,403.20203.8599.51
C1,990,40039,808.0011,942.40529.2298.67
D1,012,92820,258.566077.5772.7199.64

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 $TNij$ 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 $FTP$ 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 [53].

### 5.3 Manipulator Trajectory Generation.

The $FTP$ 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.

A serial manipulator is defined by its N joint angles. When we assign values to the each joint we obtain a joint configuration represented as $Θ→=<θ1,θ2,…,θN>$. For a given joint configuration, we can obtain the TCP frame in Cartesian space. This is known as finding a forward kinematics solution. When a required TCP frame is given, inverse kinematics is used to find the joint configuration required to align the robot end-effector with a pose in the workspace. So, a waypoint can be expressed as a vector $w→=$. Here, <x, y, z> is the origin of the tool frames and <q0, q1, q2, q3 > is the frame orientation, represented with a quaternion. We can obtain the transformation of the build plate in the world frame, and the frames given by the tool path algorithm can be transformed to any robot base frame using rigid body transformations. The problem of generating robot trajectory $T$ given a sequence of waypoint $W$ is given as
$findT={Θ→1,Θ→2,…,Θ→m}∀w→i∈Ws.t.lb≤g(Θ→)i≤ubh(Θ→)i≤0$
Here, the constraints gi and hi are functions of the joint configuration at the waypoint, m is the number of waypoints in the path $W$. For the printing process, the manipulator needs to reach all the waypoints in position and orientation. Moreover, a constant velocity needs to be maintained, and there should not be any large joint angle changes during the motion. We define these constraints as velocity and continuity constraints. Another critical factor is to avoid a collision. We will now describe the constraint functions that are used for solving the problem.
1. 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 $Θ→lb≤Θ→≤Θ→ub,Θ→˙lb≤Θ→˙≤Θ→˙ubτ→lb≤τ→≤τ→ubΘ→lb≤$$Θ→≤Θ→ub,Θ→˙lb≤Θ→˙≤Θ→˙ubτ→lb≤τ→≤τ→ubΘ→≤Θ→ub,Θ→˙lb≤Θ→˙≤$$Θ→˙ubτ→lb≤τ→≤τ→ub$, $Θ→˙andτ→$ represent the joint velocity and joint torque, respectively.

2. Velocity: The manipulator is required to maintain a constant linear velocity during the process. For a waypoint, $w→i$, an instantaneous velocity $V→$ can be defined. The direction of $V→$ 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 $V→=J*Θ→˙$ [54]. This gives us a constraint expressed by the Eq. (3). This would not ensure if the robot can transition in between $w→i−1$ and $w→i$ within its joint velocity limits. If ti is the time in which the motion from $w→i−1$ to $w→i$ must be completed then Eq. (4) gives us another constraint.
$J−1V→i−Θ→˙i≤0→$
(3)
$Θ→˙lb*ti+Θ→i−1≤Θ→i≤Θ→˙ub*ti+Θ→i−1$
(4)
3. 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. [55]. The collision is an equality constraint where it should always be false.

4. 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. [5658] describe manipulability in detail.

5. Continuity: In order to maintain a continuous motion in space, we use the pearson correlation coefficient described in Ref. [59]. If any two joint configurations at successive waypoints $w→i−1andw→i$ are continuous then correlation is higher. Maximum value the correlation can take is 1. We express this constraint as $−correlation(Ji−1,Ji)+δ≤0$.

Now that we have defined all the constraints that the trajectory $T$ must meet, we formulate a non-linear optimization problem that computes the inverse kinematics for each waypoint [60]. Equation (5) is the numerical optimization problem which generates the joint configuration for every waypoint in $W$. The error function $PE$ computes the position and orientation error of the tool TCP with the waypoint. e is the 6 × 6 error vector, and W is the weight matrix. Our approach is similar to the trajectory generation discussed in Ref. [61]. The manipulator trajectory simulation and the actual physical setup are shown in Fig. 12
$Θ→i←argminΘ→(PE(Θ→,Θ→guess,w→i,robot))s.t.lb≤g(Θ→)i≤ubh(Θ→)i≤0$
(5)
$PE=∑j=1n0.5*e*W*eT$
(6)
The algorithms developed in our approach are compatible for applications other than material extrusion AM. The slicing algorithm developed to generate the curve to be traced by the tool can perform multi-resolution wire arc, and powder-fed AM using a high DOF setup. Similar approaches can also be developed for sheet lamination and Vat photopolymerization AM. The planning algorithm, which efficiently reduces the collision checks and returns a smooth path, is extendable for any robotic manufacturing applications which require complex trajectory execution with close contact between the tool and the part.
Fig. 12
Fig. 12
Close modal

## 6 Results

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.

Fig. 13
Fig. 13
Close modal

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 [62], 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.

Fig. 14
Fig. 14
Close modal

### 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 [45]. 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 [65] 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.

Fig. 15
Fig. 15
Close modal

### 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 [66].

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.

Table 2

The estimated build time of the constant resolution parts, the adaptively sliced parts, and the multi-resolution parts

Build time (hh:mm)
SlicingResolutionPart 1 (55 × 38 × 14 mm)Part 2 (69 × 38 × 10 mm)
ConformalConstant02:1601:42
Multi00:5600:39
Reduction (%)59.462.5
Part 3 (50 × 65 × 15 mm)Part 4 (105 × 36 × 14 mm)Part 5 (40 × 58 × 13 mm)
HybridConstant04:5902:3402:38
Multi01:5101:1701:00
Reduction (%)62.850.062.2
Build time (hh:mm)
SlicingResolutionPart 1 (55 × 38 × 14 mm)Part 2 (69 × 38 × 10 mm)
ConformalConstant02:1601:42
Multi00:5600:39
Reduction (%)59.462.5
Part 3 (50 × 65 × 15 mm)Part 4 (105 × 36 × 14 mm)Part 5 (40 × 58 × 13 mm)
HybridConstant04:5902:3402:38
Multi01:5101:1701:00
Reduction (%)62.850.062.2

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.

## 7 Conclusion

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.

## Acknowledgment

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.

## References

1.
Gibson
,
I.
,
Rosen
,
D. W.
, and
Stucker
,
B.
,
2010
,
Additive Manufacturing Technologies: Rapid Prototyping to Direct Digital Manufacturing
,
Springer
.
2.
Shembekar
,
A. V.
,
Yoon
,
Y. J.
,
Kanyuck
,
A.
, and
Gupta
,
S. K.
,
2019
, “
Generating Robot Trajectories for Conformal Three-Dimensional Printing Using Nonplanar Layers
,”
ASME J. Comput. Inf. Sci. Eng.
,
19
(
3
), p.
031011
.
3.
Jiang
,
J.
, and
Ma
,
Y.
,
2020
, “
Path Planning Strategies to Optimize Accuracy, Quality, Build Time and Material Use in Additive Manufacturing: a Review
,”
Micromachines
,
11
(
7
), p.
633
.
4.
Jiang
,
J.
,
Newman
,
S. T.
, and
Zhong
,
R. Y.
,
2021
, “
A Review of Multiple Degrees of Freedom for Additive Manufacturing Machines
,”
Int. J. Comput. Integr. Manuf.
,
34
(
2
), pp.
195
211
.
5.
Bhatt
,
P. M.
,
Kabir
,
A. M.
,
Malhan
,
R. K.
,
Shah
,
B.
,
Shembekar
,
A. V.
,
Yoon
,
Y. J.
, and
Gupta
,
S. K.
,
2019
, “
A Robotic Cell for Multi-Resolution Additive Manufacturing
,”
2019 International Conference on Robotics and Automation (ICRA)
,
, IEEE, pp.
2800
2807
.
6.
Bhatt
,
P. M.
,
Malhan
,
R. K.
,
Shembekar
,
A. V.
,
Yoon
,
Y. J.
, and
Gupta
,
S. K.
,
2020
, “
Expanding Capabilities of Additive Manufacturing Through Use of Robotics Technologies: A Survey
,”
,
31
, p.
100933
.
7.
Habibi
,
M.
, and
,
M.
,
2021
, “
From Gantry-Based Machine to Robot-Based Fused Deposition Modelling: A State-of-the-Art
”.
8.
Chesser
,
P.
,
Post
,
B.
,
Roschli
,
A.
,
Carnal
,
C.
,
Lind
,
R.
,
Borish
,
M.
, and
Love
,
L.
,
2019
, “
Extrusion Control for High Quality Printing on Big Area Additive Manufacturing (BAAM) Systems
,”
,
28
, pp.
445
455
.
9.
Delrot
,
P.
,
Loterie
,
D.
,
Psaltis
,
D.
, and
Moser
,
C.
,
2017
, “
Integrated Platform for Multi-Resolution Additive Manufacturing
,”
International Conference on Additive Manufacturing in Products and Applications
,
Zurich, Switzerland
, Springer, pp.
145
151
.
10.
Bhatt
,
P. M.
,
Kabir
,
A. M.
,
Peralta
,
M.
,
Bruck
,
H. A.
, and
Gupta
,
S. K.
,
2019
, “
A Robotic Cell for Performing Sheet Lamination-Based Additive Manufacturing
,”
,
27
, pp.
278
289
.
11.
Bhatt
,
P. M.
,
Peralta
,
M.
,
Bruck
,
H. A.
, and
Gupta
,
S. K.
,
2018
, “
Robot Assisted Additive Manufacturing of Thin Multifunctional Structures
,”
ASME Manufacturing Science and Engineering Conference
,
College Station, TX
, p. V001T01A012.
12.
Mao
,
H.
,
Kwok
,
T.-H.
,
Chen
,
Y.
, and
Wang
,
C. C.
,
2019
, “
Adaptive Slicing Based on Efficient Profile Analysis
,”
Comput. Aided Des.
,
107
, pp.
89
101
.
13.
Gokulakrishnan
,
J.
, and
Kumar
,
G. S.
,
2018
, “
Optimum Adaptive Slicing Considering the Layer Strength of Fused Deposition Modelling Parts
,”
International Conference on Engineering Optimization
,
Lisbon, Portugal
, Springer, pp.
442
452
.
14.
Taufik
,
M.
, and
Jain
,
P. K.
,
2017
, “
Surface Roughness Improvement Using Volumetric Error Control Through Adaptive Slicing
,”
Int. J. Rapid Manuf.
,
6
(
4
), pp.
279
302
.
15.
Wasserfall
,
F.
,
Hendrich
,
N.
, and
Zhang
,
J.
,
2017
, “
Adaptive Slicing for the FDM Process Revisited
,”
2017 13th IEEE Conference on Automation Science and Engineering (CASE)
,
Xi'an, China
, IEEE, pp.
49
54
.
16.
Li
,
Q.
, and
Xu
,
X.
,
2015
, “
Self-adaptive Slicing Algorithm for 3D Printing of FGM Components
,”
Mater. Res. Innovations.
,
19
(
sup5
), pp.
S5
635
.
17.
,
N.
,
Paul
,
R.
, and
Anand
,
S.
,
2015
, “
Adaptive Slicing in Additive Manufacturing Process Using a Modified Boundary Octree Data Structure
,”
ASME J. Manuf. Sci. Eng.
,
137
(
1
), p.
011007
.
18.
Huang
,
B.
, and
Singamneni
,
S. B.
,
2015
, “
Curved Layer Adaptive Slicing (clas) for Fused Deposition Modelling
,”
Rapid. Prototyp. J.
,
21
(
4
), pp.
354
367
.
19.
Sikder
,
S.
,
Barari
,
A.
, and
Kishawy
,
H.
,
2015
, “
Global Adaptive Slicing of Nurbs Based Sculptured Surface for Minimum Texture Error in Rapid Prototyping
,”
Rapid. Prototyp. J.
,
21
(
6
), pp.
649
661
.
20.
Wang
,
W.
,
Chao
,
H.
,
Tong
,
J.
,
Yang
,
Z.
,
Tong
,
X.
,
Li
,
H.
,
Liu
,
X.
, and
Liu
,
L.
,
2015
, “
Saliency-preserving Slicing Optimization for Effective 3D Printing
,”
Computer Graphics Forum
,
34
,
Wiley Online Library
, pp.
148
160
.
21.
,
F.
,
Lee
,
K.-C.
,
Bashiri
,
A. H.
, and
Choi
,
J.-W.
,
2020
, “
Conformal Additive Manufacturing Using a Direct-Print Process
,”
,
32
, p.
100975
.
22.
Zhao
,
D.
,
Guo
,
W.
, and
Gao
,
F.
,
2020
, “
Research on Curved Layer Fused Deposition Modeling With a Variable Extruded Filament
,”
ASME J. Comput. Inf. Sci. Eng.
,
20
(
4
), p.
041014
.
23.
Kraljić
,
D.
, and
Kamnik
,
R.
,
2018
, “
Trajectory Planning for Additive Manufacturing With a 6-dof Industrial Robot
,”
International Conference on Robotics in Alpe-Adria Danube Region
,
Patras, Greece
, Springer, pp.
456
465
.
24.
Zhao
,
G.
,
Ma
,
G.
,
Feng
,
J.
, and
Xiao
,
W.
,
2018
, “
Nonplanar Slicing and Path Generation Methods for Robotic Additive Manufacturing
,”
,
96
(
9–12
), pp.
3149
3159
.
25.
Jin
,
Y.
,
Du
,
J.
,
He
,
Y.
, and
Fu
,
G.
,
2017
, “
Modeling and Process Planning for Curved Layer Fused Deposition
,”
,
91
(
1–4
), pp.
273
285
.
26.
Alsharhan
,
A. T.
,
Centea
,
T.
, and
Gupta
,
S. K.
,
2017
, “
Enhancing Mechanical Properties of Thin-walled Structures Using Non-planar Extrusion Based Additive Manufacturing
,”
International Manufacturing Science and Engineering Conference
,
Los Angeles, CA
, ASME.
27.
Lim
,
S.
,
Buswell
,
R. A.
,
Valentine
,
P. J.
,
Piker
,
D.
,
Austin
,
S. A.
, and
De Kestelier
,
X.
,
2016
, “
Modelling Curved-Layered Printing Paths for Fabricating Large-Scale Construction Components
,”
,
12
, pp.
216
230
.
28.
Kim
,
C.
,
Espalin
,
D.
,
Cuaron
,
A.
,
Perez
,
M. A.
,
Lee
,
M.
,
MacDonald
,
E.
, and
Wicker
,
R. B.
,
2015
, “
Cooperative Tool Path Planning for Wire Embedding on Additively Manufactured Curved Surfaces Using Robot Kinematics
,”
ASME J. Mech. Rob.
,
7
(
2
), p.
021003
.
29.
Poudel
,
L.
,
Blair
,
C.
,
McPherson
,
J.
,
Sha
,
Z.
, and
Zhou
,
W.
,
2020
, “
A Heuristic Scaling Strategy for Multi-Robot Cooperative Three-Dimensional Printing
,”
ASME J. Comput. Inf. Sci. Eng.
,
20
(
4
), p.
041002
.
30.
Poudel
,
L.
,
Zhou
,
W.
, and
Sha
,
Z.
,
2020
, “
A Generative Approach for Scheduling Multi-Robot Cooperative Three-Dimensional Printing
,”
ASME J. Comput. Inf. Sci. Eng.
,
20
(
6
), p.
061011
.
31.
Bhatt
,
P. M.
,
Malhan
,
R. K.
,
Rajendran
,
P.
, and
Gupta
,
S. K.
,
2020
, “
Building Free-Form Thin Shell Parts Using Supportless Extrusion-Based Additive Manufacturing
,”
,
32
, p.
101003
.
32.
Zhang
,
X.
,
Wylie
,
B.
,
Oscar
,
C.
, and
Moore
,
C. A.
,
2020
, “
Time-Optimal and Collision-Free Path Planning for Dual-Manipulator 3D Printer
,”
2020 IEEE International Conference on Systems, Man, and Cybernetics (SMC)
,
, IEEE, pp.
2389
2396
.
33.
Cai
,
Y.
, and
Choi
,
S.
,
2019
, “
Deposition Group-Based Toolpath Planning for Additive Manufacturing With Multiple Robotic Actuators
,”
Proc. Manuf.
,
34
, pp.
584
593
.
34.
Jin
,
Y.
,
Pierson
,
H. A.
, and
Liao
,
H.
,
2019
, “
Toolpath Allocation and Scheduling for Concurrent Fused Filament Fabrication With Multiple Extruders
,”
IISE Trans.
,
51
(
2
), pp.
192
208
.
35.
Sossou
,
G.
,
Demoly
,
F.
,
Montavon
,
G.
, and
Gomes
,
S.
,
2018
, “
Design for 4d Printing: Rapidly Exploring the Design Space Around Smart Materials
,”
Procedia CIRP
,
70
, pp.
120
125
.
36.
Wu
,
C.
,
Dai
,
C.
,
Fang
,
G.
,
Liu
,
Y.-J.
, and
Wang
,
C. C.
,
2017
, “
Robofdm: A Robotic System for Support-Free Fabrication Using FDM
,”
2017 IEEE International Conference on Robotics and Automation (ICRA)
,
Singapore
, IEEE, pp.
1175
1180
.
37.
Urbanic
,
R.
,
Hedrick
,
R.
, and
Burford
,
C.
,
2017
, “
A Process Planning Framework and Virtual Representation for Bead-based Additive Manufacturing Processes
,”
,
90
(
1–4
), pp.
361
376
.
38.
Zhang
,
T.
,
Chen
,
X.
,
Fang
,
G.
,
Tian
,
Y.
, and
Wang
,
C. C.
,
2021
, “
Singularity-Aware Motion Planning for Multi-axis Additive Manufacturing
,”
IEEE Robot. Automat. Lett.
,
6
(
4
), pp.
6172
6179
.
39.
Roscoe
,
L.
,
1988
, “
Stereolithography Interface Specification
,”
America-3D Systems Inc
,
27
, p.
10
.
40.
ISO, I.
,
2002
, “
10303-21: Industrial Automation Systems and Integration-Product Data Representation and Exchange-Ppart 21: Implementation Methods: Clear Text Encoding of the Exchange Structure
,”
Int. Org. Stand
.
41.
Hodgson
,
G.
,
Ranellucci
,
A.
, and
Moe
,
J.
,
2015
, “
Slic3r Manual
,”
LulzBot.
,
24
, Accessed September 2016.
42.
Zhao
,
H.
,
Zhang
,
H.
,
Xin
,
S.
,
Deng
,
Y.
,
Tu
,
C.
,
Wang
,
W.
,
Cohen-Or
,
D.
, and
Chen
,
B.
,
2018
, “
Dscarver: Decompose-and-Spiral-Carve for Subtractive Manufacturing
,”
ACM Trans. Graph. (TOG)
,
37
(
4
), pp.
1
14
.
43.
Etienne
,
J.
,
Ray
,
N.
,
Panozzo
,
D.
,
Hornus
,
S.
,
Wang
,
C. C.
,
Martínez
,
J.
,
McMains
,
S.
,
Alexa
,
M.
,
Wyvill
,
B.
, and
Lefebvre
,
S.
,
2019
, “
Curvislicer: Slightly Curved Slicing for 3-Axis Printers
,”
ACM Trans. Graph. (TOG)
,
38
(
4
), pp.
1
11
.
44.
Fang
,
G.
,
Zhang
,
T.
,
Zhong
,
S.
,
Chen
,
X.
,
Zhong
,
Z.
, and
Wang
,
C. C.
,
2020
, “
Reinforced Fdm: Multi-Axis Filament Alignment with Controlled Anisotropic Strength
,”
ACM Trans. Graph. (TOG)
,
39
(
6
), pp.
1
15
.
45.
Yoon
,
Y. J.
,
Yon
,
M.
,
Jung
,
S. E.
, and
Gupta
,
S. K.
,
2019
, “
Development of Three-Nozzle Extrusion System for Conformal Multi-resolution 3d Printing with a Robotic Manipulator
,”
International Design Engineering Technical Conferences and Computers and Information in Engineering Conference
,
Anaheim, CA
, ASME.
46.
Bhatt
,
P. M.
,
Gong
,
C.
,
Kabir
,
A. M.
,
Malhan
,
R. K.
,
Shah
,
B. C.
, and
Gupta
,
S. K.
,
2020
, “
Incorporating Tool Contact Considerations in Tool-path Planning for Robotic Operations
,”
International Manufacturing Science and Engineering Conference
,
Virtual, Online
, ASME.
47.
Bhatt
,
P. M.
,
Kabir
,
A. M.
,
Malhan
,
R. K.
,
Shembekar
,
A. V.
,
Shah
,
B. C.
, and
Gupta
,
S. K.
,
2019
, “
Concurrent Design of Tool-Paths and Impedance Controllers for Performing Area Coverage Operations in Manufacturing Applications Under Uncertainty
,”
IEEE International Conference on Automation Science and Engineering
,
.
48.
Floyd
,
R. W.
,
1962
, “
Algorithm 97: Shortest Path
,”
Commun. ACM
,
5
(
6
), p.
345
.
49.
Bellman
,
R.
,
1958
, “
On a Routing Problem
,”
Quart. Appl. Math.
,
16
(
1
), pp.
87
90
.
50.
Ford Jr
,
L. R.
,
1956
, “
Network Flow Theory
,” Technical Report, Rand Corp., Santa Monica, CA.
51.
Dijkstra
,
E. W.
,
1959
, “
A Note on Two Problems in Connexion With Graphs
,”
Numer. Math.
,
1
(
1
), pp.
269
271
.
52.
Hauser
,
K.
,
2015
, “
Lazy Collision Checking in Asymptotically-Optimal Motion Planning
,”
2015 IEEE International Conference on Robotics and Automation (ICRA)
,
Seattle, WA
, IEEE, pp.
2951
2957
.
53.
Kabir
,
A. M.
,
Bhatt
,
P. M.
,
Shah
,
B. C.
, and
Gupta
,
S. K.
,
2021
, “
Robotic Finishing of Geometrically Complex Parts
,”
, pp.
315
336
.
54.
Craig
,
J. J.
,
2005
,
Introduction to Robotics: Mechanics and Control
, Vol.
3
,
Pearson/Prentice Hall
,
.
55.
Sandberg
,
D. W.
, and
Wodtli
,
R. B.
,
1988
, “
Collision Detection Using Sphere Approximations
,”
Robotics and Factories of the Future
,
Springer
, pp.
456
460
.
56.
Yoshikawa
,
T.
,
1990
,
Foundations of Robotics: Analysis and Control
,
MIT Press
,
Cambridge, MA
.
57.
Yoshikawa
,
T.
,
1985
, “
Manipulability of Robotic Mechanisms
,”
Int. J. Robot. Res.
,
4
(
2
), pp.
3
9
.
58.
Yoshikawa
,
T.
,
1984
, “
Analysis and Control of Robot Manipulators with Redundancy
,”
Robotics Research: The First International Symposium
,
MIT Press
,
Cambridge, MA
, pp.
735
747
.
59.
Chen
,
P. Y.
, and
Popovich
,
P. M.
,
2002
,
Correlation: Parametric and Nonparametric Measures
, No. 137–139,
Sage
.
60.
Bhatt
,
P. M.
,
Kulkarni
,
A.
,
Malhan
,
R. K.
, and
Gupta
,
S. K.
,
2021
, “
Optimizing Part Placement for Improving Accuracy of Robot-based Additive Manufacturing
,”
IEEE International Conference on Robotics and Automation
,
Xi'an, China
.
61.
Bhatt
,
P. M.
,
Malhan
,
R. K.
, and
Gupta
,
S. K.
,
2019
, “
Computational Foundations for Using Three Degrees of Freedom Build Platforms to Enable Supportless Extrusion-Based Additive Manufacturing
,”
International Manufacturing Science and Engineering Conference
,
Erie, PA
, ASME.
62.
Paviot
,
T.
, and
Feringa
,
J.
,
2018
, “
Pythonocc
,” Technical Report, 3D CAD/CAE/PLM Development Framework for the Python Programming Language.
63.
Bhatt
,
P. M.
,
Rajendran
,
P.
,
McKay
,
K.
, and
Gupta
,
S. K.
,
2019
, “
Context-Dependent Compensation Scheme to Reduce Trajectory Execution Errors for Industrial Manipulators
,”
IEEE International Conference on Robotics and Automation
,
, pp.
5578
5584
.
64.
Bhatt
,
P. M.
,
Malhan
,
R. K.
,
Rajendran
,
P.
,
Shembekar
,
A. V.
, and
Gupta
,
S. K.
,
2021
, “
Trajectory-dependent Compensation Scheme to Reduce Manipulator Execution Errors for Manufacturing Applications
,”
ASME Manufacturing Science and Engineering Conference
,
Virtual, Online
.
65.
Hexagon ROMER Absolute Arm with Integrated Scanner, https://www.hexagonmi.com/products/portable-measuring-arms/romer-absolute-arm-with-integrated-scanner, Accessed January 2021.
66.
Ultimaker Cura Software
, https://ultimaker.com/software/ultimaker-cura, Accessed January 2021.