No version for distro humble showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro jazzy showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro kilted showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro rolling showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro ardent showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro bouncy showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro crystal showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro eloquent showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro dashing showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro galactic showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro foxy showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro iron showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro lunar showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro jade showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro indigo showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro hydro showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro kinetic showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange

No version for distro noetic showing melodic. Known supported distros are highlighted in the buttons above.
Package symbol

swarm_ros_bridge package from swarm_ros_bridge repo

swarm_ros_bridge

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 1.0.0
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/shupx/swarm_ros_bridge.git
VCS Type git
VCS Version master
Last Updated 2024-04-24
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The swarm_ros_bridge package

Additional Links

Maintainers

  • shupeixuan

Authors

No additional authors.

swarm_ros_bridge

Introduction

A lightweight middle interface ROS package mainly based on ZeroMQ. It enables the specified ROS messages transmission among swarm robots through socket communication. The purpose of this package is to replace the traditional way of running ROS across multiple machines in ROS1, which has some drawbacks under swarm robots situation.

An example of two ROS robots communicating with each other through swarm_ros_bridge is shown below:

framework

Compared with ROS1 multi-robot wireless communication, it has the following benefits:

  • Robust: No need for base station ROS master launching first. Support each robot launching in a random sequence and connecting each other autonomously.

  • Flexible: You can choose the sending/receiving ROS topics rather than transferring all topic (names) as ROS1 does.

  • Easy to use: Specify all the IP and ROS topics in one configuration file.

Compared with ROS2 DDS communication, it may have the following benefits:

  • Lightweight: It is a small ROS bridge node subscribing and sending remote ROS topics, so connecting with other ROS nodes is easy.
  • Reliable: It uses ZeroMQ socket communication based on TCP protocol while ROS2 is based on DDS, whose default protocol is UDP (unreliable). DDS is mainly designed for data exchange between native processes under wired communication rather than remote wireless communication.

ROS wiki page: https://wiki.ros.org/swarm_ros_bridge

source code: https://github.com/shupx/swarm_ros_bridge.git

csdn blog (in chinese): https://blog.csdn.net/benchuspx/article/details/128576723

Structure

└── swarm_ros_bridge
    ├── CMakeLists.txt
    ├── config
    │   └── ros_topics.yaml  # Config file to specify send/receive ROS topics
    ├── include
    │   ├── bridge_node.hpp  # Header file of bridge_node.cpp
    │   ├── ros_sub_pub.hpp  # Header file for different ROS message type.
    ├── launch
    │   └── test.launch
    ├── package.xml
    └── src
        └── bridge_node.cpp  # @brief Reliable TCP bridge for ros data transfer in unstable network.
                             # It will send/receive the specified ROS topics in ../config/ros_topics.yaml
                             # It uses zmq socket(PUB/SUB mode), which reconnects others autonomously and
                             # supports 1-N pub-sub connection even with TCP protocol.

Install

Supported platforms/releases:

Platform ROS Release
Ubuntu 16.04 Xenial ROS Kinetic
Ubuntu 18.04 Bionic ROS Melodic
Ubuntu 20.04 Focal ROS Noetic

Install process:

## clone this package
mkdir -p swarm_ros_bridge_ws/src  # or your own ros workspace
cd swarm_ros_bridge_ws/src
git clone https://gitee.com/shu-peixuan/swarm_ros_bridge.git
# or 'git clone https://github.com/shupx/swarm_ros_bridge.git'

## install dependencies
sudo apt install libzmqpp-dev
# or 'rosdep install --from-path swarm_ros_bridge/'

## build
cd ../
catkin_make
source devel/setup.bash

Usage

  1. Specify the IP and ROS topic information in config/ros_topics.yaml.
  • For the sending topic, IP is self IP (* for example) and port should be different as it binds to the “tcp://*:port”.
  • For the receiving topic, IP and port should be the remote source IP and port as it connects to the “tcp://srcIP:srcPort”.

  • The max_freq will limit the sending frequency once it exceeds max_freq. Set max_freq large enough if you do not want to decrease the sending frequency.
  1. Launch the bridge_node:
roslaunch swarm_ros_bridge test.launch # local machine test

  1. Publish messages into send_topics and check that remote recv_topics are receiving these messages. The console will also print INFO the first time recv_topics receive messages.

We also provide a simple latency test demo between two machines. Please refer to scripts/README.md

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged swarm_ros_bridge at Robotics Stack Exchange