Small unmanned aerial vehicles (UAVs) have generally little capacity to carry payloads. Through collaboration, the UAVs can increase their joint payload capacity and carry more significant loads. For maximum flexibility to dynamic and unstructured environments and task demands, we propose a fully decentralized control infrastructure based on a swarm-specific scripting language, Buzz. In this paper, we describe the control infrastructure and use it to compare two algorithms for collaborative transport: field potentials and spring-damper. We test the performance of our approach with a fleet of micro-UAVs, demonstrating the potential of decentralized control for collaborative transport.
@cite_9: We define a system architecture for a large swarm of miniature quadcopters flying in dense formation indoors. The large number of small vehicles motivates novel design choices for state estimation and communication. For state estimation, we develop a method to reliably track many small rigid bodies with identical motion-capture marker arrangements. Our communication infrastructure uses compressed one-way data flow and supports a large number of vehicles per radio. We achieve reliable flight with accurate tracking (< 2 cm mean position error) by implementing the majority of computation onboard, including sensor fusion, control, and some trajectory planning. We provide various examples and empirically determine latency and tracking performance for swarms with up to 49 vehicles.
@cite_14: This work presents the design of an open-source control architecture specifically tailored to the rapid development and testing of control and coordination algorithms on micro quadrotors. The proposed design extends an existing open-source and open-hardware quadrotor project, i.e., the Crazyflie nano quadrotor, by adding the guidance, navigation and control layers required to accomplish autonomous flight. The control layer, in particular, is based on a cascade control algorithm able to globally stabilize the position and the attitude of the vehicle. The global property guaranteed by the algorithm allows the quadrotors to perform aggressive maneuvers. The guidance layer is designed to coordinate simultaneously multiple vehicles by generating suitable reference trajectories. Experiments demonstrate the effectiveness of the proposed design.
@cite_4: One challenge of programming soon-to-be-common large robotic teams is the definition of programming primitives that generate reusable and predictable behaviors. A new language construct allows developers to categorize robots using custom conditions and assign tasks to the groups created. The web extra at https: youtu.be ddHXIef3nDo offers a real-life demonstration of a robot swarm programmed using Buzz, an extension language with dynamic typing.
@cite_3: This tutorial chapter will teach readers how to use ROS to fly a small quadcopter both individually and as a group. We will discuss the hardware platform, the Bitcraze Crazyflie 2.0, which is well suited for swarm robotics due to its small size and weight. After first introducing the crazyflie_ros stack and its use on an individual robot, we will extend scenarios of hovering and waypoint following from a single robot to the more complex multi-UAV case. Readers will gain insight into physical challenges, such as radio interference, and how to solve them in practice. Ultimately, this chapter will prepare readers not only to use the stack as-is, but also to extend it or to develop their own innovations on other robot platforms.
The same type of micro-UAVs used in our experiments, the Crazyflie, was subject to a detailed swarm controller design @cite_9 . We leverage the stability of their on-board control and the scalability of their configuration to deploy our solution. Nevertheless, collaborative payload transport has never been attempted with such a small and sensitive device. Other solutions for controlling a swarm of Crazyflies has been considered @cite_14 @cite_3 , but they are centralized. As with , their scripts are specific to their implementation for this platform, whereas we leveraged a domain-specific programming language for swarms @cite_4 to guarantee portability to other platforms.