<?xml-model href='http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng' schematypens='http://relaxng.org/ns/structure/1.0'?><TEI xmlns="http://www.tei-c.org/ns/1.0">
	<teiHeader>
		<fileDesc>
			<titleStmt><title level='a'>SafeZone: A Topologically-Aware Voronoi-Based Framework for Fast Collision-Free Cooperative 3d Printing</title></titleStmt>
			<publicationStmt>
				<publisher>American Society of Mechanical Engineers</publisher>
				<date>08/25/2024</date>
			</publicationStmt>
			<sourceDesc>
				<bibl> 
					<idno type="par_id">10610598</idno>
					<idno type="doi">10.1115/DETC2024-143658</idno>
					
					<author>Ronnie_F P Stone</author><author>Matthew Ebert</author><author>Wenchao Zhou</author><author>Ergun Akleman</author><author>Vinayak Krishnamurthy</author><author>Zhenghui Sha</author>
				</bibl>
			</sourceDesc>
		</fileDesc>
		<profileDesc>
			<abstract><ab><![CDATA[<title>Abstract</title> <p>Swarm manufacturing (SM) is an emerging manufacturing paradigm that employs a heterogeneous swarm of robots to accomplish complex hybrid manufacturing tasks. Cooperative 3D Printing (C3DP), a special form of swarm manufacturing, uses multiple printers to print large-scale parts cooperatively and aims to tackle key challenges in the additive manufacturing industry, such as trade-offs among size, speed, quality, and cost. A fundamental challenge in C3DP is how to achieve collision-free, time-efficient printing when multiple printers operate in a shared workspace. This is a complex problem since the solution may depend on a myriad of factors, such as the number of printers, part geometry, printer positioning, mobility, and kinematics, or whether the printing path pre-determined. In this paper, we present SafeZone, a collision-free and scalable C3DP framework that aims to minimize printing time by considering both the geometry and topology (space-connectivity) of the resulting workspace when segmenting the part layer. To achieve this, we use a guided Voronoi tessellation that can only produce degree-3 partitions, which we show to have optimal scheduling properties based on the chromatic number of the resulting partition graph. The sites of the Voronoi tessellation are constrained to only lie on the boundary of their convex hull, thus facilitating collision-free operation in C3DP systems with robotic arms. We demonstrate through physical testing in a 4-printer scenario with SCARA arms that SafeZone can produce collision-free prints, resulting in a printing time reduction of 44.63% when compared to the single-printer scenario. Finally, we show how the partition created by our methodology has a printing time reduction of 22.83% when compared to a naive choice which does not consider workspace topology.</p>]]></ab></abstract>
		</profileDesc>
	</teiHeader>
	<text><body xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Swarm manufacturing (SM) has gained significant attention in recent years due to its potential to transform many traditional manufacturing processes by employing a swarm of manufacturing robots to cooperate on manufacturing tasks, particularly in the field of additive manufacturing (AM) <ref type="bibr">[1]</ref>. Cooperative 3D Printing (C3DP), a form of swarm manufacturing tailored to AM, employs multiple printers to work on the same part simultaneously <ref type="bibr">[2]</ref>. The printers can be either stationary or mobile depending on the system configuration and application, but in general, they operate in a shared workspace. While working in a shared workspace is necessary to ensure cooperation and take advantage of the benefits of SM, it introduces two new challenges, namely division of labor and collision avoidance.</p><p>In the context of C3DP, division of labor is concerned with how to divide a part into sub-volumes and assign them to each printer. Collision-avoidance refers to devising a way to guarantee that the printers cooperate without colliding, which could be due to nozzle geometry or a printer's kinematic chain, as in the case of C3DP with robotic manipulators. In general, it is useful to solve these problems in conjunction by devising a division of labor scheme that facilitates collision avoidance. The approaches to solving these problems also heavily depend on the dynamics of the printing robots, as C3DP has been achieved with drones <ref type="bibr">[3]</ref>, mobile robots <ref type="bibr">[4]</ref>, and robotic manipulators <ref type="bibr">[5]</ref>.</p><p>In this paper, we introduce SafeZone, a scalable, collisionfree, and topologically-aware Voronoi-based C3DP framework. SafeZone aims to minimize printing time by considering both the geometric and topological implications of division of labor, and particularly how it can facilitate collision-free movement of the printers. Although SafeZone is applicable to generic C3DP system, it is tailored to robotic manipulator applications in which reachability and collisions due to kinematic chains are major concerns. Finally, SafeZone is hybrid during implementation in the sense that, although the printing path and schedule are pre-computed, it is coordinated by a centralized control hub that sends commands to the printers in real time.</p><p>The remainder of the paper is structured as follows. Section 2 summarizes related research on C3DP and multi-robot systems that face similar problems. In Section 3, we outline the implications of considering both geometry and topology of division of labor in C3DP environments. Our methodology for achieving collision-free and time-efficient printing is presented in Section 4. Finally, we show the results of our framework's physical validation in Section 5 and then discuss topics of interest in Section 6.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Research</head><p>While there has been extensive research on additive manufacturing <ref type="bibr">[6]</ref>, the idea of cooperative 3D printing (C3DP) is a recent development <ref type="bibr">[7,</ref><ref type="bibr">8]</ref>. There are several key challenges within C3DP, that are not considered in additive manufacturing or robots in general. With traditional single-robot 3D printing, collision avoidance between robots is not a concern. In many robotic tasks where multiple robots work together to complete a task, it is often preferable for robots to work as independently as possible with little to no overlap in workspaces <ref type="bibr">[9,</ref><ref type="bibr">10,</ref><ref type="bibr">11]</ref>. This can be seen in many coverage tasks where robots are required to cover the entire space, commonly through discovery and exploration <ref type="bibr">[11,</ref><ref type="bibr">12]</ref>. In many cases, it is preferable that the robots interact as little as possible. In the work by Lin et al., two robots are exploring an unknown space, and in the ideal scenario, the paths of the robots never cross, and the robots, in general, have very little interaction with one another. A similar work demonstrates that efficient exploration of a known space can be done through the cellularization of a space, where each robot explores its own assigned region <ref type="bibr">[13]</ref>. This is similar to what is done in C3DP, where robots are assigned known regions, and the method to segment the part into regions involves equal area distribution and, thus, nearly equal printing time. This is seen further in similar coverage works, such as painting a car with robots. In a work by Zbiss et al., several multi-axis robots work together to paint a car at the same time. In this case, robots have shared workspaces, and the method of avoiding collisions revolves around careful ordering of the painting paths <ref type="bibr">[14]</ref>.</p><p>A popular method to ensure printing cooperation within C3DP is to carefully order (that is, manufacturing scheduling) printing paths <ref type="bibr">[15,</ref><ref type="bibr">16]</ref> or volumes <ref type="bibr">[17,</ref><ref type="bibr">18,</ref><ref type="bibr">19]</ref>. An example of this is when a part is split into volumetric chunks with angled interfaces. Based on the angle of the interface, the printing schedule can be determined based on the geometric dependency between the chunks <ref type="bibr">[20]</ref>. In many cases, the use of mobile robots makes scheduling more involved since collisions must be avoided while printed as well as while the entire robot is moving from one position to another <ref type="bibr">[20]</ref>. Although having mobile robots can allow for more complex printing strategies, we do not consider this to be within the scope of this research. The interfacial boundary also plays a role in scheduling tasks, since concave boundaries can be difficult to avoid arm-to-arm collisions <ref type="bibr">[21]</ref>. In some cases, scheduling can be done by creating a dependency tree, where a single segmented region (volume or layer) is required to be printed before or after another segmented region <ref type="bibr">[20]</ref>.</p><p>Many works take advantage of the idea of safe regions or safe zones <ref type="bibr">[22,</ref><ref type="bibr">21,</ref><ref type="bibr">23]</ref>. While each paper uses slightly different naming conventions, the idea is the same: create some region in which collision is possible, and this region is along boundaries shared by different robots. Using these unsafe regions, you can either sequentially print the regions or allow only one robot to print in the unsafe region at a time. In the case of Hongyao et al. <ref type="bibr">[23]</ref>, the division of work was created by finding an optimal location of cuts in a part to distribute work evenly. In this case, there is a single point near the center of the part which borders all the segments assigned to different robots. Using this segmentation, an offset of the interfacial boundary is created, which serves as the safe region <ref type="bibr">[23,</ref><ref type="bibr">21]</ref>. Others use some predefined cellularization to define a safe region where certain cells that will be printed are labeled safe or unsafe (interfacing or non-interfacing in their case) <ref type="bibr">[22]</ref>. The literature shows that the method used for splitting a part into pieces, which can be assigned to robots, requires careful scheduling of the task execution to avoid collision completely. The main focus of this work is to show that, considering the topology of the resulting shared workspace, we can guide our space partitioning to allow for more time-efficient printing.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Conceptual Framework</head><p>In this section, we formulate the problem of interest. Given a layer geometry, in the form of boundary curves, and a set of printers, the question is: how to partition the layer geometry into sub-regions and assign them to each printer? Ideally, the choice of partition should facilitate collision-free movement of the printers and, consequently, minimize printing time. While the geometry of each sub-region is clearly an important aspect to be determined, SafeZone also considers the topology of the partitioning (i.e. how the sub-regions are connected to each other). In fact, current literature shows that the partitioning topology of robots working in a shared workspace is understudied.</p><p>To better understand the implication of workspace topology, particularly in the context of C3DP, let us consider a layer with a circular boundary that is set to be printed by four printers. A symmetric partition would be a simple, yet naive way to create the sub-regions (Fig. <ref type="figure">1(a)</ref>). In this case, the likelihood of collision is high as we approach the center of the circle since that neighborhood is shared among all four printers. However, we observe that there may be other partitions of the same circular layer such that only three robots share any existing boundary (Fig. <ref type="figure">1(b)</ref>). Note that it is even possible to create sub-regions, such that no more than two robots share a boundary (Fig. <ref type="figure">1(c)</ref>). Knowing that we are interested in achieving time-efficient and collision-free cooperative printing, these fundamental differences between each of the aforementioned partitions reveal the criticality of assessing their topology and geometry in conjunction. Hence, the goal of SafeZone is to tackle these two aspects simultaneously. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">The Topology of Partitioning</head><p>The partition topology of any layer geometry can be represented as a graph G P , denoted as a partition graph, which is algebraically represented using an adjacency matrix M P . Two sub-regions are said to be connected if they share a boundary, which can be a curve or a single point (Fig. <ref type="figure">2</ref>(a)-(c)). Generally, we can see that graphs that have nodes with lower degrees are better, in the sense that robots share fewer boundaries. However, we are interested in a more quantitative metric for judging whether a partition, topologically, is better than another. We approach this problem by relating the partition graph to the printing schedule, which, in turn, defines the printing time.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1.1">Goodness of Partition</head><p>Once a partition is chosen, the next logical question is: how do we order the printing of the sub-regions? If we assume that the printers can work uninterruptedly on their respective sub-regions, then the optimal partition would be any that divides the layer geometry into n equal-area sub-regions, where n is the number of printers. Consequently, the optimal printing schedule would be to print all regions in parallel. If we let T l be the layer printing time, T (X) the time taken to print sub-region X, and T s the layer printing time when using a single printer, then:</p><p>In this idealized scenario, topology becomes irrelevant, and geometry dominates the choice of partition. To consider a more realistic scenario, let us assume that, if two sub-regions share a boundary, their respective printers cannot work on them simultaneously. As shown in our literature review, this is a common approach to achieving collision-free printing <ref type="bibr">[21,</ref><ref type="bibr">23]</ref>. Under this assumption, we notice that certain topologies can offer parallel printing opportunities. For example, if two sub-regions do not share a boundary, then they can be printed completely in parallel without concern of collision. This is where we can leverage the concept of graph coloring <ref type="bibr">[24]</ref>. We can use it not only to generate optimal printing schedules but also to guide us in drawing fundamental conclusions about the goodness of the topology of a partition.</p><p>Let printer P i be responsible for area A i . Let S be the printing schedule, which we define as a sequence of tuples &#964; j . Each &#964; j may consist of one or more A i . If a &#964; j has multiple A i , it simply means that those regions are printed in parallel during that step of the schedule. For instance, in the idealized scenario we just discussed, S = (&#964; 1 , &#964; 2 , &#964; 3 , &#964; 4 ), where &#964; 1 = (A 1 ), &#964; 2 = (A 2 ), &#964; 3 = (A 3 ), and &#964; 4 = (A 4 ), meaning that there is no parallelization. Now, suppose that we are given a generic partition. We can represent it as a partition graph G P and use any graph coloring technique to assign a color to each node such that no adjacent nodes have the same color. In our context, the colors represent the tuples &#964; j in the schedule S. Therefore, the number of nodes with a given color represents the size of &#964; j , which is the number of regions being printed in parallel at that stage of S. The optimal schedule will always use the smallest number of colors (Fig. <ref type="figure">3(a)-(c)</ref>). The smallest number of colors needed to color a graph G such that no adjacent nodes share a color is called the chromatic number of G, usually denoted &#967;(G). Hence, the partition graph G P with the smallest &#967;(G P ) is preferred.</p><p>If we consider the symmetric partition schedule (Fig. <ref type="figure">3(a)</ref>), we see it has &#967;(G P ) = 4, and so its layer printing time becomes:</p><p>which shows us that it is no better than using a single printer due to the lack of parallelization potential. The last partition schedule (Fig. <ref type="figure">3(c</ref>)), on the other hand, has &#967;(G P ) = 2, resulting in a layer printing time of:</p><p>which is a clear improvement over the first case. Of course, we are assuming here for simplicity that the sub-regions have equal areas. Hence, this shows us, again, the importance of considering topology and geometry in conjunction.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1.2">Degree-3 Partitions</head><p>We established, based on the printing schedule, that the optimal topology generates a partition graph G P with the lowest possible chromatic number &#967;(G P ). From graph theory, we know that, when considering the family of all possible n-partitions, &#967;(G P ) is bounded between 2 and n. If &#967;(G P ) is equal to n, it means that the resulting partition graph is complete (K n ). This is the case for the symmetric example (Fig. <ref type="figure">3(a)</ref>), which produces the worst possible schedule. If &#967;(G P ) is equal to 2, G P becomes a path graph (P n ), which is equivalent to the third example we provided (Fig. <ref type="figure">3(c)</ref>).</p><p>Although topologies with P n partition graphs have the smallest chromatic number, which would make them theoretically optimal from a scheduling perspective, they are generally not viable in C3DP systems with robotic manipulators due to scalability and reachability issues. For instance, such a topology could produce sub-regions that stretch very far from the original positions of the printers. Additionally, as more printers are added, and the part of interest is not slender, the workspace may become too cluttered (Fig. <ref type="figure">4</ref>).</p><p>Hence, we are interested in finding the next best partitions which have &#967;(G P ) equal to 3 (Fig <ref type="figure">3(b)</ref>). This is only possible if we have degree-3 partitions. This means that all the boundaries between sub-regions must share a vertex of degree 3. This condition ensures that the topology will always generate a partition graph G P that is a triangular grid graph, which by definition is 3-colorable (Fig. <ref type="figure">5</ref>). Note that when we talk about degree-3 partitions we are referring to the vertices of the actual physical boundaries and not the nodes of the partition graph G P . Finally, the printing time becomes:</p><p>where each &#964; j represents one of the three colors. Therefore, we can conclude that for most C3DP applications, degree-3 partitions have the best topology. Our task becomes how to systematically enforce degree-3 partitions while still controlling the geometry and avoiding reachability issues.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">The Geometry of Partitioning</head><p>As such, there are several ways in which a layer can be partitioned so that the goodness of partition can be maintained along with the degree-3 requirement mentioned above. However, there are three main concerns to be addressed specifically for C3DP. First, we need to minimize the likelihood of collision between robots that share a common boundary between their partitions. Second, the method to generate the partitions should offer a natural way to control the partition topology, especially the degree-3 condition. Finally, the method should also provide a means to distribute the printing areas uniformly as possible across different robots <ref type="bibr">[22]</ref>. Therefore, a systematic way of determining and controlling the geometry of the sub-regions is necessary.</p><p>We note that constructing a Voronoi tessellation of the planar domain using the robot locations as the Voronoi sites naturally addresses all of these concerns (Fig. <ref type="figure">6</ref>). Given a set of points {p i } &#8712; R n , a Voronoi tessellation is a mutually exclusive and exhaustive set of polygonal regions {R j } such that any point q &#8712; R j is closest to p j . If {p i } are robot positions, then using such a partition to segment the layer geometry will automatically result in printable sub-regions that are also closest to the nearest robot. This addresses the first concern pertaining to the minimizing the likelihood of collision between robots that share a common boundary between their partitions. Besides the closest-site property, Voronoi tessellations offer a natural way to control the topology of the partitioning at the vertices. To understand this, we consider the Delaunay diagram, which is the dual of the Voronoi tessellation (i.e. the vertices of Delaunay diagram are the sites of the Voronoi tessellation).</p><p>The Delaunay diagram can consist of convex polygons that can all be triangulated to obtain the well-known Delaunay triangulation. Also note that all polygons in a Delaunay diagram are cyclic polygons (i.e., each triangle in a Delaunay triangulation has a unique circumcircle). In the general case, a Delaunay diagram may not have a unique triangulation. Consider a case where a quadrilateral cell can be split into two triangles in two different ways (by choosing to connect either of the diagonal vertices with an edge). However, when there are no more than three Voronoi sites that are cyclic, we always obtain a unique Delaunay triangulation <ref type="bibr">[25]</ref>. This also means that the resulting Voronoi tessellation will always contain degree-3 vertices. This offers a principled approach to generating robot positions that ensures degree-3 partitioning.</p><p>Lastly, Voronoi tessellations also offer a simple way to tailor the partitions so that the sub-regions of a given layer geometry can be distributed uniformly across printers. This can be achieved through the use of wallpaper symmetry groups and has been demonstrated in prior works <ref type="bibr">[26,</ref><ref type="bibr">22]</ref>. Based on these properties, we employ Voronoi tessellations to determine the geometry of our partitioning methodology.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Methodology</head><p>The framework for SafeZone can be divided into three sections: 1) layer geometry partitioning, 2) scheduling, and 3) communication. The user can decide whether they want to provide their own partitioning scheme, in which case SafeZone is only responsible for scheduling and communication. Once the layer geometry is partitioned, buffer regions need to be created, and graph coloring is then used to generate optimal printing schedules. Finally, the printing process itself is controlled in a centralized manner using wait-and-go commands <ref type="bibr">[21]</ref> (Fig. <ref type="figure">7</ref>). </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Space Partitioning and Scheduling</head><p>As mentioned, our framework can accept user-defined partitions. This can be the case for many reasons, but mainly because of the design of the part. For instance, if there is a multi-material process (PLA &amp; ABS), then the partitions will be determined by the intended material deposition areas. The user might also want to avoid partitions that have boundaries in mechanically important regions, such as a feature that will be subjected to higher stress and strain concentrations. Irrespective of the reason, if the division of labor is determined by the user, our framework simply proceeds to the next step, which would be scheduling.</p><p>Within the context of C3DP, it is not uncommon for some robots to have constraints on physical locations and cannot be arbitrarily placed. This can limit the placement of Voronoi points, which in turn impacts the potential to create degree-3 partitions and, therefore, to achieve time-efficient printing. Hence, we introduce the concept of Virtual Robot Positions (VRPs). These positions are Voronoi sites, which are not co-located with the physical robot position but only used to create the segmentation. The limitation of VRPs is that they must be within a certain threshold of the physical robot location to avoid assigning work to a robot that cannot be reached. However, this is generally not an issue since only small shifts in the Voronoi sites are required to avoid cyclic polygon configurations. For instance, in a situation where the printers are arranged in a cyclic square, a simple shift of two of the points is enough to guarantee a degree-3 partition (Fig. <ref type="figure">8</ref>). If there are dozens or hundreds of robots, and the correct shifting procedure is not obvious, the VRPs can be placed such that they form a P3-wallpaper symmetry tiling <ref type="bibr">[27,</ref><ref type="bibr">28,</ref><ref type="bibr">29,</ref><ref type="bibr">26]</ref>, thus guaranteeing a 3-colorable triangular partition graph.</p><p>In order to mitigate the likelihood of robot arm collisions, the Voronoi site placement should follow a simple rule: all Voronoi sites (equivalently all VRPs) must lie on the boundary of the convex hull formed by the Voronoi sites. If one of the Voronoi sites is within the convex hull, it can be difficult to mitigate arm collisions of the robots. To illustrate why this is needed, imagine an example where three VRPs are placed on the points of an equilateral triangle, and another VRP is placed at the center of the equilateral triangle. In this example, the inner VRP does not lie on the boundary of the convex hull, and because of this, a collision between the robot arms is likely. The arm of the robot printing the inside region must pass over a region being printed by another robot which is not handled by the scheduling of printing regions.</p><p>Once the partition has been created and the adjacency matrix M P is obtained from the Delaunay triangulation, buffer regions can be created at the interfacing boundaries.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Buffer Regions</head><p>Establishing a collision-free printing schedule only based on the sub-regions A i is too conservative. Recall that the collisionfree schedule we derived for the symmetric partition of the circular layer (Fig <ref type="figure">1(a)</ref>), has the same printing time as if only one printer was used. We can mitigate this issue and achieve better printing time performance for any partition, regardless of topology or geometry, by introducing buffer regions B i . In general, creating the buffer regions requires knowledge of the mechanical model of the printers, that is whether they are drones, mobile robots, or robotic arms <ref type="bibr">[21]</ref>. However, regardless of the model, at a minimum one must consider the geometry of the nozzle when testing for collisions. Note that only considering the nozzles for buffer region generation is generally not an issue in our framework due to the convex hull requirement of the Voronoi tessellation, meaning that the area occupied by the arm of the robot will stay within the bounds of their respective A i .</p><p>Let us represent the nozzle as a circle of radius r n projected onto the layer surface. We assume, without loss of generality, that all printers have the same nozzle radius. Let the boundary of region A i with all other regions A j be &#8706; A i . The buffer region B i is then defined as the intersection of A i with the Minkowski sum of &#8706; A i and circle C n of radius r n (Fig. <ref type="figure">9</ref>):</p><p>This process can be repeated for every A i until all necessary buffer regions are created. Note that if</p><p>There is also the possibility that B i is empty, which can happen if the resulting intersection itself is empty.</p><p>A key property of the buffer region creation process, is that if we look at the topology of the resulting space, we note that the new sub-regions A * i are only connected to their respective buffer regions B i and that the connectivity of the buffer regions between themselves is the same as the connectivity of A i (Fig. <ref type="figure">10</ref>). This result is clearer when comparing the new adjacency matrix M * P with the old one:</p><p>where I is the identity matrix. This is always the case no matter what the original partition is. This result is critical to SafeZone because it means that we can schedule the printing of B i regions efficiently since we know that they will always form a triangular grid graph due to their relation to the original partition graph. Therefore, once the buffer regions are efficiently printed using the 3-coloring schedule, we can proceed to print all A * i in parallel, since they are only connected to their buffer regions. Considering, as an example, that buffer regions are created for the symmetric partition of the circular layer (Fig. <ref type="figure">1</ref>  contains all A * i , yielding layer printing time T * l :</p><p>which is clearly an improvement over the previous scenario since B i are generally much smaller than A i , especially in large-format printing which is what C3DP was designed for. This process can be applied to any partition, including user-defined ones.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Communication</head><p>The last step in the SafeZone framework is to establish the communication protocol during the printing process. The purpose of the protocol is to certify that the optimal schedule S * is followed. We approach this problem from a centralized perspective, where a single control hub communicates independently with each printer and sends only two types of commands: wait or go. The control hub follows the optimal schedule S * generated with the Voronoi tessellation to coordinate the sequence of wait and go commands. The steps are as follows:</p><p>1. Iterate over each &#964; in S * . Stop if there are no more &#964;. 2. Send the go command to each printer that has a region in &#964;. 3. Once a printer finishes its region, send the wait command. 4. Once all printers that have regions in &#964; receive the wait command, go back to Step 1.</p><p>Since the regions in each &#964; can be printed in parallel, this simple communication protocol guarantees a collision-free and optimal printing process. It is important to note that SafeZone is a framework that uses layer synchronization, meaning that the printers are not allowed to move on to the next layer until it is finished. This property is automatically enforced in our framework since each &#964; can only contain regions in the same layer. This is done because errors between predicted and actual time to print can cause uncertainty in planning that is not considered in the scheduling. This preserves the collision-free and layer-optimal scheduling properties outlined in the methodology.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Physical Validation</head><p>To physically validate SafeZone, we consider a scenario with four printers, where the part of interest is a solid disk of radius 100mm. Since all part layers are equal, and our framework uses layer synchronization, we only print one layer of the disk, which has a height of 0.45mm. For we used 4 SCARA printers developed by AMBOTS in a symmetric arrangement, sharing a square printing area with 600mm &#215; 600mm dimensions (Fig. <ref type="figure">11</ref>).</p><p>The printers are equipped with a Duet controller board running the RepRap firmware. They are connected to a computer (control hub) through a local WiFi network. At the higher level, we have a Python script running on the control hub that oversees the printing process by following the algorithmic layout detailed in Section 4.2. However, any programming language can be used as long as it supports sending HTTP requests. No external sensors were used. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Results</head><p>We partitioned the disk layer in two different ways. The first partition uses Voronoi sites that lie in a square, a cyclic polygon, thus producing a partition with a degree-4 vertex (Fig. <ref type="figure">1(a)</ref>). In the second case, we shift the Voronoi sites using our methodology to guarantee a degree-3 partition (Fig. <ref type="figure">1(b)</ref>). Then, buffer regions are created for each topology, resulting in areas A * i and B i . The optimal schedule is computed using graph coloring and sent to the control hub for printing. To facilitate visualization, we used different PLA filament colors for each printer: white, matte red, navy blue, and black. Therefore, regions A * 1 and B 1 are printed in white, regions A * 2 and B 2 in matte red, and so on (Fig. <ref type="figure">12(a)-(d)</ref>). The time taken to print each tuple &#964; of the regions on the schedule is shown in Tables <ref type="table">1</ref> and <ref type="table">2</ref>. Time-lapses of both cases are also available <ref type="foot">1</ref> .</p><p>Due to the presence of degree-4 nodes in the symmetric partition, we see that it lacks potential for parallelization when printing buffer regions, which ultimately impacts the layer printing time to be 2135 seconds or roughly 35 minutes. On the other hand, the degree-3 partition, which was created using our methodology, allows buffer regions B 2 (matte red) and B 4 (black) to be printed simultaneously, yielding a printing time of 1661 seconds or approximately 28 minutes. Considering that the single-printer layer printing time T s is about 3000 seconds (50 minutes), we see that the symmetric partition results in a printing  time reduction of 28.83%, compared to 44.63% when using our degree-3 partition. Consequently, our degree-3 partition has a 22.20% reduction in printing time compared to the printing time of the symmetric case. It is important to know that the degree-3 partition has no reachability issues, which is enforced in our methodology, as compared to the path graph topology case that was previously discussed, thus making it collision-free, timeefficient, and applicable in real C3DP systems with robotic arms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Discussion</head><p>SafeZone is a promising framework for C3DP and demonstrates good performance in physical systems, however, there are several limitations that require further research. While SafeZone is scalable for C3DP systems with drones and mobile robots, it may have difficulties in systems with robotic arms. Additionally, while we showed that we can construct optimal workspace topology, optimizing the geometry is a difficult task from a computational perspective. Finally, SafeZone partitions space in a specific way, which may not be the only interesting option for C3DP. We discuss some of these issues in the following subsec-tions. One important topic that we do not address here is that of the mechanical properties of cooperatively-printed parts. Some of our previous research has partially investigated this area <ref type="bibr">[8]</ref>, but much physical experimentation is still required, particularly in assessing topological interlocking.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.1">Scalability</head><p>Scalability in the number of robots is a critical aspect of any C3DP framework. In general, one would want to reduce printing time by committing more printers to work on a part. However, this may not be the case depending on the framework used. Consider the circular layer as an example, and assume that we partition it symmetrically (Fig. <ref type="figure">1(a)</ref>), but now as a function of n printers. The layer printing time can be written as:</p><p>where &#964; * contains all n sub-regions A * i . The printing time reduction, as compared to the single printer case, depends on the ratio of the area of the union of all B i and the area of the union of all A i . This is a consequence of the fact that the sum of the areas of all sub-regions, say U, is constant no matter how you create them. Therefore, if the buffer regions represent the majority of U, in this symmetric topology, then we spend more time printing in series instead of in parallel. In fact, if the sum of the area of the buffer regions is more than half of U, you can get a higher printing time as you add more robots. This happens because the degree of the only vertex in this symmetric partition keeps increasing. Our framework enhances scalability by always reducing the degree of any vertices in the partition. This ensures that adding more robots becomes a benefit and not a burden to the performance of the C3DP system. However, when using robotic arms, SafeZone has no solution for printing parts that are much larger than the diameter of the reachability circle of the printer. Solving this would require introducing mobile robotic arms, which would in turn require a different strategy for division of labor and collision avoidance.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.2">Geometry Optimization</head><p>While it is possible to change the VRPs to some degree to obtain more time-efficient printing. These Voronoi points are fundamentally limited by the physical constraints of the robot placements, a VRP cannot assign work to a robot which it is unable to reach. In this case, it may be easier to rotate or translate the part to obtain a more desirable print time. A similar study has been done in a recent work that studied the effect of rotation on print time <ref type="bibr">[22]</ref>. In our case, an optimization algorithm could be developed that takes in the part orientation (x-y position and rotation) as well as printer locations and outputs the optimal part orientation and segmentation. However, efficiently finding balanced partitions with degree-3 topologies, that is, optimizing geometry on top of topology without using some brute force method, is still an open problem. Particularly, for arbitrary layers, which can have disjoint regions and have multiple holes, that is, layers that are not genus-0.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.3">Increasing Number of Partitions</head><p>It is important to note that, by construction, SafeZone partitions space into at most 2n sub-regions, where n is the number of printers. Hence, other families of partitions become available if we relax that constraint. Consider, for instance, a partition for 3 printers that generates 9 sub-regions (Fig <ref type="figure">13</ref>). Note that the partition graph for this topology is not only 3-colorable but also has order |G P | which is a multiple of the chromatic number. This means that, if all sub-regions have equal areas, we can come up with a schedule that yields the best possible layer printing time, that is, a third of the single printer scenario. The optimal schedule is S = (&#964; 1 , &#964; 2 , &#964; 3 ), where &#964; = (A 1 , A 4 , A 7 ), &#964; 2 = (A 2 , A 5 , A 8 ), and &#964; 3 = (A 3 , A 6 , A 9 ). While this is an interesting approach for C3DP systems with drones or mobile robots, it is problematic for systems using robotic arms. No matter how you place the printers, the likelihood of collision between the two printers that are working on A 1 and A 3 and the printer working on A 7 is high. Note that such a partition would not be possible in SafeZone due to the convex hull constraint.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Conclusion</head><p>In this paper, we developed and physically validated Safe-Zone, a collision-free and time-efficient C3DP framework. The results show that the framework is viable, scalable, and can have a lower printing time than traditional C3DP methods available in the literature that use similar partitioning techniques but do not consider topology. However, based on our discussion section, there are still many interesting research directions that could further enhance our understanding of C3DP and the theory on which SafeZone is grounded. The problem of finding an efficient geometric optimization framework is still open, particularly for arbitrary layer geometries.</p></div><note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0"><p>Degree-3: https://tinyurl.com/4dwjsz28. Symmetric: https://tinyurl.com/4subkebd</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_1"><p>Copyright &#169; 2024 by ASME</p></note>
		</body>
		</text>
</TEI>
