We present Buzz, a novel programming language for heterogeneous robot swarms. Buzz advocates a compositional approach, offering primitives to define swarm behaviors both from the perspective of the single robot and of the overall swarm. Single-robot primitives include robot-specific instructions and manipulation of neighborhood data. Swarm-based primitives allow for the dynamic management of robot teams, and for sharing information globally across the swarm. Self-organization stems from the completely decentralized mechanisms upon which the Buzz run-time platform is based. The language can be extended to add new primitives (thus supporting heterogeneous robot swarms), and its run-time platform is designed to be laid on top of other frameworks, such as Robot Operating System. We showcase the capabilities of Buzz by providing code examples, and analyze scalability and robustness of the run-time platform through realistic simulated experiments with representative swarm algorithms.
Voltron @cite_28 is a language designed for distributed mobile sensing. Voltron allows the developer to specify the logic to be executed at several locations, without having to dictate how the robots must coordinate to achieve the objectives. Coordination is achieved automatically through the use of a shared tuple space, for which two implementations were tested---a centralized one, and a decentralized one based on the concept of virtual synchrony @cite_33 . In Buzz, virtual stigmergy was loosely inspired by the capabilities of virtual synchrony, although the internals of the two systems differ substantially. Voltron excels in single-robot, single-task scenarios in which pure sensing is involved; however, fine-grained coordination of heterogeneous swarms is not possible, because Voltron's abstraction hides the low-level details of the robots.
@cite_28 @cite_33
2170049866 2142588308 2069721309 2282626006
This paper presents a distributed algorithm for performing joint localisation of a team of robots. The mobile robots have heterogeneous sensing capabilities, with some having high quality inertial and exteroceptive sensing, while others have only low quality sensing or none at all. By sharing information, a combined estimate of all robot poses is obtained. Inter-robot range-bearing measurements provide the mechanism for transferring pose information from well-localised vehicles to those less capable. In our proposed formulation, high frequency egocentric data (e.g., odometry, IMU, GPS) is fused locally on each platform. This is the distributed part of the algorithm. Inter-robot measurements, and accompanying state estimates, are communicated to a central server, which generates an optimal minimum mean-squared estimate of all robot poses. This server is easily duplicated for full redundant decentralisation. Communication and computation are efficient due to the sparseness properties of the information-form Gaussian representation. A team of three indoor mobile robots equipped with lasers, odometry and inertial sensing provides experimental verification of the algorithms effectiveness in combining location information. Autonomous drones are a powerful new breed of mobile sensing platform that can greatly extend the capabilities of traditional sensing systems. Unfortunately, it is still non-trivial to coordinate multiple drones to perform a task collaboratively. We present a novel programming model called team-level programming that can express collaborative sensing tasks without exposing the complexity of managing multiple drones, such as concurrent programming, parallel execution, scaling, and failure recovering. We create the Voltron programming system to explore the concept of team-level programming in active sensing applications. Voltron offers programming constructs to create the illusion of a simple sequential execution model while still maximizing opportunities to dynamically re-task the drones as needed. We implement Voltron by targeting a popular aerial drone platform, and evaluate the resulting system using a combination of real deployments, user studies, and emulation. Our results indicate that Voltron enables simpler code and produces marginal overhead in terms of CPU, memory, and network utilization. In addition, it greatly facilitates implementing correct and complete collaborative drone applications, compared to existing drone programming systems. This paper presents HiDDeN, a high-level distributed architecture for multi-robot cooperation. HiDDeN aims at controlling a team of heterogeneous robots in environments with uncertain communications. It relies on a mission plan defined as an instantiated HTN, i.e. a hierarchical decomposition of robots' tasks. This hierarchical structure also benefits to plan repair operations in case of failure detections. This repair is made as local as possible, in order to avoid unnecessary communications between robots. Ubiquitous Robotics is a novel paradigm aimed at addressing the coordinated behaviour of robots in environments that are intelligent per se. To this aim, suitable methods to enforce cooperative activities must be assessed. In this article, a formalism to encode spatio-temporal situations whose occurrences must be detected by a context-aware system is introduced. The Situation Definition Language is a tool used to specify relationships among classes of sensory data in distributed systems (such as those adhering to the Ubiquitous Robotics paradigm), without posing any assumption on how data themselves are acquired. The capabilities offered by the language are discussed with respect to a real-world scenario, where a team of mobile robots cooperates with an intelligent environment to perform service tasks. Specifically, the article focuses on the system ability to combine in a centralized representation information originating from distributed sources, either mobile (i.e., the robots) or fixed (i.e., the intelligent devices in the network).