Whats new:
- Remote access and control of launch and configuration files.
- Easy remote editing of launch files.
- Monitoring for ROS nodes and system resources on remote hosts.
Old version is available on branch:
old_master
and is no longer supported!
The ROS stack of fkie_multimaster offers a complete solution for using ROS with multicores. In addition, Node Manager with a daemon provide a GUI-based management environment that is very useful to manage ROS-launch configurations and control running nodes, also in a single-core system.
The FKIE multimaster packages used to have an _fkie suffix. In conformance with REP-144, all packages have been renamed with an fkie_ prefix, starting from version 1.0.0. If you have built an older version from source, make sure to remove the build artifacts of the old versions from your build space.
The communication between the Node Manager GUI and the Daemon is based on Python gRPC. If you are using Ubuntu 18.10 or later, you can simply run sudo apt install python-grpcio python-grpc-tools
. For Ubuntu 18.04 LTS, we provide a PPA backport of the gRPC libraries. If your Ubuntu version is older than that, you need to install grpcio-tools
from PyPI.
You can run the following commands to setup a build from source:
cd catkin_ws/src
git clone https://github.com/fkie/multimaster_fkie.git multimaster
rosdep update
rosdep install -i --as-root pip:false --reinstall --from-paths multimaster
Then build all packages:
catkin build fkie_multimaster
Apart from all workstations being on the same network, the /etc/hosts
file has to be edited on each workstation. Add,
$workstation_ip_1 $workstation_name_1
$workstation_ip_2 $workstation_name_2
and so on depending on number of workstations.
All workstations should be time-synced. Currently, a script is run which alots the same time to all workstations. NTP could not be used, as it requires an active internet connection which is not provided by the portable router.
Edit master_sync.launch
under package fkie_master_sync
. Under the topic param section, add the required topic to be published as
["usb_cam/image_raw"]
on all workstations. Substantial latency reduction was observed on only publishing required limited topics.
- multimaster_fkie
- discovery --
discovery using multicast or zeroconf
- synchronization --
master synchronization
- Node Manager GUI --
A GUI to manage the configuration on local and remote ROS masters
- Node Manager daemon --
Helper node allows an easy (auto)start of remote nodes and manage remote launch files
For ROS interfaces and parameterization see the ROS Wiki. For configuration details you can find example launch files in each package.