FogROS2 An Adaptive Platform for Cloud and Fog Robotics Using ROS 2

Source

@inproceedings{ichnowski_2023_fogros2,
    author={Ichnowski, Jeffrey and Chen, Kaiyuan and Dharmarajan, Karthik and Adebola, Simeon and Danielczuk, Michael and Mayoral-Vilches, Víctor and Jha, Nikhil and Zhan, Hugo and Llontop, Edith and Xu, Derek and Buscaron, Camilo and Kubiatowicz, John and Stoica, Ion and Gonzalez, Joseph and Goldberg, Ken},
    booktitle={IEEE International Conference on Robotics and Automation (ICRA)}, 
    title={{FogROS2}: An Adaptive Platform for Cloud and Fog Robotics Using {ROS} 2}, 
    year={2023},
    pages={5493-5500},
    doi={10.1109/ICRA48891.2023.10161307}
}
(UC Berkeley) IEEE arXiv

TL;DR

ROS 2 + Cloud computing

FogROS2 Architecture

Flash Reading

References

Extensions

A demo code for frontend launch script:

def generate_launch_description():
    ld = FogROSLaunchDescription()
    ### Cloud machine
    machine1 = AWSCloudInstance(
        region="us-west-1", # or find_nearest_aws_region()
        ec2_instance_type="g4dn.xlarge")
    ### Grasp motion on the robot
    grasp_motion_node = Node(
        package="fogros2_examples",
        executable="grasp_motion",
        output="screen")
    ### Grasp planning on the cloud
    grasp_planning_node = CloudNode(
        package="fogros2_examples",
        executable="grasp_planner",
        output="screen",
        machine=machine1)
    ld.add_action(grasp_motion_node)
    ld.add_action(grasp_planning_node)
    return ld