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.
The how:
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).
The why:
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.
Comments
Nice work! It is a really nice project and in my opinion the right way to go. I am sure in a few years a Linux based autopilot with a ROS interface will be the standard.
But BeaglePilot is definitely not the the worlds first Linux based autopilot.
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5756889&a...
I've been following this for some time now. Glad to see it's forging ahead. What flavor of linux will it run? In a video I watched months ago, I heard mention of Ubuntu, is that still the case?
Keep up the great work!!!
Keep up the good work guys, I've been tracking this for awhile, would love to help, but somewhat tied to some legal chains for now :(
The BBB is a very interesting SoC as hard realtime can be easily incorporated onto specific subsystems but still maintaining a Linux general interface. Yes, AscTec, AR.Drone, plenty of University projects used linux on their AHRS, but typically had a custom DAC for pwm, sensors, hard realtime stuff--BBB: it's all on the board...
The PixHawkFire project is the hardware side of this, it is intended as an enabler for this technology, and we would welcome input on items that people would like on version 1.1 of this hardware. Look over at GitHub Ardupilot PXF, feel free to raise issues with feature requests, or general comments on improvements
Philip Rowse
Arghhh linux, I will port it to windows!
SMILE ! ;)
I've got this old 386 laptop and it even has a math coprocessor, so when will hackaday show me how to strip all the extra junk and mount it on a quad? It's a semi-serious question. I just took the cover off and I see the motherboard is really quite small and it's the peripherals that add all the weight. It wouldn't need a keyboard, monitor, phone modem, mouse, old style HDD. Powering it might be a difficult puzzle. It has lots of connectors. :D
Gents,
Yep. The Paparazzi and the newer Lisa/M and Linux variants have been around for over 10 years.
The Paparazzi Gents have already ported to the A.R.Drone. There is a Paparazzi forum here on DIYD too.
...Maybe they could help...;) ...or more likely it has already been done....;)
Cheers,
Jim
Hi Hugo, yes, it is definitely not the first Linux based autopilot. There are probably at least a dozen autopilots that can run on Linux based boards in various forms (including quite a few university projects).
It will be the first time ardupilot flies on a Linux based platform, which is important for the project, but we should be careful not to claim too much more than that :-)
Cheers, Tridge
Great job, sounds very promising!