Unmanned aerial vehicles (UAVs) have grabbed our attention lately, from debates over the legality of military drones to commercial UAV projects planned by Amazon and Google, and Linux is increasingly part of the conversation.
Last week Parrot announced an heir to its hobbyist AR.Drone 2.0 quadrocopter called the BeBop Drone. Earlier this month, the U.S. Navy announced it was switching from Solaris to Linux for the control systems used in its unmanned helicopters. Finally, ArduPilot's popular open source APM (ArduPilotMega) autopilot platform is being ported to Linux, providing more goodies for a host of hobbyist drone projects that build upon the BeagleBone, Raspberry Pi, and other hardware (see farther below).
UAVs, also known as unmanned aerial systems (UASes), have attracted industry attention for their ability to provide birds-eye views that would otherwise require expensive, noisy manned flights. Meanwhile, consumers can now spend a few hundred dollars to fly their own spy drones via smartphone apps. Despite the excitement, there's an equal degree of concern about the potential loss of privacy -- and if you live in the wrong valley in Yemen or Pakistan, perhaps loss of life.
Love 'em or hate 'em, the drones are coming, and Linux is in the thick of it. In some cases, Linux is the sole embedded OS. In other cases, it works in conjunction with a real-time operating system (RTOS) subsystem or drives the ground-station controller. Linux is especially desirable in UAVs that need more advanced image processing, yet do not require the high determinism of RTOSes.
From RTOSes to Linux
UAVs range from tiny micro-helicopters to larger multi-rotor copters to fixed-wing military aircraft and copters that can match the size of manned aircraft. Many offer some degree of autonomous control, although others are solely radio controlled. Most UAVs run on RTOSes, with the VxWorks-like, open source Nuttx finding favor in smaller craft. Many open source Arduino-based drone designs have used autopilot computers such as ArduPlane and ArduPilot, which run on APM open source autopilot software. The ArduPilot/APM project has advanced from Arduino-based technology to other hardware, including the PX4 (Pixhawk) open hardware design. These newer designs use the APM name, as in the APM:Copter.
APM and PX4 products are built by 3D Robotics, a company started by Chris Anderson, who previously launched DIYDrones.com, one of the best communities for hobbyist UAVs. 3D Robotics' Pixhawk and APM autopilots are used in the company's drones, which include the new Iris. These systems run Nuttx instead of Linux, but are entirely open source.
3D Robotics technology is claimed to be easily portable to Linux-based platforms. In fact, APM is now in the process of being ported to Linux, starting with the BeagleBone Black. Just as Robot Operating System (ROS) based robot (and in some cases, UAV) projects are increasingly being integrated with Linux, the open source, microcontroller-oriented APM designs are moving tux-ward, as well.
More Linux Drone Projects
Here's a brief survey of some of the other UAV products and projects that involve Linux:
BeagleBone projects -- The BeagleBone Black has been a hot platform for drones. For example, a BeagleDrone IMU Cape provides the open SBC with power regulation, sensors, servo control, and other UAV-oriented I/O. An open source Erle Robot combines a Linux-based BeagleBone Black with ROS extensions and a sensor array. A separate BeaglePilot project is using the Erle Robot and the Linux-ported APM code to integrate ArduPilot by way of a new Pixhawk Fire Cape.
Other BeagleBone-based drone projects include the Beagle-Fly, as well as a new LinuxDrone, which features an autopilot running on Xenomai real-time Linux. LinuxDrone also borrows code from the OpenPilot project for microcontroller-based autopilots. Meanwhile, a BB Black based Sky Drone FPV ground station device compresses and streams video from a UAV.
And now for something a bit scarier: A Panopticopter UAV from MIT startup DIY Drone Labs is only a few hundred dollars short of its May 16 Kickstriker goal. Based on BB Black and Arduino technology, the micro-helicopter aims to be the first low-cost, DIY weaponized drone. The group claims the Panopticopter will not only be cheaper, but also more precise, thereby reducing "unnecessary civilian deaths."
Raspberry Pi projects -- Although the Pi is under powered for most UAV applications, a number of hobbyist projects have emerged. These include an Owenquad project, which adds Arduino circuitry, or the Picopter, which incorporates real-time Linux preempt code to reduce latency. The December issue of MagPi features a how-to on building a Pi-based Phoebe UAV.
Among several Pi-based academic UAV projects is an Autonomous Quadcopter from the UK's University of Warwick. Sometimes, the Pi is used as an accessory, as in the case of Australia-based H2joe's search and rescue drone, which integrates the Pi camera.
Several shields prepare the Pi for both UAV and robotics applications, including Roboteq's Rio. Emlid, meanwhile, has developed a Navio autopilot shield that supports UAVs as well as other robots. Emlid is also aiming to port ArduCopter to the Pi.
Bebop Drone -- Parrot's follow-on to its popular AR.Drone runs Linux on a faster processor, and features a 14-megapixel, HD fisheye camera with improved image stabilization. You can still control the device via smartphone, but the Bebop will also offer with a controller option with WiFi-extending technology that can navigate at up to 2 km. You can even plug in an Oculus Rift, letting you control the Bebop warg-style like Bran Stark.
Spiri -- Pleiades' Kickstarter-launched Spiri is due to ship this month at $545. The AR.Drone competitor is a quadrocopter that integrates three cameras and a variety of sensors to navigate autonomously. The Spiri runs Ubuntu with ROS extensions on a dual-core Freescale SoC, and features a 3D Time of Flight (TOF) range finding camera that acts like a scannerless LIDAR system.
Gumstix AeroCore MAV -- Gumstix last month unveiled an AeroCore MAV (micro air vehicle) controller board that runs NuttX on a Cortex-M4 MCU, and runs Yocto Linux on a Cortex-A9-based DuoVero module. The MCU supports a micro-helicopter's machine controls and sensors, while Linux manages mission intelligence, including visuals. AeroCore supports integration with open-source projects like ROS, PX4, and PX4-compatible projects such as QGroundControl and MAVLink.
Airware -- This well-funded startup has developed an Aerial Information Platform that includes a Linux-based osNano autopilot system for drones. The beta version of the platform is currently being used in pilot projects including open-air mining, wildlife conservation, and vaccine delivery.
Draganflyer X8 -- Dragonfly's eight-rotor Draganflyer X8 UAV helicopter is being used in an FAA commercial trial in North Dakota. The UAV features a handheld Ground Control Station that runs Linux on an Intel Atom and features a 2.8-inch touchscreen that displays telemetry and flight data. The controller can also stream video to a pair of video goggles.
Paparazzi -- Paparazzi's open source designs are used in several autopilots and drones including Bit Squared, PPZUAV, Sumo, and Transition Robotics. The UAV hardware is built around microcontrollers and programmed in C, but the ground station software uses Debian Linux. Work is underway on a Gumstix-derived autopilot running Linux, perhaps based on the AeroCore. BeagleDrone is also planning to integrate Paparazzi tech.
Northrop Grumman MQ-8C Fire Scout -- The move toward Linux in U.S. military UAVs started in 2011 with the revelation of security issues with Windows control systems used in U.S. Air Force drones. Now the Navy is turning to Linux, this time replacing Solaris. Starting with a new version of the Northrop Grumman MQ-8C Fire Scout helicopter due next year, the Navy has asked Raytheon to switch its Tactical Control System (TCS) to Linux. The MQ-8C Fire Scout is primarily used for reconnaissance, but can also provide precision targeting support.
The U.S. military plans to expand Raytheon's Linux TCS systems to other large UAVs used in all branches of the military. The open Linux platforms are expected to reduce costs by limiting the types of control systems that need to be built and maintained.
Commercial drone use on the way
The FAA (Federal Aviation Administration) is currently testing UAVs for commercial use, including at least one trial using a Linux-based system. Regulations were expected in 2015, but this appears to have drifted to 2016. Meanwhile, enforcement has been lax. In March, after the FAA issued its first drone fine, for a filmmaker shooting a commercial, the ruling was overturned by the courts.
As drones gain traction in countries with fewer regulations, lobbying efforts in the U.S. are intensifying. According to a recent Bloomberg report, some 68 organizations are lobbying the U.S. government to open up UAV commercialization, and only half were connected to defense companies.
Lobbyists include four drone manufacturers, 28 universities and local government agencies, and agricultural groups such as the National Grange, says Bloomberg. The National Associations of Realtors and Broadcasters are both keenly interested, and the Motion Picture Association of America spent $4.11 million on pro-drone lobbying in 2012 and 2013.
Amazon and UPS are looking to use drones for product delivery. Google, meanwhile, recently acquired Titan Aerospace, which makes high-altitude, solar-powered UAVs. Google hopes to use the drones with its balloon-powered Project Loon wireless broadband network. It's unclear whether any of these systems run Linux, although both Amazon and Google depend heavily on the OS, and Google has invested in Airware, a company that makes Linux-based autopilots.
The pressure has resulted in the FAA considering permitting some limited commercial applications as early as this year, according to a May 13 Bloomberg report. Once the FAA begins approving commercial operations, the Association for Unmanned Vehicle Systems International (AUVSI) projects that the commercial UAV industry will generate 100,000 jobs and $82 billion in “economic impact.”