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

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 4.9.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS packages for detection, synchronization (ros1) and graphical management of multi-robots
Checkout URI https://github.com/fkie/fkie-multi-agent-suite.git
VCS Type git
VCS Version master
Last Updated 2025-11-28
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Graphical interface to manage the running and configured ROS nodes on different hosts.

Additional Links

Maintainers

  • Alexander Tiderko
  • Carlos Tampier

Authors

  • Francisco Garcia
  • Carlos Tampier
  • Alexander Tiderko

MAS GUI

New Node Manager for ROS (1/2).

The MAS GUI is composed by two main parts: A Back-End component (daemon with WebSocket), and a Front-End Component (powered by Electron and ReactJS).

Install

We need to first install dependencies and run both Front and Back-End components:

Install dependencies

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

sudo snap install ttyd --classic

Update nodejs to v20

The code have been tested with NodeJS v20.15.0:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Server Side (Back-End)

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-select fkie_mas_meta

Client Side (Front-End)

Only for developer mode: Download and install JavaScript module dependencies:

cd fkie_mas_gui
npm install
npm run build

Usage

Run the app in developer mode:

npm run dev:ns

The app will start automatically the local daemon and master discovery nodes.

Start only as node (without GUI)

Starts a server on default port 6274. You can change the port in electron.vite.config.ts.

npm run server:ns

Then open in browser http://localhost:6274

Websocket communication

Action Message Format Description
Message {“uri”: str, message: JSONObject } Publish messages to given topic (URI)
Subscribe to an URI {“sub”, [str]} Receive all messages published to this URI
Unsubscribe from an URI {“unsub”, [str]} Stop receiving messages send to this URI
Remote procedure call (RPC) {“uri”: str, “id”: number, “params”: []} id is unique request. params is a is list with parameters for the remote procedure call.
Reply for successful RPC {“id”: number, “result”: JSONObject } id is unique request id.
Reply with error while RPC {“id”: number, “error”: str } id is unique request id.

Supported interface URIs

Interface URI Type Function Description
ros.daemon.ready PUB => {'status': bool, "timestamp": float} Sent by the daemon at an interval
ros.discovery.ready PUB => {'status': bool}  
ros.daemon.get_version RPC () => DaemonVersion see fkie_mas_pylib/interface/runtime_interface/DaemonVersion
ros.file.get RPC (path: str) => FileItem see fkie_mas_pylib/interface/file_interface/FileItem
ros.file.save RPC (file: FileItem) => number write file content to providers file system. Return count of written bytes.
ros.nodes.get_list RPC () => RosNode[] see fkie_mas_pylib/interface/runtime_interface/RosNode
ros.nodes.get_services RPC () => RosService[] see fkie_mas_pylib/interface/runtime_interface/RosService

File truncated at 100 lines see the full file

CHANGELOG

Changelog

4.9.0 - 28.11.2025

Allow deselection of topics, services, and nodes Added octet to input elements in publish panel Fixed open publish panel if no topic is selected Optimized handling in the publish panel

4.8.2 - 27.11.2025

Removed snackbar info Log panel revised Fixed layout that is corrupted after MAS update and layout reset Changed update strategy of the ros nodes Fixed environment variable set in a launch group Adjust default layout weights Added warning for true/false in launch dialog Added warning for true/false not capitalized in XML launch files Renamed “Node Details” to “Details” tab Show host details in the node details window instead of in a new tab

4.8.1 - 25.11.2025

Reduced number of service calls for updating composable and lifecycle nodes Fixed “Use of externally-controlled format string” warning

4.8.0 - 24.11.2025

Added ROS graph change detection to discovery node Fixed forced update topic and service list Reduced count of updates Added id to RosTopic and RosService Added tooltip for CMD in node details Do not show errors in the snackbar for already running requests Fixed deselection of nodes when they are updated Changed the highlighting when hovering Reduced the effort required for updates Fixed error when processing the stop queue Fixed version update info, if updates have not yet been checked for after startup Updated cli description

4.7.3 - 18.11.2025

Highlight true/false in XML launch files Added let proposal Fixed proposals for unless and if in XML launch file Fixed go back/forward in editor

4.7.2 - 18.11.2025

Load launch file on pressed enter load dialog Added option to start publisher with simtime Close load dialog before loadings the launch file to avoid multiple load trigger Added lifecycle context menu to node name Added namespace tag for composable_node in XML launch file proposals Improved log settings

4.7.1 - 14.11.2025

fixed error when loading ‘capability groups’ for included files

4.7.0 - 11.11.2025

Added notification if launch file was reloaded by another instance Fixed: sorting nodes in the host view Evaluate wildcard hostnames in the ssh configuration Improved host input in the connection dialog Updated vite dependency version Fixed the style of the “Node Details” tab when the namespace is too long

4.6.15 - 30.09.2025

Fixed crash of the daemon on exception while load_launch Fixed updating the package list when a package is selected

4.6.14 - 25.09.2025

Disabled pop-outs for headless mode Changed location of the info box in the packages tab Fixed join operator for headless mode Fixed “Missing rate limiting” reported by CodeQL

4.6.13 - 23.09.2025

Fixed open connect dialog if daemon is not running and ros_domain_id is not set

4.6.12 - 23.09.2025

Fixed load included link decorations Fixed open date context menu

4.6.11 - 23.09.2025

Added button to show daemon log for ros2 if start was failed Fixed show_ros_log parameter (for ROS2 daemon) Fix to avoid showing multiple local provider Ensure that no two items with the same ID are inserted into the launch history Do not use the RMW_IMPLEMENTATION by default from environment

File truncated at 100 lines see the full file

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fkie_mas_gui at Robotics Stack Exchange