Commercial drones are taking software development by storm these days. Drone development is being looked at in all industries from agriculture, journalism, insurance, film, search and rescue, and even real estate. The Linux Foundation launched an open-source platform for drones late last year in order to bring developers the tools and resources they need to innovate and create affordable and reliable drones. InterDrone News caught up with Dronecode’s Technical Steering Committee chair Andrew “Tridge” Tridgell to get an update on Dronecode since its launch, and a look at the future of drones.
Interdrone: What has been happening with Dronecode since its initial launch? What are the key pieces that are emerging as work goes on?
Tridgell: There has been a lot of development activity with the core projects at the heart of Dronecode, specifically the PX4 project and the ArduPilot project. The development speed of those projects has been rising rapidly, and just between those two projects we're now running at a rate of around 1,000 code commits being reviewed and accepted into the master branches a month.
While the usual pattern of a small number of developers doing most of the commits does apply to these projects as it does to nearly all open-source projects, we're delighted to see a significant rise in the total number of contributors as well.
A significant contribution to that rising level of developer activity has been the broadening of the contributor base, which I believe is related to the establishment of Dronecode as an umbrella organization and the adoption of better developer communication. Having an organization that brings all of the different components of the open drone ecosystem under one roof really helps to make life easier for new contributors.
One key focus since the launch of Dronecode has been on improving developer documentation to make bringing new developers into the project easier. That is happening both at the individual project level such as the tutorial for ArduPilot and the site for PX4, and at the broader Dronecode level such as the recent additions Grant Morphett has been making to the Dronecode.org website.
We still have a long way to go on that though. We have well over 2 million lines of code across the various Dronecode projects, and we would like to have documentation available that leads new developers into any of it. That will take quite a long time!
Another area we have been working on is working toward our first conference, which is happening as part of the Embedded Linux Conference in San Jose in March. We had a really good response to the call for papers, and have some very interesting talks lined up. For many of us (including me), that will be the first time we have got together face to face for a meeting which makes it a particularly special event, given many of us have been working closely together on the code for many years.
How is Dronecode advancing drone development?
Dronecode provides a meeting place for all of the different groups that are interested in open drone platforms. In [a recent] meeting, we had people from companies developing autopilot hardware, we had community members working on the core flight code, we had people from companies that are deploying drones commercially for agriculture, and we had people from big IT companies who are interested in collaborating with the Dronecode community.
Bringing all those different groups together is what Dronecode is all about. We need to agree on how the communication protocols will work between all the components, agree on conventions on hardware interfaces, work out how field updates of firmware will work, and generally solve the hundred and one little problems of making such a diverse range of hardware and software work really well together, while making it all easy enough for users to deploy confidently.
Dronecode is also providing a research platform, with strong links to academic research groups, which we expect will provide many of the advances in flight control and data processing that will drive the next generation of features. By providing a great starting platform that is affordable to small research groups, we can enable the researchers to focus just on their particular area of expertise and not have to worry about building a system from the ground up.
What can we expect from drones and drone development in 2015?
Right now, we're in the "rapid expansion" phase of drones, and that means there are lots of groups experimenting with ideas that would have been considered crazy or just plain impossible a couple of years ago.
So what we will see in 2015 is lots of groups trying out these ideas and seeing what really works. For example, there are a number of companies building "cloud-enabled" drones, where physical drone deployment is something that is done as an Internet application, with data processing done in cloud servers. Others are working on systems for high-altitude flight, gathering meteorological data from altitudes of over 20km and then flying the sensors back home. Others are pushing the boundaries on what can be done in sports photography, and still others are working out how to make open drones work in Hollywood cinema production.
Each of these applications has its own specific needs from the low-level drone code, and the members of the Dronecode projects are having a lot of fun developing the pieces needed to make these applications possible.
Another big area of development is the addition of much more powerful computers into open drones, which enables the drone to perform sophisticated image recognition, object tracking and object avoidance. This is happening both through the addition of "companion computers," where a small powerful Linux board is tightly coupled with an existing open flight controller, but is also happening by moving the whole flight stack onto an embedded Linux board. Which method turns out to be the best approach is still an open question, but we are sure to see a lot more of both in the next year.
My own personal passion revolves around using drones for search and rescue applications and environmental applications, and I can confidently predict that there will be a lot of activity in that area this year as well!
How will drone development be affected in the United States by the FAA's proposed regulations?
I'm based in Australia, so I'm not as closely involved in the FAA proposals, but I hope and expect that the U.S. regulators will take a look at what is happening in other countries (including Australia) and start to make it easier to get certification for commercial and research UAV use.
It is a hard problem though, and I personally am quite sympathetic to the very difficult task faced by regulators. The whole area of airspace regulation is not well geared to the scales involved with drones, both in terms of the sheer number of aircraft that are potentially involved and the low purchase cost of the aircraft.
Drone research and development is definitely being greatly affected by the slow pace of regulatory change, and I think everyone in the industry is looking forward to the rules developing to make commercial and research operation easier. Exactly how and when that will happen is very hard to predict, but in the meantime we certainly have plenty of development tasks to keep us busy!
What are some use cases where you see drones being beneficial?
As I mentioned above, my personal passion is for search and rescue and environmental applications. I started working on ArduPilot because of the Outback Challenge here in Australia, which is a competition to build a sophisticated search and rescue aircraft. My dream is to put together a system which local search and rescue organizations could assemble with the sort of money they could raise in a weekend lamington drive (a type of cake sale popular with non-profit groups in Australia), yet be sophisticated enough to provide a real improvement to the chances of rescuing people lost in the Australian bush, and easy enough to use that members of the organization could be trained in a weekend.
I also love to see all of the groups that are using code from Dronecode projects for environmental applications, including things like protecting threatened species from poachers, monitoring of sensitive environmental areas, monitoring of Arctic and Antarctic ecosystems, and surveying of forests and wilderness areas.
Drones have the potential to be much more pervasive than that though. They are hugely popular with sporting enthusiasts and have gained a lot of traction in agriculture, among other areas. Just spend a few hours going over some of the amazing blog posts we have had on diydrones.com to see the huge breadth of ideas people have for putting drones to good use.
How can drones be abused?
So far we haven't seen a lot of abuse of drones, although as with any new tool there will be some people silly enough to do things they really shouldn't be doing. Some people have flown in a dangerous manner, flying close to airports. Others have ignored the many safety warnings and flown too close to groups of people. Others have used drones in socially unacceptable ways by using them to invade the privacy of others.
I'm hoping that as drones become more commonplace that societal norms will become more established on what is acceptable and what isn't, along with the users becoming more aware of the danger of ignoring safety warnings.
The good news is that the communities at the heart of the Dronecode projects have already started to self regulate, with good behavior, respect for privacy and safety well established within the user community. As drones become more common, I hope and expect that will spread to the wider community.
What needs to happen in the industry to really allow drone development to reach its full potential?
It is hard to even know what the full potential is as the field is expanding so rapidly. My own focus is on helping the Dronecode projects to reach their full potential, and for that we need better developer documentation, better communication between projects and the user community (including both commercial and non-commercial users), and an environment that welcomes innovative ideas. That is what we are trying to establish with Dronecode.
What does the future of drones look like beyond 2015?
The further I look into the future, the fuzzier my crystal ball gets.
What I hope the future looks like is that Dronecode gets established as the clear platform of choice for everything from hobbyists to high-end professional systems and top research groups. I want to see the development and community methodologies, which have worked so well across so many other technology areas, flourish for drones. I also want it to be a fun area to be in.
We're building flying robots that anyone from a home tinkerer to a multi-national corporation can use. That is a recipe for a lot of fun.