Aseba is a set of tools which allow novices to program robots easily and efficiently. For these reasons, Aseba is well-suited for robotic education [4] and research [1, 5, 2]. Aseba is open-source (GNU Lesser General Public License), you can freely download it and play with it.
Technically, Aseba is an event-based architecture for real-time distributed control of mobile robots. It targets integrated multi-processor robots or groups of single-processor units, real or simulated. The core of aseba is a lightweight virtual machine tiny enough to run even on microcontrollers. With aseba, we program robots in a user-friendly programming language using a cosy integrated development environment. Aseba applies to several contexts:
- In multi-microcontrollers robots, Aseba takes advantage of the computational power of peripheral microcontrollers to provide hardware modularity, low latency between perception and action, and economical use of the bandwidth of the robot bus. Moreover, its easy to understand programming language allows fast development of robots' behaviours [1, 2].
- In education, the easy-to-learn language of Aseba, its user-friendly development environment, and the joy of making a robot move provide an original approach to teach and learn programming [3, 4].
- In collective robotics, Aseba streamlines the development process by allowing instantaneous changes of the robots code as well as parallel debugging of all robots [5].
Aseba integrates with D-Bus [6] and ROS, allowing access to microcontrollers from high-level languages.
History
Stéphane Magnenat started developing Aseba as part of his PhD work in the Mobots research group at EPFL. Currently, a community comprising members of the Mobots group, of the mobsya association, of the ASL at ETH Zürich and other individuals maintain and further develop Aseba.