Skip to content

ROS stack with FKIE packages for multi-robot (discovering, synchronizing and management GUI)

License

Notifications You must be signed in to change notification settings

parekhaman1807/multimaster_fkie

 
 

Repository files navigation

This is a new version with daemon instance!

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!

FKIE multimaster for ROS

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.

multimaster overview

Packages have been renamed

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.

Install

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

Further Changes Required for IMAV Case

1. Editing /etc/hosts

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.

2. Time Sync

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.

3. Publishing Only Required Topics

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.

Documentation

For ROS interfaces and parameterization see the ROS Wiki. For configuration details you can find example launch files in each package.

About

ROS stack with FKIE packages for multi-robot (discovering, synchronizing and management GUI)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.8%
  • Other 1.2%