Swarm robotics is an emerging field of research which is increasingly attracting attention thanks to the advances in robotics and its potential applications. However, despite the enthusiasm surrounding this area of research, software development for swarm robotics is still a tedious task. That fact is partly due to the lack of dedicated solutions, in particular for low-cost systems to be produced in large numbers and that can have important resource constraints. To address this issue, we introduce BittyBuzz, a novel runtime platform: it allows Buzz, a domain-specific language, to run on microcontrollers while maintaining dynamic memory management. BittyBuzz is designed to fit a flash memory as small as 32 kB (with usable space for scripts) and work with as little as 2 kB of RAM. In this work, we introduce the BittyBuzz implementation, its differences from the original Buzz virtual machine, and its advantages for swarm robotics systems. We show that BittyBuzz is successfully integrated with three robotic platforms with minimal memory footprint and conduct experiments to show computation performance of BittyBuzz. Results show that BittyBuzz can be effectively used to implement common swarm behaviors on microcontroller-based systems.
翻译:群体机器人学是一个新兴的研究领域,随着机器人技术的进步及其潜在应用,正日益受到关注。然而,尽管这一领域的研究热情高涨,群体机器人软件的开发仍是一项繁琐的工作。这部分归因于缺乏专用解决方案,尤其是针对需大规模生产且资源受限的低成本系统。为了解决这一问题,我们提出了BittyBuzz——一种新型运行时平台:它使领域特定语言Buzz能够在微控制器上运行,同时保持动态内存管理。BittyBuzz的设计旨在适配小至32 kB的闪存(并为脚本提供可用空间),并能在仅2 kB RAM的环境下运行。本文介绍了BittyBuzz的实现方案、其与原始Buzz虚拟机的差异,以及它对群体机器人系统的优势。我们证明,BittyBuzz能以极小的内存占用成功集成至三种机器人平台,并开展实验以展示BittyBuzz的计算性能。结果表明,BittyBuzz可有效用于在基于微控制器的系统上实现常见群体行为。