fkie / fkie-multi-agent-suite

ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
MIT License
5 stars 0 forks source link

Multi Agent Suite for ROS

Based on the FKIE Multimaster, this suite provides a collection of packages for ROS 1 and 2 for discovering, synchronizing (ROS 1), monitoring, and managing nodes on different hosts using a graphical user interface.

The suite replaces the FKIE Multimaster!

mas overview

Install

The communication between the GUI and the Daemon (on each host) is based on WebSockets on port 35430+(ROS_DOMAIN_ID), 35430+255+(ROS_DOMAIN_ID)+101*(ROS_MASTER_URI_PORT-11311) with ROS1. These ports should be open in the firewall.

Install dependencies

You need a running TTYD to show screen or log output of the nodes.

sudo snap install ttyd --classic

In Linux, we need libsecret-1-dev to safely store SSH credentials.

sudo apt install libsecret-1-dev

A python3-websockets version >11 is required. You can install it using pip:

pip install "websockets>=12.0"

In ROS2 we use a discovery node to get host information for each ROS node. Currently the discovery node depends on the rmw_fastrtps_cpp ROS library. If you are using a different DDS for your system, you will need to change the environment variable for mas-discovery by setting export RMW_IMPLEMENTATION=rmw_fastrtps_cpp.

Build ROS FKIE packages

You can run the following commands to setup a build from source:

cd ros_workspace/src
git clone https://github.com/fkie/fkie-multi-agent-suite.git fkie-multi-agent-suite
rosdep update
rosdep install -i --as-root pip:false --reinstall --from-paths fkie-multi-agent-suite

Then build all packages:

catkin build fkie_mas_meta

or

colcon build --packages-up-to fkie_mas_daemon

Download GUI

curl -s https://api.github.com/repos/fkie/fkie-multi-agent-suite/releases/latest | grep "browser_download_url.*mas-gui.AppImage" | cut -d : -f 2,3 | tr -d \" | wget --show-progress -i -
chmod +x ./mas-gui.AppImage
mv ./mas-gui.AppImage ~/.local/bin/.

You can find further build and start options at fkie_mas_gui

Documentation

We are working on the documentation for the new version. Until then you can still use the old one. Apart from the package names, all old functions should be supported.

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

License

MIT © Fraunhofer FKIE