![]() |
fkie_mas_gui package from fkie_multi_agent_suite repofkie_mas_daemon fkie_mas_discovery fkie_mas_gui fkie_mas_meta fkie_mas_msgs fkie_mas_pylib fkie_mas_sync |
Package Summary
Tags | No category tags. |
Version | 4.4.12 |
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-06-17 |
Dev Status | UNKNOWN |
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
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
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 override the port with npm run server – –port 6363.
npm run server
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 |
ros.nodes.get_topics | RPC | () => RosTopic[] |
see fkie_mas_pylib/interface/runtime_interface/RosTopic |
ros.nodes.changed | PUB | => "timestamp": float |
Triggers when node changed (start, stop etc…) |
ros.provider.list | PUB | => RosProvider[] |
see fkie_mas_pylib/interface/runtime_interface/RosProvider |
ros.provider.get_list | RPC | () => RosProvider[] |
Request the list of current providers |
ros.provider.get_timestamp | RPC | (float) => "timestamp": float, "diff": float |
Request current time [ms] of the provider and calculate difference to given timestamp |
ros.provider.get_diagnostics | RPC | () => DiagnosticArray[] |
Request all available diagnostics |
ros.provider.diagnostics | PUB | => DiagnosticArray[] |
updates to diagnostics |
ros.provider.ros_clean_purge | RPC | () => {result: bool, message: str} |
clean ros log path |
ros.provider.shutdown | RPC | () => {result: bool, message: str} |
kill all screens started by provider |
ros.provider.warnings | PUB | => SystemWarningGroup[] |
see fkie_mas_pylib/interface/runtime_interface/SystemWarningGroup |
ros.provider.get_warnings | RPC | () => SystemWarningGroup[] |
see fkie_mas_pylib/interface/file_interface/RosPackage |
ros.packages.get_list | RPC | (clear_cache: bool) => RosPackage[] |
see fkie_mas_pylib/interface/file_interface/RosPackage |
ros.path.get_list | RPC | (inputPath: str) => PathItem[] |
see fkie_mas_pylib/interface/file_interface/PathItem |
ros.path.get_list_recursive | RPC | (inputPath: str) => PathItem[] |
Return all files/folders included in input path |
ros.path.get_log_paths | RPC | (nodes: str[]) => RosPackage[] |
|
ros.path.clear_log_paths | RPC | (nodes: str[]) => {node: str, result: bool, message: str}[] |
Removes log files (ROS and screen) for given nodes |
ros.path.changed | PUB | => {eventType: str, srcPath: str, affected: str[]} |
Triggers when a file was changed. |
ros.launch.call_service | RPC | (request: LaunchCallService) => LaunchMessageStruct |
Call a service. |
ros.launch.load | RPC | (request: LaunchLoadRequest) => LaunchLoadReply |
Loads launch file by interface request |
ros.launch.reload | RPC | (request: LaunchLoadRequest) => LaunchLoadReply |
Reloads launch file by interface request |
ros.launch.unload | RPC | (request: LaunchFile) => LaunchLoadReply |
Unload a launch file |
ros.launch.get_list | RPC | () => LaunchContent[] |
|
ros.launch.start_node | RPC | (request: LaunchNode) => LaunchNodeReply |
|
ros.launch.changed | PUB | => {path: string, action: string} |
Triggers when a lunch file was loaded/unloaded/changed. Actions {loaded, reloaded, unloaded} |
ros.launch.get_included_files | RPC | (request: LaunchIncludedFilesRequest) => LaunchIncludedFile[] |
Returns all included files in given launch file. |
ros.launch.interpret_path | RPC | (request: LaunchInterpretPathRequest) => LaunchInterpretPathReply[] |
Returns for given text all detected include paths. |
ros.launch.get_msg_struct | RPC | (msg_type: str) => LaunchMessageStruct |
Returns for given message type a JSON object. |
ros.launch.get_srv_struct | RPC | (srv_type: str) => LaunchMessageStruct |
Returns for given service type a JSON object. |
ros.launch.get_message_types | RPC | () => string[] |
Returns a list of available ROS message types. |
ros.launch.publish_message | RPC | (request: LaunchPublishMessage) => void |
Launch a publisher. |
ros.nodes.get_loggers | RPC | (name: str, loggers: str[]) => LoggerConfig[] |
Returns a list of logger supported by node |
ros.nodes.set_logger_level | RPC | (name: str, loggers: LoggerConfig[]) => {result: bool, message: str} |
Changes the logger configuration for given node |
ros.nodes.stop_node | RPC | (name/id: str) => {result: bool, message: str} |
Stop a node using ROS |
ros.nodes.unregister | RPC | (name: str) => {result: bool, message: str} |
Unregister all topics and services of a node using ROS |
ros.screen.kill_node | RPC | (name: str) => {result: bool, message: str} |
Kill screen of a given node |
ros.screen.get_list | RPC | () => ScreensMapping[] |
Returns a list off all screens and their name converted to ROS node name |
ros.screen.list | PUB | => ScreensMapping[] |
Triggers when screens are changed |
ros.subscriber.start | RPC | (request: SubscriberNode) => bool |
Start subscriber for given topic |
ros.subscriber.stop | RPC | (topic: str) => bool |
Stop subscriber for given topic |
ros.subscriber.event.{TOPIC} | PUB | => SubscriberEvent[] |
Event on received message by subscriber. TOPIC is a topic name with replaced ‘/’ by ‘_’ |
ros.subscriber.filter.{TOPIC} | SUB | => SubscriberFilter |
Updates filter for subscribed message. TOPIC is a topic name with replaced ‘/’ by ‘_’ |
ros.system.get_uri | RPC | () => str |
Format ROS_MASTER_URI [INTERFACE PORT] |
ros.parameters.get_list | RPC | () => {params: RosParameter[], errors: str[]} |
Return all parameters as list (including values and types) |
ros.parameters.get_node_parameters | RPC | (nodes: str[]) => {params: RosParameter[], errors: str[]} |
Return a parameter list for a given Node |
ros.parameters.set_parameter | RPC | (paramName: str, paramType: str, paramValue: str, nodeName: str) => {result: bool, message: str, value?: str, value_type?: str} |
Set the value of a parameter |
ros.parameters.delete_parameters | RPC | (paramNames: str[], nodeName: str) => {result: bool, message: str} |
Delete a list of parameters |
ros.process.find_node | RPC | (node: str) => {result: bool, message: str, "processes": {"pid": number, "cmdLine": str}[] } |
Searches for a process which belongs to the ros 2 node |
ros.process.kill | RPC | (pid: number) => {result: bool, message: str } |
Kills the process |
Additional Tools
- To package the client component into an AppImage, run:
cd fkie_mas_gui
npm run build:linux
- update licenses of dependencies
npm install -g license-report
license-report --config=./license-report-config.json > src/renderer/deps-licenses.json
Known Issues
- If you work behind a proxy, you might need to explicitly specify the
URL
andPORT
before downloading the electron packages. The problem occurs when installing the package (npm install
).
export ELECTRON_GET_USE_PROXY=true
export GLOBAL_AGENT_HTTPS_PROXY=http://XXX.XXX.XXX.XXX:XXXX
-
The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now.
: You can check https://github.com/electron/electron/issues/42510 for more details. Use--no-sandbox
argument as workaround, e.g.:
npm run dev -- --no-sandbox
or
mas-gui.appimage --no-sandbox
- If you get the SFPT error:
getSftpChannel: Packet length XXXXXX exceeds max length of XXXXX
, it might be caused by anecho
command on the.bashrc
file. Make sure allecho
commands are defined only for interactive shells. For instance in.bashrc
:
...
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
echo "your echo commands here!"
See related reports on Stack Exchange, SSH2 GitHub or StackOverflow.
- You don’t see the correct output in external terminal. Try to change your default terminal:
sudo update-alternatives --config x-terminal-emulator
Maintainers
- Francisco Garcia
- Carlos Tampier
- Alexander Tiderko
License
MIT © Fraunhofer FKIE
Changelog
4.4.12 - 17.06.2025
Improved launch dialog: add true/false to history if value is true or false and no history available Fixed proposals for if and unless for ros2 Fixed reload files with new added launch arguments Fixed install script uri in readme
4.4.11 - 11.06.2025
Show indicator if all nodes in the group are not local Increased timeout for load composed nodes to 5 sec Added composable nodes to XML highlighter Fixed highlighting and proposals for push_ros_namespace Changed ‘no discovery’ error to warning Fixed uri for update remote mas packages Do not show nodes which are detected as local on remote host
4.4.10 - 10.06.2025
Fixed load parameter of composable nodes Added support of YAML(base) structures in the MAS gui Added try catch around the get state blocks to avoid an invalid state of the daemon Fixed echo of odometry topics Fixed detect changes in included yaml files Replace environment variables in xacro files
4.4.9 - 10.06.2025
Fixed reload launch files with included yaml files Fixed load xml launch file with execute process without namespace
4.4.8 - 06.06.2025
Added drop down box for files in config editor Fixed loading parameters of composed nodes in xml launch files Fixed load python launch files with composable node list Fixed call commands with ‘{data: xyz}’
4.4.7 - 05.06.2025
Added option to force the use of the rmw implementation set for mas gui Do not cancel the start process if something has been printed on the error terminal Fixed build discovery with ros kilted, switched from fastrtps to fastdds Added name attribute to executable tag Added option to select a directory in launch options dialog Fixed show history in load dialog if only one option is available
4.4.6 - 04.06.2025
Fixed change detection of node configuration in referenced yaml files
4.4.5 - 03.06.2025
Added support for ros state used with zenoh Changed install url using wget Fixed warnings in install script Fixed tooltip description for kill timeout
4.4.4 - 28.05.2025
Ask for restart gui after running install script Fixed double terminal on update
4.4.3 - 28.05.2025
Added script to restart running mas nodes and reload launch files Terminate all child processes when shutting down the screens started by mas Reduced update requests from github Show more info if check for updates failed Force update state after kill_screens Improved resolve arguments in xml launch files Added user parameter to install_mas_debs script Show kill on stop icon for running executables
4.4.2 - 27.05.2025
Improved statistics visualization in topic echo panel Fixed reducing the size of the arrays for displaying the message in the echo tab Fixed calculation of the ros message size Fixed start mas commands in a screen
4.4.1 - 26.05.2025
Fixed start mas nodes in a screen
4.4.0 - 23.05.2025
Added an indicator of warnings when load launch file Added source setup.bash on force refresh package list Extended description of not local nodes Added detection of local processes based on the node parameter for the node name Changed screen configuration, added “shell -$SHEL” to source ros setup.bash defined in .bashrc Report warnings from ros2 daemon Fixed close on double Escape in external editor Fixed the flickering of the terminal when no screen is available
4.3.9 - 20.05.2025
Added history for all new releases if an update was found Added copy button to topic echo panel Fixed array collapsing in echo panel
4.3.8 - 19.05.2025
Added autostart option to daemon Fixed adding included configuration files for observe Show warning if an warning occurs when loading the launch file Updated mui to v7 and mui-x to v8 Fixed selection of groups and nodes in the node list
4.3.7 - 14.05.2025
Fixed load composable nodes Added functionality to go back or forward between seen files
4.3.6 - 08.05.2025
Skip timer on start nodes if shift was pressed Fixed change font size with Ctrl+{+,-,0} Added an indicator if sigkill timeout is defined Show parameter of different files in one dictionary Fixed load launch files in ros galactic
4.3.5 - 06.05.2025
Fixed load with default parameters Fixed remove timeouted daemons
4.3.4 - 06.05.2025
Fixed exception on unknown hostname Removed set RMW_IMPLEMENTATION from gui Do not use rmw_fastrtps_cpp to avoid ROS check for RMW implementation Fixed start publisher from gui with ros humble
4.3.3 - 06.05.2025
Try to fix run discovery with different DDS Fixed install script for humble Show launch arguments only of the top launch file while load
4.3.2 - 05.05.2025
Dirty fix to start mas discovery with different RMW implementation Fixed load parameter of composable nodes
4.3.1 - 05.05.2025
Prefer capability group parameter opposite of environment parameter Fixed remove outdated provider
4.3.0 - 02.05.2025
Fixed stop system nodes on forced restart Added parameter to prepend RMW_IMPLEMENTATION while start mas discovery Use local addresses if no discovery node available, but a screen for a node was found Remove outdated discoverd daemons Added icon as indicator for delayed start Added the possibility to search for a process of a node to stop On click to show screens for a host inform user if no screens available Added host details to panel if one is selected Fixed save configuration Fixed resolve launch arguments
4.2.20 - 30.04.2025
Added MAS_KILL_ON_STOP environment variable Added timer for starting nodes with timer action Fixed read capability group parameter of composable nodes Fixed scroll in update terminal Added option install selected version to install script Updated hostname detection for providers
4.2.19 - 29.04.2025
Changed: showRemoteNodes button removed; unconnected providers with remote nodes are now displayed Introduced MAS_CAPABILITY_GROUP environment variable Added proposal for MAS_CAPABILITY_GROUP in editor Fixed: change launch arguments using wheel in a dialog with a lot of arguments Fixed: close on double ESC or onExit without saving editor changes Fixed: highlighting of the push-ros-namespace Fixed: detect changed files; return real paths for launch files Fixed: load launch files with deep include tree Use local monaco editor instead to download it
4.2.18 - 25.04.2025
Changed parameter of less command to display log file in terminal Improved line number highlighting in terminal Fixed: change log command in settings Fixed: launch nodes with args if it contains find-pkg-share Fixed: install latest version even if the prerelease channel is selected
4.2.17 - 23.04.2025
Propagate lifecycle status to group view Use QoS of available topics on start a new publisher Fixed reloading of python launch files that use or modify environment variables
4.2.16 - 11.04.2025
Added context menu to parameter items Added colorization for line numbers in terminal tab
4.2.15 - 10.04.2025
Added middle click on node to open screen Added parameter change detection on reload file Focus load button in launch dialog by default Fixed update of available screens Fixed call service, it was brocken after added action handling
4.2.14 - 03.04.2025
Fixed assign capability group to all affected nodes Fixed restart nodes dialog, now all changed nodes should be added to the question
4.2.13 - 02.04.2025
Added support for action feedback subscription and send_goal call Added handle of proprietary service call for ‘%s/logger_list’ to get list of all available logger names Added dynamic open and close brackets for xml launch files Changed tab names (added option to remove namespaces) Fixed start nodes with complex executables, like ‘ruby $(which gz) sim’ Fixed launch configuration with OpaqueFunction Fixed namespaces of services
4.2.12 - 28.03.2025
Added support for set_env and unset_env in launch file Added view of changes when a new update is available Fixed expand some type of arrays in echo dialog Fixed links to included files were not updated when file were changed Fixed “don’t save” was not noted Fixed editor context menu Fixed open parameter if host is selected Fixed version compare in update tab Fixed version compare in install script Improved python highlighter Improved highlighter for ROS2 XML launch files Improved highlighter for ROS1 XML launch files Improved ROS1 suggestions in XML launch files Improved ROS2 suggestions in XML launch files
4.2.11 - 21.03.2025
Fixed no visible service names
4.2.10 - 21.03.2025
Added check during update whether mas packages are in the workspace Changed group behavior for topics, services and parameters No downgrade to prerelease Fixed: button to open parent file Fixed: set sync parameter when starting from MAS-GUI, see issue #5 Fixed: open log in a red screen if screen not available
4.2.9 - 14.03.2025
Workaround for launch-prefix in jazzy Fixed open humburger menus
4.2.8 - 14.03.2025
Updated readme Added workflows to create debian packages for jazzy, humble, noetic and gui Fixed docker build with new version using debian packages
4.2.7 - 06.03.2025
Improved ctrl+click to open included files Use own method to get included files in XML format Added highlighting for ros2 xml launch file Added xml proposals for ros2 Force reload current path if package list was refreshed Changed default state of visible node details
4.2.6 - 01.03.2025
Prepand RMW_IMPLEMENTATION=rmw_fastrtps_cpp for discovery node Replaced get_participants service by latched participants topic for communication between daemon and discovery
4.2.5 - 28.02.2025
Added update check for latest github version if we don’t use appImage Added update of the debian packages via github Added script to install debian packages from github Added mas-gui arguments to update debian packages Fixed show local nodes with cyclon dds Fixed split string arrays in parameter and publisher dialogs by a comma, but not if the comma is inside ‘”’ Fixed launch if used find-pkg-share Added RMW_IMPLEMENTATION=rmw_fastrtps_cpp in mas-discovery code
4.2.4 - 25.02.2025
Changed default ttyd port Fixed ttyd port determination if not default port is used Added script to create debian packages for all mas packages
4.2.3 - 10.02.2025
Extended hint for TTYD Daemon if ttyd is not available Fixed unload not existing files Fixed start if ttyd not available Fixed daemon min version
4.2.2 - 05.02.2025
Added: show incompatible QoS warning at group level Added: show warning if logger is not supported Changed calculation of the abbreviation of the tab name Fixed qos incompatibility check for jazzy Fixed call service with useNow parameter
4.2.1 - 03.02.2025
Added SPAM group and capability_group for ros2 nodes Fixed select current file in explorer of the file editor Do not save empty parameters in the history of the start dialog Fixed editor height when a hint is displayed Fixed start subscriber without qos Fixed discovery name if ROS_IP is set Fixed file selection in editor
4.2.0 - 30.01.2025
Added parameter to set the length of the arrays for topic echo Added error report for list parameters Check parameter after value was set Fixed sort items in package explorer Fixed launch ros2 nodes with launch prefix Fixed update boolean parameter state in the gui
4.1.3 - 28.01.2025
Fixed search in topics panel Convert numbers to valid values before set parameter Start subscriber with qos parameters Added warning about wrong websockets version (in daemon)
4.1.2 - 24.01.2025
Fixed: show topics with different message type on same topic
4.1.1 - 24.01.2025
Improved publisher panel Updated call service panel Changed: add new tabs to the end Fixed auto-reload after save Fixed grouping of parameters Fixed array parameter and edit in the parameter panel Fixed: use also subscriber to create an echo dialog Fixed search in create publisher und call service panel
4.1.0 - 23.01.2025
Added ‘now’ and stop button to publish panel Use clipboard text in parameters only until new line Added descriptor to parameter Propagate errors in parameter interface to the GUI Show ‘install’ warning in editor only if realpath is in install Added dialog to select ros domain id on run external apps Added simple logger support for ros2 nodes Fixed quick start provider with different ros domain id
4.0.0 - 21.01.2025
Changed get_node_list interface Added get_services and get_topics to websocket interface Added the option to update to prerelease Skip empty fields during communication with websocket Added checks for undefined fields Added context menu to searchBar, topics and services Improves the update behavior of the service and topic panels Added new message ros.launch.get_message_types Depending on the version difference, set different colors for the notification about new daemon version Changed shutdown of daemon and subscriber node Increased maximum size of a message sent via a web socket Fixed kill node if None was given as signal Fixed kill all screens on shutdown
3.0.13 - 16.01.2025
Fixed open external terminal with different terminal
3.0.12 - 16.01.2025
Added a warning for the parameter list if there are many ROS nodes. No automatic update of the parameter list when opening Increased timeout to get parameter list Added QoS visualization to each topic Added package proposals to launch file editor
3.0.11 - 16.01.2025
Topic panel revised fixed: ros1 interface to mas gui
3.0.10 - 15.01.2025
Changed json visualization to react18-json-view Fixed topic visualization when one topic is part of another Fixed starting the external terminal with ROS_DOMAIN_ID of the provider
3.0.9 - 14.01.2025
Changed: do not use ‘RMW_IMPLEMENTATION=rmw_fastrtps_cpp’ for mas-discovery
3.0.8 - 14.01.2025
Added visualization for read-only files and files in the installation folder Added forced update of ros nodes Changed the process for updating the ros status; is performed in a separate thread Fixed deselection of nodes after starting/stopping Fixed unrecognized file saves Fixed close dialog when exiting the application Fixed: restore external window before focus Fixed: closes app although an item has been selected
3.0.7 - 13.01.2025
Ignore last changes
3.0.6 - 13.01.2025
Hot fix for render error
3.0.5 - 13.01.2025
Fixed: do not deselect node after start/stop Fixed: fixed nodes cleanup if screen and launch info are gone
3.0.4 - 12.01.2025
Updated minimum daemon version Fixed the problem where the automatic updates were stopped
3.0.3 - 10.01.2025
Reverted some type changes to fix the closing behavior of the app
3.0.2 - 10.01.2025
Added stop for execute process and visualization for screen processes Bump version of some depended libraries
3.0.1 - 09.01.2025
Added dependecy python3-netifaces for mas_pylib Updated docker files Fixed: show screens of not running nodes e.g. ExecuteProcess, see issue #4 Fixed: daemon for galactic
3.0.0 - 08.01.2025
Changed: app icon and removed js build options Changed: translated JavaScript to TypeScript Changed: parameter panel Changed: topic info structure Added: show incompatible qos information in topics panel Added: kill all parents, to handle the case if respawn script is used Added: visualization and control for lifecycle ros2 nodes Added: show the content of the parameter file in ros2 configuration details Added: file selection dialog if a node is defined in multiple launch files Added: warning if executable for a loaded node was not found Added: parsing for included files for loaded ros2 python launch files Added: search for child processes of the screen to kill the correct process Added: signal handling to ros2 nodes Updated: visualization of composable node and nodes with same GUID Updated: the determination of the composable node for ROS2 Updated: readme and depended licenses Fixed: call ros2 service Fixed: error visualization if save file failed Fixed: wheel scroll in parameter selection dialog Fixed: reduced forced updates after ros service calls in ros2 Fixed: expand/collapse node groups only on icon or double click Fixed: do not switch to node details panel on node updates Fixed: start daemon nodes with default configuration Bump version of systeminformation dependency
2.7.0 - 09.12.2024
Added: remember network id in connect dialog Added: environment VITE_ variables to join at start Added: docker configuration files Added: option to adjust local time to the robot Added: auto-connect on start if daemon is running Changed: open behavior of the connect dialog Removed: sass dependency Fixed: warning “findDOMNode is deprecated” Fixed: X-Tree deprecation warning Fixed: multiple runs for update and domain id check Fixed: onClose warning Fixed: import error in jazzy Fixed: “invalid escape sequence” for python 3.12 Fixed: undefined ttyd port Fixed: parameter handling for rolling Fixed: open screens of a provider
2.6.10 - 07.11.2024
Changed description for setup ssh config in password dialog Fixed: reporting changed paths for symlinks Fixed: crash on open self included files Fixed: save changes and not lost editor focus Fixed: open screens if exactly two screens are available for a node Fixed: load included files without arguments Fixed: error while run remote node Fixed: build error
2.6.9 - 17.10.2024
Added search bar to topic echo panel Fixed: do not force start nodelet manager if it is already running and not selected to restart
2.6.8 - 14.10.2024
fixed: computer name contains dash which is not allowed in node names, issue #3
2.6.7 - 11.10.2024
Added script to bump version of the gui and daemon fkie_mas_daemon: fixed detection of nodelet manager for nodelets
2.6.6 - 10.10.2024
Fixed: load start parameter of older version Fixed: wait until all kill_on_stop fired before start nodes to ensure the nodelet manager start first.
2.6.5 - 10.10.2024
Changed connect dialog, replaced checkbox by button to save parameters Fixed: restart if kill_on_stop is set
2.6.4 - 09.10.2024
Improved auto update Small style and naming changes
2.6.3 - 09.10.2024
Fixed: host color for package explorer
2.6.2 - 09.10.2024
Start nodelet manager before nodelets also if not selected Added handling for nm/kill_on_stop parameter Force reload file and drop local changes Catch errors while read ssh configuration Fixed: selection of root item in explorer of the editor Fixed: display of multiple screens in details panel Fixed: font size of the node names with namespaces
2.6.1 - 08.10.2024
Load configuration files into the editor only on demand, show loading indicators Expand all items from root to the selected item in explorer of the editor Fixed: scrollbar in package explorer of the editor Fixed: read old start configurations
2.6.0 - 07.10.2024
Use ssh keys instead of store credentials in keyring Added copy button in connect dialog Added further connect configuration parameter On load launch file dialog: update the last open path each time the path is changed Open the parent file and go to the location where the file is included, differentiate between multiple includes of the same file Show all occurrences of included files in package explorer All notifications can now be closed Close launch file editor on double ESC Changed settings dialog to settings and about tab, moved the icons to bottom right Fixed: exception in package explorer with equal subdirectory names Fixed: parse NaN values in topic messages (use JSON5)
2.5.11 - 27.09.2024
Added lint to configuration Changed handling of collapse/expand in echo panel Fixed: do not scroll control panel in echo tab
2.5.10 - 18.09.2024
Handling of capability groups revised Added launch parameter to the node details view Fixed: system node determination in ROS2
2.5.9 - 17.09.2024
Added parameter to move the group parameter in the namespace tree Changed sort order for capability groups Fixed: determination of group parameters for nodes if group parameter are defined globally
2.5.8 - 12.09.2024
Fixed rendering error caused by last change
2.5.7 - 12.09.2024
Fixed restart nodes on changed binary notification
2.5.6 - 12.09.2024
Do not display notifications about changed binary files in external windows
2.5.5 - 10.09.2024
Fixed: grouping by capability group, use group parameter in the namespace of the node Fixed: node template for XML launch files Fixed: parameter panel for ROS2 Fixed: open terminal for update
2.5.4 - 10.09.2024
Changed position of the provider terminal button
2.5.3 - 09.09.2024
Fixed: shortcuts in terminal
2.5.2 - 05.09.2024
Fix: eliminate – inside XML comments
2.5.1 - 04.09.2024
Added host colors to editor, terminal, echo, publisher and service caller panels
2.5.0 - 04.09.2024
Service panel revised Added optional ROS_MASTER_URI prefix while starting system nodes Use ROS_DOMAIN_ID environment variable for network id while start ros1 system nodes Added ros master uri to connect dialog Added expand parameter groups on search Replaced refresh buttons in parameter and topic panel Fixed: detection of discovery state in ros2 Fixed: websocket ports calculation depending on network id and ros master uri Fixed: hot reloading after change .jsx files Fixed: undo of comment/uncomment text with “–” in xml files
2.4.5 - 02.09.2024
Optimized settings dialog
2.4.4 - 28.08.2024
NodeDetailsPanel cleaned up Hide some parameter in web version Terminal revised: new shortcuts, switchable search bar _ Ctr+{+, - , 0}: change font size _ Ctr+f: enable search bar _ Escape in search bar: close search bar
_ Ctrl+Shift+C: copy selected text to clipboard * Ctrl+D: close terminal Version of the dependencies pumped up Fixed: popout capability in browser Fixed: warning while open screen
2.4.3 - 28.08.2024
Added selection dialog on actions with multiple nodes Parameter tab revised Fixed: progress bar in nodes tab Fixed: Uncaught TypeError: styled_default is not a function
2.4.2 - 27.08.2024
Fixed: do not open external window on middle mouse click Fixed: open terminal as tab or as external window
2.4.1 - 27.08.2024
Expand node groups on filter nodes Expand topic groups on filter topics Changed behaviour to show/hide extended topic info in topics panel Prevent open as tab and external window at same time Fixed: start of dynamic reconfiguration dialog Fixed: open node launch configuration in external window
2.4.0 - 26.08.2024
Added: close tabs with middle mouse Added: ctrl+shift+c to copy text in the terminal window Added: options to open terminals (screen, log) in external window by default Added: options to open subscriber in external window by default Added: tooltips for log levels in logger panel Added: configurations for open tab locations Select nodes tab on close tab if it is in the same set
2.3.2 - 21.08.2024
Added option to open editor in external window by default Reduced control buttons using key modifiers Run refresh nodes callback also if not connected to provider Prepand always “RMW_IMPLEMENTATION=rmw_fastrtps_cpp” while start ros2 discovery node Fixed: detection of running discovery node in ros2
2.3.1 - 26.07.2024
Add dialog to save changed file on close external editor Added shift as button modification to open editor in a new window Fixed: do not reload own saved files
2.3.0 - 25.07.2024
Added: open editor in external window Select nodes tab if it is in the same set as the closed editor Fixed: focus problem if a screen with rosbag play is open Fixed: selection in draggable dialogs
2.2.0 - 24.07.2024
Added dynamic reconfigure for ROS1 nodes
2.1.9 - 23.07.2024
Automatically switch to LOG if the screen fails Updated screen and log icons for tabs Changed calculation of the abbreviation of the tab name Disable Ctrl+C for log tab to be able to abort waiting log Added option Ctrl+Shift+I to format XML files Replace “–” in xml comments Fixed: open screen on double click for ros2 nodes Fixed: shortcuts for toggle comment and open command palette in editor
2.1.8 - 19.07.2024
Handle double click on a node:
- running: open screen
+ shift: open screen in external terminal
+ ctrl: stop the node
- not running: open log
+ shift: open log in external terminal
+ ctrl: start the node
Updated readme
2.1.7 - 19.07.2024
Changed load button to primary color Fixed navigation with shift+{home, end} in autocomplete inputs Fixed issue with not imported class in package explorer
2.1.6 - 19.07.2024
fixed broken dialogs
2.1.5 - 19.07.2024
Close reload launch file alert if file was reloaded Close “file changed” alert if the node was started manually Added autoFocus to searchBar Changed screen icon Focus Terminal and Log on open
2.1.4 - 18.07.2024
Changed screen and log icons Scroll to the end on log open
2.1.3 - 18.07.2024
Changed position of node control buttons to left side Changed search bars to case insensetive Changed position of external apps button Removed table header for publisher and subscriber in node details panel Fixed: warning in package manager Fixed: security alerts of dependencies Fixed: start of daemon with different daemon id in ros2
2.1.2 - 17.07.2024
Autohide menu bar Moved copy button to menu in package explorer Print error message if package was not found on shift+double click Fixed: application icon for appImage Fixed: get package list on connect
2.1.1 - 17.07.2024
Fixed: recursive search if some file models are not found Fixed: error handling if some websocket methods are not registered Fixed: host line height Fixed: update parameter panel after first start
2.1.0 - 16.07.2024
Switched from webpack to electron-vite builder Use abbreviations for closable tabs Fixed: start mas discovery in different networks
2.0.2 - 15.07.2024
Added icons to overflow menu for topics and services in node details panel Added info to service details Added title to publisher, echo and service call panel Changed show subscribers first in node details panel Changed position of the control buttons in package explorer Changed: use abbreviations for closable tabs Improved host visualization Fixed: copy message in publish dialog Fixed: show start button on disconnected providers
2.0.1 - 08.07.2024
Fixed: call service in ros1 and ros2 Fixed: set logger level in ros1
2.0.0 - 05.07.2024
Replaced crossbar by websocket Reduced count of rerenders while update ROS state
1.4.4 - 06.05.2024
Show logging panel on click on snackbar message Moved ‘show details’ button to description header in Log panel
Fixed: problems with load shared libraries while start in some environments Fixed: start nodes with respawn argument in ros2
1.4.3 - 30.04.2024
Added left border to layout Added: change detection for ros2
Fixed: visibility handling of bottom border on closing of last tab Fixed: binary change detection if binary is a link
1.4.1 - 25.04.2024
Show delay to connected hosts Added screen name to node details info Added log paths to node details info Added selected nodes count to node details info
Fixed: unique keys warnings Fixed: recursive search in text editor Fixed: crash after select node by click on launch file
1.4.0 - 24.04.2024
Added configuration parameter to show floating buttons, default false Copy full file path on double click on the included file in editor explorer Changed node id generation Improved performance in topic view, node details panel and log/screen terminals Improves the starting behavior, send ros.daemon.ready at an interval Updated dependencies
Fixed: visualization error on not implemented get loggers in ros2 Fixed: shows nodelets/manager not only after a launch file was loaded Fixed: get diagnostics in ros2 Fixed: nodes are not deselected after start or stop them in ros2 Fixed: remember view state (JSON tree) of received topic in topic echo
1.3.8 - 10.04.2024
Improved stop/kill nodes for ROS2 Updated dependencies, replaced deprecated xterm… by @xterm/…
Fixed not close the app after host shutdown Fixed ros2 start/join with ROS DOMAIN ID different then zero
1.3.7 - 04.04.2024
Improved style of the message/service input dialog Show complete launch path in the node details panel Added: copy topic type on double click in topic panel
Fixed: parse/visualization of ros2 messages Fixed: service call when exactly 1 non-default parameter value is given Fixed: service call with boolean param Fixed: a lot of eslint warnings
1.3.6 - 22.03.2024
Update daemon version on join if already connected Changed extensions for launch file detection
Fixed: freeze on close while connecting
1.3.5 - 21.03.2024
Added button to show all nodes visible to each host Added location to node info Improved version detection of the daemon
Fixed: size of the clear button in the search bar Fixed: local providers are displayed twice after the start Fixed: visualization of the error message in snack bar
1.3.4 - 18.03.2024
Fix selection order in HostTreeView when using ctrl
1.3.3 - 15.03.2024
Added “!” as “not” to search bar Added menu to change parameter type in parameter panel Added link symbol to help menu Improved service call for ros1 Check only once after start for new version Do not ask for quit app if no providers available Show no long info if service input is empty
Fixed: set type while set/change parameter in ros1 Fixed: log level view for c++ nodes Fixed: history update in launch dialog
1.3.2 - 13.03.2024
Fixed: values in the parameter dialog of the launch file cannot be changed Fixed: waning about invalid URL
1.3.1 - 13.03.2024
Reduced rate of diagnostic messages Revert debounce on built-in terminal display Fixed open log in external terminal Fixed rate of latched messages
1.3.0 - 12.03.2024
Renamed tabs: Hosts -> Nodes, Providers -> Hosts Revised start procedure and the start dialog Added shortcuts Ctrl+{+,-} to change global font size
Fixed echo for topics with arrays in ros2
1.2.1 - 07.03.2024
Added save all files on close editor tabs or quit gui Limit built-in terminal text update to 10hz Modified processing of uint8[] message datatypes to send only the first 10 bytes. Changed default window size for topic statistics.
1.2.0 - 01.03.2024
Added panel to change log level Show info if daemon version is lower then gui’s version Prevent waiting for the timeout if daemon is not available Fix transport of uint8[] datatypes in echo node
1.1.1 - 28.02.2024
Added tree view to editor Added host color to editor Improved visualization for recursive search results in editor Show update info if new version of the gui is available. Improved launch parameter dialog.
Fixed: delete provider Fixed: do not show shutdown dialog on install update
1.1.0 - 21.02.2024
Added extend search for multiple keywords / OR / AND in nodes, topics, params and services Added visualization for warnings in provider panel Added settings to change font size globally and for terminal
Changed host color assignment to map hash instead of using remainder Improved time difference calculation Hide bottom panel on close of last terminal Fixed: remove discovered provider on disconnect from discoverer Fixed: disabled unregister for ROS2 nodes Fixed: open terminal for sync time Fixed: find service definition in ros2
1.0.0 - 13.02.2024
Add first version of MAS GUI
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake |