Deployment of multiple flying robots has attracted the interest of several research groups in the recent times both because such a feat represents many interesting scientific challenges and because aerial collective systems have a huge potential in terms of applications. By working together, multiple robots can perform a given task quicker or more efficiently than a single system. Furthermore, multiple robots can share computing, sensing and communication payloads thus leading to lighter robots that could be safer than a larger system, easier to transport and even disposable in some cases. Deploying a fleet of unmanned aerial vehicles instead of a single aircraft allows rapid coverage of a relatively larger area or volume. Collaborating airborne agents can help each other by relaying communication or by providing navigation means to their neighbours. Flying in formation provides an effective way of decongesting the airspace. Aerial swarms also have an enormous artistic potential because they allow creating physical 3D structures that can dynamically change their shape over time. However, the challenges to actually build and control aerial swarms are numerous. First of all, a flying platform is often more complicated to engineer than a terrestrial robot because of the inherent weight constraints and the absence of mechanical link with any inertial frame that could provide mechanical stability and state reference. In the first section of this chapter, we therefore review this challenges and provide pointers to state-of-the-art methods to solve them. Then as soon as flying robots need to interact with each other, all sorts of problems arise such as wireless communication from and to rapidly moving objects and relative positioning. The aim of section 3 is therefore to review possible approaches to technically enable coordination among flying systems. Finally, section 4 tackles the challenge of designing individual controllers that enable a coherent behavior at the level of the swarm. This challenge is made even more difficult with flying robots because of their 3D nature and their motion constraints that are often related to the specific architectures of the underlying physical platforms. In this third section is complementary to the rest of this book as it focusses only on methods that have been designed for aerial collective systems.