Aseba Meets D-Bus: From the Depths of a Low-Level Event-
The robotics research community has clearly acknowledged the need of open and standard software stacks to promote reuse of code and developments. However, to date no particular project has prevailed. We suggest that one possible reason for this is that most middleware do not address issues specific to robotics, such as writing, monitoring, and debugging real-time behaviors close to hardware. In this light, we present aseba, an event-based architecture for mobile robots with microcontrollers and a Linux board. In these, the microcontrollers manage sensors and actuators locally and the Linux board runs the high- of microcontrollers are increasing. Aseba achieves vertical integration by bringing the facilities of scripting inside the microcontrollers and by bridging them with programs running on Linux. To program the microcontrollers, aseba provides an integrated development environment. The latter compiles a simple scripting language into bytecode which runs in the virtual machines. We demonstrate a robot remote control application where low-level scripts prevent collisions. At the Linux level, this application employs both Perl and Python programs which communicate with aseba through D-Bus (D-Bus is a middleware present by default under Linux). This application shows how convenient it is to program all parts of the robot thanks the vertical integration of aseba. We think that because it considers the needs of robotics software development at all levels, the integrative approach of aseba might be a way to overcome the stall in standardization.
Record created on 2009-08-14, modified on 2016-08-08