I visited the Berkeley Artificial Intelligence Research Lab on a recent trip to the Bay Area. Professor Ken Goldberg introduced me to some of the students who were working on the projects. FogROS immediately grabbed my attention, and not just because it has a name similar to a problematic French cuisine.
The image is from Open Robotics.
The latest version of the open source Robotic Operating System, ROS 2, comes with the offering. It offers a way to use a cloud computing platform like Amazon Web Services to transfer robotic tasks to a remote server. It is possible to apply server-side computing to robotic operations.
Jeff Ichnowski, a Berkeley post-doc student who headed up the project, said thatRobots are limited in their onboard computing capabilities due to weight and power requirements. High-end computers and hardware are beneficial to many robot programs. 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 new version of ROS will include a platform called FogROS 2. The proof-of-concept for version one was introduced last summer. The teams quietly made a preview of FogROS 2 available through GitHub in March, and today it goes live for all, with a number of improvements designed to improve cloud-based performance.
ROS is the image credit.
The basic principle here is to provide a method to execute complex tasks on a robot that doesn't require as much on-board processing. If you can complete the task via a remote server, you can save a lot of money. The team notes in a 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 believes that a platform like this could open up more possibilities for robot work.
Future versions of the program could open things up to other platforms. The notes are from the team.
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.
There are a number of additions beyond the cloud computing platform. Open Robotics is tasked with maintaining ROS.
- 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 tenth year anniversary in March.