FogROS brings robotic cloud computing to the Robot Operating System

On a recent trip to the Bay Area, I took a few hours to pay a visit to Berkeley Artificial Intelligence Research Lab (BAIR). Professor Ken Goldberg walked me around the lab and introduced me to a couple of projects the students have been working on. FogROS immediately grabbed my attention — and not just because it sports a name similar to a problematic French cuisine.

Image Credits: Open Robotics

The offering arrives as part of the latest version of the open source Robotic Operating System, ROS 2 Humble Hawksbill — the eight release of ROS 2. In a nutshell, it offers a method for offloading robotic tasks to a remote server, using a cloud computing platform like Amazon Web Services. Advances to server-side computing that have made things like cloud gaming possible with minimal latency can also be applied to robotics operations.

“Robots are often limited in their onboard computing capabilities due to weight and power requirements,” Jeff Ichnowski, a Berkeley post-doc student who headed up the project, told TechCrunch. “They also rarely have hardware accelerators like GPUs, TPUS or FPGAs. But many robot algorithms and recent advances (e.g. deep learning) benefit from high-end computers and hardware accelerators. We envision that using cloud computing to speed up slow computations can enable robots to do more things in the same amount of time.”

The platform being announced today as part of the new version of ROS is actually FogROS 2. Version one, which was introduced last summer, was an early proof-of-concept. This March, the teams quietly made a preview of FogROS 2 available through GitHub, and today it goes live for all, sporting a number of improvements designed to optimize cloud-based performance.

Image Credits: ROS

Much like playing Xbox games on a smartphone, the basic principle here is supplying a method to execute complex tasks on a robot that doesn’t require equally complex on-board processing. If you can complete the task via a remote server, you can save on size, weight and — perhaps most importantly — cost. The team notes in a recently published paper:

We demonstrate in example applications that the performance gained by using cloud computers can overcome the network latency to significantly speed up robot performance. In examples, FogROS 2 reduces SLAM latency by 50%, reduces grasp planning time from 14s to 1.2s, and speeds up motion planning 28x. When compared to alternatives, FogROS 2 reduces network utilization by up to 3.8x.

Goldberg notes that such a platform could open up even more possibilities for robotics than those listed above. “It can potentially benefit other compute-intensive tasks for robots such as stochastic planning and facilitate supervised and unsupervised deep learning of tasks from multiple robots.”

Future versions of the program could open things up to additional platforms, including Google Cloud and Azure. The team notes:

In future work, we will continue to add support for additional cloud computing providers and services. We will explore additional models of computing, such as serverless, spot instances, and more. We will also explore extending the networking capabilities of FogROS 2 to allow robots to communicate, collaborate, and share data more easily.

Humble Hawskbill includes a number of additional features a number of additions beyond the cloud computing platform. Per Open Robotics, which is tasked with maintaining ROS, updates include,

  • Improvements to ROSBag to make it easier to use in simulation and to snapshot a whole system at any point in time.
  • Performance and stability improvements for things like loaned messages, launch testing, RVIZ2, and high frequency services and actions.
  • Enhanced documentation – we’ve added Python API support to rosdoc2, C++ API documentation for core ROS packages, and extended documentation for building/running ROS 2 applications. These features, along with the new TurtleBot4 should make learning and using ROS much easier.
  • Developer Ergonomics – You can now filter ROS messages, identify if messages have changed over time, and filter messages by content in ROS. There is also better integration of ROS 2 repos with package managers and overlays now work to override any package in a dependency tree.

“The Robot Operating System  made its debut at ICRA thirteen years ago this month and Open Robotics celebrated its ten-year company anniversary in March,” Open Robotics CEO said in a release tied to the news, “so the release of ROS 2 Humble Hawksbill is the perfect opportunity to thank the global community of thousands of developers and millions of users who contribute to and improve the platform.”