You might not like working from home, but robots don’t mind. In fact, robots will work pretty much anywhere: Self-driving cars, throughout warehouses, vacuuming your floor, and even up on the International Space Station. Robots, you see, aren’t picky. Well, except for one thing: Robots really prefer to be running ROS 2.
What’s ROS 2? “ROS” stands for robot operating system, though it’s not really an operating system; instead, it’s a set of software libraries and tools that help developers build robot applications. While ROS (1.0) started off as more of an academic, hobbyist tool, a new version was released in 2017 (2.0) that has a more enterprise flavor, with support for real-time, multiple robots working together, production environments, and more. Though it sounds like a cool upgrade on a venerable (non) operating system, ROS 2 broke many of the APIs that ROS developers depend on.
That’s true, said Brian Gerkey, CEO of Open Robotics, the foundation behind ROS development, in an IEEE interview, but it’s still worth it to make the jump to ROS 2. The future of robotics depends on it.
Robots at school
If you’re into robotics, odds are good that you’ve used ROS 1. How good? According to ABI Research, by 2024 55% of all robots will run a ROS package. Tens of thousands of developers already depend on ROS, though the nature of applications being built has changed. While ROS 1 was aimed at the academic and hobbyist market (not surprising given its Stanford University origins), over time companies have used it to build industrial and other enterprise-oriented robotics applications.
As good as ROS 1 has been (and it has been very good), the lack of key enterprise functionality has made it a poor fit for applications that require multi-platform support, real-time communications, multi-robot communication, small-embedded device capabilities, etc. As Gerkey wrote in a blog post at the time, “With all these new uses of ROS, the platform is being stretched in unexpected ways. While it is holding up well, we believe that we can better meet the needs of a now-broader ROS community by tackling their new use cases head-on.”
Enter ROS 2.
Robots at work
Rather than make incremental changes to ROS 1, Open Robotics and the ROS community elected to forge a new path. “[G]iven the intrusive nature of the changes that would be required to achieve the benefits that we are seeking, there is too much risk associated with changing the current ROS system that is relied upon by so many people,” said Gerkey in the blog. Or, as he said in the more recent interview, “ROS 2 has allowed us to fix the things that needed big structural change, while keeping all the good things. All of those things people clamored for in ROS 1, things like Windows support, RTOS support, lifecycle management, security, etc, well, they’ve all landed in ROS 2.”
The downside to this approach: Broken APIs. The upside? An entire new class of applications that could be built.
While that downside may sound ominous, Gerkey and Open Robotics developer advocate Katherine Scott explained in the IEEE interview that they’ve created tooling to make it straightforward, including a mechanism to allow for gradual, incremental upgrades instead of wholesale upgrades. Of course, for those that have been piling up technical debt for eons, transitioning won’t be simple because “compound interest isn’t your friend,” said Gerkey. But that’s true whether the developer upgrades to ROS 2 or not.
SEE: Quick glossary: Robotics (TechRepublic Premium)
And the payoff, again, is worth it. “I’m far more excited about ROS 2 than I am nostalgic about ROS 1,” said Gerkey in the interview. ROS 1 has had a great decade, but as robots go enterprise, companies that want to build with ROS really need to embrace ROS 2.
Robots at play
Of course, just because ROS 2 enables enterprise-class applications doesn’t mean it necessarily starts with some suits in a board room. Instead, Gerkey continued in the interview, the rise of simulation software enables the hobbyists of today to build the industrial robots of tomorrow:
It used to be that to work on a robot you needed to have the robot right in front of you. Now with good software simulation you really can do development at a desk instead of on the floor sitting next to your robot. This shift has a lot of implications for everything from enabling deep learning R&D to opening new avenues for teaching and education. We now live in a world where if a young person has a nice gaming computer, they can build their own drone, mobile robot, or even self driving car, in simulation and for free. The kids playing Kerbal Space Program or Minecraft today could be building autonomous cars in simulation when they are in college in a few years.
Those kids could build cool, but somewhat limited, robots with ROS 1. With ROS 2, they can truly build a Jetsons future of self-driving cars, robot-powered factories, and more.
Disclosure: I work for AWS, but the thoughts contained herein are my own, and don’t represent those of my employer.