In the RoboCup@Home league, the aim is to foster the development of useful robotic applications that can assist humans in everyday life. Robots compete in various scenarios set in the kitchen and living room with plans for the competition to expand to include settings such as a garden or park, shop, street and other public places.
The AllemaniACs use Fedora on every machine they have including desktops, laptops and the systems on the robots. More importantly, much of the software they need to programme and communicate with their machines is pre-packaged in Fedora. The AllemaniACs are not only using Fedora, the team has also used its need for specific capabilities to contribute to open source through Fedora. When the team has found a need for open source software not found in Fedora already, they work on packaging it and then feed that work back into the Fedora community.
Fedora is powering all robots for the AllemaniACs including the previous soccer robot platform that is currently used for service robotics. This platform uses a differential drive for locomotion. An arm with six degrees of freedom is mounted on the robot to enable it to grasp objects and manipulate them in the RoboCup@Home league.
The newest soccer robots are equipped with Core 2 Duo machines running Fedora 8. This new platform has omni-directional motion, meaning the robots can drive in any direction instantly without turning. To grasp the quick-paced soccer environment, an omni vision camera on the top of the robot provides a 360-degree image. A directed stereo camera on the front is used for more precise data for obstacle avoidance and ball detection.
The AllemaniACs robots depend on an assortment of software such as vision libraries, hardware driver libraries and development tools – mostly available in Fedora (and in part maintained by the team itself or prepared by vendors to run on Fedora). They use the open source Trac source code management system that combines source control, wiki and issue tracking, combined with Bitten for continuous integration. These tools allow for fast interaction of the developers, proper documenting while developing and easy bug spotting.
For the past couple of months, they have run a pre-Fedora 9 Rawhide instance in a virtual machine. This allowed the team to prepare for easy migration to Fedora 9 once it was available – especially the included GCC 4.3. The very same Fedora 8 server that runs the Rawhide virtual machine runs another Fedora instance in KVM for the web server, and a FreeBSD 7 machine for compiling and testing software on FreeBSD. Thanks to libvirt, these virtual machines are easy to create and manage. |