How Linux-powered helicopters are taking off

Nicolas Roy from the Robust Robotics Group at MIT

LXF: Have you tried using a real-time kernel to control the UAV?

NR: We haven't needed a real-time kernel because the Ascending Technologies microprocessor runs the lowest level loops that control the motors. There's some jitter in the arrival of the sensor data that could be handled by a real-time kernel, but this jitter is relatively minor.

LXF: Do you use open source libraries such as OpenCV, or do you rely purely on in-house software?

NR: We definitely use OpenCV, along with the Intel performance primitives libraries and other packages. If a library exists that provides what we need, we'll use it.

LXF: Why haven't you used GPS? And what real-life applications can your prototype be used for?

NR: To get any kind of GPS fix, you typically need to be able to see three or four satellites. This is why your GPS unit doesn't work in a parking garage, and it's notoriously unreliable in urban environments because the satellite signals are weakened when they reflect off buildings. As a result, most UAVs fly at a minimum altitude.

Our research is flight in GPS-denied environments – we want to be able to fly anywhere. You could imagine our vehicles working in teams with human first-responders, searching for victims in a disaster area, or determining if a building is safe to enter. There are military applications as well.

LXF: Do you offer – or plan to offer – your work under the GPL or any other 'free' licence?

NR: Our vehicle is from Ascending Technologies, so is already available. Our software's derived from the Carmen ground robot package, available under the GPL. Once the helicopter software's stable enough that it could be used by an outside group, we'll probably release it too.

LXF: Could you use the quadcopter with Mars rovers?

NR: We've already done a version of this in collaboration with John Leonard and Seth Teller at MIT, in terms of creating a heterogeneous team of ground and air vehicles that can explore an unknown environment. There are places our helicopter can't go, but there are places ground robots can't go. However, Mars as a flight domain is not something that we've considered.