The Linux Foundation's announcement last week of a new Dronecode Collaborative Project for open source Unmanned Aerial Vehicles (UAVs) was notable for its lack of any mention of Linux. That doesn't mean, however, that Linux is out of the aerial picture.
Dronecode is formalizing the de facto standard that dominates the hobbyist, academic, and increasingly, commercial UAV world: 3D Robotics' Arduino-focused, open source APM (ArduPilotMega) platform for drone autopilots. The project also encompasses the related PX4 project based at the Technical University of Zurich. The PX4 autopilot can run APM software as well as its similar PX4 Flight Stack, but instead of using Arduino, it taps the Cortex-M4-based Pixhawk hardware foundation. In either case, the OS involved is not Linux, but the open source Nuttx real-time OS.
Linux will soon play a role in Dronecode, however. As we noted in our drone report last May, 3D Robotics is in the process of porting APM to Linux. The effort is associated with Erle Robot's work on a BeaglePilot autopilot, which combines APM with Linux using a BeagleBone Black platform.
The Linux port was not sufficiently complete to merit mention in the Dronecode announcement, but it will no doubt be supported by the project. The Dronecode project is comprised of 3D Robotics, as well as Intel, Qualcomm, Baidu, Box, and seven APM-oriented drone vendors: DroneDeploy, jDrones, Laser Navigation (owner of VirtualRobotix), SkyWard, Squadrone System, Walkera, and Yuneec. Some 1,200 developers are already working on Dronecode with more than 150 code commits a day on some projects, according to the Linux Foundation.
Over the next year, we're likely to see new autopilots and drones based on the Linux APM port. We'll also see Linux playing an auxiliary role in hybrid designs, just as Linux is often found nestled side by side with the open source Robot Operating System (ROS) on land-based robots. (FYI: some drones do use ROS, and APM is also available in a terrestrial robot version, but generally the two are separate.)
Intel's participation in Dronecode stems in part from a partnership with 3D Robotics announced last month to use the Intel Atom-based Edison module as a companion computer for image processing. Judging from the headline in the 3D Robotics-backed DIY Drones community site -- "3DR announces partnership with Intel on Edison for Linux-based companion for Pixhawk" -- it would appear the Arduino-compatible Edison will run its usual Yocto-based Linux stack.
In September, 3D Robotics demonstrated its new IRIS+ UAV design with an Edison-based optical version of its 3PV Follow Me technology. 3PV is part of the recent trend of attaching GoPros or similar cameras to drones to trail you and record video. On the IRIS+, the Edison acts as a companion computer to the Pixhawk autopilot, letting the 3PV system track the subject using vision technology instead of relying on a GPS signal.
Other Linux Drones
Several Linux-based UAVs are available that are unrelated to APM. These include fixed-wing military aircraft and micro-helicopters, but most are multi-rotor copters, such as quadcopters. The latter group includes the biggest Linux success story in drones so far: Parrot's hobbyist-focused AR.Drone 2.
Parrot's next-generation BeBop quadcopter will ship by year's end. The smartphone-controlled device runs Linux on a dual-core processor, and offers a 14-megapixel fisheye camera, a 3-axis sensor suite, and a WiFi-extending remote with Oculus Rift support.
Parrot also recently launched a $99 Rolling Spider quadcopter that is controlled via Bluetooth instead of WiFi. The Linux-based toy can flip in multiple directions, and when fitted with its removable pair of wheels, it can even climb walls.
Hitting the same $99 price is the MeCam drone from Always Innovating. This tiny, voice-controlled "follow me" UAV runs Linux on a Cortex-A9 processor, and provides a 1080p video camera and 14 sensors.
Pleiades' Kickstarter-launched Spiri quadcopter, which ships in December for $865, offers a far more advanced design. The Spiri runs Ubuntu with ROS on a Freescale i.MX6, and integrates multiple sensors and three cameras. These include a 3D Time of Flight range-finding camera, to help it navigate autonomously.
Shields and capes are available that integrate autopilots with Linux-based hacker SBCs. There are also DIY drone projects based on SBCs such as the BeagleBone-based BeagleDrone, the Raspberry Pi-based Owenquad, and the Odroid-U3-based Quad-Rotor.
Commercial Linux drones
Commercial use of drones is still illegal in the U.S., with a number of exceptions. The FAA (Federal Aviation Administration) has been dragging its feet on deciding how to regulate UAVs, and the regulations may not arrive until 2016. Meanwhile, drones are being put to work under the radar, primarily in test deployments, exploiting the FAA's perhaps intentionally lax enforcement of the existing laws. As they wait for FAA approval in the States, UAV vendors can survive by serving the growing international market.
As detailed in an interesting, non-technical overview of drones earlier this month in New York Magazine, the commercial drone market is heating up fast, with widespread testing of UAVs in agricultural and environmental monitoring applications. The film industry is experimenting with the technology, and hobbyist drones are increasingly visible above parks and parking lots.
Commercial Linux-based designs include PrecisionHawk's Lancaster fixed-wing UAV, which is designed for crop, forestry, mining, and emergency response monitoring. The semi-autonomous Lancaster runs Linux on a 600MHz processor, and also integrates Dronecode APM code. The Lancaster provides LiDAR and other advanced sensors, and can create its own optimal flight path depending on the latest weather conditions.
At least one UAV -- the agriculture oriented Draganflyer X8 -- uses Linux in the ground-station control device, but not the autopilot. Meanwhile, U.S. military drones are turning to Linux for their next-generation support drones, although not apparently yet on the weaponized models.