Teams of robots in additive manufacturing: a review

ABSTRACT Additive manufacturing (AM) is a key enabler and technological pillar of the fourth industrial revolution (Industry 4.0) as it increases productivity and improves resource efficiency. However, current AM systems present some limitations in terms of fabrication time, versatility, and efficiency. The concept of teams of robots represents a novel approach for AM aiming to address these limitations. This review paper discusses the current state-of-the-art of the use of cooperative AM systems based on gantry systems, robotic arms, and mobile robots. The information flow, path planning and slicing strategies are discussed in detail, and several examples of the use of cooperative AM systems are provided. Finally, major research challenges and future perspectives are discussed.


Introduction
Additive manufacturing (AM) is a group of processes that create 3D parts by adding material, usually in a layer-by-layer fashion (DebRoy et al. 2018).Due to material limitations, AM was initially used to create parts to support design activities, function testing, and relief models for geographical applications (Bártolo and Gibson 2011).In the 1990s, AM was significantly used for the direct fabrication of tools (e.g.thermoforming and sand casting moulds) (Kruth, Leu, and Nakagawa 1998;Hodder and Chalaturnyk 2019;Czelusniak et al. 2018).It was also used for the fabrication of masters for further production of tools using different techniques such as vacuum casting, epoxy, and spray tooling (Boparai, Singh, and Singh 2016).Significant developments on high-performance materials for AM and the improvement of fabrication accuracy and control enabled AM to progress into a rapid manufacturing process, allowing to produce functional parts (Ngo et al. 2018).Currently, AM is used to create nano-to macro-scale parts in a wide range of materials for multiple fields such as consumer goods, aerospace, defense, aeronautics, construction, medical and tissue engineering (Salles and Gyi 2013;Leal et al. 2017;Uriondo, Esperon-Miguez, and Perinpanayagam 2015;Bos et al. 2016;Aydin and Kucuk 2018;Liu et al. 2021;Meng, He, and Li 2021).Recent trends focus on the use of AM to create functionally graded structures and smart structures (e.g. using shape memory or selfhealing materials) and the combination of AM with other techniques through the development of hybrid or multi-modal fabrication systems (Roach et al. 2019;Craveiro et al. 2020).
According to the American Society for Testing and Materials (ASTM), AM comprises seven different technologies (ASTM 2015): material extrusion, vat photopolymerisation, sheet lamination, powder bed fusion, directed energy deposition, material and binder jetting (Table 1).Depending on the mechanical system used to control the printing bed/printheads, AM comprises gantry robots, robotic arms, and mobile robots which represents an emerging area in the field of AM (Bhatt et al. 2020;Tay et al. 2017).As observed from Table 1, the majority of AM systems are based on the original concept of gantry platforms, due to the high precision of positioning the end-effector, and simplicity of their joints structure and control system (Siciliano et al. 2009).However, gantry systems present a limited workspace and a limited ratio between the workspace and the volume occupied by the machine (Tyapin et al. 2007).
Recently, a large number of AM systems based on robotic arms have been proposed (Bin Ishak, Fisher, and Larochelle 2016;Stevens et al. 2016;Bhatt et al. 2019b;Ding et al. 2015;Badarinath and Prabhu 2021).These systems were developed for applications requiring high workspaces and dexterous systems, allowing multi-axis printing by using joint configurations with high degrees of freedom (Urhal et al. 2019).For example, Dai et al. (2018) used multi-axis printing robotic arms to eliminate the need for support structures on complex objects, which is impossible to achieve using conventional gantry AM machines.However, the design and control of robotic arms are more complex.Additionally, the singularities of the robotic arm within the printing space must be considered (Yu and Luo 2018).Moreover, due to structural flexibilities, vibrations are noticeable, affecting the printing quality and accuracy (Farahbakhsh et al. 2022).
An emerging trend in AM is the use of mobile robots (ground or aerial) enabling the printing process tobe performed on large workspaces.The portability of mobile robots allows AM to be used in places that are dangerous or difficult to be reached by humans.However, these systems present some limitations in terms of precision of positioning the printhead (e.g.uncertainties in localisation (Tiryaki, Zhang, and Pham 2020), and aerial robots' fast rotating propellers may affect the printing process (Hunt et al. 2014;Zhang et al. 2022)).Moreover, some configurations of mobile robots are more susceptible to vibrations than others, for example, the discrete number of rollers in mecanum wheeled robots is a large source of vibrations (Xie et al. 2015).
The teams of robots concept consists on the use of multiple robots intending to perform collective tasks, and can be classified as homogeneous or heterogeneous systems (Yan, Jouandeau, and Cherif 2013).In homogeneous systems, all robots share the same capabilities (Jiang et al. 2020b).In the context of this review, homogeneous systems correspond to cooperative printing robots working together on the printing process of the same part.Heterogeneous systems correspond to assistive robots that perform different supportive tasks such as pick-and-place to assist the robot responsible for the printing process (Roach et al. 2019).
Systems with multiple cooperative robots introduce several advantages such as task complexity reduction, increase performance, enhanced reliability, and system design simplicity.A task that is complex for one robot, due to the nature of the task or the intrinsic characteristics of the robot, can be shared between multiple robots in the system (Khamis, Hussein, and Elmogy 2015).Moreover, sharing a task between multiple robots helps in increasing performance and reducing the total time required to finish the task (Shen, Pan, and Qian 2019).Reliability is also an advantage for cooperative robots, as if a robot fails for any reason other robots in the system can replace it without affecting the completion of the task (Stancliff, Dolan, and Trebi-Ollennu 2009;Reig et al. 2021).Finally, designing multiple smaller robots is easier and more flexible than designing a single large system that must have the capabilities of all the other robots (Khamis, Hussein, and Elmogy 2015).
Teams of robots are used in traditional manufacturing (Huang and Lin 2003;Zhao et al. 2020Zhao et al. , 2021)), where multiple robots work cooperatively to achieve manufacturing tasks that are time-consuming, inefficient, or impossible to be performed by a single robot.Similarly, the use of a team of cooperative robots has the potential to significantly transform AM, allowing to create or repair large complex multi-material parts in a wide range of environments (in-site or off-site), improving versatility, productivity, and efficiency.The types of robots discussed in this paper are gantry systems, robotic arms, and land mobile robots.Aerial robots are briefly mentioned as very few works investigated the use of aerial robots in AM mainly due to their high positioning errors (Zhang et al. 2022).
A large number of review papers have been published discussing various aspects of AM and robotics.These works include review papers that discussed robotic systems in AM and their advantages (Bhatt

Directed Energy Deposition
An AM process in which focused energy is used to melt materials as they are being deposited Material Jetting An AM process that builds 3D objects by emitting a stream of droplets of a build material to an exact co-ordinate Binder Jetting An AM process that deposits a stream of microparticles of a binder material over the surface of a powder bed, joining particles together where the object is to be formed et al. 2020;Urhal et al. 2019;Danielsen Evjemo et al. 2017), mobile robots for concrete 3D printing (Dörfler et al. 2022), multi-axis AM by robotic systems (Jiang et al. 2020a), robots in traditional manufacturing (Tao, Zhao, and Ding 2019;Shneier and Bostelman 2015), cooperative robots in various fields such as agriculture (Ju et al. 2022), military (Gans and Rogers 2021), and welding (Xu et al. 2020), path planning strategies for AM by single robot systems (Jiang and Ma 2020), and path planning for cooperative printers in directed energy deposition systems (Manoharan and Kumaraguru 2018).However, the papers that reviewed the use of robots in AM were focused on single robots and showed the applications without discussing in detail the path planning strategies.Moreover, the use of assistive robots was not discussed thoroughly in any review paper before.As for the path planning, the review papers discussed trajectory generation for single robots which does not capture the complexity of systems with multiple robots, and thus not discussing toolpath allocation, and collision detection and avoidance.
Therefore, this is the first review paper that provides an overall discussion on the concept and implementation of teams of robots in AM.The paper discusses the state-of-the-art of this concept from three aspects: cooperative printers, assistive robots, and information flow.Figure 1 summarises the key topics and subtopics discussed in this review.To familiarise the reader with overall concept of team of robots in AM, the paper starts with discussing the applications and implementations of teams of robots as cooperative printers and assistive robots.Then, the paper delves into the information flow of cooperative printing robots, discussing various topics such as the toolpath generation, collisions-related algorithms, and the use of simulations for teams of robots.Finally, the paper also discusses key research gaps, challenges, and opportunities to further develop this emerging area in the field of AM.

Cooperative printing gantry systems
Cooperative gantry systems comprise different kinematic configurations, including multi-nozzle (Figure 2a) and multi-gantry (Figure 2b) (Zhang and Khoshnevis 2013).Multi-nozzle gantry systems consist of a single platform that carries multiple nozzles.In this configuration, each nozzle is free to move on both X-axis and Y-axis independently, but the Z-axis is shared between printheads.On the X-axis the nozzles cannot cross each other.Multi-gantry systems comprise multiple gantries arranged next to each other, and each gantry controls a specific printhead.In this configuration the printheads cannot cross other printheads in the Y-axis, being free to move in any other direction.
The gantry kinematic configurations proposed in the literature are limited due to the crossing prevention nature.This largely reduces effectiveness of the cooperative printing systems and affects the workspace of each printhead.A better kinematic system, though more complex, is the multi-arm configuration (Figure 3).In this case, the cooperative system can move freely in all directions, being able to cross other nozzles if no collision is detected.The multiarm configuration can be scaled to any number of printheads.Figure 3 shows three multi-arm configurations with a different number of printheads.A system with n number of printheads requires the printing platform to be shaped as a polygon with at least n sides.
The use of cooperative gantry systems for AM applications has been investigated by several research groups.Wachsmuth (2008) developed a multi-nozzle gantry system for polymer applications.This system was the first reported cooperative printing system.The authorised commercially available printheads (filament-based systems) and added solenoids to lift the idle heads.The system required careful calibrations to guarantee the avoidance of collisions during the printing process.To test the system, the author fabricated a cube specimen that was deposited evenly between all the heads.The end-product showed mechanical properties nearly identical as if a single head was used, but the fabrication time was significantly reduced.
For construction applications, the Italian company WASP (Wasp.TECLA 2021), developed multiple crane 3D printers to build houses collaboratively (Figure 4), using a wide range of materials such as concrete mortar, geopolymers, and natural waste materials derived from the rice production chain.However, due to the configuration of the system, the interaction between two machines is limited, reducing the overlap/cooperative area.This concept of small overlapping areas were also implemented by other researchers (Shen, Pan, and Qian 2019;Zhang et al. 2018).The lower the overlap area the more the system converges to multiple single-printhead systems working individually.Increasing the overlap area improves the capabilities of the cooperative printing system and allows more cooperation, however, collisions become more frequent.Thus, further research work is required to determine the best overlapping area that produce the optimal results with minimum side effects.Large AM machines used to produce large-scale parts present limited accuracy and part quality regarding small-scale features, due to accuracy fluctuations in the workspace (Tan et al. 2014;Feng et al. 2015).This problem can be addressed by using multiple gantries to fabricate large-scale parts, allowing to assign different printheads to different regions.Titan Robotics (U.S.A.) (Titan Robotics 2017) used this approach to fabricate large plastic parts.The system comprises five extruders (screw-based printheads) using polymers in the form of pellets.The system was capable of printing layers of heights as low as 0.1 mm.The machine build volume was 1830 mm × 762 mm × 502 mm.

Cooperative printing robotic arms
The use of cooperative robotic arms for AM is rapidly growing, as, contrary to the gantry systems, each robotic arm is independent of the other arms, which further simplifies the control and planning of the cooperative robotic system.Moreover, the workspace of robotic arms can be larger than the machine size.
Shen, Pan, and Qian (2019) developed a multi-robot extrusion-based system for large-scale manufacturing.The system consists of four 3-axis robotic arms, a printing bed, and a nozzle attached to each robotic arm (Figure 5a).The robots are arranged in parallel, and  each line can have as many robots as needed.By this method, a part of any length can be printed.However, both the width and height of the printed part are constrained by the workspace of the robot.Therefore, the system is only able to print models that are large on one dimension but smaller on the other two dimensions.Figure 5(b) shows a part produced by this cooperative system, which compared to a single robot allows to reduce the fabrication time by 73%.One of the limitations of this work is that no robot is allowed to work on the next layer unless all the other robots are finished from the current layer.This limitation is common in the literature of cooperative printing (Zhang and Khoshnevis 2013).
The use of cooperative robots allows multi-resolution 3D printing, which is not possible with single robot AM machines unless the arm frequently changes the end-effector.Bhatt et al. (2019a) investigated this feature of heterogeneous cooperative systems by using two 6-axis ABB robotic arms.In this case, one robot prints the surface in high resolution with a low nozzle size while the other robot prints the core in low resolution with a large nozzle.This system enables the printing of non-planar surfaces and reduces the printing time without affecting surface finishing.However, a delay between each robot is needed to avoid collisions.The cooperation in this system is weak as the two robots work independently of each other and there is no interaction between the robots.Also, due to the delays added, the fabrication time increases significantly.A system where the two robots work together at the same time reduces the printing time but complicates the planning aspect due to collisions chances.
A robotic arm can also carry an end-effector with multiple cooperative printheads.Tianying et al. (2021) developed a custom end-effector for directed energy deposition that incorporates 5 different arcs with 3 torches as shown in Figure 5(c).Moreover, the endeffector controls the torches positions and rotations using five motors, and also controls a 6-axisKUKA robotic arm (Figure 5d).Fabrication using the custom end-effector was performed by restricting the two arcs to form the contour of the layer being the contour filled by the other arcs.This system was used to produce a metal marine propeller bracket with forming efficiency reaching 1800 cm 3 /h.Custom printheads can also be used to address the staircase effect.For concrete printing, Lao, Li, and Tjahjowidodo (2021) developed a variable-geometry nozzle consisting of a deposition module (inlet and outlet nozzles and a material flow channel) and two shape-varying units on both sides of the deposition system (Figure 6).In total, 10 sliding plates acting as actuators were used to change the shape of the nozzle oulet.

Cooperative printing mobile robots
The use of mobile robots in AM is a new concept.The ability of a robot to move freely in a workspace opens new possibilities to AM and presents several advantages such as the large workspace that can be covered by mobile robots, only limited by cable length or battery capacity.Moving freely in a plane alongside having large workspace ease the task of collision avoidance which is a major obstacle for implementing cooperative robots in AM.Moreover, a mobile robot can carry a robotic arm onboard which further increases the usefulness of mobile robots and widen possible applications.
Several research groups investigated the use of cooperative mobile robots for AM based on the use of holonomic and nonholonomic robots, or multiple robots and swarm robots to process a wide range of materials such as plastics and concrete.A holonomic mobile robot does not have any constraints on its velocity while nonholonomic robots are subjected to a Pfaffian velocity constraint (Janiak and Tchoń 2011).Moreover, holonomic mobile robots can move sideways making the man ideal choice for 3D printing applications.
A mobile robot can be used as an AM machine by attaching a Z-axis stage to the base of the robot.Marques et al. (Marques, Williams, and Zhou 2017)from the AM 3 Lab at the University of Arkansas (U.S.A.), developed two low-cost holonomic mobile 3D printers that print while moving.Each robot was equipped with a Zaxis stage, a printing nozzle able to print a wide range of plastic materials, and positioning sensors (Figure 7a).Currently, there is no communication between the two robots, so a novel communication system is required to transform the system into a real cooperative system.The AM 3 Lab (AMBOTS 2021) developed also a variation of the cooperative AM system using a robotic arm instead of the Z-axis stage.These works did not make use of global localisation sensors and instead only relied on local sensors.Therefore, the two robots cannot know each other locations and where each robot should be if both only know their locations based on the local reference point.Moreover, without global sensors, it is difficult, and time consuming to setup and calibrate the cooperative printing systems, as the operator must manually calculate the starting transformation matrix between both robots.
On the other hand, Xu, Wang, and Feng (2021) used two nonholonomic mobile robots for material extrusion (Figure 7b).Since their robots cannot move sideways, they attached a 2-axis robotic arm on top of each mobile robot to perform 3D printing tasks.Positioning the mobile robots was done using a regular projector and cameras, achieving millimeter-level visual servoing accuracy with both global and local sensors.
However, in all of the previously reported mobile robot applications, the quality of the produced parts was worse than the parts produced by other fixed robots.This is mainly due to the poor positioning of mobile robots compared to fixed robots.To achieve comparable results, better localisation systems need to be developed.Furthermore, wheels are very sensitive to manufacturing and assembly errors which lead to vibrations and inaccuracies.Additionally, omnidirectional wheels introduce vertical vibrations that further reduce the quality of the printed part (Xie et al. 2015).
Another example of a cooperative mobile AM system for construction applications was developed by The Institute for Advanced Architecture of Catalonia (Spain) (Jin et al. 2013).The system is based on the use of three nonholonomic mobile robots.All robots take building material from an external concrete pump and mixer.The first robot is the foundation robot, as it lays the foundation of the structure by following a specified track on the ground (Figure 8a).This robot has a vertical actuator that incrementally adjusts the nozzle height.Then, another robot climbs the foundation and deposits concrete by following the foundation path (Figure 8b).The four rollers in this robot allow it to clamp onto the edge of the structure to deposit more concrete layers.Finally, the third robot uses vacuum cups to attach itself into the surface of the structure and reinforces the shell printed by the previous robots (Figure 8c).Structural optimisation tools and finite element analysis software were used to create an optimised path for this last robot.
Aerial mobile robots are currently being investigated as main systems for the bio-inspired concept of swarm 3D printing.This type of collaboration is inspired by nature where insects cooperate to construct large structures, such as termite mounds (Oxman et al. 2014).Aerial robots bring the advantage that each robot can move in three dimensions allowing them to easily avoid collisions and reach inaccessible places.A recent work explored this concept by developing several drone 3D printers called BuilDrones (Zhang et al. 2022).To counter the inaccuracies of aerial robots, a delta robot is attached to the drone and performs the printing process.The delta robot is a self-aligned manipulator that overcomes the disturbances caused by the drone during flight.The authors successfully printed several structures using this system as shown in Figure 9.In a virtual printing experiment, they used three BuilDrones to cooperatively print a large structure.However, no cooperative physical printing was performed, and the sensor system used was designed to work within laboratory environments, limiting their use in outdoor environments.Moreover, the system shows a 6 mm median value of absolute positioning error for the printhead.
Both aerial and ground robots face several challenges when used for AM applications, especially in terms of positional accuracy, material stock and battery power.Current ground mobile robots suffer from poor positioning accuracy, and this issue is amplified in aerial robots as the current accuracies of these systems in isolation are in the centimetre ranges (Gerwen et al. 2022).The BuilDrones team overcame this issue by mounting an accurate delta robot on the drone.However, this increases the total weight preventing the system from carrying more material.Weight issues are particularly important for aerial robots, with researchers focusing on developing lightweight material specifically designed for aerial AM (Zhang et al. 2022).Similarly, as the robot cannot carry large amount of material, it is required to  refill its stock frequently which significantly increases the printing time (Zhang et al. 2022).The refilling is usually manually performed, so the development of automated AM material refilling strategies for both ground and aerial systems are required.Finally, there is the problem of power consumption as AM equipment usually require high power compared to drones usage (Gutierrez-Osorio et al. 2019).
Moreover, as the concept of swarm 3D printers is hard to implement, several researchers developed computer simulation tools to evaluate their performance.Shepherd and Williams (2017) carried out a simulation for 3D printing with a swarm of aerial robots.In this simulation, they imitated insects building a large column of a termite mound.Another simulation was developed by Krishnasreni et al. (2014) to fabricate bridges between structures in high altitudes.The drones in the simulation are flexible in taking different formations and configurations, enhancing their ability to adapt in case of weather fluctuations.However, no physical systems have been reported.
Cooperative AM is not only applicable to macroscale manufacturing but also to micro manufacturing.An example was proposed by Cappelleri et al. (2014) that designed a method for independent control of several magnetic microrobots.The designed system consists of specialised micro coils of similar size as the robots, used to generate magnetic fields to manipulate the trajectories of the robots.The system has been developed for the AM fabrication of smart devices, sensors, and actuators.
Due to the large workspace of mobile robots, they can be used for architecture and aesthetics applications.Yablonina et al. (2017) developed a system that consists of multiple cooperative lightweight nonholonomic mobile robots.Each robot can sense the environment using a set of onboard visual sensors such as cameras.The control system allows the robots to localise within the environment and provides real-time path corrections.The robots were also designed to climb walls to fabricate structures in a 3D environment.Printed filaments are supported by anchors.Figure 8(d) shows a sequence of steps illustrating the fabrication of an object.

Assistive robotic systems
In the context of AM, assistive robots can be used to increase the versatility of AM machines.Assistive robots are those that do not directly deposit or extrude material during the fabrication process.They are responsible for tasks that need to be implemented off-printing for preparation or during the printing process (e.g, pick-and-place or printing platform control).

Assistive robots off-printing
Assistive robots are beneficial for AM when used before or after the printing process.Such robots are used for the purpose of preparing the AM machine, performing tasks such as transportation, loading the machine with new materials, cleaning the printing platform, or inserting supports off-printing.
A common application is to transport the 3D printing machine to the desired location before the printing process starts.In this case, mobile robots are advantageous as they allow the machine to be portable and significantly increase the workspace.Multiple research groups have explored the use of mobile robots as transportation media (Li, Aubin-Fournier, and Skonieczny 2021;Keating et al. 2017).Zhang et al. (2018) developed a team of mobile robots for construction applications based on 6axis robotic arms mounted on holonomic mobile robots (Figure 10a).For localisation and odometry of the mobile platforms, they used several sensors such as a laser scanner, stereo camera and markers, wheel encoders, and inertial measurement units.In this case, the mobile platform was used to carry the robotic arm moving it to the printing location.A moving while printing strategy was not implemented.Each robot was equipped with a printing nozzle that deposits concrete fed from an external pump and mixer system.A sample concrete structure is shown in Figure 10b.The sample had high bonding strength allowing it to support its weight.However, the interface between the two sections is visible which indicates that a better positioning system is required.
Usually, when a part is finished, the machine stops and cannot proceed until the part is removed.Hence, assistive robots can be used to pick the finished part and store it away from the printer.Aroca et al. (Aroca et al. 2017) developed a 2-axis robotic arm that removes the finished part by pushing it out of the printing platform (Figure 11).The main limitations of this system, which was developed to produce plastic parts, are related to the part adhesion to the printing platform and the forces applied by the robot to remove the part which might damage it.In order to solve these limitations, Costandi et al. ( 2017) used a FANUC robot to remove the printing platform when the process is finished, replacing it with a new one.The finished platforms are stored in a rack beneath the printer.However, this process is limited by the number of available printing platforms.Issa et al. ( 2019) also developed a 2-axis robot to unload the finished part.However, they used a revolute-prismatic joint structure instead of a revolute-revolute one.Mobile manipulators have also been used to remove finished parts from the machine.Arrais et al. (2019) developed a mobile system that moves from a docking station to the 3D printer when it finishes and grasps the part based on its geometry without collisions.The mobile manipulator then plans its path to the unit that requested the 3D printer to fabricate the part or to a warehouse.
Concrete 3D printing largely benefits from assistive robots, as stacking concrete layers without reinforcement is limited to non-load bearing applications.Therefore, methods to introduce structural elements and other components are needed to increase the capability of concrete 3D printing.Hack et al. (2020) developed an end-effector specialised on forming meshes before concrete printing.The developed system uses a mobile manipulator to install large-scale steel mesh that supports concrete printing.However, fully installing the steel mesh before 3D printing requires the manipulator to do several relocations to access all the points in the printing area.There are many attempts to develop systems that reinforce the concrete structure after the  printing process is finished, for example by embedding fibres and metallic bars (Mechtcherine et al. 2021).

Assistive robots during printing
An important role for assistive robots is performing various tasks while printing to increase the versatility of AM machines.Such tasks allow AM to be used within full manufacturing and assembly systems.
Assistive robots allow the printing platform to be actively controlled, increasing the degrees of freedom of the system.Furthermore, actuated printing platforms can be used to simplify the process of creating revolved parts.For example, Ding, Dwivedi, and Kovacevic ( 2017) developed a laser-based directed energy deposition system that consists of a 6-axis KUKA robotic arm as the printer and a 2-axis tilt-rotary robot to control the platform.This system simplifies the process planning of multi-plane printing and reduces the required printing time.The system was used to produce revolved parts, such as propellers, which require support structures when made through traditional AM.Main limitation of this technique is related to the poor-quality surface finish due to oxidation, which requires further post-processing.
Support structure reduction or elimination is a prominent example of the use of assistive robots during printing.Bhatt et al. (2019c) used an industrial 6-axis robot for material extrusion together with a robotic arm controlling a 3-axis platform (Figure 12).This system allowed support-free structures (Figure 12b), significantly reducing the fabrication time.A similar approach was used by Wu et al. (2017a), but in this case, the printhead was fixed while a 6-axis robotic arm was used to control the platform.The authors also investigated the mechanical properties of parts produced by this system and similar parts produced using a conventional AM machine.Results showed that the parts produced by the proposed system exhibit relatively lower mechanical properties, mainly due to weak adhesion between layers.Further process optimisation is required.
Gantry systems can also incorporate robot-controlled platforms to further enhance the manufacturing process.Gao et al. (2015) developed a system called RevoMaker, which is a 1-axis rotational platform built on a low-cost material extrusion platform.The system allows the fabrication of functional prototypes requiring fewer support structures.This concept was also demonstrated by Grutle (2015) on a 3-axis AM machine by developing a 2-axis build platform.
Assistive robots can be used for material transportation between different stations.This allows AM to be used as an intermediate step during manufacturing, which is impossible to automate without assistive robots.An attempt to use an assistive robot to move material between two stations was done by Keating and Oxman (2013).They developed a unique manufacturing system that combines multiple technologies, including additive, formative and subtractive methods.In one of the applications, the authors used a 6-axis robotic arm to orient the platform bed during the printing process.Authors also used this robotic arm to move the part between two platforms, one for additive manufacturing and the other for surface milling (Figures 13a  and b).However, the subtractive robotic arm presented significant vibrations requiring further improvement.In this case another assistive robot might be helpful to support the part being built and to reduce the vibrations.Similarly, researchers at the University of Texas at El Paso (Ambriz et al. 2017; MacDonald and Wicker 2016) developed a material handling and registration system for AM.The proposed system comprises several functionalities such as material extrusion, machining, vision system, and an assistive robotic arm that moves components between chambers (Figure 13c).The developed system can produce multi-coloured and multi-material parts (Figure 13d), but the dimensional accuracy of the produced parts is affected by the frequent transportation of material between stations.To avoid such effect on the dimensional accuracy of printed parts, Nagamatsu et al. (Nagamatsu et al. 2020) developed a directed energy deposition system combined with both measurement and machining systems.The shape of the AM fabricated parts were measured using the Structure from Motion method and then machined to the target shape.
Another example of a mid-printing task is pick-andplace and inspection operations.Pick-and-place allows AM to produce functional parts by inserting different components in the part during the printing process.Researchers from the Georgia Institute of Technology (U.S.A.) (Roach et al. 2019) developed an AM machine called M 4 which combines multiple AM technologies such as material extrusion, material jetting, and photocuring (Figure 14).The system also comprises two robotic arms for pick-and-place applications, conformal printing, and in-situ measuring.Moreover, the system uses five motion stages, one to control the X and Y positions of the bed and the other four to control the Z position of each printhead.The system was used to fabricate a light-emitting diode (LED) by printing the case using the extrusion systems and inserting the required electronics inside the case.However, the insertion tasks are not fully automated, being performed by an operator that must place the item in a specific position and orientation so that the robot can correctly pick the item and place it in the correct location.Felsch et al. ( 2017) also designed a manufacturing system that includes multiple extruders and two robots.During printing, the main robot controls the position and orientation of the build platform, while the second robot places metallic inserts inside the part while it is being printed.Drones are also used for the inspection of 3D printed parts as recently presented by Buswell et al. (2020) that developed a system in which a drone was used to scan and inspect 3D printed concrete structures for further verifications.
Assistive robots were used by Relativity Space (U.S.A.) to build the world's first 3D printed rocket (Relativity Space 2020).The developed AM system uses directed energy deposition technology to build various rocket parts such as a large fuel tank.In this machine, three robotic arms work collaboratively.The main arm feeds out metal on a rotating table, using a laser to melt a metallic wire.The other two arms assist the printing arm by holding working tools that are required for finishing purposes.The system is reported to produce parts with mechanical properties designed to meet the critical nature of aerospace structural requirements.

Information flow
The typical information flow in AM is illustrated in Figure 15.First, the 3D model must be created in a CAD system or generated through a reverse engineering process.This digital model must be represented as an enclosed volume.The CAD model is then tessellated and converted to a STereoLithography (STL) file, which is a triangular faceted surface representation like a finiteelement mesh.However, the STL format does not include any information regarding material properties, thus not being able to represent functionally graded objects and complex 3D shapes using multiple materials.The Additive Manufacturing File (AMF) format has been developed to be an alternative to STL (Hiller and Lipson 2009).Contrary to the STL format, AMF is not limited to geometrical data, and includes material information such as texture, colour, and material properties.A slicing procedure is then applied to the STL model, generating a set of 2D layers comprising the contours that represent the material boundaries of the part to be generated.Finally, the path planning is defined and a Gcode file, containing all the instructions to the machine, is created.
The slicing procedure comprises two main approaches: unidirectional slicing and multidirectional slicing (Ding et al. 2016).The unidirectional slicing approach, commonly used for gantry systems, generates layers that are parallel to a fixed build direction.The slicing procedure is mathematically simple and comprises uniform slicing that generates layers with the same thickness, and adaptive slicing that varies the thickness based on the position of the layer (Mao et al. 2019).Contrary, the multidirectional method slices the part considering multiple build directions.This method is mathematically more complex but reduces or eliminates the need for support structures (Xu et al. 2018).
Path planning, performed after the slicing operation, involves generating the material printing toolpath considering multiple robots, avoiding collisions and ensuring the path iscollision-free and kinematic-feasible (Yang et al. 2019).Popular toolpath patterns include raster, zigzag, spiral, contour, continuous, and hybrid patterns (Manoharan and Kumaraguru 2018).The choice of the toolpath patterns is directly related to the strength of the printed part (Jiang and Ma 2020).Collisions should be considered when choosing the filling technique.Path planning can be classified based on the algorithm used, online or offline, and coupled or decoupled (Wu et al. 2017b).Online planning is used when moving objects are unpredictable while offline planning is better suited for static environments and when objects move slowly, which is usually the case of AM.Coupled planners treat the robots as a single entity and search the configuration space of the robot, while decoupled planners compute the path for each robot independently, then planning a collision-free path for each robot (van den Berg et al. 2009).
Furthermore, the path planning can be either centralised or decentralised (Chen, Rosolia, and Ames 2021).In a centralised approach, one controller is responsible for planning the paths of all the robots in the system.This allows the system to be able to produce optimal paths as one entity has the global vision of where each robot must be and possess the information of every part of the system.Limitations of centralised path planners include hard-to-scale and reduction of robustness (Madridano et al. 2021).In decentralised planners, the decision-making process and information processing are spread across the robots in the system.However, decentralised systems are complex and often produce suboptimal solutions (Turpin, Michael, and Kumar 2012).For cooperative printing, centralised planners produce efficient solutions with improved printing time for problems with small number of robots and tasks, while decentralised planners are more suitable for large-scale problems (Poudel et al. 2023).However, the cooperative AM field is still not mature enough to provide a robust comparison between these two approaches.Therefore, further investigations are required especially in terms of the optimum problem size to achieve better solutions with minimum computation time, planning of assistive robots alongside cooperative printers, and recovery from failures for decentralised systems during printing.

Collision checking and avoidance
Collision checking corresponds to a group of algorithms used to determine potential collisions between printheads, while collision avoidance corresponds to algorithms that aim to resolve possible collisions.During path planning, collisions can be prevented by preparing the toolpaths beforehand, or checking collisions and avoiding them during the toolpath generation.The choice between these two methods affects the computing time, toolpath optimality and the quality of the produced part.
Collision prevention before toolpath generation is done as follows (Shen, Pan, and Qian 2019).Collisionfree regions are determined then layer filling techniques are applied to the different regions.Each region is assigned to each printhead in the system.The advantage of this method is that it guarantees that any toolpath generated is collision-free.However, the toolpaths near the border regions require further checking.As a consequence of using this method, outer walls that span multiple regions must be printed by different printheads.This compromises the quality and the surface finish of the part as the outer wall lines are not continuous but disconnected and touch each other at the splitting lines.
One method for collision checking before toolpath generation is to equally divide the layer to be printed into the number of printheads.Zhang and Khoshnevis (2013) developed a system using this method to ensure that all nozzles finish the printing process at the same time.This method of equal division was also used by Shen et al. (Shen, Pan, and Qian 2019).Their algorithm finds the solution in four steps.First, the slicing contour points are determined (Figure 16a), and then, using the minimum bounding rectangle (MBR) and Straddle Test methods, the intersection of the coordinate axes with the previously determined contour lines are computed (Figure 16b).Then, the total area is divided into four regions (one region for each robot) using a Simulated Annealing optimisation algorithm (Kirkpatrick, Gelatt, and Vecchi 1983) (Figure 16c).Finally, a filling pattern is used to generate the toolpath (Figure 16d).However, the robots might collide when working on regions that are close to the splitting lines.Therefore, the authors divided each area into safe and interference areas.An interference area is only occupied by one robot at a time to eliminate the risk of collisions.The concept of safe/interference areas was also explored by Wang et al. (Wang et al. ).
Another relevant method for collisions checking before toolpath generation is the chunk-based slicing.McPherson and Zhou (2018) developed this concept for their cooperative material extrusion systems.In this method, the CAD model is sliced into inclined chunks followed by a traditional slicing procedure (Figures 17a-d).Each robot is responsible for printing some of the sliced chunks.However, the first chunk must be printed by a single robot.The inclined chunks allow mobile robots to print without interfering with each other.Therefore, the slicer procedure needs to take into consideration both the distance between the extruder and the body, and the nozzle dimensions to determine the minimum and maximum slicing angles.The chosen angle largely affects the mechanical properties of the part as the lower the angle the higher the contact area between chunks.This was also observed by Poudel, Sha, and Zhou (2018) that found that based on the slicing angle, parts made with chunk-based  slicing show between 121% and 61% of the tensile strength of parts produced without chunks.
It is also possible to check for collisions during toolpath generation (Bui et al. 2020).This is performed by generating toolpaths equal to the number of printheads and then checking for collisions.If there are no collisions and the paths are optimised, the paths are assigned to the printheads.This method, as it checks all the all toolpaths, can generate toolpaths that are unobtainable by the other method.However, the computational resources are large.
Usually, the collision avoidance is the bottleneck in terms of computational time, as it requires the replanning of the toolpath.Thus, some researchers avoid the expensive replanning by introducing delays or pausing one of the printheads.For example, (Choi and Zhu 2010) developed an approach based on decoupled path planning, through which the paths of all tools are independently planned.When two printheads are about to collide, the one with lower priority is paused at a suitable point until collision is no longer possible.Priorities are set based on the traverse speed of the tool, with the higher priority being assigned to the tool with higher traverse speed.The introduction of delays was also implemented by Bui et al. (2019) for cooperative gantry AM.In their algorithm, collisions are avoided by introducing delays to one of the printheads.However, if the delay time cannot eliminate the collision, the system stops the cooperative operation mode, allowing only one printhead to operate.
The collision avoidance techniques detailed in the literature revolve around either introducing delays (Bui et al. 2020) or replanning the problematic path until collisions are avoided (Shen, Pan, and Qian 2019).Introducing delays increases the fabrication time and reduces the effectiveness of cooperative printing systems.On the other hand, the complete path replanning corresponds to a waste of computational power and increases processing times.Thus, novel collision avoidance algorithms are needed to both reduce the printing time and the computation time needed to path plan the layer.
There are different algorithms for collision checking.One of them is called spatio-temporal collision checking which was investigated by Zhu and Yu (2002) in their system for multi-material cooperative AM.Through this method, 2D layers are extruded into 3D shapes in space-time.The intersection between different toolpaths in space-time means that the printheads will collide at that time (Figure 17e).In this case, the collided areas are not filled simultaneously, or the toolpath needs to be changed.Jin, Pierson, and Liao (2019) also applied this collision checking method for their path planning algorithms for cooperative printing systems.Other examples of algorithms generating collision-free paths include probabilistic roadmap (Clark 2005), rapidly exploring random tree (Desaraju and How 2011), and virtual potential fields (Song and Kumar 2002).These algorithms are used to coordinate motions for collision avoidance during printing or when depositing is paused.
Collisions are not always between different printheads.Sometimes they also occur between the links of a printhead, such as for robotic arms.Moreover, the feasibility of the path planning often requires some printheads to have different priorities.In the case of cooperative AM, these issues were explored by Cai and Choi (2019), which developed a strategy to check collisions based on three spatial constraints: distancebased, region-based, and position-based constraints.The distance-based constraint ensures no collisions between two printheads if the printing areas are close to each other.The region-based constraint considers collisions between a printhead of a robot and the links of the other robots.Finally, in the position-based constraint, actuators must follow a material deposition order.

Toolpath generation
The task of toolpath generation is concerned with determining the travel and printing motion for each printhead in the cooperative printing system.Solving for the toolpath is an optimisation problem with constraints and an objective function (Wah et al. 2002) and it is not unique to AM being extensively investigated for machining operations (Castelino, D'Souza, and Wright 2003).The constraints of the optimisation problem for cooperative printing include different factors such as collisions, deposition order, and traversing printing lines (Jiang et al. 2020b).The objective function selects which is the best toolpath based on certain criteria.Usually for a single printhead machine, the total printing time is considered as the objective function (Jiang and Ma 2020).However, for cooperative printing systems, the difference between the largest and smallest printing time of the printheads is also important.
The starting and ending points of each line in the toolpath are either custom determined or taken directly from a readily available slicer software.After finding these points, the toolpath generation problem must be formulated.There are several reported attempts that formulate the toolpath generation as an optimisation problem.Two of these formulations are the Traveling Salesman Problem (TSP) (Ganganath et al. 2016) and the Rural Postman Problem (RPP) (Iori and Novellani 2020) (Figure 18).The TSP is concerned with finding the shortest Hamiltonian cycle that connects all the nodes in a graph.The RPP, on the other hand, tries to identify the shortest Euler cycle connecting all the required edges in a graph.Both TSP and RPP are proven to be NP-Hard problems (Jünger, Reinelt, and Rinaldi 1995).In the TSP any node can be connected to any other node.This is not applicable for toolpath generation of AM, as printing lines that connect two points must not be changed.Therfore, some researchers use the RPP instead of the TSP for the toolpath generation problem (Fok et al. 2018).However, the TSP can be transformed to the RPP and vice versa (Baldacci and Maniezzo 2006).There are several variations of these problems that can be used for toolpath generation and additional information can be found in (Monnot and Toulouse 2014;Eiselt, Gendreau, and Laporte 1995).To solve these problems different heuristics and metaheuristics are used.
One of the heuristics for solving a TSP is the 2-Opt algorithm (Englert, Röglin, and Vöcking 2013).Bui et al. (2019) combined a significantly modified 2-Opt with Tabu Search metaheuristic (Glover and Laguna 1998) to solve the toolpath generation problem for amultinozzle cooperative gantry.The first algorithm locally changes the solution while the Tabu Search algorithm changes it globally.Zhang and Khoshnevis (Zhang and Khoshnevis 2013), used the Lin-Kernighan heuristic (Helsgaun 2000), a generalisation of the 2-Opt algorithm, to solve the toolpath generation after formulating it as a TSP.As reported, the found solution saved in average 47% of the total printing time.
Greedy algorithms are also used for solving the toolpath generation problem.Jin, Pierson, and Liao (2019) used two greedy algorithms in their cooperative printing systems.The two heuristics use the Longest Processing Time First (LPT) algorithm (Graham 1969).The first heuristic allocates the longest path to the first printhead and the second longest path to the second printhead.The algorithm repeats the process until all printheads are allocated to a path.The second heuristic constructs the convex hull of each path and then offsets them by the size of the printhead, determining overlapping areas.Then the process follows the first heuristic but instead of considering the longest path, it uses the highest overlapping area.These algorithms are computationally slow, but the second is faster since it reduces the number of collision checks.However, authors ignored the collisions between the links that carry the printheads.A metaheuristic can be used as well.An example is the work of Jiang et al. (2020b) for the toolpath generation of a cooperative gantry AM system.In this case, authors divided the printing path of each layer into sub-paths that were assigned to different printheads.The sub-paths were chosen using an Evolutionary metaheuristic (Vikhar 2016) with the objective function of minimising the printing time.The printheads were assigned using the LPT algorithm.A reduction of printing time between 23.3% and 41.2% compared to single nozzle printers was reported.
Generating and allocating the toolpaths are not enough to ensure the cooperative printing system execute them perfectly.The software must also check for uncertainty and errors in the system and account for them.Thus, it is important for the system to be fully calibrated before the robots start performing the generated toolpaths.One popular technique for calibration is to print a part by each robot in the system without cooperation and then correct the deviations in the software (Wachsmuth 2008).However, this method is not as effective for mobile robots due to the large number of uncertainties and disturbances during motion.Thus, an accurate global sensor that knows the location of each robot accurately and compensate for errors during planning is still required.Due to these uncertainties and the need for global sensors, offline path planning and toolpath generation is less effective for mobile robots (Marques, Williams, and Zhou 2017).However, online path planning for cooperative printing systems is largely unexplored in the literature.

Middleware and simulations
A middleware is the link between the operating system and applications.It typically manages the connection between various parts of the robot such as the actuators and the sensors within the system.In return, the middleware allows software developers to simplify designs, create modular components, and easily communicate with the hardware (Elkady and Sobh 2012).A component should be designed once and implemented anywhere, allowing 'plug and play' of different modules (Namoshe et al. 2008).
A wide range of commercially available or opensource middleware can be used to control a robot or a team of robots.Miro (Kraetzschmar et al. 2001) is an object-oriented middleware designed for teams of robots.It provides two services to communicate with the robot.The first service is addressing the sensors and actuators on the robot platform.The second is the framework of classes that provide the programmer with different design patterns for robot control.The framework consists of multiple modules such as planning, vision, and mapping, allowing communication between multiple platforms and systems.Graphical user interface and visualisation tools in Miro utilise the Qt toolkit.Another middleware used for robotics is Orca (Brooks et al. 2007), which is an open-source framework that applies component-based systems to robotics.It allows users to develop building blocks that can be combined to create a functional robotic system.Orca does not support real-time applications, which cannot be considered a major problem for AM applications unless the system moves unpredictably.A more popular middleware is Player (Kranz et al. 2007;Kranz et al. 2006), that provides users with interfaces allowing them to communicate with actuators and sensors.The system consists of two layers, the core and transport layers.The core layer includes all the classes needed for drivers and devices in the system as well as configuration files.The transport layer is dedicated to communications by using Transmission Control Protocol (TCP).Player has been previously used for cooperative mobile robots in manufacturing environments (Naidoo, Bright, and Stopforth 2016).
However, the most popular and most developed middleware is the Robot Operating System (ROS) (Koubaa 2016;Quigley et al. 2009).ROS is open-source and designed to be extendable by the community.It features a collection of tools and functions that simplifies communications with robots, and includes different graph concepts, such as nodes, topics, and messages.Nodes are executables that communicate with other nodes (e.g. a node that controls the extruder and another node that measures the nozzle temperature).Topics are buses that exchange data between nodes.Messages are the data transferred between topics.One of the communications means in ROS is the publisher/subscriber model where a node publishes or subscribes to a topic.ROS allows the user to integrate it with other frameworks such as OpenRAVE and Player.It also supports a wide range of actuators, sensors, and robots in the market.ROS has been used in cooperative AM mainly for device control and communications (Zhang et al. 2018).However, it is not dedicated to real-time applications and was not developed for cooperative robots.However, these limitations were addressed through the development of ROS2 allowing its usage for cooperative robots and real-time robotic applications (Why ROS 2? 2021).Figure 19 shows how ROS can be used as a middleware for an AM system based on mobile robots, which can be easily expanded for cooperative AM.
Simulators are another type of software needed for cooperative mobile robots.The purpose of a simulator is to test the system in a virtual environment, ensuring that no collisions or obstacles occur.Different 2D and 3D simulators have been developed.2D simulators, such as Stage (Vaughan 2008), can be used to simulate the layer filling pattern or printhead motion in a plane.However, 3D simulators are more suited for AM applications.CoppeliaSim (previously V-REP) (Freese et al. 2010) is a modular and decentralised robotic simulation software, and the ideal candidate for a complex system that contains sensors and actuators operating at different rates.CoppeliaSim programmes can be written in multiple programming languages such as C+ + and MATLAB and can also be integrated with ROS.Another popular 3D simulator is Gazebo which is used for both single and multiple robots (Noori et al. 2017) and AM applications (Alhwarin et al. 2015).It is also integrated with ROS, and both are maintained by Open Robotics (U.S.A.).Multiple physics engines, such as Open Dynamics Engine and Bullet, can also be used with Gazebo (Erez, Tassa, and Todorov 2015).

Discussion
The use of cooperative robots for AM represents an emerging area of research.Despite the significant advantages offered, this challenging concept is relatively new, and many obstacles must be overcome for it to shine.This section will detail how AM benefits from cooperative robots and present the current challenges and future perspectives.

Improvements to AM
Teams of robots bring several improvements to AM, including multi-material and multi-method improvements, versatility and full automation of AM machines, improving performance by reducing fabrication time, and workspace efficient utilisation.
Multi-material improvements: currently, multi-material printing and the combination of different AM printing techniques usually requires the use of a mechanism that completely replaces the printhead with a different one (Vasquez et al. 2020).However, this implementation limits the type and size of the tool heads, and significantly increases the printing time due to the frequent changes between the different heads as only one printhead can be active at a time.In cooperative printing systems this is no longer a problem as more than one printhead can be operated at a time.This offers high levels of efficiency, which are not fully explored.Examples of multiple printheads or the use of different printing principles were presented in this review as well as the combined use of additive and subtractive strategies.
Versatility: the unique characteristic of AM where an object is built layer-by-layer, allows additional operations to improve AM, increasing its versatility.This is mainly achievable using assistive robots.An example is the full integration of pick-and-place operations allowing for example sensors and actuators to be fully enclosed without the need of welding operations or the use of fasteners.Other examples are related to the use of assistive robots for material handling and transportation, in-situ measurement, tools holding, and cleaning/removal of the printing platform.
Performance improvements: a well-known limitation of conventional AM is the printing time, usually higher than the fabrication time of subtractive manufacturing methods.For example, material extrusion of plastics is on average 62% slower than plastics machining (Urbanic and Saqib 2019).Cooperative printing can significantly accelerate the fabrication time, making AM a more competitive technology in terms of speed.The maximum time reduction when using cooperative systems is theoretically (n − 1/n) where n is the number of printheads (Jiang et al. 2020b, Wang et al. 2017).In cases where the printing process requires long travel movements the use of cooperative systems can significantly reduce this, accelerating the fabrication time even further than the previous ratio.An example is shown in Figure 20 presenting a part with two features far away from each other.If a single robot system is used, it must travel between these two features in addition to print them.However, the negative impact of travelling distance on the overall fabrication time can be minimised considering a cooperative printing system with two printheads each printing a feature without travelling.However, for normal parts, this is rarely the case.Thus, the previous ratio will be considered as the maximum possible time reduction ratio.Due to practical considerations such as idling time and potential collisions, this ratio is smaller in real systems.For example, it has been observed through simulations that the use of four printheads allows to reduce the time by 64% instead of the theoretical 75% (Leite et al. 2018).However, the practical ratio can approach the theoretical maximum for different systems.Wang et al. (2017) conducted a set of simulations showing that four printheads can reach up to 69% time reduction.Moreover, Shen, Pan, and Qian (2019) reported to achieve a 73% time reduction when using four printheads.The lowest of these reported ratios make material extrusion faster than plastic machining.
Workspace utilisation: the efficient use of the workspace is a generic challenge in AM, as some regions within the workspace of the machine may not be usable or optimum to work on due to different factors such as singularities, vibrations, and accuracy fluctuations (Liu, Wu, and Wang 2019).Singularities avoidance is critical in the path planning of robotic arms.The configuration in which a robot is unable to move in certain directions is called a singular configuration (Lynch and Park 2017).If the robot is near a singular configuration several problems may arise, such as the velocity and torque of the joints may be unbounded, and a unique solution of the inverse kinematics cannot be achieved (Spong, Hutchinson, and Vidyasagar 2006).The presence of multiple robots in a cooperative AM system can be exploited to avoid singularities.For example, a printing area that is near a singular configuration of a robotic arm can be assigned to another arm in the system that is far from singularities in that region.The same strategy can be used to avoid configuration exhibiting high vibrations or regions with high accuracy fluctuations.

Challenges and future perspectives
The concept of teams of robots in AM iscomplex and challenging.There are various obstacles that slow down its development and progress.Overcoming these obstacles will affect the future of AM positively.This section lists these challenges which are avenues for future research works, as the gap on the current literature primarily revolves around them.Some of these challenges and research gaps are: Gantry systems configurations: Current kinematic configurations for gantry systems are limited in many areas that result in poor utilisation of the concept of cooperative printing.For example, the two proposed configurations in the literature prevent any two printheads from crossing each other.In this review paper, we showed one configuration that overcome this limitation.However, further development of gantry configurations is needed.
Mobile robots design challenges: The use of cooperative mobile robots is an emerging area in AM.However, these systems require better positioning and localisation methods (Tiryaki, Zhang, and Pham 2020).Odometry data is not enough for a mobile robot to have accurate positioning since errors accumulate over time (Ganganath and Leung 2012).Thus, it is necessary to consider multiple sensors such as inertial measurement units, cameras, ultrasonic beacons, and laser range scanners.Fusing sensors' measurement increases the accuracy of the AM system, but more data needs to be stored and processed.However, the required accuracy and precision depend on the application, for example, material extrusion with small nozzle diameters requires higher precision than those with larger nozzles such as in concrete 3D printing.Furthermore, there are practical considerations that need to be considered, for example, the developer needs to decide between cables and batteries.Cables limit the workspace and the motion between robots while batteries limit communication means to wireless only.Moreover, the capacity of the batteries limits the printing time unless a self-charging robot is used, which further increases the costs and complexity of the system.Cables further complicate the task of collision avoidance.Mobile robots also face challenges in terms of power consumption and material stock refilling.No work currently implemented automatic material stock refilling for mobile robots.
Path planning approaches: More investigation of different path planning approaches on cooperative printing, such as when to choose a centralised or a decentralised system and the optimum number of robots for a certain part.Also, offline path planning is dominant in the literature of cooperative printing, further development of online path planning techniques is needed.
High computation time: the path planning of cooperative printing systems, due to collision avoidance, deposition order, and synchronisation and calibration of movements of different printheads, is significantly different than traditional AM systems.Collision avoidance is a critical issue in path planning of cooperative printing systems.Moreover, due to the calculation of collision checking and avoidance, path planning takes longer times than single printhead systems (Bui et al. 2020;Jin, Pierson, and Liao 2019).For example, a single layer in Cura software for one printhead system is planned (including slicing) almost instantly, but in the case of cooperative printing systems, it has been reported that multiple printheads planning takes from few seconds up to 5 min in one study (Jin, Pierson, and Liao 2019) and up to 7 min in another (Bui et al. 2020).
Toolpath generation problem: in cooperative printing systems, the question of which printhead starts first and where, is a challenging question that requires further research.Furthermore, the motion of the robots must be synchronised and calibrated, as a small deviation between calculated and real positions of two printheads may results in a shifted unusable part.This is a critical problem as there is no readily available standard software for cooperative AM slicing and path planning, which represents an important adoption barrier.
Uncertainty and calibration: Due to the nature of cooperative systems, usually employing multiple printheads, uncertainty and positional errors are determinantal on the process results.A small deviation between any two printheads result in a part that is shifted and with print lines that are not well adhered.Current calibration processes are mainly manual, so new calibration methods are required for the automation of cooperative systems.
Monitoring requirements: most popular AM machines, especially desktop material extrusion systems, use open-loop control to actuate the motors.This is acceptable for systems that include end stop switches that detect the collision between the printheads and the structure of the machine, but not for teams of robots systems.The path planner that generates collision-free toolpaths for cooperative systems assumes that the system executes the generation motion perfectly.However, in open-loop systems, this is not guaranteed especially if there are external factors that increase the chance of collisions, such as belt slipping, uncalibrated motion, outside intervention, and stuck particles.Therefore, in the case of multiple robots systems it is important to have a method that verifies the motion of every part in the system.This can be done by implementing closed-loop control systems with monitoring capabilities using different sensors, such as rotatory encoders and cameras.
Middleware and simulators: There are no middleware or simulators developed dedicated to teams of robots in AM.As this concept is new and promising, a software for this system will streamline the development of various algorithms for cooperative robots in AM.

Conclusions
AM is mainly performed by systems that utilise a single robot.Such systems present various limitations such as the long printing time.However, the concept of teams of robots, which is already being used in other manufacturing processes, can be extend to AM.This concept eliminates some of current AM limitations, improving system versatility and productivity, also enabling new possibilities for the combination of different printing methods using multiple printing heads.
Teams of robots in AM comprise cooperative printers, and assistive robots.In cooperative printing systems, the printing task is divided between the printing heads in the system which largely reduces the fabrication time.Assistive robots, on the other hand, do not directly help in the printing process but in performing tasks that are needed before, during, or after the printing process such as loading and unloading the machine.Both types were discussed in detail in this review paper.In addition to the requirement of path planning and collision avoidance algorithms, cooperative AM requires slicing and proper processing parametermaterial characteristics correlations.Various techniques and algorithms have been used to solve these problems, each with its own advantages and disadvantages.These solutions were reviewed in this paper alongside a description of middleware and simulators that can be used for teams of robots in AM.This review paper provides also new avenues for further research activities aiming to address key challenges and to fully improve this important domain of cooperative robots in AM.

Disclosure statement
No potential conflict of interest was reported by the author(s).

Figure 1 .
Figure 1.The main topics discussed in the review paper.

Figure 5 .
Figure 5. (a) Four robots cooperating on the fabrication of a single part; (b) example of a part made by the cooperative robots (Shen, Pan, and Qian 2019); (c) end-effector carrying 3 torches with 5 arcs, (d) 6-axis robotic arm holding the end-effector (Tianying et al. 2021).

Figure 6 .
Figure 6.Variable-geometry nozzle.(a) Different views of the nozzle, and (b) the nozzle mounted on a KUKA robot (Lao, Li, and Tjahjowidodo 2021).

Figure 9 .
Figure 9. (a) The BuilDrone system printing a cementitious part, (b) three drones printing a virtual part, and (c) a simulation of eight robots printing a cylindrical part (Zhang et al. 2022).

Figure 10 .
Figure 10.(a) Mobile robots moving robotic arm to locations for concrete printing, (b) Example of a concrete printed structure (Zhang et al. 2018).

Figure 11 .
Figure 11.The robotic arm responsible for pushing the parts.The blue side is what touches the part during the removing process (Aroca et al. 2017).

Figure 12 .
Figure 12.(a) A 6-axis robotic arm printing on a platform controlled by a 3-axis robotic arm, (b) example of an object produced by the system (Bhatt et al. 2019c).

Figure 13 .
Figure 13.Assistive robotic system (a) A robotic arm is used to move the platform to a printing station and to (b) a milling station (Keating and Oxman 2013).(c) A robotic arm removes the platform from the first machine, (d) an example of a manufactured part (Ambriz et al. 2017; MacDonald and Wicker 2016).

Figure 14 .
Figure 14.The M4 printer showing all the panting heads and the robotic arms (Roach et al. 2019).

Figure 15 .
Figure 15.Typical information flow for additive manufacturing.

Figure 16 .
Figure 16.The process of generating a printing path for each robot (a) determining slicing contour points, (b) computing the intersection of contour lines and coordinate axes, (c) dividing the areas, (d) filling each area (Shen, Pan, and Qian 2019).

Figure 18 .
Figure 18.Example of the TSP and RPP formulation (left side) and sample solution (right side).Any node in this example can be connected to any other node and thick lines are required lines for the RPP.

Figure 19 .
Figure 19.An example of ROS architecture for an AM system using a mobile robot.

Figure 20 .
Figure 20.The retraction test where a printhead travels between two cylindrical columns.

Table 1 .
AM technologies and corresponding implementation using different robotic systems (Eexplored; NE -Not-explored).