As the drone industry gets off the ground, developers will be looking to build new software and solutions to take advantage of this up-and-coming market. One place where they might want to start is the Robot Operating System (ROS), according to Brian Gerkey, CEO of the Open Source Robotics Foundation (OSRF).
ROS is a collection of software libraries and tools developers can use to assist in robot application development. While ROS wasn’t developed with drones in mind, Gerkey said it is a good starting point for these (essentially) flying robots.
“It is fascinating for us to see this because this is an industry that didn’t exist at the time we were developing ROS, so we certainly didn’t design for this use case,” he said. “I think it is a good fit for a couple of reasons: One is that right now the drones you can buy have basically a GPS autopilot on them, a little embedded microcontroller that can autonomously take off, hover, go to a GPS waypoint, and it can land.”
Those capabilities are well suited for ROS because it can help developers extend those capabilities to provide the ability to fly around using the camera and avoid obstacles along the way, Gerkey explained.
“What people are doing now is adding a second small computer; they call it either a companion computer or sometimes a copilot to provide a full suite of peripherals to plug in,” he said. “You can plug in all your USB, Ethernet and whatever-based sensors, and now essentially you have a classic robots problem there. You have a reasonably powerful computing environment, you are running Linux, you can put ROS in there, and you are building up the representation of the world. You are deciding what path to take, and so on, and then the output of that is you are generating commands down to that GPS autopilot, which is a perfectly capable system that you can make smarter by adding another computer and better software.”
Gerkey also suggested developers look into Gazebo in addition to running ROS onboard. Gazebo is an open-source robot simulation project that allows developers to test their drones.
“Drones by nature are a difficult thing to test,” he said. “Every time you make a change and it is a bad change, you probably are going to break the drone if you are testing the physical drone, so what you need is a really good software-based simulation of the drone in order to be able to test changes without breaking all your equipment, and also to be able to test every change in a variety of situations across a variety of vehicles.”
More information about ROS is available here.