FogROS2
| Developer(s) | UC Berkeley AUTOLAB |
|---|---|
| Initial release | 2022 |
| Written in | Python |
| Engine | |
| Operating system | Ubuntu Linux |
| Platform | ROS 2 |
| License | Apache License 2.0 |
| Website | Official website |
Search FogROS2 on Amazon.
FogROS2 is an open-source extension to the Robot Operating System 2 (ROS 2) that enables robots to offload computationally intensive tasks—such as simultaneous localization and mapping (SLAM), grasp planning, and motion planning—to cloud resources. Developed by the AUTOLAB at the University of California, Berkeley, FogROS2 facilitates the deployment of ROS 2 nodes across cloud providers, automating the provisioning of cloud instances, installation of dependencies, and secure communication between robots and cloud services.
Overview
FogROS2 addresses the limitations of onboard computational resources in robots by leveraging cloud computing platforms like Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure. By integrating with ROS 2's launch system, FogROS2 allows developers to specify which nodes should run locally and which should be deployed to the cloud, without requiring modifications to the existing codebase. This approach enhances the performance of robotic applications by utilizing high-performance hardware available in the cloud.
Architecture
The architecture of FogROS2 comprises:
- Launch System Integration: Extends ROS 2's launch system to support cloud deployment specifications.
- Cloud Provisioning: Automates the setup of cloud instances, including the installation of ROS 2 and necessary dependencies.
- Secure Communication: Establishes encrypted connections between robots and cloud nodes using tools like WireGuard.
- Resource Management: Allows specification of cloud resources (e.g., CPU, GPU) for each node, facilitating optimal allocation based on computational requirements.
Key Features
- Transparency: Developers can offload nodes to the cloud without altering existing ROS 2 code.
- Performance Gains: Demonstrated speedups include 2x for SLAM, 12x for grasp planning, and 28x for motion planning tasks.
- Security: Utilizes VPNs and encrypted channels to ensure secure data transmission between robots and cloud services.
- Flexibility: Supports deployment across various cloud providers and regions, enabling scalability and redundancy.
Extensions
FogROS2 has inspired several extensions to enhance its capabilities:
- FogROS2-SGC (Secure Global Connectivity): Enables secure and efficient communication between ROS 2 nodes across different networks and geographic locations. It introduces globally unique identifiers for nodes, facilitating seamless data routing without code modifications.
- FogROS2-FT (Fault Tolerant): Introduces fault tolerance by replicating stateless ROS 2 services across multiple cloud providers. It routes requests to multiple replicas and uses the first response, ensuring continued operation despite individual server failures or network issues.
- FogROS2-PLR (Probabilistic Latency-Reliability): Enhances latency reliability by utilizing multiple independent network interfaces to send requests to replicated cloud servers, selecting the first response received. This approach mitigates the impact of network variability on robotic applications.
See Also
External Links
- Official FogROS2 Documentation
- FogROS2 GitHub Repository
- FogROS2-SGC Project Page
- FogROS2: An Adaptive Platform for Cloud and Fog Robotics Using ROS 2
- FogROS2-SGC: A ROS2 Cloud Robotics Platform for Secure Global Connectivity
- FogROS2-FT: Fault Tolerant Cloud Robotics
- FogROS2-PLR: Probabilistic Latency-Reliability For Cloud Robotics
References
This article "FogROS2" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:FogROS2. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
