Main Research Interests
The main focus of my research is designing innovative tools for swarm robotics.
Buzz: A Programming Language for Robot Swarms
I designed and developed Buzz, a programming language for swarm robotics.
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.
ARGoS: Simulating Large Heterogeneous Swarms of Robots
I designed and developed ARGoS ("Autonomous Robots Go Swarming"), a state-of-the-art multi-robot multi-engine simulator.
ARGoS is designed to be both scalable and flexible. It can simulate thousands of robots in real-time on an average computer. Its architecture is multi-threaded and completely modular. Among its unique features, in ARGoS it is possible to partition the virtual space in regions managed by different physics engines running in parallel. ARGoS is open source software and can be downloaded here.
Boolean Networks Robotics
The following video shows a behavior in which a robot performs phototaxis and switches to antiphototaxis as soon at it senses a hand-clap. This work is part of a Master thesis I co-advised and that won the 2011 AI*IA award (best thesis on artificial intelligence in Italy).