The Aussie open source effort that keeps a million drones in the air
- 09 July, 2018 10:30
The huge progress made in unmanned aerial vehicle (UAV) technology over the last decade is thanks to one person more than any other. And he’s a complete dummy.
His name is Outback Joe, a mannequin, who over the years has represented a bushwalker lost in Woop Woop and desperate for water, a worker who’s ute has broken down on a remote site and a seriously sick farmer needing to send his doctor an urgent blood sample.
Saving Joe from his regular run-ins with disaster is the aim of the biennial UAV Challenge, for which teams from all over the world and their drones descend – ideally in a safe and controlled manner – on Dalby, south east Queensland to compete in.
As well as being a test of the reliability and agility of the flying robots themselves, the challenge – which gets harder every time – makes significant demands of the software and communication systems that operate them.
One autopilot software suite in particular has emerged as the preferred choice of the competing teams. It’s open source and more than half of its development effort comes from Australians.
A small band of Aussie UAV hobbyists and their bid to preserve Joe’s eventful dummy existence have advanced the software in leaps and bounds. It is now installed in the UAVs of manufacturers like 3DR, jDrones, PrecisionHawk, AgEagle and Kespry, and has become the go-to autopilot program for the likes of Microsoft and Boeing’s drone initiatives.
Although you may never heard of ArduPilot, it keeps more than a million multi-copters, fixed-wing planes, and helicopters up in the air.
Open source to open skies
After Outback Joe, the person who has probably had the next biggest influence on UAV software in Australia, is Andrew Tridgell, better known as Tridge.
Tridge was at a MakeHackVoid meet in Canberra in 2010 when he joined a group who wanted to enter the Outback Challenge as a software engineer.
“Pretty soon I was obsessed! Flying robots are really geek heaven,” Tridge tells Computerworld.
“There are lots of deep technical issues to get stuck into, it’s a really great community to be part of, and there’s the thrill of flying – and crashing – complex machines.”
Searching for a free autopilot for the challenge, Tridge found Ardupilot, which can trace its origins back to a 2007 model helicopter stabiliser program written in Arduino by Jordi Munoz of ill-fated drone firm 3D Robotics.
According to ArduPilot’s history, the autopilot’s functionality and codebase saw “explosive growth” when Tridge got involved around 2011.
“I've contributed to most areas, but I concentrate on the low level system code,” says Tridge, who is also the lead developer for fixed wing aircraft.
“There are new challenges every week. Right now we're completing the move to a new real-time operating system called ChibiOS so I am working a lot on that, but there is always some hard problem to look at. Sometimes it takes many days to work out the cause when a user reports a crash on our forum,” he added.
Tridge enrolled a number of his clubmates at CanberraUAV – the team formed to compete in the 2012 Outback Challenge – in the open source effort, among them Peter Barker.
“The technical challenges of the software are amazing – so many things to learn across the entire stack, from ground control station interface issues to debugging interrupt controllers, all of the software is open so you don't tend to hit walls where you can't delve deeper into a problem,” Barker says.
Barker, who is involved in the clean-up of code and making it work with different vehicle types, says although Australians feature heavily in development it is truly an international effort.
“It's a pleasure to work with people from countries across the planet on things they are passionate about,” he says.
Development primarily uses Github’s pull request workflow, which allows people to download and test code rather than just review it. It is part of the “rigorous process to help us keep bugs out of flight code” Barker adds.
Outside Ardupilot the CanberraUAV group also open sources other technology it developed as part of the UAV Challenges including their flight controller, airframe, power-propulsion and image processing algorithms.
“Working with other people and solving problems together is one of the main joys of working on free software projects. If you wait till something is finished then it tends to limit the opportunity for others to get involved,” says Tridge.
Crash hot flying
While much of the hard work with Ardupilot takes place sat at a computer, the fun bit takes place outside with the UAVs in the air.
“Being able to go out to the flying field and actually fly some aircraft which have changed the entire industry like CanberraUAV's Quadporter aircraft. Sometimes you have a flying day where everything just goes right – no crashes, good logs, everyone having fun. Even when things go wrong we commiserate that the log analysis will make things work better next time,” Barker says.
Preparations are now underway for the next UAV Challenge this September, where 55 teams will again be collecting blood samples from Outback Joe.
This time teams will attempt to demonstrate Type 2 Autonomy (with no human intervention whatsoever during the mission); have their drones autonomously avoid other, unknown airspace users; and deal with the ever present threat of The Kingaroy Triangle.
Barker is hoping for a repeat of the camaraderie of 2016’s competition: “Having teams helping each other out so everyone had the opportunity to do their best was a great thing to watch,” he says.
Tridge’s hope, meanwhile, is deceptively simple: “That we don't crash!” he says.