**Our full conference paper has been accepted by IROS 2023. Please refer to arxiv for more details. This repo was earlier attempt to implement SGC, but we realize the performance overhead of Python is too large, so we use a full rust implementation, please refer to repo. This repo is then archived for good. **
Install ROS2 properly by link and create a local ROS workspace.
mkdir -p ~/fog_ws/src
cd ~/fog_ws/src
git clone [email protected]:KeplerC/gdp-for-ros.git
cd ../
colcon build
source install/setup.bash
Install pythons depenencies by
pip3 install PyDispatcher scapy
Step 1: import the ROS env
cd ~/fog_ws
source install/setup.bash
This needs to be done on every new terminals.
Step 2: build
colcon build
Whenever there is code changes, a new build is required.
Step 3: Run First start the pseudo gdp infrastructure by
python3 fake_gdp_infrastructure.py
then run the sample talker and listener by
ros2 run gdp_proxy_for_ros talker
and
ros2 run gdp_proxy_for_ros listener
The talker publishes to the topic named topic
and the listener subscribes to /gdp/topic
.
Then run
ros2 run gdp_proxy_for_ros proxy
that bridges the topic
and gdp/topic
together. The messages in topic
are serialized and propaged through fake_gdp_infrastructure.py
implemented by zmq. (TODO:Jiachen, replace with the real router).
- The code adopts the code from draft PR from DFKI-NI/rospy_message_converter#56, because ROS2 lacks message serialization schemes.
- several convienient commands
colcon build && ros2 run gdp_proxy_for_ros proxy
ros2 topic list
ros2 topic echo /gdp/topic
ros2 topic info /topic