The BeaglePilot project started three years ago, when Víctor Mayoral Vilches (DIY page), researcher at the Italian Institute of Technology and co-founder of Erle Robotics, decided to create his own Linux flying robot. Víctor understood that drones were the future, but he wanted to make the development of that technology accessible to the global public, not just to a small group of talented people as it was at the time with the ArduPilot community. The Linux operating system was the obvious way to go: free and open-source, and ported to more computer hardware platforms than any other operating system on the planet.
Open-source to his core, Víctor built his work around the BeagleBone Black, an open-hardware, community-supported embedded computer. Six months ago he linked up with developers Anuj Deshpande and Siddharth Purohit, and together the triumvirate officially launched BeaglePilot, a project pledged to creating the first-ever Linux-based autopilot for flying robots. The BeaglePilot crew landed a spot at last year’s Google Summer of Code, and today they’re supported by Google, BeagleBoard, and 3D Robotics, and they count crack developers Andrew Tridgell and Phillip Rowse among their community of collaborators.
Like Athena leaping fully-formed out of the head of Zeus, BeaglePilot springs out of ArduPilot. The ArduPilot code has several abstraction layers, which act as “translators” that allow the autopilot to be portable and platform independent. BeaglePilot runs on the AP_HAL_Linux abstraction layer, which provides all the necessary tools for the APM code to interface with Linux-based systems. For its hardware, BeaglePilot employs the PixHawk Fire Cape—a board developed by Philip Rowse that turns the BeagleBone into a more powerful Pixhawk—and the flying robot Erle, of Víctor's own design.
Because Víctor’s team is trying to make a computer fly, they needed to modify the Linux kernel to give priority to the critical needs for flight. And because the project is ultimately utilitarian, the system also needs to maintain space available for practical applications. For these practical applications, BeaglePilot will rely on the most robust and flexible robotics framework, the Robot Operating System (ROS).
Víctor is quick to point out that BeaglePilot is not just a programmer’s dream. From inception, the project has had loftier goals than merely interfacing with sensors through Linux; Víctor wants to make a platform that will allow real people to develop real solutions to real-world issues.
The untapped power is evident. Chris Anderson, who’s also pursuing Linux integration full-stop with 3D Robotics, points out that a Linux autopilot would not only assimilate all the power of Linux systems—web servers, network applications, Python scripting—but it also serves as an easy bridge that will connect the huge Linux developer community to UAV technology. On the programmer’s side, this means a lower barrier to entry for users around the world who want to add functionality to the platform. On the drone side it means new access to a panoply of pre-existing software, including state-of-the art image processing, as well as portability to a wide range of powerful hardware platforms, from up to and including full PCs.
“Imagine the changes that a Linux-integrated flying robot could bring,” Víctor said. “We could have small and mobile flying web servers, integrated systems used in healthcare, environmental monitoring robots—you can see that BeaglePilot is not just a technological enabler, but also a business one.”
Víctor tells me that BeaglePilot is “really open to new brains.” The team’s coding efforts are available at this ardupilot fork, and they also publish their progress on the Erle Robotics blog. The group holds weekly meetings, and you can review their code roadmap here. Everyone is welcome to contribute at drones-discuss.