Fellow, IEEE Marco Dorigo
email: mdorigo@ulb.ac.be

Guy Theraulaz
email: guy.theraulaz@univ-tlse3.fr

Vito Trianni
email: vito.trianni@istc.cnr.it

Swarm robotics: past, present and future

Keywords: Swarm Robotics: Past, Present, and Future [Point of View] Swarm Robotics, Swarm Intelligence. I. INTRODUCTION

published or not. The documents may come   L'archive ouverte pluridisciplinaire

provide multi-robot systems with comparable abilities. This way, it aims to build systems that are more robust, faulttolerant and flexible than single robots, and that can better adapt their behaviour to changes in the environment.

Swarm robotics started out as an application of swarm intelligence [START_REF] Bonabeau | Swarm Intelligence: From Natural to Artificial Systems[END_REF], [START_REF] Dorigo | Swarm intelligence[END_REF], that is, the computational modelling of collective, self-organising behaviour that has resulted in several successful optimization algorithms [START_REF] Dorigo | Ant Colony Optimization[END_REF], [START_REF] Dorigo | Particle swarm optimization[END_REF] now being used in fields ranging from telecommunications [START_REF] Di Caro | AntNet: Distributed stigmergetic control for communications networks[END_REF] to simulation and prediction of crowd behaviour [START_REF] Moussaïd | How simple rules determine pedestrian behavior and crowd disasters[END_REF]. However, it has quickly become evident that achieving swarm behaviour in robots demands much more than simply applying swarm intelligence algorithms to existing robotic platforms. In fact, it often requires to completely rethink traditional robotic activities such as perception, control, localisation, and the very design of the robotic platforms themselves. Over the last two decades, researchers working in swarm robotics have made significant progress, providing proofs-of-concept that demonstrated the potential of robot swarms, also contributing to a better understanding of how complex behaviours emerge in nature. Translating this research into practice represents a challenge that still needs to be appropriately tackled. As a matter of fact, as of today, only a few experiments managed to demonstrate a large number of autonomous self-organising robots, and no real-world application of swarm robotics exists. More research is needed to establish the knowledge and practice required to bring robot swarms out of the lab and into the real world.

In order to significantly push forward the state of the art, make robot swarms robust, scalable and controllable, and move towards real-world applications, research in swarm robotics must focus on a number of open challenges such as: how to extract design principles from the study of biological systems; how to move from low-level behavioural rules to the desired high-level behaviour; how to manage the gap between simulations and real experiments, and between lab experiments and real-world domains; and how to develop hybrid design methodologies based on the right mix of centralised and decentralised approaches that can produce emergent behaviour in a computationally economic way, while keeping the system controllable. The way these challenges will be addressed will decide the future of swarm robotics and whether it can live up to its potential.

In the following, after a brief history of the field, we summarise the main lessons learned during the pioneering phase of swarm robotics, we analyse the main open challenges and provide examples of innovative and promising approaches to tackle them. Finally, we suggest the most likely fields of application for swarm robotics and assess its potential impact in selected industries, by showing application scenarios that cannot be achieved by a single robot, or by a few robots controlled in a traditional, centralised way.

II. A BRIEF HISTORY OF SWARM ROBOTICS

In the last two decades, swarm robotics has grown from a small domain initiated by a few studies with a clear biological inspiration [START_REF] Beckers | From local actions to global tasks: Stigmergy and collective robotics[END_REF], [START_REF] Holland | Stigmergy, self-organization, and sorting in collective robotics[END_REF], [START_REF] Kube | Cooperative transport by ants and robots[END_REF], [START_REF] Kube | Collective robotics: From social insects to robots[END_REF] to a mature research field involving several labs and researchers worldwide. A search with Google Scholar shows that the phrase "swarm robotics" made its first appearance in 1991, but its usage remained very limited until 2003 when it started to grow considerably. Similarly, a search with SCOPUS returns a comparable increasing trend (see Figure 1). These data show that, even though the swarm robotics research field finds its roots in a few seminal works published in the 1990s, it is only with the year 2000 that it started to significantly grow. Initially, the study of swarm robotics was aimed at testing the concept of stigmergy (see Table I for the definition of this and other concepts used in the article) as a means of indirect communication and coordination among robots. Following a few initial attempts [START_REF] Beckers | From local actions to global tasks: Stigmergy and collective robotics[END_REF], [START_REF] Holland | Stigmergy, self-organization, and sorting in collective robotics[END_REF], [START_REF] Kube | Collective robotics: From social insects to robots[END_REF], several studies appeared after 2000 focussed on tasks such as object retrieval (foraging [START_REF] Krieger | Ant-like task allocation and recruitment in co-operative robots[END_REF]; stick pulling [START_REF] Ijspeert | Collaboration through the exploitation of local interactions in autonomous collective robotics: The stick pulling experiment[END_REF]), clustering [START_REF] Agassounon | Macroscopic Modeling of Aggregation Experiments using Embodied Agents in Teams of Constant and Time-Varying Sizes[END_REF] and sorting of objects [START_REF] Wilson | Algorithms for building annular structures with minimalist robots inspired by brood sorting in ant colonies[END_REF]. These studies started from known behaviours observed in social insects, and deployed robot swarms demonstrating similar behaviour. In a few cases, the robot swarm was exploited to closely replicate the dynamics observed in biological systems (e.g., aggregation in cockroaches [START_REF] Garnier | The embodiment of cockroach aggregation behavior in a group of micro-robots[END_REF]), leading to the first example of a mixed biological-robotic society [START_REF] Halloy | Social integration of robots into groups of cockroaches to control selforganized choices[END_REF]. Additionally, swarms of robots have been used as a tool to address biological questions (e.g., the trail network geometry to find the shortest path between a food source and a nest [START_REF] Garnier | Do Ants Need to Estimate the Geometrical Properties of Trail Bifurcations to Find an Efficient Route? A Swarm Robotics Test Bed[END_REF]).

One of the first international projects to investigate cooperation in a swarm of robots was the Swarm-bots project, funded by the European Commission between 2001 and 2005. In this project a swarm of up to 20 robots capable of self-assemblyi.e., physically connecting to each other to form a cooperating structure-were used to study a number of swarm behaviours such as collective transport, area coverage, and object search [START_REF] Dorigo | Evolving self-organizing behaviors for a swarm-bot[END_REF], [START_REF] Mondada | The cooperation of swarm-bots: Physical interactions in collective robotics[END_REF]. The main result of the project was to demonstrate what-at the present day-remains the only example of self-organised teams of robots that cooperate to solve a complex task, with the robots in the swarm taking different roles over time [START_REF] Nouyan | Teamwork in self-organized robot colonies[END_REF]. The Swarmanoid project (2006-2010) extended the ideas and algorithms developed in Swarm-bots Figure 2. Some of the robots largely used in swarm robotics research: (A) jasmine [START_REF] Kornienko | Minimalistic approach towards communication and perception in microrobotic swarms[END_REF]; (B) alice [START_REF] Caprari | Mobile micro-robots ready to use: Alice[END_REF]; (C) kilobots [START_REF] Rubenstein | Kilobot: A low cost robot with scalable operations designed for collective behaviors[END_REF]; (D) e-pucks [START_REF] Mondada | The e-puck, a robot designed for education in engineering[END_REF]; (E) swarm-bots [START_REF] Mondada | The cooperation of swarm-bots: Physical interactions in collective robotics[END_REF]; (F) swarmanoid [START_REF] Dorigo | Swarmanoid: A novel concept for the study of heterogeneous robotic swarms[END_REF].

to heterogeneous robot swarms composed of three types of robots-flying, climbing and ground-based-that collaborated to carry out a search and retrieval task [START_REF] Dorigo | Swarmanoid, the movie[END_REF], [START_REF] Dorigo | Swarmanoid: A novel concept for the study of heterogeneous robotic swarms[END_REF].

In the 2000s, in parallel with the successful demonstration of the swarm robotics paradigm, research on hardware miniaturisation promised the deployment of hundreds, possibly thousands of cooperating robots. Robots became smaller and ever-more minimalist, up to attempts of designs at the millimetre scale (see Figure 2). Several challenges related to hardware miniaturization and to the integration of a sufficient sensor suite, however, hindered progress in this direction. It was only a few years later that a hardware concept appeared supporting experimentation with a thousand robots: the kilobot [START_REF] Rubenstein | Kilobot: A low cost robot with scalable operations designed for collective behaviors[END_REF]. Kilobots were conceived to support the first demonstration of a large robot swarm designed for shape formation [START_REF] Rubenstein | Programmable selfassembly in a thousand-robot swarm[END_REF], and have been later used for several successful studies, allowing swarm robotics to be demonstrated in physical settings with hundreds of robots [START_REF] Slavkov | Morphogenesis in robot swarms[END_REF], [START_REF] Talamali | Sophisticated collective foraging with minimalist agents: a swarm robotics test[END_REF], [START_REF] Valentini | Collective decision with 100 kilobots: Speed versus accuracy in binary discrimination problems[END_REF].

Swarm robotics is not limited to ground platforms: recent work has considered aquatic surface [START_REF] Duarte | Evolution of Collective Behaviors for a Real Swarm of Aquatic Surface Robots[END_REF] and underwater robots [START_REF] Zahadat | Division of labor in a swarm of autonomous underwater robots by improved partitioning social inhibition[END_REF], as well as swarms of flying drones [START_REF] Mcguire | Minimal navigation solution for a swarm of tiny flying robots to explore an unknown environment[END_REF], [START_REF] Vásárhelyi | Optimized flocking of autonomous drones in confined environments[END_REF]. While aquatic and underwater technologies still need sub-

Term Description

Adaptivity

The ability to learn/change behaviour to respond to new operating conditions Design pattern A formal description of a reusable solution to a problem commonly recurring in a certain domain. In swarm robotics, design patterns describe how to define the individual rules to obtain a desired self-organised macroscopic behaviour (e.g., collective decisions, see [START_REF] Reina | A design pattern for decentralised decision making[END_REF], [START_REF] Valentini | Achieving Consensus in Robot Swarms: Design and Analysis of Strategies for the best-of-n Problem[END_REF])

Evolutionary algorithms

Optimization algorithms in which an initial set of candidate solutions is generated and iteratively updated through mechanisms inspired by biological evolution. The population of solutions gradually evolves to maximise an objective function (fitness) through a process that mimics the natural processes of reproduction, mutation, recombination and selection. Fault tolerance The capacity of a system to withstand faults of some of it parts with a graceful degradation of performance.

Flexibility

The capacity to solve problems/perform tasks that depart from those chosen at design time. Model-free & modelbased reinforcement learning Two different approaches to reinforcement learning, a subset of machine learning in which software agents learn to behave efficiently in a given environment by trying to maximise a reward function of their actions. In model-based approaches, the agent is given, or learns, a function that maps its current states and actions to its next states (a model of the environment) so that it knows in advance the outcome of its next move; in model-free approaches the agent finds a good policy through trial-and-error, without explicitly reference the model of the environment.

Phase transition

Phase transition is a physical process whereby a substance changes from one physical state to another such as the freezing of water into ice (liquid to solid) or the heating of water to generate water vapour (liquid to gas). There is a formal analogy between the existence of disordered and ordered states in biological systems and that of similar states or phases in the inert world of physics: disordered liquid, ordered crystal solid. These systems have phase transitions which are changes between the various states or phases. In particular, ordered states are characterised by a notion of order at the scale of the whole system which can be quantified by an order parameter (e.g. the quality of the alignment/polarisation of a school of fish)

Robustness

The capacity to continue to work efficiently in environmental conditions different from those considered at design time.

Scalability

The capacity of a system to continue functioning properly when the number of its components (or in general, the amount of its resources) substantially varies.

Self-organisation Self-organisation is a process whereby pattern at the global level of a system emerges solely from interactions among the lower-level components of the system, The rules specifying the interactions among the system's components are executed using only local information, without any central authority determining their course of action [START_REF] Camazine | Self-Organization in Biological Systems[END_REF].

Stigmergy

A form of indirect communication between agents where the work performed by an agent leaves a trace in the environment that stimulates the performance of subsequent work by the same or other agents. This mediation via the environment ensures the coordination of actions performed by the agents. It was first described by Grassé [START_REF] Grassé | La reconstruction du nid et les coordinations interindividuelles chez Bellicositermes natalensis et Cubitermes sp. La théorie de la stigmergie: Essai d'interprétation du comportement des termites constructeurs[END_REF] and has played an important role in supporting self-organising mechanisms in swarm robotics [START_REF] Garnier | The biological principles of swarm intelligence[END_REF], [START_REF] Theraulaz | A brief history of stigmergy[END_REF].

stantial development efforts to become mature, drones are instead already commercialised and represent a very promising platform for remote sensing applications in different domains, being currently hindered only by the lack of a legal framework authorising autonomous and group flight.

Beyond hardware platforms, controlling robot swarms has represented the main focus of research. An extensive report of the different approaches so far available in the literature is beyond the scope of this perspective (but see [START_REF] Brambilla | Swarm robotics: A review from the swarm engineering perspective[END_REF], [START_REF] Francesca | Automatic design of robot swarms: Achievements and challenges[END_REF], [START_REF] Garattoni | Swarm Robotics[END_REF], [START_REF] Trianni | Fundamental collective behaviors in swarm robotics[END_REF], [START_REF] Valentini | The best-of-n problem in robot swarms: Formalization, state of the art, and novel perspectives[END_REF]). The main directions taken so far include: the development of analytical models of swarm systems to guide the robotics implementation [START_REF] Elamvazhuthi | Mean-field models in swarm robotics: a survey[END_REF], [START_REF] Massink | On the use of Bio-PEPA for modelling and analysing collective behaviours in swarm robotics[END_REF], [START_REF] Prorok | Multi-level spatial modeling for stochastic distributed robotic systems[END_REF]; the adoption of (evolutionary) optimisation approaches where robots are guided by minimalistic controllers (neural networks [START_REF] Trianni | Evolutionary Swarm Robotics. Evolving Self-Organising Behaviours in Groups of Autonomous Robots[END_REF]; controllers without computation [START_REF] Gauci | Self-organized aggregation without computation[END_REF], [START_REF] Özdemir | Finding Consensus Without Computation[END_REF]; finite-state machines [START_REF] Francesca | AutoMoDe-chocolate: automatic design of control software for robot swarms[END_REF]; grammar-based controllers [START_REF] Ferrante | Evolution of self-organized task specialization in robot swarms[END_REF]) and the development of design and verification methodologies [START_REF] Brambilla | Propertydriven design for robot swarms: A design method based on prescriptive modeling and model checking[END_REF], [START_REF] Reina | A design pattern for decentralised decision making[END_REF].

III. LESSONS LEARNED AND OPEN PROBLEMS

Even though the ultimate goal of swarm robotics is to produce methodologies and tools that make possible the deployment of robot swarms for the solution of real world problems, currently the focus remains on the scientific understanding of the mechanisms that would inform such methodologies and tools. The first two decades of research have taught us a number of important lessons, also raising a few open problems that need to be addressed and solved.

First, we learned that the types of tasks that can currently be performed by robot swarms are strongly constrained by the still limited capabilities of autonomous robots. To work in a swarm, the individual robots must be capable of interacting and communicating with each other, as well as of recognizing peers and the work done by them. This entails tailored hardware designs as well as specific sensing, interpretation and interaction abilities. Current limitations in robot hardware and control have constrained the complexity of swarm robotics research in two different ways. On the one hand, specific robots have been developed to solve specific (toy) problems (e.g., termes [START_REF] Werfel | Designing collective behavior in a termite-inspired robot construction team[END_REF]; kilobot [START_REF] Rubenstein | Kilobot: A low cost robot with scalable operations designed for collective behaviors[END_REF]). These examples have opened new research directions, but not always resulted in reusable components to be borrowed in different contexts. On the other hand, generic robots (alice [START_REF] Garnier | Do Ants Need to Estimate the Geometrical Properties of Trail Bifurcations to Find an Efficient Route? A Swarm Robotics Test Bed[END_REF], [START_REF] Garnier | Selforganized aggregation triggers collective decision making in a group of cockroach-like robots[END_REF]; e-puck [START_REF] Mondada | The e-puck, a robot designed for education in engineering[END_REF]) have been used to produce proofs of concept, often addressing tasks that are a direct transposition in the artificial world of analogous tasks performed by self-organised natural systems (e.g., foraging, see [START_REF] Krieger | Ant-like task allocation and recruitment in co-operative robots[END_REF], [START_REF] Talamali | Sophisticated collective foraging with minimalist agents: a swarm robotics test[END_REF]). However, when the hardware is not conceived for swarm robotics, daily work can become very cumbersome due to the need to deal with dozens or possibly hundreds of robots at the same time, making mundane activities such as recharging batteries or uploading software really tedious. This has often limited the number of robots in the tested swarms, reducing the breadth and significance of the demonstrations. Finally, it should be added that miniaturisation of hardware will be a key element for experimentation in the lab with large swarms as well as for many future applications. Still, downscaling hardware poses extremely hard problems that so far have not been solved [START_REF] Sitti | Mobile Microrobotics[END_REF].

To progress in swarm robotics research, we will need to develop tools that will make it easier for swarm robotics researchers to share results and replicate experiments. A few general-purpose robotic platforms would constitute valuable tools for the research community. The e-puck [START_REF] Mondada | The e-puck, a robot designed for education in engineering[END_REF] is probably the most used swarm robotics platform to date, but research with more than 30 e-pucks remains complex and costly. The kilobot, being conceived for swarm robotics research, is becoming a de facto standard, but is severely limited in its abilities, so much that virtualization environments have been proposed to increase the research possibilities [START_REF] Reina | Ark: Augmented reality for kilobots[END_REF], [START_REF] Valentini | Kilogrid: A novel experimental environment for the kilobot robot[END_REF]. Crazyflies [START_REF] Giernacki | Crazyflie 2.0 quadrotor as a platform for research and education in robotics and control engineering[END_REF] are also becoming very much used as flying platforms for swarm robotics studies [START_REF] Mcguire | Minimal navigation solution for a swarm of tiny flying robots to explore an unknown environment[END_REF], even though they were not conceived for swarm robotics research. Substantial effort is still needed to deploy a swarm robotics hardware that satisfies the needs of the research community. First of all, a good compromise between cost, size, and on-board features must be provided, ensuring a sufficiently rich set of sensors and actuators while keeping size limited to favour experimentation with hundreds of robots within a research lab. In this sense, a size between the one of kilobots and e-pucks (about 5 cm diameter) could be a good compromise. Modular approaches allowing to plug in extensions with new sensors, actuators or computational power proved successful with the e-puck, but require a careful design. The possibility to program and recharge many robots in parallel-as done with kilobotsstrongly simplifies the experimental activities when dealing with large numbers, especially when manual interventions to move robots around are not required (e.g., wireless recharging stations integrated in the experimental environment, or even electric floors for battery-less operation). A centralized system to automatize experimental activities, capable of observing the robots state, moving them around and logging data acquired by the robots, would be of great help to speed-up research and would greatly benefit the community worldwide.

Simulating hardware is also a fundamental aspect for swarm robotics research, but raises similar problems as with physical robots. Often, the simulation software is developed from scratch for each new robot swarm demonstrator. A common simulation tool shared by the research community would be a significant step forward as it would simplify the sharing and comparison of research results. However, to devise such a tool, we need to better understand the relation between simulation and the real world. The problem, known in robotics as the simulation-reality gap [START_REF] Jacobi | Noise and the reality gap: The use of simulation in evolutionary robotics[END_REF], is that differences between the models used in simulation and their real-world counterparts cause a drop in performance when robot controllers developed in simulation are used in the real world. This problem is particularly important in swarm robotics where it is exacerbated by the fact that many robots have to interact with each other [START_REF] Francesca | Automatic design of robot swarms: Achievements and challenges[END_REF]. The ideal robot swarm simulator should make sure that such discrepancies are kept to a minimum, even though they cannot be completely eliminated.

Among the many simulation software available, AR-GoS [START_REF] Pinciroli | ARGoS: A modular, parallel, multi-engine simulator for multi-robot systems[END_REF] stands out for the native support to swarm robotics research. ARGoS allows the real-time dynamical simulation of up to 10,000 robots thanks to a clever modular design and to the possibility to parallelize the simulation. Moreover, it includes the models of some of the most used robots in swarm robotics (e-pucks, kilobots). Another interesting example is Flightmare [START_REF] Song | Flightmare: A flexible quadrotor simulator[END_REF], a (multi-)UAV simulator with photo-realistic rendering of the environment, useful for studies of visual navigation and remote sensing. To improve over these experiences and provide a tool that responds to the needs of the swarm robotics community-also addressing the simulation-reality gap-several aspects need to be addressed and improved. For example, we will need to find ways to improve the simulation of perception and of physical (robot-robot and robot-environment) and non-physical (communication) interactions. Simulations should be deployed at different levels of fidelity, allowing the user to choose a trade off between speed and accuracy. In most cases, high-fidelity simulations are not mandatory, but their availability would largely simplify the transition from simulation to reality, supporting extensive tests before going live on real robots. It will also be necessary to improve the usability of the simulation by increasing the simulation speed, and providing simpler means of handling and controlling the simulated robots and the environment in which they are deployed. Simulations should be highly configurable to respond to the needs of a diverse research community. At the same time, setting up a new simulation configuration should not require expert knowledge of the inner working of the software. Finally, it will be important for the simulation framework to be integrated with standard robotics tools and libraries (e.g., ROS), and to allow crosscompilation with respect to the robotic platform, which would make possible to test the code developed in simulation with the real robots without the need for any change or adjustment.

Having the right tools, the swarm robotics research community will need to provide solutions to the design problem. Indeed, the second lesson we have learned is that addressing the micro-macro problem-how to design the swarm behaviour (macro-level) given we can only directly program the individual robots (micro level) that compose the swarm-is probably the most difficult aspect to be considered. In order to address this problem, there have been several attempts to propose design methodologies-often guided by biological inspirationthat are general-purpose and reusable in different application contexts, from design patterns [START_REF] Reina | A design pattern for decentralised decision making[END_REF], [START_REF] Valentini | Achieving Consensus in Robot Swarms: Design and Analysis of Strategies for the best-of-n Problem[END_REF] to automatic design methods [START_REF] Birattari | Automatic offline design of robot swarms: A manifesto[END_REF], [START_REF] Francesca | AutoMoDe-chocolate: automatic design of control software for robot swarms[END_REF], [START_REF] Trianni | Evolutionary Swarm Robotics. Evolving Self-Organising Behaviours in Groups of Autonomous Robots[END_REF]. However, all these approaches are for the moment not powerful enough: they successfully address relatively simple or constrained problems, but rapidly show their limits as the problem complexity increases. A complex task is made of several subtasks that might require cooperation, and that have mutual dependencies and time constraints [START_REF] Gerkey | A formal analysis and taxonomy of task allocation in multi-robot systems[END_REF], [START_REF] Nunes | A taxonomy for task allocation problems with temporal and ordering constraints[END_REF]. One might be tempted to apply available approaches to each sub-task, obtaining building blocks to compose later. However, such a divide-and-conquer approach is not sufficient to deploy usable swarm robotics systems, because this overlooks the many possible inter-relations between tasks and the way in which these can be further partitioned and scheduled, leading to sub-optimal solutions. We need design methodologies that address the complex inter-relations between subtasks via continuous integration and refinement [START_REF] Brambilla | Propertydriven design for robot swarms: A design method based on prescriptive modeling and model checking[END_REF]. Additionally, current practices need to scale up in the size of swarms, seamlessly transitioning from small to large groups. We need design methodologies that enable to program a robot swarm without being concerned with the swarm/problem size, which should instead be determined at configuration time. Finally, providing performance guarantees is very much needed, but current practices do not address this point sufficiently, being limited to empirical assessments of performance statistics. We need instead design methodologies that provide performance bounds to meet verification and validation standards, and that promote reliability of robot swarms especially for application domains with hard constraints (e.g., space applications). To concretely support the research community, benchmarks are invaluable tools to measure the progress in a quantitative way, and they can be used to challenge the researchers on tasks that grow in complexity (e.g., as done in RoboCup [START_REF] Hedberg | Robots playing soccer? RoboCup poses a new set of challenges in intelligent distributed computing[END_REF]). To give an idea of the type of benchmarks needed to progress in swarm robotics research, consider a resource collection problem, as done in the NASA Swarmathon [START_REF] Nguyen | Swarmathon: A swarm robotics experiment for future space exploration[END_REF] competition. To move beyond current practices, one could set up the problem so that its complexity can be adjusted along several dimensions: environment size and topology, to test the capability of the proposed solution to adapt to different problem instances and to scale performance with group size; number and distribution of items to be collected, to test abilities for coordinated exploration and exploitation of resources; type and persistence of items, to test the ability to collaborate for recognition and retrieval, and to adapt to a dynamic environment. Informational complexity should also be varied by allowing multiple alternative paths for task execution-this would require the swarm to gather and aggregate information about the problem and its dynamics, taking collective decisions when needed to optimise the task performance. Possibly, multiple inter-related tasks should be identified with variable constraints in their temporal execution (e.g., giving precedence to some items type to enable retrieval of other types). Clear performance metrics must be assigned to track progress and support comparison between different approaches. If a benchmark along these lines were proposed and associated with standard tools-both hardware and simulation, as discussed above-an open community could gather and flourish, learning from best practices and continuously improving over the achieved results.

The third lesson has been to understand that some of the properties that are given for granted in a robot swarm-e.g., fault tolerance and scalability-are not automatically provided by the swarm and require a careful design. The difficulties are even larger if one wants to provide other properties not intrinsically granted by self-organising robot swarms, such as robustness (continue to work efficiently in environmental conditions different from those considered at design time), flexibility (capacity to solve problems/perform tasks that depart from those chosen at design time), or adaptivity (ability to learn/change behaviour to respond to new operating conditions). Similarly, there are key aspects that did not receive sufficient attention so far, but that are required for deployment in real-world applications. Security against external attacks is needed to make swarms resilient to malicious users trying to sneak into and seize the swarm. How to command and control a swarm is also extremely important, in order to let users interact with the robotic system in a meaningful and effortless way. This also requires a high level of explainability, which is necessary to foster acceptance and trust of swarms by users and laypeople. Properly addressing these aspects will largely strengthen swarm robotics-as we discuss in Section IV-F and IV-G-and will promote its transition from research to concrete applications.

The fourth lesson we have learned is that the "biological inspiration tool" must be used with great care. Taking inspiration from the behaviour of social insects or groupliving species has been very valuable in many cases because these natural swarms have properties and display behaviours that are fundamental for any robot swarm: they are "living proofs" of the fact that self-organisation can work in general, and they provide viable solutions for specific problems such as how a robot swarm can move in a coordinated way (flocking), allocate tasks, or make collective decisions. In this respect, we foster further contributions from biology to provide novel guiding principles, as fresh insights about the mechanisms underlying swarm intelligence will continue to inform swarm robotics practitioners. However, one should not forget that the long-term goal of swarm robotics research is to deploy in the real-world robot swarms that perform useful tasks and that therefore robot swarms should be designed with an engineering-minded approach if we want them to be relevant for real-world applications. It is therefore unlikely that biological inspiration will be able alone to guide us when the behaviours required of the robot swarm become very application specific. Researchers should therefore avoid putting too much faith in the "biological inspiration tool" and be ready to devise ad hoc solutions whenever necessary.

It is also interesting to note that, although the collaboration between biologists and roboticists has been very fruitful, it has often been uni-directional, with robotics taking more than what it gave back to biology. We believe that this situation can be improved and that robot swarms could truly help biologists, providing artificial, controllable models to study the effects of embodiment, perception, action and the individual cognitive requirements necessary to support collective behaviour [START_REF] Garnier | Do Ants Need to Estimate the Geometrical Properties of Trail Bifurcations to Find an Efficient Route? A Swarm Robotics Test Bed[END_REF]. Additionally, the possibility of integrating autonomous robots into natural swarms offers unique opportunities of study that are just starting to be exploited [START_REF] Bonnet | Robots mediating interactions between animals for interspecies collective behaviors[END_REF], [START_REF] Halloy | Social integration of robots into groups of cockroaches to control selforganized choices[END_REF], [START_REF] Krause | Interactive robots in experimental biology[END_REF], [START_REF] Mitri | Using robots to understand social behaviour[END_REF].

IV. NEW DIRECTIONS AND NEW PROBLEMS

In the near future, most swarm robotics research will likely be devoted to finding solutions to the above mentioned open problems. Such research will be very important for the furthering of the field and for pushing forward the state of the art. There are however some research directions that might allow a larger jump forward as they would investigate either completely new approaches or areas that, even though already identified as open problems, have been understudied. We first discuss how to design and control robot swarms when dealing with novel and challenging situations, such as extreme constraints given by small sizes and large numbers of individuals (IV-A), or the opportunities given by heterogeneous robot swarms, either in hardware and behaviour (IV-B) or in their organisational structure (IV-C). We then move to considering new directions for designing robot swarms, either mimicking biologically-inspired examples of responsiveness and adaptability (IV-D), or mediating approaches from machine learning to provide swarms the ability to learn and improve their performance (IV-E). Finally, we discuss the need for further research in robot swarm security (IV-F) and in human-swarm interaction (IV-G), that will be of paramount importance for real world deployments.

A. Hardware miniaturisation

One of the tenets of swarm robotics is the ability to design and control thousands of simple robots, achieving swarm-level complex tasks resulting from simple individual behaviours and numerous interactions. An aspect that can maximise the impact of the domain in the future is the exploitation of thousands of miniature robots, with sizes scaling down to millimetres and even micro-or nanometres. Such swarms could access small confined spaces (e.g., microfluidic channels as well as the human body), could manipulate microscopic objects (e.g., microplastics or individual cells) and self-organise to support localised treatments (e.g., targeted drug delivery). To date, research has only scratched the surface of a domain with a huge potential. However, downscaling the robot size brings about new challenges that need to be addressed for swarm robotics to be able to offer practicable solutions. Micro and nano-robots are confronted with different physical laws than at the macroscopic scale, requiring novel models of collective behaviour. Current approaches to micro-and nano robots are not exploiting conventional hardware, but are rather made of active colloidal particles [START_REF] Xie | Reconfigurable magnetic microrobot swarm: Multimode transformation, locomotion, and manipulation[END_REF], soft-bodied (biological) robots [START_REF] Kriegman | A scalable pipeline for designing reconfigurable organisms[END_REF], bacteria-powered nano-machines [START_REF] Di Leonardo | Bacterial ratchet motors[END_REF], [START_REF] Peyer | Bio-inspired magnetic swimming microrobots for biomedical applications[END_REF] and even controllable genetically-engineered organisms [START_REF] Rabinowitch | Rewiring neural circuits by the insertion of ectopic electrical synapses in transgenic c. elegans[END_REF]. Achieving and controlling collective behaviour in such systems will require novel paradigms, as the ability to precisely governing the individual behaviour will be forcedly limited. Also, integrating conventional ways of perception and action is extremely challenging, demanding a rethink of the strategies for designing and controlling such swarms. Overall, research should focus on control methods that exploit few unreliable sensors, minimal or completely absent computational abilities, and unreliable actions [START_REF] Gauci | Self-organized aggregation without computation[END_REF], [START_REF] Özdemir | Finding Consensus Without Computation[END_REF]. Solutions that design the hardware to present self-organising properties are also plausible [START_REF] Bär | Self-Propelled Rods: Insights and Perspectives for Active Matter[END_REF], [START_REF] Kumar | Flocking at a distance in active granular matter[END_REF], although in this case it may be difficult to obtain flexible and adaptive behaviour. In all these cases, steering self-organisation can be more rewarding than attempting a direct control.

B. Heterogeneity

The homogeneity assumption still pervades research in swarm robotics: all robots are identical and all run the same control software, they are all replaceable and only the individual history of interactions with the (social) environment can lead to the expression of a somewhat specialised behaviour. This assumption stems from theoretical models of collective behaviour, which often simplify a complex phenomenon to gain in tractability. As a matter of fact, self-organisation in homogeneous systems has been often sufficient to explain experimental observations to a great degree [START_REF] Camazine | Self-Organization in Biological Systems[END_REF]. However, individuals within natural swarms can be very different from each other, both physically and behaviourally, with individual personalities affecting the response to environmental and social cues [START_REF] Jeanson | Interindividual variability in social insects -proximate causes and ultimate consequences[END_REF]. Heterogeneity is considered fundamental to grant collectives with flexibility of behaviour, adaptivity to new conditions, and resilience to external perturbations. All these features would benefit robot swarms, but heterogeneity is not exploited as much as it should. The already mentioned Swarmanoid project demonstrated one possible direction, by studying coordinated collective behaviours in physically heterogeneous groups of robots [START_REF] Dorigo | Swarmanoid: A novel concept for the study of heterogeneous robotic swarms[END_REF]. Other powerful forms of collaboration allow initially-homogeneous robots to learn different behaviours, getting specialised to tasks when this leads to group performance benefits [START_REF] Ferrante | Evolution of self-organized task specialization in robot swarms[END_REF]. Taming the complexity of the self-organised behaviour displayed by heterogeneous entities is however still very challenging, but promises great advances for the domain as a whole.

C. Decentralisation vs hierarchy

From its very beginning, swarm robotics has adopted the self-organisation paradigm, where the swarm control is obtained via simple (stochastic) rules that define the way the robots interact with each other and with the environment without exploiting any form of centralised control or of global knowledge. One could however argue that in many cases centralised or hierarchical forms of control could make the problem of designing and controlling a robot swarm easier. The introduction of some form of hierarchical control might also be justified by the fact that hierarchies are observed in many animal societies where they often go side by side with self-organisation [START_REF] Chase | Social process and hierarchy formation in small groups: A comparative perspective[END_REF]. Unfortunately, these approaches would require the introduction of machinery that would make the system vulnerable (single point of failure) and difficult to scale.

The question of decentralisation vs hierarchy, or of how to integrate these two aspects, is currently understudied. A notable first step in this direction [START_REF] Mathews | Mergeable nervous systems for robots[END_REF] proposes to create hybrid systems where hierarchical control structures resulting from self-organising processes can appear on the fly in an ad hoc manner. This would be similar to what occurs in some wasp colonies where self-organising processes lead to the formation of a linear hierarchy and the emergence of a single reproducing individual [START_REF] Theraulaz | Self-organization of hierarchies in animal societies: the case of the primitively eusocial wasppolistes dominuluschrist[END_REF]. Mathews et al. [START_REF] Mathews | Mergeable nervous systems for robots[END_REF] have created the infrastructure-middleware-that allows a robot swarm to autonomously switch from purely self-organised control to hierarchical control and back. While experiments have demonstrated the feasibility of the approach [START_REF] Mathews | Mergeable nervous systems for robots[END_REF], [START_REF] Zhu | Formation control of UAVs and mobile robots using self-organized communication topologies[END_REF], much needs to be done to understand how the rules that allow the creation of the hierarchical control structure should be designed as a function of the task that the robot swarm has to perform, and how the passage from purely self-organised to hierarchical control and back can be activated as a function of the task and of the environment in which the robot swarm is acting.

D. Phase transitions and adaptability

In a real-world environment, the main challenge faced by a swarm of robots is to adapt to unexpected events such as the presence of obstacles or changing atmospheric conditions (brightness, wind, rain). All these events may prevent the swarm moving forward or accomplishing some tasks. In these conditions, the swarm must collectively adapt its behaviour and automatically change its strategy. Such collective capabilities are observed in some species of group-living animals (swarms of midges, schools of fish, herds of sheep). In these species, the interactions between individuals give rise to group properties similar to those of a physical system close to a "phase transition" between two macroscopic states, resulting in an extreme sensitivity to changes in the behaviour of a small number of individuals [START_REF] Attanasi | Finite-size scaling as a way to probe near-criticality in natural swarms[END_REF], [START_REF] Muñoz | Colloquium: Criticality and dynamical scaling in living systems[END_REF]. In such conditions, the reaction of a few individuals that have detected a change in the environment can spread to all the other group members, allowing them to react efficiently to such disturbances as a predator attack. Such collective adaptive capabilities do not only result from the particular form of interactions between individuals but also from a modulation of the relative intensities of these interactions [START_REF] Calovi | Collective response to perturbations in a data-driven fish school model[END_REF]. The transposition of this type of properties in swarms of robots could significantly increase their level of autonomy and would be a promising line of research.

E. Machine learning for robot swarms

As of today, the only prominent use of machine learning in swarm robotics has been the exploitation of evolutionary computation techniques for the development of simple neural controllers driving the behaviour of individual robots in the swarm. However, recent advances in machine learning, in particular the availability of new deep learning techniques, could be leveraged both as a means to design the swarm behaviour and to provide additional capabilities to individual robots to be shared within the swarm. So far there has been little appreciation of these studies within the swarm robotics community. Machine learning as a design methodology suffers from the problems associated with the automatic design of robot swarms [START_REF] Francesca | Automatic design of robot swarms: Achievements and challenges[END_REF], with the additional constraints given by online learning of behaviours by trial and error [START_REF] Busoniu | A comprehensive survey of multiagent reinforcement learning[END_REF], with episodic rewards and coordination problems. Model-free approaches may be very demanding in terms of computational requirements, although they can be very powerful in handling the complex, unpredictable contingencies that characterise swarm behaviour. Model-based approaches could be valuable, as learning a model of the (current) collective behaviour could lead to an efficient design of the individual policies. Combination of the two are currently sought for in several domains, and could be relevant also for swarm robotics research. Besides designing the swarm behaviour, machine learning and especially deep learning approaches could find space in swarm robotics research to provide advanced capabilities to individual robots that sustain the individual and collective behaviour. In this respect, it would be important to identify methods that can leverage the information available to the collective to support more efficient interpretation of the world. For instance, deep networks represent the state-of-the-art for image classification, a feature that is needed in many applications brought forth by robot swarms. By leveraging the presence of multiple robots observing the same scene, possibly from different perspectives and at different times, more accurate and computationally efficient solutions could be provided [START_REF] Magistri | Using Prior Information to Improve Crop/Weed Classification by MAV Swarms[END_REF], [START_REF] Price | Deep neural network-based cooperative visual tracking through multiple micro aerial vehicles[END_REF]. Much work is needed to define the network architectures and learning paradigms to support swarm-level operations of this kind.

F. Security

The use of autonomous robots outside the lab will also introduce security issues. Robots need to be safe while doing their tasks [START_REF] Hunt | A checklist for safe robot swarms[END_REF], they should guarantee the privacy of the data they collect, and should also be resilient to external attacks by malicious users trying to get control. Such issues will be even more serious in the case of robot swarms [START_REF] Higgins | Survey on security challenges for swarm robotics[END_REF]. Issues such as entity authentication, data confidentiality, data integrity, are amplified by the mere presence of potentially hundreds of robots interacting with each other. Additionally, disruption in the working of the swarm might be caused by just a few malicious robots sneaked into the group [START_REF] Higgins | Survey on security challenges for swarm robotics[END_REF]. Research in robot swarm security is still in its infancy. Initial work is investigating how traditional (e.g., cryptographic Merkle trees, [START_REF] Ferrer | Secure and secret cooperation of robotic swarms by using merkle trees[END_REF]) and less traditional (blockchain, [START_REF] Strobel | Blockchain technology secures robot swarms: A comparison of consensus protocols and their resilience to Byzantine robots[END_REF]) approaches to security can be exploited either to add security layers or to be fully integrated in the control architecture of robots swarms. These initial works allow to address issues such as how to keep information in a swarm private [START_REF] Ferrer | Secure and secret cooperation of robotic swarms by using merkle trees[END_REF], [START_REF] Prorok | Towards differentially private aggregation of heterogeneous robots[END_REF], how to avoid disruption due to the presence of malicious robots [START_REF] Strobel | Managing byzantine robots via blockchain technology in a swarm robotics collective decision making scenario[END_REF], and how to counter Sybil attacks [START_REF] Strobel | Blockchain technology secures robot swarms: A comparison of consensus protocols and their resilience to Byzantine robots[END_REF]. Much research will be needed to extend these simple, proof-of-concept solutions so that they can be ported to large swarms of robots acting in the real world.

G. Human-swarm interaction

While the interaction with a single machine/robot is a very well-studied problem [START_REF] Bartneck | Human-Robot Interaction: An Introduction[END_REF], interaction with a robot swarm opens completely new avenues. The main difficulty is given by the fact that, the swarm being self-organised, there is no clear entity with which a human could establish a communication link. Human-swarm interaction (HSI) will be necessary to provide the swarm information about goals to be achieved or tasks to be performed [START_REF] Brown | Two invariants of human-swarm interaction[END_REF], [START_REF] Kolling | Human interaction with robot swarms: A survey[END_REF]. A swarm could be controlled indirectly by means of a few user-driven robots embedded within the swarm. Recent research in several disciplines [START_REF] Baronchelli | The emergence of consensus: a primer[END_REF], [START_REF] Calovi | Collective response to perturbations in a data-driven fish school model[END_REF], [START_REF] Couzin | Effective leadership and decision-making in animal groups on the move[END_REF], [START_REF] Gautrais | How individual interactions control aggregation patterns in gregarious arthropods[END_REF] has shown that a minority of committed agents can determine the overall behaviour of a group. Similar mechanisms represent interesting means for the control of robot swarms, although they may introduce security challenges that must be dealt with, to avoid a few malicious robots taking control of the entire swarm. Alternatively, robot swarms could be controlled or steered directly by the user, and different ways have been proposed, such as through gestures [START_REF] Nagi | Humanswarm interaction using spatial gestures[END_REF], [START_REF] Podevijn | Gesturing at subswarms: Towards direct human control of robot swarms[END_REF] or EEG signals [START_REF] Mondada | Electroencephalography as implicit communication channel for proximal interaction between humans and robot swarms[END_REF].

Direct control of a swarm by a user is complicated by the fact that understanding what the swarm is doing might be very challenging due to the multitude of interactions happening within the swarm, which might be hard to 'read' for a human observer. Explainability is therefore crucial. Possible solutions might be built-in within the self-organising mechanisms of the swarm, in a way to make the current state and goal of the swarm visible to users. Interfaces to swarm behaviours, possibly enabled by augmented reality, may collect and visualise information from the swarm, while models of the collective behaviour could be integrated in order to provide predictions that could support the user to take action (e.g., by issuing new commands to the swarm). The design of any HSI solution will also require an understanding of the psychological effects induced on humans who interact with a robot swarm, in order to favour interaction modalities that reduce stress [START_REF] Podevijn | Human responses to stimuli produced by robot swarms -the effect of the reality-gap on psychological state[END_REF], [START_REF] Podevijn | Investigating the effect of increasing robot group sizes on the human psychophysiological state in the context of human-swarm interaction[END_REF] and improve usability and trust [START_REF] Nam | Models of trust in human control of swarms with varied levels of autonomy[END_REF].

V. HOW FUTURE APPLICATIONS WILL GUIDE RESEARCH

The great interest in swarm robotics research recorded to date [START_REF]Robot Swarms Across Scales[END_REF], [START_REF] Dorigo | Special Issue on "Swarm Robotics[END_REF], [START_REF] Dorigo | Reflections on the future of swarm robotics[END_REF], [START_REF] Yang | The grand challenges of science robotics[END_REF] is due to the expected forthcoming ubiquity of autonomous robots for real-world applications, and to the challenges of letting them cooperate with each other and with their human users avoiding the pitfalls of centralized control.

In this section, we first discuss what are the general criteria that would justify the use of robot swarms to solve problems or perform tasks in real-world applications and then we give an overview of what we believe to be potential application domains for swarm robotics. This overview is of a speculative nature as-as we said-real-world applications are still to come. We try however to motivate our choices by critically evaluating the benefits that a swarm robotics approach could concretely bring into play in the different application domains considered.

A. General criteria for a robot swarm solution

In principle, the first question to ask when considering the application of a robot swarm to the solution of a real world problem is whether a robot swarm is indeed the best way to go. However, this is a very difficult question, especially so given that swarm robotics is a young discipline and that, as discussed above, there are still many open research questions. As a consequence, the current practice consists in evaluating the suitability of swarm robotics solutions on the basis of the expected advantages with respect to other solutions, factoring in the constraints imposed by available technologies. 1 Given the lack of working methodologies to move from problem specification to robot swarm implementation and deployment, in the following we discuss a few general guidelines that should direct the choice of swarm robotics solutions when dealing with a concrete application problem.

The first very general guideline is that the use of a multirobot system-and by extension, of a robot swarm-should be envisioned only if the problem considered cannot be (efficiently) solved via a single-robot solution-because it is either too complex or too demanding considering the available technology and the application constraints. For instance, the surveillance of a large area with a single robot might not be feasible and the only option might be to use many robots at the same time [START_REF] Renzaglia | Multi-robot three-dimensional coverage of unknown areas[END_REF]. Another example is the exploration of a large collapsed building by UAVs in a search & rescue scenario: even though in this case a single UAV might perform the task, this might not be efficient enough due to the limited flight time and the need to fly back for recharging. In such conditions, a multi-robot solution could be more efficient thanks to parallel operation [START_REF] Mcguire | Minimal navigation solution for a swarm of tiny flying robots to explore an unknown environment[END_REF].

Once the suitability of a multi-robot system is established, one should consider what type of control approach would be most appropriate for the considered problem. For example, when it is not possible or advisable to coordinate the robots in a centralized way [START_REF] Hönig | Trajectory planning for quadrotor swarms[END_REF], the use of a robot swarm might be the right way to go. In some cases, centralised replanning could be feasible to deal with task uncertainty and environmental unpredictability [START_REF] Hönig | Persistent and robust execution of mapf schedules in warehouses[END_REF]. However, a strong demand for online recognition of features and for adaptation to experienced contingencies might be better approached through decentralized, self-organized methods. Even in this case, however, one should consider if other approaches, such as distributed model predictive control [START_REF] Luis | Online trajectory generation with distributed model predictive control for multi-robot motion planning[END_REF], [START_REF] Negenborn | Distributed model predictive control: An overview and roadmap of future research opportunities[END_REF] could be used, which might not be the case when it is impossible or too difficult to create simple enough models of both the problem to be solved and the environment in which the robots are going to operate.

Another aspect to consider is whether the given problem is decomposable in a fixed number of well defined tasks that can be addressed by a team of robots, each with a specific role, as is the case for instance in an assembly line or in robotic soccer [START_REF] Hedberg | Robots playing soccer? RoboCup poses a new set of challenges in intelligent distributed computing[END_REF]. Once again, if this is not the case, then a swarm robotics approach might be conceivable. In other words, even if a problem is better solved with a multi-robot system, this does not necessarily imply the need for a robot swarm. The latter is better justified by tasks that have no predefined partitioning in sub-tasks, or that allow diverse allocations of roles to the available robots [START_REF] Dorigo | Swarmanoid: A novel concept for the study of heterogeneous robotic swarms[END_REF], [START_REF] Nouyan | Teamwork in self-organized robot colonies[END_REF]. Last, a swarm robotics approach might be the right choice if a beneficial collaboration among the robots is expected. In fact, thanks to collaboration, a swarm robotics system can aim for superlinear performance increase justifying the overhead necessary to setup the collaboration [START_REF] Hamann | Scalability in computing and robotics[END_REF].

B. Applications, needs and future research

With these considerations in mind, potential application domains for swarm robotics should be critically evaluated for the benefits that a swarm robotics approach can concretely bring into play. For instance, service robots may not come in a swarm, although coordination of activities and allocation of tasks performed by each robot can be decentralised and self-organised to some extent. Still, the specific task itself may not require coordination or collaboration among robots. Similarly, logistics (e.g., in large warehouses), autonomous cars and smart mobility in general can surely benefit from the decentralised coordination strategies studied in swarm robotics. It is however unlikely that these applications can guide future swarm robotics research. Conversely, applications like precision agriculture or infrastructure inspection and maintenance require dealing with an unstructured, unpredictable environment-often covering extensive areasand can benefit from parallelization and collaboration among robots in a swarm. For instance, early identification of the outbreak of diseases within a crop field requires information sharing among robots to make global patterns emerge from coupled local views, supporting suitable responses and better strategic planning [START_REF] Albani | Dynamic UAV Swarm Deployment for Non-Uniform Coverage[END_REF], [START_REF] Magistri | Using Prior Information to Improve Crop/Weed Classification by MAV Swarms[END_REF]. Similarly, a reliable identification of defects in a large infrastructure requires efficient search abilities that could be best implemented by means of swarms [START_REF] Correll | Multirobot inspection of industrial machinery[END_REF]. Despite both precision agriculture and infrastructure inspection feature a somewhat static environment (the crop field or the infrastructure to inspect), decentralization and self-organization can be useful to gain in both efficiency, thanks to parallel and coordinated operations, and accuracy, thanks to adaptive strategies for collective perception that respond to the sensed contingencies and determine the optimal mission plan to maximize the likelihood that all relevant features are observed with care. In this respect, future research should focus on strategies to make sense of complex features by means of information fusion among multiple, possibly heterogeneous, robots. Additionally, tailored intervention and manipulation abilities need to be devised (e.g., for harvesting fruits or for maintenance), opening to new opportunities for distributed, collaborative activities.

The application of robot swarms is sought for by defence agencies worldwide, who find extremely appealing a system that cannot be easily shut down [START_REF] Dawkins | Deployment and flight operations of a large scale uas combat swarm: Results from darpa service academies swarm challenge[END_REF]. A system that is faulttolerant to external attacks can support operations in adversarial settings, especially when robots are replaceable and, to some extent, disposable. Here, however, the human component remains inevitably central. Hence, defence applications need to consider the human in the loop, and advanced HSI strategies will be crucial for effective deployment [START_REF] Nam | Models of trust in human control of swarms with varied levels of autonomy[END_REF]. Also, safety and security aspects need to be at the highest level to guarantee that robot swarms do not get out of control or maliciously seized [START_REF] Hunt | A checklist for safe robot swarms[END_REF]. Similar aspects are fundamental in other application areas, such as civil protection, where the need to face natural disasters or anthropogenic hazards requires agile robots capable of dealing with emergency conditions, with no external infrastructure or reliable maps. Such applications set the bar very high, as robot swarms should be capable of guaranteeing the highest possible performance and reliability, because no victim should be left behind.

Space missions-both with rovers for planet explorations and in-orbit satellites-introduce other constraints on robotics applications that might be successfully addressed by swarm robotics. In space, the computational power of computers has to remain limited because of cosmic radiation burning modern CPUs [START_REF] Messenger | Radiation hardening[END_REF]. A swarm of robots of limited computational power might therefore be a better design choice than a single more powerful robot [START_REF] Nguyen | Swarmathon: A swarm robotics experiment for future space exploration[END_REF], [START_REF] Pinciroli | Self-organizing and scalable shape formation for a swarm of pico satellites[END_REF], [START_REF] Roehr | Reconfigurable integrated multirobot exploration system (rimres): Heterogeneous modular reconfigurable robots for space exploration[END_REF]. Robots that are sent out in space cannot be easily repaired or substituted, which is well addressed by the swarm robotics focus on redundant systems where the failure of one of the robots does cause only a graceful degradation of the swarm performance. Finally, in space it might be extremely costly or even impossible to build an external infrastructure to support the coordination of robots, again a typical situation that robot swarm can effectively deal with. Accordingly, space agencies such as NASA and ESA have started to show interest in swarm technologies, for example with activities such as the already mentioned Swarmathon [START_REF] Nguyen | Swarmathon: A swarm robotics experiment for future space exploration[END_REF] competition and with research directed at the control of swarms of pico-satellites [START_REF] Pinciroli | Self-organizing and scalable shape formation for a swarm of pico satellites[END_REF]. The great challenge brought forward by space applications is the necessary autonomy of the swarm system, which cannot rely on reliable and constant intervention from human operators.

The entertainment sector has also good potential for the employment of robot swarms. There are already several examples of drone swarms light shows outdoor and indoor [START_REF] Waibel | Drone shows: Creative potential and best practices[END_REF], which however are generally based on centralised pre-orchestrated trajectories for the drones. In a similar way, other attempts to exploit multi-robot systems for entertainment have relied on some centralised solution to finely control the system [START_REF] Alonso-Mora | Image and animation display with multiple mobile robots[END_REF], [START_REF] Le Goc | Zooids: Building blocks for swarm user interfaces[END_REF]. New avenues are possible if a decentralised approach is considered, especially if users can actively participate in the entertainment activity by engaging with the robot swarm, changing its dynamics according to positions, movements and even emotions [START_REF] Alhafnawi | Robotic canvas: Interactive painting onto robot swarms[END_REF]. In this context, research can experiment radically new modalities for HSI that can be afterwards borrowed by other application domains. For instance, all sort of HSI interfaces can be imagined, from wearable devices [START_REF] Tsykunov | Swarmtouch: Guiding a swarm microquadrotors with impedance control using a wearable tactile interface[END_REF] augmented and virtual reality [START_REF] Hönig | Mixed reality for robotics[END_REF], and brain-computer interaction modalities [START_REF] Mondada | Electroencephalography as implicit communication channel for proximal interaction between humans and robot swarms[END_REF].

Finally, swarms of nano-bots might in the future become a new and powerful tool in precision medicine, making possible targeted interventions within the human body, such as minimally-invasive surgery or polytherapy delivery directly to cancerous cells [START_REF] Dong | Controlling two-dimensional collective formation and cooperative behavior of magnetic microrobot swarms[END_REF], [START_REF] Jeon | Magnetically actuated microrobots as a platform for stem cell transplantation[END_REF]. However, the coordination of huge numbers of robots with extremely limited computational and communication capabilities will stretch to the limits the swarm robotics approach and will require the development of new conceptual tools, let alone the development of microscopic hardware or bio-robotics devices [START_REF] Sitti | Mobile Microrobotics[END_REF].

Overall, the relationship between the requirements from potential application domains and future research challenges for swarm robotics is indisputable. We therefore envisage a close collaboration between researchers and the relevant stakeholders from the various application domains, who can provide concrete examples to challenge novel developments, and contribute to set the agenda of swarm robotics research in the years to come.

VI. CONCLUSIONS

The design and implementation of effective robot swarms is one of the greatest challenges that lie ahead for robotics, as well as one of the most promising research avenues, as acknowledged in [START_REF] Yang | The grand challenges of science robotics[END_REF]. In this perspective, we have briefly summarised the state of the art, and identified what we believe to be the most promising research directions and main open problems. Yet our overview is inevitably incomplete, because significant advances in swarm robotics will strongly depend on research carried out outside the field; in fact, advancements in many of the other grand challenges identified by [START_REF] Yang | The grand challenges of science robotics[END_REF] will be decisive for the development of swarm robotics. For example, new materials, biohybrid solutions, new ways of storing and transmitting energy, could help address some of the current issues related to the hardware of robot swarms. The development of AI techniques, in particular of distributed learning algorithms that require limited computation and can work with the CPUs of small inexpensive robots, will allow robot swarms to gradually increase their autonomy. Swarms will have to ensure explainability, now a major issue for the whole field of robotics and artificial intelligence. In other words, the user will need to be able to understand the decision making of the swarm without a detailed knowledge of the underlying mechanisms-a paramount requirement to ensure the acceptability of robot swarms and to foster trust in them, hence creating the conditions for a massive realworld deployment. Even though many of these issues are being addressed more generally within the artificial intelligence field, their complexity might be increased by the high number of autonomous entities and by their numerous interactions with each other that are typical of swarm robotics systems.

If these challenges are faced, we expect swarm robotics to successfully transition from laboratories to real-world applications within the current decade, as suggested above. Such transition will not be immediate, but the first successful applications of swarm robotics in the real world will surely spur additional interest, leading different application section to proposing new challenges and creating a demand in new technological solutions that will drive research and innovation in the years to come.

Figure 1 .

 1 Figure 1. Citation count for the search "swarm robotics" in Google Scholar and in Scopus.

Table I GLOSSARY

 I OF KEY TERMS USED IN THE ARTICLE

A notable exception is the work of Kazadi[START_REF] Kazadi | Swarm Engineering[END_REF],[START_REF] Li | Generating swarm solution classes using the hamiltonian method of swarm design[END_REF], who explicitly addresses the question of whether a robot swarm is an appropriate technology for a given problem; however, his methodology is still at the stage of proposal and has not been applied on any real robot swarm implementation.

VII. ACKNOWLEDGMENTS

The authors acknowledge support from the Office of Naval Research Global (ONRG) for funding the workshop "Swarm Robotics: pushing the state of the art" held in Rome, Italy, on October the 25-26 2018 (Award N62909-18-1-2156). The discussions and interactions spurred from the workshop have been very valuable to inspire this review. This work was also supported in part by the Office of Naval Research Global (Award N62909-18-1-2093 to Vito Trianni and Award N62909-19-1-2024 to Marco Dorigo) and by an ARC project funded by the French Community of Belgium. Marco Dorigo acknowledges support by the Belgian Fonds de la Recherche Scientifique (F.R.S.-FNRS) of which he is a Research Director. Guy Theraulaz gratefully acknowledges the Indian Institute of Science to serve as Infosys visiting professor at the Centre for Ecological Sciences in Bengaluru.

The authors acknowledge support from the Office of Naval Research Global (ONRG) for funding the workshop "Swarm Robotics -pushing the state of the art" held in Rome, Italy, on October the 25-26 2018 (Award N62909-18-1-2156). The discussions and interactions spurred from the workshop have been very valuable to inspire this review. This work was also supported in part by the Office of Naval Research Global (Award N62909-18-1-2093 to Vito Trianni and Award N62909-19-1-2024 to Marco Dorigo) and by an ARC project funded by the French Community of Belgium. Marco Dorigo acknowledges support by the Belgian Fonds de la Recherche Scientifique (F.R.S.-FNRS) of which he is a Research Director. Guy Theraulaz gratefully acknowledges the Indian Institute of Science to serve as Infosys visiting professor at the Centre for Ecological Sciences in Bengaluru M. Dorigo is with the Institut de