1 Introduction

Some of nature’s most successful builders operate in a swarm fashion. Organisms such as ants, bees, and termites rely on simple communication strategies to coordinate and parallelize construction tasks. These species crawl on their own structures to expand their work volume. These colonies build robust, adaptable structures on-site that are thousands of times larger than individuals within the colony. Humans are similarly interested in more efficient construction materials, as well as strategies to automate, parallelize, and scale construction. Nature’s builders leverage hierarchical structures to control and optimize multiple material properties. Spiders, for instance, spin protein fibers to weave silk webs with tunable local and global material properties, adjusting their material composition and fiber placement to create strong, yet flexible structures optimized to capture prey. Inspired by nature, Fiberbots aims to combine fibrous composite material with a multi-robot fabrication system to efficiently create on-site architectural structures that withstand variable environments. While introduced in (Kayser et al. 2018), this paper greatly expands on the implementation details necessary for the development of the platform and how it enables the hierarchical design principles discussed.

1.1 Fiber-based composites in architecture

While fiber-reinforced composites (FRC) are well known in the aerospace and automotive industries for their lightweight, high-performance capabilities, they are less commonly used in construction. FRCs consist of a strengthening fiber, such as fiberglass or carbon fiber, and a binding agent, such as resin. They are occasionally used in roofs and decks in the form of composite slabs and beams (Rackham et al. 2009), and in some concrete mixtures (Ma et al. 2018). However, FRCs have only recently been used in full-scale building facades (Gardiner 2015) and structural applications such as bridges (LeGault 2015). Significant work has been done by ICD Stuttgart (Felbrich et al. 2017; Menges 2012; Yablonina and Menges 2018) to expand the field of composite architecture. The slow adoption in commercial applications is partially due to unclear regulations. For instance, the addition of regulatory protocols for fiber-based composites in the International Building Code was only introduced in 2009 (International Building Code 2018, 2018). Natural fibrous systems, such as those in trees and arthropod shells (Fratzl and Weinkamer 2007), also inspire research for the way they exploit fiber alignment in a hierarchical fashion to gain additional strength and flexibility in various conditions (Menges 2012). However, the molds required to create these systems are geometrically constrained and expensive to make and maintain. A process that allows fabrication of more complex geometries without sophisticated infrastructure is key to automating FRC construction at scale and on-site.

Filament winding is a process in which resin-saturated fibrous threads are wound around the outside of a mold called a mandrel. It is most commonly used in fabrication of tubular forms, which could contain bends or branches. Once wound, the resin is cured forming a composite. The mandrel is either retained inside the finished product, sacrificially removed or designed to collapse, delaminate from the product, and be reused. Filament winding is a repeatable method of fabricating high-performance composite parts. Robotic systems have been demonstrated to automate this process, enabling more design flexibility (Anderson 2006; Munro 1988). Our system builds upon prior work to expand filament winding processes, enabling rapid fabrication of custom, architectural-scale tubes with compound curvature.

1.2 Construction with multi-robot systems

Several multi-robot fabrication systems have demonstrated the effectiveness of automation, parallelization, and scaling. These systems either assemble (Allwright 2017; Dogar et al. 2015; Giftthaler et al. 2017; Lindsey et al. 2011; Petersen et al. 2011) or fabricate via a continuous process (Keating et al. 2017; Minibuilders 2014). They may be stationary (Doerstelmann et al. 2015; Galloway et al. 2010; RFL 2016) or mobile. Mobile systems can be divided into aerial (Augugliaro et al. 2014; Felbrich et al. 2017; Lindsey et al. 2011) or ground-based platforms (Allwright 2017; Dogar et al. 2015; Giftthaler et al. 2017; Keating et al. 2017; Minibuilders 2014; Petersen et al. 2011; Yablonina and Menges 2018). Mobile systems, especially those that can climb their own structures, enable larger work volumes than stationary systems because they navigate the in-progress structure to expand fabrication; however, they require sophisticated sensing and navigation to localize. Each approach has a variety of trade-offs to consider and heavily depends on the geometries of the desired output structures and the materials used.

1.3 Our approach

We present a fabrication system that combines FRC and hierarchical design strategies, similar to those explored by ICD Stuttgart (Doerstelmann et al. 2015; Menges 2012; Yablonina and Menges 2018), with a parallelizable mobile strategy, where robots can climb their own structures, such as proposed by (Petersen et al. 2011). Our system is based on a team of robots named Fiberbots. Each robot is identical and consists of a filament-winding system that uses fiberglass thread and UV-curing resin to build a single, self-supporting composite tube via continuous fabrication. Individual tubes are placed side-by-side and interwoven to create larger architectural structures. This system allows the robot to crawl and orient itself along the tube as it fabricates, enabling production of tubes with controlled curvature, tens of times longer than the robot.

This system allows users to design large-scale structures that are fabricable by Fiberbots simultaneously operating in a shared workspace. This system takes high-level design constraints as user inputs and creates viable robot trajectories for structural fabrication. Design of the robot was separated into three sub-systems to address each functional requirement of a robot: composite material handling, mobility, and coordination between multiple robots (shown in Fig. 1). The composite material handling sub-assembly needs to reliably wind fiberglass thread and control saturation with UV-curing resin. The material handling sub-assembly must also provide an easily and automatically reusable mandrel. The drive sub-assembly enables curvature and larger build volumes. The coordination and controls system must allow for parallelization. Designing the sub-assemblies of the robot independently allowed rapid iteration of parts and standalone experimentation with each sub-assembly.

Fig. 1
figure 1

An exploded view of a single Fiberbot, originally shown in (Kayser et al. 2018). Left, a full image of a Fiberbot. Right, the upper left is the inflatable mandrel, bottom left is the mobile base, top right is the wind arm, and bottom right are internal actuators for the wind arm and mandrel

The following sections outline how the composite filament winding system is merged with a drive system to enable large-scale construction of fiberglass tubes with controlled curvature. We then discuss how these tubes can be combined to create more complex architectures, and how a user might interact with the entire system. We demonstrate its potential toward real-life applications by fabricating a 4.5 m tall structure. Finally, we discuss the necessary future research directions that would enable this technology to be used in actual construction settings.

2 Controlling intra-tube properties with a single robot

Each robot creates a single tube of desired length with controlled curvature. Each tube is constructed sequentially, segment by segment, out of a single strand of fiberglass thread and UV-curing resin. Each composite segment can be up to 90 mm in length, between 115 and 97 mm in inner diameter, and up to 40 mm in thickness. Each segment is appended to the end of an existing tube and must overlap a previous segment to adhere to the already cured sections. Controlled curvature is achieved in the tube by tilting each segment relative to a previous segment. After a series of tilts, a minimum curvature radius of 0.688 m is achievable with 90 mm long segments, and 30 mm overlapping region with the previous segment. It takes 18 segments of this geometry make a 90° turn. These limitations are directly related to physical robot constraints, which are discussed in greater detail in Sect. 5.

Construction starts from a reusable pre-fabricated steel tubular base. Given the weight of the structure and the weight of the robot, the tubes must be sufficiently strong to be self-supported. The strength of each segment is affected by the fiber-to-resin ratio, fiber patterning, and thickness within the segment. The adhesion between segments also affects the strength of a completed tube.

The composite handling sub-assembly is responsible for creating individual high-strength segments, and the drive sub-assembly is responsible for moving and orienting the robot between segments to create the full tube. The composite handling system consists of a winding arm, mandrel, and material feed system, and is custom-designed to work with the drive sub-assembly. The wind arm controls the fiber patterning and thickness of a segment. It pulls fiber and channels resin through the material feed system, mixing the two at the nozzle, and winds the composite mixture onto the surface of the mandrel. By overlapping with a previous segment, the mandrel fixes the robot to the existing structure and provides a cylindrical mold for the fiber-resin composite. An inflatable mandrel can create an adjustable radius so that various diameter tubes can be created. Additionally, by deflating or shrinking the radius sufficiently, the mandrel can detach from the cured structure, allowing the robot to drive along the length of the tube. The mandrel can increase its radius again to fix itself in place and fabricate a new tube segment.

The fabrication sequence of each segment (shown in Fig. 2) is thus to (1) inflate the mandrel to proper segment diameter and anchor it to the existing tube, (2) wind the composite, (3) cure the composite, (4) deflate the mandrel to free the robot from the structure, and (5) drive the robot upwards and (6) orient itself to start the next segment. In the remainder of this section we discuss how the wind arm, mandrel, material feed, and drive components were designed and tested.

Fig. 2
figure 2

The overall fabrication procedure for a single robot is depicted (Kayser et al. 2018). (1) The robot is placed in a reusable steel base and tethered to a resin reservoir, electrical power, and spool of fiberglass thread. (2) The UV-leds are turned on to cure the resin, the silicone membrane is inflated to fix the robot in place and act as a mandrel. (3) The robot winds a segment, and then drives up the newly wound segment and tilts. (4) The robot inflates once more to restart the process

2.1 Filament-winding arm to control segment patterning

Most tubular filament winding processes use a linear carriage that travels back and forth along the central axis of a cylindrical mandrel that spins. The carriage deposits resin-saturated fiber as it travels. The relative speed of the translational motion and the rotational motion determine the patterning that is achieved for a single segment of tube. Fine-tuned control over this relation is critical to achieving high-strength segments. However, because the mandrel for this system acts as an anchor to the previous, stationary segment, it also must remain stationary during winding. This means the winding arm must produce both the rotational and translational motions. To control the speeds, a rotational and linear stepper motor was used, respectively (Quinones 2012). We found that the maximum speeds achievable were 70 mm/s linearly and 120 rpm rotationally. These are determined by the tension of the fiber as it pulls against the winding arm. At higher speeds, the stepper motors cannot exert sufficient torque. The maximum linear travel of the arm is 100 mm, which limits the height of a segment, and the radius of the arm is 75 mm, which limits the thickness and radius of a segment.

Wind patterning, as used in traditional filament winding systems, is typically defined as the angle of a single strand of fiber relative to the central axis of the mandrel, and can be controlled by:

$$\tan \theta_{\text{des}} = \frac{{d_{\text{l}} }}{{d_{\text{r}} }},$$

where ϴdes is the desired pattern angle, dl is the linear speed, and dr is the rotational speed, both in mm/s. Because the ratio is the determining factor, we can set dr = 1 to compute the ratio, and then scale both quantities to the maximum linear speed to get a desired pattern at the fastest wind speed:

$$d_{\text{r}} = \frac{{d_{\text{lmax}} }}{{d_{\text{l}} }}.$$

By changing these parameters, and using only the filament winding sub-assembly, we can generate single segments with a wide range of patterning (illustrated in Fig. 3).

Fig. 3
figure 3

adapted from (Kayser et al. 2018). Each is a single segment fabricated independently by a robotic system, not appended onto a tube

On the left is a picture of the robot fabricating a section of tube. The majority of the robot is within the tube, with only the wind arm protruding to continue fabrication. On the right are pictures of weaving samples fabricated by the system

2.2 A flexible and reusable mandrel

While reusable mandrels that are collapsible and expandable, such as reviewed in (Raval and Patel 2014), are widely used in filament winding for composites, few are used to fabricate different parts of the same tube. We designed a custom mandrel to satisfy the requirement for a joint between segments and the need to shift the location of the mandrel along the length of a potentially curved tube.

After several variations, the design of the mandrel was selected to be a soft, inflatable membrane made of sheets of translucent silicone. The silicone is layered to ensure it inflates into a cylindrical form, rather than spherically. An on-board air pump and bidirectional solenoid valves enable the mandrel to inflate and deflate. The inner radius of the resulting composite segment is varied by changing duration of inflation. Diameter of the fully deflated membrane is 80 mm, and can inflate up to 150 mm, though it begins to lose the cylindrical shape near 115 mm in diameter as internal pressure increases. It takes 15–25 s to inflate to the desired range of diameters and 100 s to fully deflate due to the pneumatic configuration. Deflation can take place mid-wind, so that it does not add time to the overall fabrication process.

The flexibility of the mandrel is beneficial because when the robot tilts within the tube to create curvature, one side of the robot will be closer to the edge of the tube than the other. Using an inflatable system allows the extra gap to be filled, making a smooth joint between segments. Additionally, because both the mandrel and the fiberglass composite are translucent, UV-LEDs on the inside of the mandrel assist in curing the composite from the inside.

Once the wind process is complete for a single section and the resin is cured, the membrane is then fully deflated. Deflation delaminates the robot from the structure, and frees it so that it can drive along the tube.

2.3 Material feed

Throughout the fabrication process, a reservoir of UV-curing resin, a spool of fiberglass thread, and a peristaltic pump are kept on the ground level. Storing the raw materials and pump on the ground reduces the weight that the structure must support during fabrication.

During the winding phase, the raw materials travel up through the fabricated tube, through the center of the robot, out the top, and down the robot arm toward the nozzle. The fiber is pulled by the robot arm, whereas the resin is pushed up to the robot via the peristaltic pump through a thin hose. The length of the hose is the primary limiting factor for the possible length of tube that can be created. The fiber is saturated, or wetted, with resin in the nozzle immediately before it is deposited on the mandrel. The materials are kept separate to reduce potential for clogging and fiber breakage, which are critical failures, and require manual intervention.

2.4 Mobile base to control length and curvature

To be able to continuously extend the length of the fabricated tube and to produce curvature, the drive sub-assembly needs to be able to provide fine control over distances traveled and orientation, as well as adapt to tubes with varying radii (effects seen in Fig. 2 and the components in Fig. 4).

Fig. 4
figure 4

Some of the internal, pre-assembly parts of the Fiberbot are shown here, organized by their use case

The drive sub-assembly consists of four treads that are arranged in a cross configuration around the cylindrical body of the robot. When all four tracks rotate in the same direction, the robot moves forward or backward along the central axis of the tube. When opposing tracks are rotated in opposite directions, the robot tilts. Yaw, rotation around the length of the robot, is not easily controllable with this drive system but is not necessary to specify the curvature. The drive system can tilt up to 2.5° offset from the central axis of the previous tube segment, limited by physical constraints which are elaborated on in the discussion section.

The drive system is equipped with internal sensors, consisting of a 6 degree-of-freedom IMU and four sets of magnetic encoders, one attached to each track. The IMU monitors the orientation of the robot, reported as a quaternion using fused sensor data, to provide feedback during orient phases of operation, so that desired curvatures can be produced. Lengths of the tube are controlled across segments by combining distances traveled, as measured by the encoders, and the length of each segment, which is controlled by the linear actuator of the wind arm. The encoders afford resolutions of 0.02 mm.

The robot can crawl along its tube regardless of the tube orientation, including horizontal and inverted tubes. This is accomplished passively, by a spring-loaded transmission system which keeps the robot fixed in the tube while allowing it to adapt to various radii. When opposing pairs of tracks are fully extended, away from the body of the robot, the width of the robot reaches 119 mm, and 97 mm when fully compressed.

As an example, once a 90 mm segment has been wound, the robot will drive up 60 mm. This provides a 30 mm overlap with the old segment and the next segment. After it has driven, it can tilt along a pitch and roll, each corresponding to one pair of tracks, before inflating the mandrel and beginning the wind for the next segment.

2.5 Programmatic software interface

Each robot can be controlled via a programmatic software interface through either serial or wireless 802.11 communication. This interface is similar to G-code, which is commonly used on CNC fabrication machines such as mills and 3D printers. It allows users to specify motion commands or request state information about the robot. A tube is created through the sequential execution of motion commands, and the same sequence will result in the same tube. Separate commands are used for winding, driving, and orientation motions. These commands can be specified with parameters, such as time span of execution, distances, or speeds. This interface provides a flexible means of interacting with the system to fabricate a wide range of segment patterns and tube geometries.

2.6 Manufacturing of the robots, considerations and details

All robots were designed and manufactured in-house by the authors. The body of the robot was 3D printed, and most components were purchased off-the-shelf and minimally adapted to fit our application (shown in Fig. 4). This demonstrates the scalability of the hardware system, and the potential for affordable manufacturing of larger swarms. With swarm systems that can expand without additional complexity, it is important minimize the unit cost of each robot and consider the manufacturing processes. In our initial case study, with a low-rate production run of 20 robots, each cost about $1,600 in materials. In this section, we discuss particular implementation details and considerations.

2.6.1 Molding and material handling

The composite fiber and resin handling sub-assembly rotates in relation to the robot body, along the cylinder’s central axis. Since there are two material feeds one must be off-center of the axis of rotation, else the two paths would tangle. This necessitated the development of a fluid rotary union that met geometric constraints of the robot. Available off-the-shelf options were prohibitively expensive and non-ideal in size and weight. The fluid rotary union is the only custom, precision machined part on this robot, due to the tolerances required to maintain a consistent seal and prevent resin from leaking into the robot body.

As the wind arm and nozzle rotate around the body of the robot and its structure, they generate centrifugal forces on the structure and thus are counterbalanced by extending the arm opposite the nozzle to mitigate these affects.

The inflatable mandrel needed to provide an even surface for laying fiber into the form of an even-walled tube. After the composite cures and the inflatable contracts, the composite delaminates from its surface allowing the robot to roll freely again. We found silicone to be sufficiently elastic to delaminate from the composite smoothly, while allowing the expansion we needed to inflate the mandrel. To keep the outside of the inflatable vertical and maintain a consistent diameter, a secondary silicon sleeve was added to the middle section of the inflatable, making a stiffer section where the material was wound. Experiments were also done to demonstrate means of varying the diameter of the tube within sections by locally binding parts of the inflatable mandrel with fiber while it is partially inflated, then fully inflating.

Stepper motors, a NEMA 11 Nanotec linear actuator, and a hollow shaft NEMA 17 Applied Motion step motor, provide accurate and simple feed-forward simultaneous velocity and acceleration control. However, if the torque limits of the motor are exceeded, the controller will lose track of the motors actual position. Thread tension was found to be the largest factor contributing torque to the wind motor. The linear motor was limited by achievable acceleration as the motor had to switch directions every 90 mm, while the wind assembly traveled up and down. Limit switches were built into the robot to home the arm’s vertical height and angular direction between each segment.

2.6.2 Mobility

Parameters given to the mobility sub-assembly control the segment height, overlap, and angle of each layer fabricated. Several configurations of wheels, tires, and suspensions were tested and iterated on to provide sufficient grip, simplistic control, and radius variability. A continuous track-based system that used four tracks to drive along the inside of the tube was selected. Each track was attached to the robot body via two springs and slid along a rail. This served as a suspension to account for small inconsistencies on the tube inner surfaces and expanded or contracted to fit the robot in various diameter tubes. Compressing the drive sub-assembly kept the robot at the center within its structure as the springs on either side balance force.

Each track is driven by 2 Pololu DC micro metal gear motors (depicted in Fig. 1), and has a magnetic encoder to control linear motion during drive commands. Separate positional PID controllers were implemented to control the distance traveled along the tube and another was used to match the desired angles during tilt commands.

Electronics were housed on two stacking circuit boards attached to the bottom of the mobility sub-assembly for easy access and installation.

2.6.3 Software and electronics

All on-board processing was done with a Teensy 3.6, using a 180 MHz ARM Cortex-M4 processor. A state machine was implemented on each robot, and states were modified by sending programmatic commands. All communication from the central computer over wireless, using standard 802.11, to a ESP8266 chip on-board, which forwarded commands to the Teensy. Global orientation was tracked using fused sensor data in a quaternion format, at 100 Hz, using a BNO055 module from Adafruit (necessary electronics shown in Fig. 4). Orientations were converted into the shared coordinate system for multi-robot operations separately.

During tilt motions, this orientation was used for feedback for a proportional-gain controller that adjusted the DC motor positions accordingly. In addition to a power tether that ran to the ground, providing 24 V, 2.5 A power to the robot, two additional wires provided step and direction signals to the ground-level peristaltic pump stepper motor.

A custom GUI was built in Python to provide a human-readable interface to assign trajectories to robots, monitor their progress, and intervene in case of errors.

3 Controlling inter-tube properties with swarms

A single Fiberbot can construct an individual tube with specified curvature and length. These tubes are self-supporting, but can interweave to create surfaces and volumes, such as walls or bridges, by building tubes side by side or that are interwoven. When interwoven, the tubes can act as co-supporting elements so additional forces can be handled by the structure. These structures can be fabricated sequentially using a single robot, or in parallel with a large team of robots, which we have created (shown in Fig. 5). In an idealized multi-robot system, additional robots would linearly increase complexity and fabrication time. In reality, collision avoidance and fabrication constraints can severely impact this scaling factor.

Fig. 5
figure 5

The photo on the left shows 20y robots. On the right is a rendering of the robots during fabrication with their local coordinate systems relative to the tubes they fabricate, and a global, shared coordinate system that is established during a calibration phase before fabrication begins

To maintain scalability within the system, we pre-design and generate structures based on Reynold’s flocking algorithm (Reynolds 1987). This algorithm is well studied and many adaptations and analyses exist, but has only loosely been proposed as a potential design tool for physical objects (Snooks 2015). Several key features make the algorithm useful for this application. It is fast to compute, simple to decentralize and scale (Lorek and White 1993), and adaptable using many adjustable parameters that are intuitive to tune toward creating predictable output of multi-robot behaviors. Our application treats each robot as an agent traversing in 3D-space, and as it travels, it extends a tube behind it. It thus varies from the traditional algorithm by subjecting each robot trajectory to specific fabrication constraints, including the obstacles they create as they navigate the environment fabricating the structures.

Traditionally, flocking behaviors assign a linear combination of separation, cohesion, and alignment properties to each robot. These affect the distance and direction robots travel relative to one another, respectively. In our system, environmental information can be incorporated as similar linear combinations of forces acting on the robots, such as repulsion from static or dynamic obstacles or tubes, attraction to various goal points, or time varying stimuli (Zhou and Zhou 2004). We further augment these with strict boundary conditions that represent physical robot fabrication constraints, such as maximum tilt angles and a collision cylinder around the robot. These properties are aggregated and run through a discrete time simulator, with each robot being represented by a virtual agent, and its output trajectory corresponding to an output tube (seen in Fig. 6).

Fig. 6
figure 6

These images show the progression as the design evolves to include more tubes. Initially, the robots are placed within a base structure to define their starting positions. A few robots start fabricating, and as more robots continue to build they are attracted to the existing sections, yet avoid collision with the pre-fabricated sections. This forms an interwoven structure defined by the user-selected inputs

3.1 Designing architectures for swarm fabrication

Design of structures that are to be built with swarm robotics must be adjusted to deal with the limitations and exploit the full benefits of such systems. Traditional procedural or generative design techniques are typically complex and are not tool specific. We address the following concerns related to the design of architecture for fabrication by a mobile swarm as described previously.

To deal with these issues, we propose a generative design model that has been created in conjunction with the robotic fabrication system. This obviates the need for the designer to handle minute details allowing them to instead specifying high-level goals to control form and structure. The designs produced incorporate robot constraints, guaranteeing them to be fabricable.

This design tool uses a flocking-based design strategy to allow the designer to specify a handful of structural constraints such as adhesion, alignment, global goals, curling bias, and global avoidance regions, and robot constraints such as local collision regions and maximum curvatures. These properties can be varied regionally or over time to achieve additional high-level design goals. While currently the entire structure is pre-designed and adjusted in simulations, it is possible to use and adjust these parameters, as listed in Table 1, during build time to incorporate reactionary behaviors and adjust designs on the fly. A large range of possible structures and use cases is demonstrated (shown in Fig. 7).

Table 1 The effects of design parameters on robot paths and final structure; these were empirically determined
Fig. 7
figure 7

A range of design parameters and their affects on structure are shown. a High alignment and low curling bias create straight tubes. b Minimal alignment and high curling bias generate curling. c is a variant of a with an additional specified point of attraction to create a globally leaning structure. df Various high-level design methods to guide swarms through (using vector fields) or around specified spaces and boundaries. gi Combinations of parameters that can be competing or hierarchical. g High-level and individual-level clustering, h simultaneously avoiding robots, tubes, and external obstacles, and i the result when taking local structural deflections of the tubes into account

With robots \(R = \left\{ {r_{1} , \ldots ,r_{n} } \right\}\) and associated properties \(A = \left\{ {a_{1} , \ldots ,a_{n} } \right\}\) we model the system as follows. \(a_{i}\) is every robot’s, \(r_{i}\), set of attributes influencing the extent to which the algorithmic parameters in Table 1 take effect.

Every robot traces out a polygonal trajectory \(\left( {V_{i} ,E_{i} } \right)\), with points \(V_{i} = \left\{ {v_{1} , \ldots ,v_{n} } \right\},\) and edges \(E_{i} = \left\{ {e_{1} , \ldots , e_{j} } \right\} \in V_{i} \times V_{i}\). The movement of the robot is determined by the parameters in Table 1, collision detection and avoidance and the angle constraints of the system. We denote the typical flocking parameters by \(F_{ij} \left( {\left\{ B \right\},a_{i} } \right)\), where B is the set given by the n closest elements from R and V to ri within a given threshold. For example, the curling bias is given by \(F_{\text{icurl}} \left( {\left\{ B \right\},a_{i} } \right)\; = \;q\left( {\left( {v_{r + 1} - v_{r} } \right) - \left( {v_{r - 1} - v_{r} } \right),\theta } \right)\left( {v_{r} - r_{i} } \right)q\left( {\left( {v_{r + 1} - v_{r} } \right) - \left( {v_{r - 1} - v_{r} } \right),\theta } \right)^{ - 1} ,\) where q is the quaternion from axis x and angle θ and vr is the nearest element in B to one of the Ei.

For a given robot position, its next position is determined by a linear combination \(d_{i} = \sum \nolimits_{j} \lambda_{j} F_{ij} \left( {\left\{ B \right\},a_{i} } \right),\) for weighting scalar λ. di is corrected for potential collisions by generating polygonal struts from E and compute an intersection with cone from ri to ri+ di The intersection contour is used to adjust di, and the angle between di and vnvn−1 is restricted by the maximum angle physically achievable by the robots.

With this tool, users are able to effectively guide the design of a final structure without worrying about minutia. However, this abstraction can make it difficult when small details are required, for instance, if a specific structural density or strength is required in a particular region. Because several parameters affect similar behaviors, for instance a high alignment requirement may conflict with a high curling bias, it can also be difficult to design specific situations. Further research is needed to address this coupling and allow for more specific constraints when needed.

3.2 Parallel operation of multiple robots in a shared workspace

Multiple robots can be used at the same time in a shared workspace by pre-computing collision-free trajectories in the design phase and having the robots execute those trajectories in parallel. Trajectory following is accomplished by decomposing trajectories into sequences of linear drives and rotations or tilts that can be executed during drive phases of operation. Internal sensors enable localization, as previously described. As the robots lack environmental sensors, such as a vision system, they must rely on a shared coordinate system to ensure their orientations are correct relative to one another. This is possible by referencing two global axes. For example, in typical 9-DOF IMU sensors, both absolute gravitational and magnetic north vectors are provided, which are sufficient to establish a shared orientation. Because the magnetic vector is neither provided nor reliable in urban environments, the robots must instead be initialized facing a shared direction to establish a joint reference frame. Tilt commands are then specified in the shared reference frame and transformed into local coordinate frames on-board each robot (shown in Fig. 5).

The current fabrication system uses a central computer to coordinate all robots. During construction, the central computer tracks the progress of each robot and sends the appropriate commands one instruction at a time. All robots and the computer communicate over user datagram protocol (UDP) on a shared wireless network. To detect failures, as well as additional robots, each robot produces a 1 Hz heartbeat on the network that is monitored by the central controller. Each heartbeat contains information about the unique ID of the robot, the status, and the last command received. This information allows the controller to verify packet loss and ensure the appropriate next instruction is sent.

4 Architectural validation

An experimental case study was performed to demonstrate the capabilities of this autonomous fabrication system, and the corresponding design framework, to create real-world structures at architectural scales. 16 identical robots were developed and used in parallel to fabricate a pre-designed structure over a 2-day period.

The design of the structure was achieved using the previously described flocking algorithm and was intended to demonstrate the various aspects of the parameters that are available. Robots were initially clustered into four groups of four robots, each group in a triangular shape, with one robot in the center of the triangle. Each side of the triangle was specified to be 1.75 m long. With relatively high attraction and curling bias between the robots, they formed twisted pillars. By adding an attraction point 3 m above the center of the groups an enclosed space was formed.

To initialize the build process, 60 cm-tall steel tubes with 110 mm inner diameter were fixed to the ground with 2 ft-long stakes. The bases and robots were manually placed in the desired starting configuration with the central axis aligned with gravity to establish a shared coordinate system.

The robots successfully operated in parallel, in a shared workspace, without colliding. Each robot fabricated a tube consisting between 40 and 65 segments, each segment was 90 mm in length and 115 mm in diameter, with a 27 mm overlap with the previous segment. This resulted in tubes between 2.5 m and 4.1 m in length and overhangs that reached nearly 1.5 m horizontally. Each segment took 8.7 min to wind and cure, resulting in an upper bound fabrication time of 9.5 h for a 4 m tube. 8 robots were used each day to allow for close monitoring. Additional fabrication time arose from necessary maintenance on a few robots, as well as daily set up and evening storage. Using the central controller, we were able to pause a subset of the robots without affecting the progress of others.

The resulting structure (Fig. 8) stood 4.5 m tall, took 12 h to set up and fabricate, and remained on-site for 7 months spanning fall and winter in Cambridge, Massachusetts. It resisted damage from weather, including rain, strong winds, and heavy snow.

Fig. 8
figure 8

After the structure was built, it remained outside for 7 months in the New England climate without showing wear. It survived several snow storms including the one pictured

5 Discussion and conclusions

We have designed a unique autonomous fabrication system that creates fiberglass composite tubes with controlled length and curvatures. This is achieved by combining a mobile system with a flexible, reusable mandrel and custom material feed. We have further extended its use in a multi-robot context and have demonstrated one of the first instances of a mobile autonomous fabrication system that uses a continuous fabrication process, operates in parallel within the same workspace, and can create architectural-scale structures on-site. This approach of fabricating fiber-reinforced composite tubes can be made scalable and used in a variety of contexts, and represents a major step toward fully autonomous construction using fiber-reinforced composites. However, additional research must be conducted before this type of technology can be used in industry contexts. Specifically, several considerations and trade-offs must be considered to balance feasibility with material selections, impacts on structural stability, and further automation. We discuss these considerations below and what is necessary to address before such a system can be used in the real-world.

5.1 Impact of physical design of robots on output structures

The case study fabrication procedure was stopped prematurely due to concerns about whether the individual tubes with extended cantilevered sections were strong enough to support the 1.5 kg mass of the robot plus the additional weight of the power tether and material feed. A long-term goal of this system is for tubes to co-support one another. This would allow for increased load capacity, which a standalone tube would not be able to support. To realize co-supporting elements the tubes would need to contact each other, requiring tighter tube curvatures, smaller collision radii or flexible sections.

Most of the geometric constraints of the tubes arise from robots colliding with their own tubes, called self-collisions, or by colliding with external obstacles, including other robots, tubes, or the environment (demonstrated in Fig. 9). By constraining the bulk of the robot to fit within its own self-built tube, tubes can be fabricated closer to obstacles without the robot colliding. The wind arm, along with a portion of the robot body, is the primary element that protrudes from each tube. The length and travel distance of the wind arm determine a collision cylinder around the operational robot that affects how close tubes can be fabricated to one another. The shorter the arm, or the closer it is to the rotating axis, the closer the tubes can be to each other. However, if the arm is too short, the robot self-collides while performing steep drive turns, reducing the amount that the robot can tilt between each segment. There are three critical points on the robot body were self-collisions can occur. The combination of these critical points limits the curvature achievable by the robot. With our robot geometry tilts up to 3° were achievable within 100 mm segments, but we limited tilts to 2.5° to maintain a safety factor.

Fig. 9
figure 9

This figure, originally presented in (Kayser et al. 2018), shows how robot kinematic constraints (on the left) can limit and impact the overall structure (on the right). On the top left, the wind arm and protrusion of the robot forms a collision cylinder with other robots, tubes, and obstacles, and limits how close together tubes can be, shown to its right. On the bottom left, the robot’s self-collisions with its own tube limits its tilting capability and hence the overall possible curvature of the tube, shown to its right

The minimum curvature and the minimum distance between tubes can be decreased by altering the robot’s body to reduce the self-collision points, or by allowing an arm stowing or flexible mechanism. Additional structural and materials testing is needed to determine the full range of fabricable forms, including extent of overhangs and flexibility of the structure. Explorations into alternative resins and fibers could make the process more environmentally friendly, allow the material to be reusable and provide alternative material properties.

5.2 Toward full autonomy and decentralized control

The Fiberbots system has the potential to be fully autonomous, cooperative, and to operate in remote environments with minimal human intervention. To do so, it must be robust, and must be able to react to external obstacles. This requires optimization of the initialization routine, improvements to trajectory following, and integration of external sensing capabilities to detect obstacles during build-time. Additional external sensing could also be incorporated to ensure that structural strength and stability requirements are met, such as that presented by (Melenbrink and Werfel 2018).

Currently, bases must be manually fixed and oriented to align the design tool’s virtual model with the physical space. This could be improved by measuring their orientations and distances using fiducial markers and seeding them into the design process. Alternatively, their location can be determined and adjusted in the design tool, and the bases can be aligned by a separate autonomous system. However, these solutions all require additional external infrastructure.

Perhaps most immediately, the localization accuracy of the robots must be improved. While there were no collisions during the large-scale case study, this was not guaranteed. We measured drift around 1 m at the end of the 4 m lengths for one of the worst-performing robots. This drift is primarily attributed to the dead-reckoning or odometry-based localization with no global feedback, and inconsistencies in the tilts due to the inflatable membrane and surface changes within the tube that were not accounted for. External sensing—including cameras, GPS, and LIDAR—could be used to increase localization accuracy and enable in-process collision avoidance. This in turn could enable fully decentralized and autonomous behaviors. The flocking algorithm used naturally extends to a decentralized control scheme and supports reactive, rather than pre-designed behaviors. This is promising toward a remotely operating system. However, there are few theoretical guarantees afforded to flocking algorithms, so further algorithmic developments are needed to guarantee explicit strength requirements and completeness of the robot paths.