Repo symbol

fogros2-sgc repository

Repo symbol

fogros2-sgc repository

Repo symbol

fogros2-sgc repository

Repo symbol

fogros2-sgc repository

Repository Summary

Description
Checkout URI https://github.com/data-capsule/fogros2-sgc.git
VCS Type git
VCS Version main
Last Updated 2024-01-25
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
fogros2_examples 0.1.7

README

FogROS2 SGC

FogROS2-SGC is a cloud robotics platform for connecting disjoint ROS2 networks across different physical locations, networks, and Data Distribution Services.

[Website] [Video] [Arxiv]

Table of Contents

Local Demo

If you want to get a taste of FogROS2 SGC without setting up the environment, just run

docker compose build && docker compose up 

with docker (install) and docker compose (install). It takes some time to build. You will see two docker containers running talker and listener are connected securely with FogROS2-SGC.

Build FogROS2 SGC

The following are instructions of building FogROS2 SGC.

Install dependencies

sudo apt update
sudo apt install build-essential curl pkg-config libssl-dev protobuf-compiler clang

Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -y
source "$HOME/.cargo/env"

Install ROS

ROS2 ~Dashing~ ~Eloquent~ Foxy Galactic Humble Rolling should work fine with FogROS2 SGC.

Here we show the instruction of installing ROS2 rolling with Debian packages.

First, install ROS2 from binaries with these instructions.

Setup your environment with these instructions.

Every terminal should be configured with

source /opt/ros/rolling/setup.bash

If you have custom types in a specific ROS colcon directory, source the setup.bash in that directory.

Build the repo

The repo is built with

cargo build

If you want to deploy with production system, use cargo build --release option for optimization level and removal of debug logs.

Run with Different Machines

In the example, we use two machines to show talker (machine A) and listener (machine B) example.

Certificate Generation

The certificates can be generated by

cd scripts
./generate_crypto.sh

Every directory in ./scripts/crypto contains the cryptographic secrets needed for communication.

Distribute the crypto directory by from machine A and machine B. Here is an example with scp:

scp -r crypto USER@MACHINE_B_IP_ADDR:/SGC_PATH/scripts/

replace USER, MACHINE_B_IP_ADDR, SGC_PATH with the actual paths.

After the crypto secrets are delivered, go back to project main directory.

Run ROS2 talker and listener

Now run talker and listener on ROS2.

File truncated at 100 lines see the full file

Repo symbol

fogros2-sgc repository

Repo symbol

fogros2-sgc repository

Repo symbol

fogros2-sgc repository

Repo symbol

fogros2-sgc repository