Simulation and Analysis of Self-Replicating Robot Decision-Making Systems

: Self-replicating robot systems (SRRSs) are a new prospective paradigm for robotic exploration. They can potentially facilitate lower mission costs and enhance mission capabilities by allowing some materials, which are needed for robotic system construction, to be collected in situ and used for robot fabrication. The use of a self-replicating robot system can potentially lower risk aversion, due to the ability to potentially replenish lost or damaged robots, and may increase the likelihood of mission success. This paper proposes and compares system conﬁgurations of an SRRS. A simulation system was designed and is used to model how an SRRS performs based on its system conﬁguration, attributes, and operating environment. Experiments were conducted using this simulation and the results are presented. Author Contributions: Conceptualization, A.J. and J.S.; data curation, A.J.; methodology, A.J. and J.S.; resources, J.S.; software, A.J.; supervision, J.S.; writing—original draft, A.J.; writing—review & editing, J.S.


Introduction
The concept of self-replicating robots has been around for some time-dating back to the 1940s and earlier [1]. With the advent of 3D printing technology, the development of self-replicating robots is more feasible to implement than it was previously. This opens the door to research and development opportunities in this area of robotics.
Self-replicating robots can be beneficial for use in areas that are difficult for humans to access or where it is prohibitive to bring in materials and supplies. Though these may be the primary areas of benefit, this type of robot system could also be used in a wide variety of other applications. One application domain that may especially benefit from self-replicating robots is aerospace. Launching materials into space can be prohibitively expensive, which may drive a need for utilizing in-situ materials [2]. This paper focuses on system configurations for self-replicating robot systems (SRRSs). A challenge of analyzing self-replicating robot systems, and the decision-making algorithms for those systems, is that there is not currently a standard means to simulate these systems. For this purpose, a simulation was developed to provide a means to implement, assess and compare system configurations and autonomous decision-making algorithms for SRRSs. The simulation system is based on work discussed previously in [3,4]. The proposed simulation system focuses on the decision-making and planning of the system as opposed to modeling the physics of self-replication. An experiment was conducted using this simulation system, and the results are presented.
The work presented herein proposes a categorization for self-replicating robot systems and compares the proposed categories (system configurations) using the proposed simulation approach. The proposed simulation approach is used with parameters that may fit mission constraints in order to inform the decision of how an SRRS should be configured and commanded. Furthermore, the results from the simulated experiment can be utilized as heuristics which may aid in determining which types of buildable robots may be needed for a particular mission or objective. For example, the initial resources provided to the

Proposed Replication Categorization
In this subsection, the categorization scheme utilized for the simulation and experimentation is detailed. There are many attributes that could be used to characterize an overall replication scheme. For instance, whether multiple robots need to be involved in making a new robot or if the hardware/design evolves over time [25] are both possible criteria. However, the categorization approach used for this work is to categorize the system based on what types of robots the system can build and which of those types have a replication-related capability. This (replication-related capability) means a capability used for fabricating, building, or assembling parts for a new robot.
The utilized categorization consists of a combination of two separate classifications. The first classification, the replication approach, consists of centralized, decentralized, and hierarchical. The second classification, the production approach, consists of heterogeneous and homogeneous.

Centralized Replication Approach
With the centralized replication approach, robots that have a replication-related capability are not buildable by the robot system itself. Initial or factory-made robots are solely used for replication related capabilities. A replicator robot is set up and acts as a replication center, as depicted in Figure 1. It is able to build robots that do not have replication-related capabilities that can collect resources or accomplish other goals.
Having a central node dedicated to the replication process has benefits and drawbacks. One benefit to this approach is that the regular robots (produced by the central node) do not have to have the replication equipment installed, allowing the otherwise consumed materials to be used for other purposes (i.e., it reduces material usage). However, a key drawback to this approach is that if the central replicator node malfunctions, it is a central point of system failure [3]. Another benefit, for some applications, is that all of the replication-related materials collected are brought to a centralized stockpile. This prevents the replication process from getting bottlenecked by poor resource exchange between robots (although this could be potentially remedied by the implementation of a cooperation scheme in non-centralized systems) [3]. However, the requirement to bring all replication resources to the central node also presents drawbacks. This is particularly problematic when the resources needed for robotic production and the location needing the robots produced from these resources are located far away from the central production location.

Decentralized Replication Approach
The decentralized replication approach, which is depicted in Figure 2, includes replication capabilities in all of the robots in the robot system. A benefit to this approach is that, in the event of a catastrophic event, if one robot survives and has replication resources available, it could potentially make more robots to repopulate the system. This capability leads to increased survivability of the multi-robot system [3]. It may also allow the multi-robot system to split into multiple groups that do not have a dependency on a central hub (as they would in the centralized configuration). A drawback to this approach is that each robot needs to include replication equipment, which may be rare or specialized equipment. Even if it does not require rare resources or equipment, the approach is likely to require additional standard resources. Another potential drawback is that a specialized replicator robot could potentially be made with higher quality equipment, which may make it more versatile in transforming raw materials into new robots or result in higher quality being produced. Not having the ability to use a wide array of raw materials may cause problems in certain environments. Another benefit, for some applications, is that all of the replication-related materials collected are brought to a centralized stockpile. This prevents the replication process from getting bottlenecked by poor resource exchange between robots (although this could be potentially remedied by the implementation of a cooperation scheme in non-centralized systems) [3]. However, the requirement to bring all replication resources to the central node also presents drawbacks. This is particularly problematic when the resources needed for robotic production and the location needing the robots produced from these resources are located far away from the central production location.

Decentralized Replication Approach
The decentralized replication approach, which is depicted in Figure 2, includes replication capabilities in all of the robots in the robot system. A benefit to this approach is that, in the event of a catastrophic event, if one robot survives and has replication resources available, it could potentially make more robots to repopulate the system. This capability leads to increased survivability of the multi-robot system [3]. It may also allow the multirobot system to split into multiple groups that do not have a dependency on a central hub (as they would in the centralized configuration). A drawback to this approach is that each robot needs to include replication equipment, which may be rare or specialized equipment. Even if it does not require rare resources or equipment, the approach is likely to require additional standard resources. Another potential drawback is that a specialized replicator robot could potentially be made with higher quality equipment, which may make it more versatile in transforming raw materials into new robots or result in higher quality being produced. Not having the ability to use a wide array of raw materials may cause problems in certain environments.

Hierarchical Replication Approach
The hierarchical replication approach, which is depicted in Figure 3, is a combination of the centralized and decentralized approaches. Systems of this type are capable of building robots with replication-related capabilities as well as robots without these capabilities. The benefits and drawbacks of this approach are dependent on the ratio of robots with replication-related capabilities to non-replicating robots. At the extremes, the benefits and drawbacks approximate those of the centralized or decentralized approach.

Hierarchical Replication Approach
The hierarchical replication approach, which is depicted in Figure 3, is a combination of the centralized and decentralized approaches. Systems of this type are capable of building robots with replication-related capabilities as well as robots without these capabilities. The benefits and drawbacks of this approach are dependent on the ratio of robots with replication-related capabilities to non-replicating robots. At the extremes, the benefits and drawbacks approximate those of the centralized or decentralized approach.

Hierarchical Replication Approach
The hierarchical replication approach, which is depicted in Figure 3, is a combination of the centralized and decentralized approaches. Systems of this type are capable of building robots with replication-related capabilities as well as robots without these capabilities. The benefits and drawbacks of this approach are dependent on the ratio of robots with replication-related capabilities to non-replicating robots. At the extremes, the benefits and drawbacks approximate those of the centralized or decentralized approach.

Production Approach: Homogeneous or Heterogeneous
The production approach categorization is made in addition to (and is distinct from) the replication approach categorization. The production approach consists of two classifications, homogeneous and heterogeneous. For multi-robot systems, in general, a homogeneous system is composed of robots that are all of the same design, while having multiple types of robots makes the system heterogeneous [26]. Under the replication classification scheme used herein, the characterization of a multi-robot system as homogeneous or heterogeneous, in terms of replication, is as follows: the homogeneous production approach means that the system uses a single robot type that has all of the necessary replication-related capabilities. In contrast, the heterogeneous production approach means that the system uses two or more robot types that have replication-related capabilities. The replication-related capabilities used across the robot types used in the system must be partially independent of each other to qualify for this classification.
The benefits of a homogeneous system include the potential reduction in task allocation complexity, as only one robot is needed for replication tasks. This approach may also increase the survivability of the system as a single surviving robot could repopulate the robot system (given sufficient resources and time).
The benefits of a heterogeneous system include resource savings. Using the minimum amount of materials required to produce a functional robot-meeting relevant quality standards-is desirable. The heterogeneous approach allows the greatest number of robots possible to be constructed, given the available level of in-situ collected and stored materials. Tailoring robots to specific roles ensures that each robot only includes the necessary functionality, saving resources [27]. Another consideration is the selection of a design that makes use of resources that are available and abundant [3]. Choosing a design that utilizes locally abundant resources maximizes the number of robots that can be produced. A homogeneous approach would preclude this type of adaptation.

Conceptual Example
A conceptual example robot system, a largely 3D-printed 3D printer, was built and is depicted in Figure 4. Its design is a slightly modified version of the "Snappy" RepRap [28]. Its frame is 3D printed and "snaps" together using the mechanical design of the printed components. The nonprintable components include stepper motors (for moving parts), a heating block and an extruder, a heated print bed (for print adherence), and control electronics. It is capable of 3D printing components that could be used to assemble additional 3D printers or robots. However, the prototype system does not include an automated assembly capability.  In addition, a small (mostly) 3D-printed robot was constructed (which is depicted in Figure 5) and programmed with software that allows it to perform simple resource location tasks (e.g., find a colored spool of 3D printer filament). This small 3D-printed robot is meant to compliment the 3D-printed 3D printer for the purposes of the example implementation. The prototype does not have the capability to manipulate and move any located filament in its current design. It consists of a 3D-printed chassis and 3D-printed tracks, which are driven by two servo motors (based on design from [29]). Its on-board computer is a Nvidia Jetson Nano, which processes the visual data from the Zed Mini stereo-camera in order to perform simple resource identification and localization. It is powered by a rechargeable lithium-ion battery pack that fits within the chassis. In addition, a small (mostly) 3D-printed robot was constructed (which is depicted in Figure 5) and programmed with software that allows it to perform simple resource location tasks (e.g., find a colored spool of 3D printer filament). This small 3D-printed robot is meant to compliment the 3D-printed 3D printer for the purposes of the example implementation. The prototype does not have the capability to manipulate and move any located filament in its current design. It consists of a 3D-printed chassis and 3D-printed tracks, which are driven by two servo motors (based on design from [29]). Its on-board computer is a Nvidia Jetson Nano, which processes the visual data from the Zed Mini stereo-camera in order to perform simple resource identification and localization. It is powered by a rechargeable lithium-ion battery pack that fits within the chassis.
In addition, a small (mostly) 3D-printed robot was constructed (which is depicted in Figure 5) and programmed with software that allows it to perform simple resource location tasks (e.g., find a colored spool of 3D printer filament). This small 3D-printed robot is meant to compliment the 3D-printed 3D printer for the purposes of the example implementation. The prototype does not have the capability to manipulate and move any located filament in its current design. It consists of a 3D-printed chassis and 3D-printed tracks, which are driven by two servo motors (based on design from [29]). Its on-board computer is a Nvidia Jetson Nano, which processes the visual data from the Zed Mini stereo-camera in order to perform simple resource identification and localization. It is powered by a rechargeable lithium-ion battery pack that fits within the chassis. The conceptual prototype models are intended to illustrate a simplistic example SRRS system. For the experiment discussed in the subsequent sections, a hypothetical The conceptual prototype models are intended to illustrate a simplistic example SRRS system. For the experiment discussed in the subsequent sections, a hypothetical SRRS system that has more uniform robot models is utilized. For example, the size of the non-replicating robot would be more comparable to the 3D print-capable robot and a comparable amount of filament (raw printing materials) would be used.

Proposed Simulation System
In this section, the operations of the proposed simulation system are detailed. The system consists of an SRRS command system interacting with an environmental simulator. The simulation system was designed to facilitate experimentation to further understand the constraints and variables involved in SRRS configuration decisions and robotic command decision-making strategies.
A simulation run is divided into a number of iterations (called time-steps). The number of time-steps for a given run is determined by user input. Each time-step corresponds to a block of time, with the simulation starting at time-step zero and progressing until the desired number of time-steps is reached (where each time-step corresponds with one iteration). In each time-step of the simulation, SRRS-simulated robots perform tasks which involve acquiring resources, converting resources, or assembling new robots. The following sections describe these in more detail, along with the operations of the simulation from a wholistic standpoint.

Resources and Task Types
There are three different types of resources in the simulation system, which were proposed in previous work [3,4]. These resource types are as follows:

•
Nonprintable components: components that the robot system does not have the capability to print (or otherwise make in-situ), such as control units (processors) and motors.

•
Printable components: components that are fabricated by the robot system during the simulation, such as frames and other structural elements for new robots.
• Raw printing materials: materials that are used in the printing process. The printing process would yield the printable component resource type, so the raw material type requires a fabricating step before materials are useable (as components) to build new robots.
The robot system begins the simulation with an initial defined amount of each of these resource types (listed in Table 1). The environment also has a certain amount of raw printing material available that robots can collect. For the purposes of the simulation, each of these component types are represented by a single numerical quantity. The nonprintable components are combined into a single numerical quantity which refers to a volume (or mass) of components. In practice, the nonprintable components would include a diverse range of parts that would not be interchangeable with one another (i.e., motors, processors or cables) but which would be constrained by the same mass and volume limitations. A simulation could be run beforehand and used to project which nonprintable components would need to be stored in that allotted volume. For the printable component resource type, the components are assumed to be interchangeable for simplicity, although in practice a system would be needed to decide what specific type of printable components should be fabricated. The printable component resource type is related to the raw printing material resource type in volume, where the raw material conversion to printable components in the simulation is determined by the Print_Efficiency parameter.
There are four task types in the simulation: three which perform an action (depicted in Figure 6) and one which represents a default state indicating that a robot is currently performing no action (idle). The descriptions of the task types are as follows:

•
Collect: a task type where the robot gathers raw printing materials from the environment and adds the gathered materials to the robot system's inventory. This task type has a time-step duration of 1, meaning that if a robot is assigned to perform this task type it would complete it in a single time-step. Upon completion of this task, raw printing materials are removed from the environment and added to the robot system's resource pool. The amount collected upon completion is a parameter (Collect_Amount), which represents an average amount returned per time-step (as it would vary based on resource sparsity). • Print: a task type where the robot takes raw printing materials and fabricates them into printable components. This task type has a time-step duration of 1, meaning that if a robot is assigned this task type it would complete it in a single time-step. Upon completion of this task, raw printing materials are removed (Print_Amount) from the robot system's resource pool and printable components are added to the robot system's resource pool. This represents an average amount of components printed per time-step (including an allowance for failed prints). The conversion factor of raw printing materials to printable components is represented by the parameter Print_Efficiency. • Assemble: a task type where the robot takes nonprintable components and printable components from the robot system's resource pool and assembles them into a new robot. This task type has a duration that varies by the robot type being assembled. Upon completion of this task, the newly assembled robot is added to the robot system.
printing materials to printable components is represented by the parameter Print_Efficiency. • Assemble: a task type where the robot takes nonprintable components and printable components from the robot system's resource pool and assembles them into a new robot. This task type has a duration that varies by the robot type being assembled. Upon completion of this task, the newly assembled robot is added to the robot system.  • Idle: a default task type which is assigned to any robot not performing any other action during a time-step. This task type has no associated duration, because it does not have any completion actions/events. • Idle: a default task type which is assigned to any robot not performing any other action during a time-step. This task type has no associated duration, because it does not have any completion actions/events.

Robot Types
In the simulation, there are four types of robots: normal, printer, assembler, and replicator. In each time-step, each robot is either idle, gathering resources, printing components, or assembling a new robot. However, certain robot types are restricted in what types of tasks they can perform. These restrictions are listed in Table 2. All robot types are capable of being idle. Not all types of robots must be included in any given simulation run. Table 2. Robot capabilities based on type of robot.

Robot Type Collect Resources Print Components Assemble Robots
The robots in the simulation are considered single-task (ST) robots that carry out single-robot (SR) tasks with a time-extended assignment (TA). Thus, the robot systems in the simulation would be categorized as ST-SR-TA according to the task allocation taxonomy proposed by Gerkey in [30].
The material cost of each robot type is directly related to its capabilities. Capability costs for each included capability are added together to determine the cost of the robot type. For example, the normal robot type cost is just the base cost, while the printer robot type's cost is calculated by adding the base cost plus the printing capability cost. This work assumes that the robot design for each robot type is similar and the added cost per additional capability would be the cost of upgrading the normal robot type to have that additional capability. The default values (i.e., initial parameter values) for these costs are listed in Table 3. These values are simulation parameters and can be adjusted from run to run of the simulation, to define the experimental conditions that are being studied by each simulation run. For example, the 3D-printed 3D printer described in Section 3.5 requires approximately 3.1 kg of PLA filament and approximately 1.64 kg of nonprintable components (stepper motors, heated print bed, and control electronics) [28]. In this example, the ratio of printable component mass to nonprintable component mass is 2 to 1. This is just one example and the units of the simulation are not set, but rather represent ratios of resources. In an aerospace application, a mission might use an SRRS to print a larger structure (such as a habitat) and a number of 3D print-capable robots would thus be needed. The Curiosity rover has an estimated mass of over 900 kg [31], and contour crafting 3D printers (for constructing aerospace habitats) can have masses of approximately 500 kg [32]. Although these robots are not themselves 3D printed (and there currently are no standardized designs for 3D-printed aerospace robots), the differences in mass illustrate the significant variability that could exist between potential SRRS implementations. In this case, these values would differ from the default values in Table 3, where it is by default equal. However, these parameters are set at different levels from the default values in the experimental conditions discussed in subsequent sections.
The work presented herein assumes that the design of each robot type is fixed during each simulation run and does not incorporate any design changes over the course of the run. The simulation system presented herein could be updated, in future work, to model systems that incorporate during-run robot upgrades as well as to consider the trade-offs presented by the use of evolutionary algorithms [33] and evolvable hardware [34]. All three of these robotic system advancements present cost versus benefit tradeoffs that can be analyzed similarly to the ones considered in the current work.

Robot Build Quality
An important capability of a self-replicating robot system is the ability to fabricate parts and assemble new robots. This introduces the question of the quality of the built robot, as a robot built in-situ may have quality defects (without the ability to simply discard it with minimal impact, such as in a factory setting). To facilitate assessment, the simulation assigns each robot a build quality. A robot's build quality value ranges from zero to one, with one being very high quality and zero being very poor quality. The quality value is a decimal value (not a binary one).
Robot Quality ← Assembler Quality + random(Quality_incr_Lower, Quality_incr_U pper) else if rand < Quality_decr_Chance : Robot Quality ← Assembler Quality − random(Quality_decr_Lower, Quality_decr_U pper) else : Robot Quality ← Assembler Quality The build quality value is determined as follows. When a new robot is built, it has a build quality value determined based on the robot that assembled it. First, a random value is generated, and if the value is above one minus the increase quality chance, then the newly assembled robot's build quality equals the build quality of the assembling robot plus a random number between the increase quality lower and upper bound parameter values (zero and one are a strictly enforced minimum and maximum). If not within the increase chance, then it is compared to the decrease quality chance parameter. Similar to before, if the random number is below the decrease quality chance then the newly assembled robot's build quality equals its builder's quality minus a random number between the upper and lower bounds. The pseudocode for this process is shown in Equation (1). The variable RobotQuality refers to the build quality of the newly constructed robot; AssemblerQuality refers to the build quality of the robot that assembled it.

Task Risks
Tasks have a risk of failing in a manner which harms or destroys the robot performing the task. The risk amount values are adjustable parameters. In the simulation system, the particular consequence of each task type is as follows. Collecting resources involves robots foraging in an environment. This puts them at risk of being stuck, trapped, navigationally lost, or otherwise lost due to environmental hazards. This is not the case with printing or assembling, as navigating the environment is not part of these tasks. The printing task has a potential consequence of the robot's printing capabilities being lost due to a significant hardware malfunction occurring. Similarly, the assemble task has the potential consequence of the assembly hardware breaking down. The default risk amounts were chosen based on estimations but would likely vary significantly based on hardware specifications and environmental factors. These are configurable parameters within the simulation system, to facilitate experimentation.
The build quality of the robot performing a task may also affect the associated risks of performing a given task. The rationale behind this is that as the quality of a robot decreases, the risk of it encountering problems performing a task would likely increase. Equation (2) was utilized in order to represent this.
In Equation (2), a robot's lack of quality increases the risk in a manner related to the task type's risk. Omitting Risk Task_Type in the multiplication would increase the risk by a constant, which could end up being a dominant factor and negate the relevance of the task's inherit risk. A risk modifier parameter (Risk Quality_Modifier ) is then applied in order to add a weighting factor for the impact of quality on the risk.
Another consideration is that the initial robots of the robot system would likely be factory built and tested to a high degree. Thus, the associated risk amount of these (likely thoroughly tested) initial factory-built robots would be less than robots built by the robot system. In this regard, a parameter (Risk Factory_Modifier ) is used to scale the risk cost of factory-built robots performing a task.
The simulation system, by design, does not model the potential for general robotic failure that is unrelated to production processes, task performance and defects, as this would effectively be an arbitrary noise value for the analysis presented herein. System developers that have specific projected failure rates-particularly if the incidental failure rate was expected to be a significant factor in system operations-should consider this in modeling specific operations in specific environments. Adding this capability to the simulation system is a topic for potential future work.

Self-Replicating Robot System Configurations
In this subsection, the configurations of SRRSs used for the experiments reported on in this paper are presented. These configurations are based off the categorization discussed in Section 3. The replication system configurations are a combination of choices from two sets. The first set, the replication approach, consists of centralized, decentralized, and hierarchical. This determines how many robots have a replication-related capability. The replication-related capabilities, for this simulation, include the assembly and print task types. The normal type robots are therefore considered not to have a replication related capability in this simulation (due to not having the assembly or print capability).
The second set, the production approach, consists of homogeneous and heterogeneous. This determines whether a single type of robot is used for all replication activities or if there are multiple types of replication-capable robots. The choices from each set are combined to derive the replication system configurations that are possible. The configurations are as follows: • A robot completing other objectives would correspond with the robot completing mission objectives, if any are specified. However, the completion of other objectives is not performed in the experiment in this paper.
For the purposes of the simulation, the homogeneous configurations start with a single replicator robot, while heterogeneous configurations start with two robots: an assembler robot and a printer robot.

Simulation Operations
In this section, the operations of the simulation system are detailed. The simulation is divided into a number of iterations (time-steps). The number of time-steps that the system is run for is determined by a user inputted parameter. Each time-step corresponds to a block of time, with the simulation starting at step zero and progressing until the input number of time-steps is reached. A time-step corresponds to an iteration of the main loop, as shown in Figure 7. In the main loop, simulation events occur. This is followed by decision-making (planning) by the robot system. These are discussed in the following subsections.
is divided into a number of iterations (time-steps). The number of time-steps that the system is run for is determined by a user inputted parameter. Each time-step corresponds to a block of time, with the simulation starting at step zero and progressing until the input number of time-steps is reached. A time-step corresponds to an iteration of the main loop, as shown in Figure 7. In the main loop, simulation events occur. This is followed by decision-making (planning) by the robot system. These are discussed in the following subsections.

Simulation Events
Decision-Making

Simulation Events
The simulation events step informs the simulated robots' command systems of the results of the actions of the robot system. During the decision-making step, the SRRS determines what actions to perform in future steps. In each time-step of the simulation, robots in the robot system perform tasks which involve acquiring resources, converting resources, or assembling new robots. The simulation events process determines the results of these actions by the robot system.
The process for processing simulation events, which is depicted in Figure 8, consists of looping through the tasks currently being performed. The tasks currently being performed are determined by the decision-making algorithm and include the tasks for the entire robot system at each time-step of the simulation (i.e., the task list is not a task queue for a single robot but a list of the tasks each robot is currently performing). For each of the tasks in progress by the robot system, the risk of performing the task is used to determine (with random input) if it failed or succeeded in the current time-step. If it succeeded, the task's remaining duration is decremented by one. If its remaining duration is now zero, then its completion actions are performed (i.e., the resources are gathered, the part is fabricated, or the robot is assembled). In the case where it failed, then the task failure actions are performed, and it is removed from the active tasks, as a failed task is abandoned.
for a single robot but a list of the tasks each robot is currently performing). For each of the tasks in progress by the robot system, the risk of performing the task is used to determine (with random input) if it failed or succeeded in the current time-step. If it succeeded, the task's remaining duration is decremented by one. If its remaining duration is now zero, then its completion actions are performed (i.e., the resources are gathered, the part is fabricated, or the robot is assembled). In the case where it failed, then the task failure actions are performed, and it is removed from the active tasks, as a failed task is abandoned.  Figure 8. Diagram depicting the operation of simulation events.

Robot System Decision-Making
The decision-making process is when the SRRS assigns tasks to the robots (see Figure  9). This includes determining and assigning what robots to build (if any) and which robots should build them, how many robots should print components (if any), and how many

Robot System Decision-Making
The decision-making process is when the SRRS assigns tasks to the robots (see Figure  9). This includes determining and assigning what robots to build (if any) and which robots should build them, how many robots should print components (if any), and how many robots should collect resources (if any). For the purposes of this work, a simplified decisionmaking algorithm was utilized to facilitate the analysis of the performance of the different system configurations under the various experimental conditions. This decision-making algorithm is now discussed.
In this algorithm, the choice of when to build a new robot, and what type it should be, is decided with simple criteria. The process begins by identifying all idle assembly-capable robots and then taking the buildable robot type list (see Table 4) and repeating it (in order) until there are enough robots in the build queue for each idle assembly-capable robot. Resource constraints are not checked, initially. If a robot cannot be built, the would-be assembler simply remains idle.
are not available for).
After these assignments, all robots that are idle are assigned to collect materials from the environment. If robots return no materials, then it is assumed that the environment is out of raw materials and the system stops assigning any robots to the collection task once this happens. This is, of course, a simplification. The stage at which it can be assumed that no further resources are available to collect may be more complex in real world instances.

Experimental Methodology
The goal of the experimentation presented herein is to generate knowledge that can be used to develop decision-making criteria for SRRS decision-making algorithms. The consideration of multiple factors may allow a decision-making system to make more op-  After determining what each of the robots needs to assemble (if anything), the decisionmaking algorithm assigns all currently idle print-capable robots to fabricate printable components. These assignments are limited by the robot system's current amount of available raw printing materials (robots will not be assigned to printing tasks that materials are not available for).
After these assignments, all robots that are idle are assigned to collect materials from the environment. If robots return no materials, then it is assumed that the environment is out of raw materials and the system stops assigning any robots to the collection task once this happens. This is, of course, a simplification. The stage at which it can be assumed that no further resources are available to collect may be more complex in real world instances.

Experimental Methodology
The goal of the experimentation presented herein is to generate knowledge that can be used to develop decision-making criteria for SRRS decision-making algorithms. The consideration of multiple factors may allow a decision-making system to make more optimal choices, based on the extended set of criteria considered. Thus, in addition to informing decision-making regarding the development of SRRS algorithms, the data presented herein will facilitate the evaluation of future SRRS decision-making algorithms.
In this section, the metrics, experimental conditions, and hypotheses of this study are presented. The primary metrics for which data are collected by the simulation include:

•
Assembly capacity: The number of robots that have the assembly capability at the end of a simulation run. This includes replicator and assembler robot types, which have not succumbed to a task risk and lost their capability. The standard deviation of this value, among the simulation runs, is also recorded.

•
Collection capacity: The number of robots that have the collect capability at the end of a simulation run. All robot types have this capability in this simulation, so this is always equal to the current number of robots in the system. The standard deviation of this value, among the simulation runs, is also recorded. • Print capacity: The number of robots that have the print capability at the end of a simulation run. This includes replicator and printer robot types, which have not succumbed to a task risk and lost their capability. The standard deviation of this value, among the simulation runs, is also recorded

Experimental Conditions
Simulation parameters define each simulation run. These values differ between the experimental conditions in order to facilitate analysis of their impact on the outcome of each simulation run. The simulation parameters and their default values (when not being altered as part of a particular experimental condition) are listed in Table 5. A list and description of the experimental conditions are presented in Table 6. The values in Table 6 are relative to the default parameter values, and experimental conditions that change multiple parameters, such as experimental condition A16, refer to both parameters changing to the specified value. Each system configuration was run under each experimental condition one hundred times (to infer stochastic elements), with each of three different time-step inputs ("Num_Steps" parameter). These time-step input values were 30, 50, and 70.

Experiment Hypotheses
There are three hypotheses that the experiments presented in this paper are based on. There is a hypothesis specific to the centralized replication approach. There is one specific to the decentralized and hierarchical replication approaches. There is also one specific to the homogeneous and heterogeneous production approaches. Each is discussed in this section.

Hypothesis 1: Centralized Approach
The hypothesis for the centralized replication approach is that robot build quality will be higher than the decentralized and hierarchical replication approaches. The disadvantage of the centralized approach is that the assembly and printing capabilities are limited to the initial robots, and therefore its assembly and print capacity will be lower than the other replication approaches. Thus, the system collection capacity and average build quality are the metrics of interest. The average build quality is expected to be higher for the centralized replication approach compared to the non-centralized replication approaches for all experimental conditions. Systems using the centralized replication approach are not expected to have higher collection capacity for the default case, since one assembling robot can only do so much in a given time period. In this regard, the experimental condition classification "C" cases may have instances where the collection capacity begins to favor the centralized replication approach in conditions with increased task risks and build quality demands. Specifically, the higher penalty experimental conditions C4, C7, C8, C9, C12, C13, and C19 are expected to show systems using the centralized approach being more competitive in terms of collection capacity. Secondly, the costs associated with the assemble and print capability do not affect the centralized approach (as only non-replicating robots are built). Thus, a significant enough increase in these parameters may make the centralized approach more competitive in terms of collection capacity. The experimental conditions A6, A9, and A16 are examples where these parameters are significantly increased and are predicted to potentially have this occur.
Experimental condition C18 shows how the benefit of the centralized approach affects the outcome. This benefit is that only the initial robots are assembly capable. The initial robots are assumed to be well tested and therefore have a lower task risk level (simulated using RiskFactory_Modifier). Thus, condition C18 shows the results of the system when that modifier is set to 1.0 (i.e., no task risk reduction for initial robots). It is expected that the collection capacity would be lower due to the robots with an assembly capability succumbing to a task risk more often (on average), and therefore not being able to produce any more robots. The experimental condition C17 is expected to show a similar effect, but to a lesser extent (as it sets the modifier to 0.5).

Hypothesis 2: Decentralized vs. Hierarchical Approach
The hypothesis comparing the decentralized approach to the hierarchical approach is that the assembly and print capacity will be higher in the decentralized approach, as compared to the hierarchical approach. However, the collection capacity for the decentralized approach is expected to be lower than that for the hierarchical approach, as systems using the decentralized approach do not build normal robots (i.e., lower production cost robots that can only collect). Furthermore, the production approach of the system (whether its homogeneous or heterogeneous), may impact performance in this area as well. Thus, it will be of interest to compare the systems using the decentralized replication approach to their hierarchical approach counterpart (and vice versa). Thus, the DHE configuration would be compared to the HHE configuration and the DHO configuration would be compared to the HHO configuration.
The collection capacity is expected to be more equivalent between the decentralized and hierarchical replication approaches when the base production cost values of the robots are increased (and be farther apart when the base production costs are lowered). This is due to the production cost of the normal robots being proportionally raised, which would therefore create a higher cost of building any robot. Experimental conditions A1, A2, and A3 alter the printable components' costs, A10 increases the required build duration, and A17 increases the nonprintable component costs for all robot types. Given this, it is predicted that under experimental conditions A1, A2, A3, A10, and A17, systems using the decentralized replication approach will have a more equivalent collection capacity (as compared to the default case) to systems using the hierarchical replication approach. However, the nonprintable component cost increase in experimental condition A17 would only affect the system in the later stages (if it affects it) due to potentially causing the system to run out of this resource type.
Systems using the hierarchical replication approach are expected to have a closer print and assembly capacity to systems using the decentralized replication approach in instances where resource collection is more costly. Without enough resources, systems using the decentralized replication approach may not be able to produce robots as quickly. Due to this, it is predicted that under experimental conditions B4 and B5, systems using the hierarchical replication approach will be more competitive, in terms of assembly and print capacity (as compared to systems using the decentralized approach). Experimental conditions B4 and B5 reduce the Collect_Amount parameter, which results in each robot collecting less materials per time-step.

Hypothesis 3: Homogeneous vs. Heterogeneous Approach
The hypothesis comparing the homogeneous and heterogeneous approaches is that the heterogeneous approach will be able to increase the number of robots more rapidly. This prediction is based on the heterogeneous production approach using specialized robots and having a lower production cost, as compared to the homogeneous approach (an exception to this is the CHE configuration, due to its reliance on initial robots). However, over time, the heterogeneous production approach will run out of nonprintable components. Therefore, it is predicted that systems using the homogeneous production approach will have a comparatively greater assembly capacity and print capacity at later stages. This is due to the homogeneous approach using the replicator robot type, which has both print and assemble capabilities. Therefore, fundamentally this experiment is a comparison of the value of versatility versus the value of build speed.
Another mission planning consideration is the relative production costs of the various robot types (both the resources and build time required). Having an asymmetrical cost for the print capability and assemble capability is considered. Due to this, it is predicted that experimental conditions A4, A5, A6, A7, A8 and A9 will result in the DHE and HHE configurations outperforming the DHO and HHO configurations, in terms of collect, print, and assembly capacity.

Robot Build Rate
In this section, the robot build rate for each system configuration under experimental condition A0 (the default case) is presented. Figure 10 depicts the build rate for the DHE configuration. Figure 11 depicts the build rate for the DHO configuration. Figure 12 depicts the build rate for the HHE configuration, and Figure 13 depicts the build rate for the HHO configuration. Figure 14 depicts the build rate for the CHE and CHO configurations.

Data Analysis
In this section, the data collected during the experimental runs are presented. The results are analyzed to evaluate the hypotheses presented in the previous section. The results are based on one hundred runs of each experimental condition using each system configuration. In the tables, the numbers are the average of these one hundred simulation runs.

Evaluation of Hypothesis 1: Centralized Categories
The average build quality was predicted to be higher for the system configurations using the centralized replication approach (CHE and CHO) as compared to the other replication approaches. Analysis supports the hypothesis of the average robot build quality being higher for systems using the centralized approach. An average of all experimental conditions for each system configuration for the metric of the average robot build quality is presented in Table 7.

Data Analysis
In this section, the data collected during the experimental runs are presented. The results are analyzed to evaluate the hypotheses presented in the previous section. The results are based on one hundred runs of each experimental condition using each system configuration. In the tables, the numbers are the average of these one hundred simulation runs.

Evaluation of Hypothesis 1: Centralized Categories
The average build quality was predicted to be higher for the system configurations using the centralized replication approach (CHE and CHO) as compared to the other replication approaches. Analysis supports the hypothesis of the average robot build quality being higher for systems using the centralized approach. An average of all experimental conditions for each system configuration for the metric of the average robot build quality is presented in Table 7. In terms of collection capacity, experimental conditions A6 and A9 did not lower the production of robots for most of the non-centralized configurations enough to make the collection capacity of these systems more comparable to the centralized configurations CHE and CHO. An exception is the DHO configuration, which was lowered enough to be roughly equivalent to the CHE and CHO configurations in terms of collection capacity at time-step 30 ( Table 8) and 50 (Table 9). Furthermore, the collection capacity of the CHE and CHO configurations was close to standard deviation range of the DHO configuration at time-step 70 (Table 10).  For experimental conditions C4 and C19, the homogeneous configurations DHO and HHO performed similar to the centralized configurations in terms of collection capacity at the early stages (time-step 30). In the later stages, the HHO configuration was notably higher than the centralized configurations under experimental conditions C4 and C19, while the DHO configuration's performance remained comparable. In contrast, experimental condition C12 did not result in a significantly different collection capacity, as compared to the default case, and C13 did not lower the collection capacity of the other configurations enough to be similar in value to the CHE and CHO configurations.
The higher risk experimental conditions (C7, C8, and C9) lowered the collection capacity of the non-centralized configurations enough such that the CHE and CHO configurations were competitive. This appears to be primarily attributable to the non-factory built assemble-capable robots having too high a task risk level to assemble, to a functional level, properly in these cases. In comparison, the experimental condition C4 corresponds to having a high rate of build failure (the robot construction failed). Under experimental conditions C7, C8, and C9, the dynamic is slightly different in that the risk involves the assembling robot failing during the assembly process and thus losing the assemble capability. In this case, not only does the build fail, but the assembling robot also loses its capability. The results support the hypothesis that the non-centralized configurations are, to some extent, able to better cope with a high rate of build failure but are less able to cope with a high rate of assembly equipment failure.
Finally, experimental conditions C17 and C18 did not show a significant impairment of collection capacity, as compared to the default case. With a 0.1% chance of the assembly robot losing the assemble capability per time-step (due to the task risk level), failure did not occur enough to have a significant impact.

Evaluation of Hypothesis 2: Decentralized versus Hierarchical
The results from the default experimental condition (A0) support the hypothesis that the hierarchical categories have a higher collection capacity, as compared to their decentralized counterparts (depicted in Figures 5-8). Furthermore, the decentralized categories have demonstrated an increased print and assembly capacity, as compared to their hierarchical counterparts (as shown in Table 11). Both of these facts support this hypothesis as well. Experimental conditions A1, A2, and A3 affect the Base_CostPr parameter on an increasing scale. For these three experimental conditions, the decentralized configurations were closer, in terms of collection capacity, to the hierarchical configurations than the default case. Unexpectedly, the DHE configuration outperformed the HHE configuration under experimental condition A2 at the time-steps of 50 and 70. In addition, it outperformed for experimental condition A3 by a marginal amount at time-step 50 (and was approximately equivalent to the highest performing conditions at time-steps 30 and 70). This supports the hypothesis that raising the base production cost of robots (in terms of printable components) increases the comparative performance of decentralized configurations, compared to hierarchical configurations, in terms of collection capacity. Although, it is more prevalent for the DHE configuration, as compared to the HHE configuration, and more marginal of a comparative gain for the DHO configuration versus the HHO configuration.
Experimental condition A10 involves increasing the BaseCost_Time parameter, which affects how long it takes to build all robot types. While this was hypothesized to potentially favor the collection capacity of decentralized configurations over hierarchical configura-tions, the results showed a pattern similar to a slowly progressing default case (A0). Experimental condition A17 increases the nonprintable component cost for all robots (BaseC-ost_NonPr), and the results indicate that this did not significantly enhance the comparative performance of the decentralized approach, as compared to the hierarchical approach.
Experimental conditions B4 and B5 involve reducing the Collect_Amount parameter, where B4 reduces it by a factor of four and B5 reduces it by half. These two experimental conditions affected the performance of the decentralized configurations, as compared to the hierarchical configurations in terms of assembly capacity and print capacity (shown in Table 11). The HHE configuration was approximately equal to the DHE configuration in terms of print and assembly capacity under experimental conditions B4 and B5 at time-step 50. However, under experimental condition B5, this converged to approximately the same as the default case by time-step 70, presumably due to reaching the maximum number of robots within resource constraints. The HHO configuration approximately equaled the DHO configuration at time-step 50 and notably outperformed it at time-step 70. These results differ from the default case, where the DHO configuration outperformed the HHO configuration, and the DHE configuration outperformed the HHE configuration.

Evaluation of Hypothesis 3: Heterogeneous versus Homogeneous
The results of the default experimental condition (A0) support the hypothesis that the heterogeneous DHE and HHE configurations produce robots more rapidly than the homogeneous DHO and HHO configurations. Under this experimental condition, the DHE and HHE configurations reached the resource-constraint-based maximum number of robots by time-step 50 (as depicted in Figures 5 and 7). In contrast, the DHO and HHO configurations showed a more linear build rate, which reached the maximum number of robots around time-step 70 (as depicted in Figures 6 and 8). Thus, the DHO and HHO configurations outperformed their heterogeneous counterparts in terms of assembly and print capacity by time-step 70. This supports the hypothesis that the homogeneous production approach would have a greater assembly capacity and print capacity than the heterogeneous production approach at later time-steps.
In terms of assembly capacity, the DHE and HHE configurations continued to outperform their homogeneous counterparts at time-step 70 under experimental conditions A5, A6, A8, and A9 (as shown in Table 12). Similarly, in terms of print capacity, the DHE and HHE configurations outperformed under experimental conditions A5, A8, and A9 (but not for A6) at time-step 70.
The experimental conditions A4 and A7, which increase printable cost to a lesser extent, resulted in the DHE and HHE configurations performing closer (as compared to A0) to their homogeneous counterpart at time-step 70, for both assembly and print capacity. Thus, the increase in the printable component cost appears to comparatively favor the heterogeneous production approach over the homogeneous production approach. This provides support for the hypothesis that the heterogeneous production approach is able to continue to outperform the homogeneous approach, in terms of assembly and print capacity, for these experimental conditions, even when robot numbers reach a resource constrained maximum.