|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged dispatcher at Robotics Stack Exchange
|
dispatcher package from dispatcher repodispatcher |
ROS Distro
|
Package Summary
| Version | 0.4.2 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/nasa-jpl/dispatcher.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-08-31 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kristopher Wehage
Authors
Dispatcher
A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.
Runtime Parameters
The dispatcher executable uses the following ROS parameters:
| Name | Type | Default | Description |
|---|---|---|---|
dispatcher_config_path |
string |
"" |
Path to the dispatcher YAML file. |
initial_configuration |
string |
"" |
Configuration name to select on startup. |
ssh_timeout_sec |
int |
10 |
Timeout used when building remote SSH commands. |
target_loop_rate_hz |
double |
100.0 |
Main process/status polling rate. |
YAML Configuration
The top-level dispatcher YAML supports:
| Key | Required | Description |
|---|---|---|
workspace |
Yes | Workspace path used by ROS process items before sourcing install/setup.bash. |
nodes |
Yes | Process and category definitions rendered in the main panel. |
configurations |
No | Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon. |
cmd_prefix |
No | Default command prefix for the implicit all configuration. |
environment_variables |
No | Default environment variables for the implicit all configuration. |
hide_unconfigured_processes |
No | If true, items missing in the active configuration are hidden instead of disabled. |
scripts |
No | Script button definitions shown in the scripts panel. |
variables |
No | Variable selectors used for $VARIABLE command substitution. |
Node Types
Each entry in nodes can be:
- A ROS process item. If
typeis omitted, the item is treated as ROS by default. - A shell process item with
type: shell. - A collapsible category with
type: categoryand anitemsarray.
Common item fields include:
| Key | Description |
|---|---|
name |
UI label and tmux-session base name. |
cmd |
Command used for the implicit all configuration. |
configurations |
Per-configuration command definitions. |
start_checked |
Whether the item starts checked in the UI. Optional, defaults to false. |
stop_tmux_cmd |
Stop sequence sent to tmux. Optional, defaults to C-C. |
hostname / user
|
Optional remote execution target for local commands or configuration entries. |
use_cmd_prefix |
Enables or disables command-prefix injection. |
use_environment_variables |
Enables or disables environment-variable injection. |
attach_on_start |
Opens a terminal automatically after launch. |
ROS process items can additionally define node_name plus an optional
namespace that defaults to an empty string, or a ros_nodes array with the same
monitoring fields for online-state monitoring.
Shell process items use pgrep on the item name to infer online state.
Scripts and Variables
Script entries support:
| Key | Description |
|---|---|
name |
Button label. |
cmd or configurations
|
Script command definition. |
row, column
|
Grid placement in the scripts panel. |
icon |
Optional Qt resource path for the button icon. |
use_terminal |
Whether to wrap execution in gnome-terminal --. |
Variable entries support:
| Key | Description |
|---|---|
name |
Variable name used in commands, for example $FCAT_LOOP_RATE_HZ. |
choices |
Selectable values exposed in the UI. |
Examples
The following examples build incrementally from a minimal configuration to a
full-featured setup. Each one corresponds to a YAML file in config/
and a screenshot in doc/.
Configurations
config/example_configurations.yaml
shows the simplest multi-configuration setup. Two named configurations
(config_A and config_B) control which processes are available and which
commands they run. Processes that lack a definition for the active configuration
are grayed out.
| config_A | config_B |
|---|---|
![]() |
![]() |
```yaml
File truncated at 100 lines see the full file
Changelog for package dispatcher
Forthcoming
0.4.2 (2026-08-31 07:32)
-
Merge pull request #3 from nasa-jpl/fix-rolling
Fix rolling
-
add changelo update
-
use target_link_libraries instead of deprecated ament_target_dependencies
-
Contributors: Daniel Pastor
0.4.0 (2026-06-28 20:40)
- chore: bump version to 0.4.0 [skip ci]
- Merge pull request #1 from nasa-jpl/github-ci add actions and workflows
- add actions and workflows
- Contributors: Daniel Pastor, github-actions[bot]
0.3.0 (2026-06-28 20:02)
- Merge branch 'prepare-public-release' into 'master' update license to Apache. Readme corrections. Manually bump version See merge request robotics/ros2/dispatcher!4
- update license to Apache. Readme corrections. Manually bump version
- Merge branch 'feature/script_categories' into 'master' Add categories to scripts See merge request robotics/ros2/dispatcher!3
- doc image resize
- Updated docs to mention script categories
- Added attribution-free icons
- categories extended to scripts
- Contributors: Daniel Pastor, Daniel Pastor Moreno, jongreen
0.2.0 (2026-04-24)
- manual version bump
- Merge branch 'improve_readme' into 'master' Improve readme See merge request robotics/ros2/dispatcher!2
- fix tests
- add more examples
- add more examples with screenshots
- make start checked optional
- Merge branch 'casah-less' into 'master' Update to work without CASAH repos See merge request robotics/ros2/dispatcher!1
- remove debugging prints
- make namespace optional in config
- add github CI
- correct readme, add missing features
- add function doxygen comments
- add basic testing refactor logic for easier testing
- fix Q_OBJECT warnings
- fix smaller issues
- missing regex header
- missing h files in lib for QT to work
- add GetTimerRate
- use ros params
- replace EVRs with RCLCPPs logging
- update CMakeLists.txt
- move headers to their own folder
- Contributors: Daniel Pastor, Daniel Pastor Moreno, Joseph Bowkett
0.1.5 (2026-02-08)
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- Merge branch 'initial_config_danielm' into 'master' add initial configuration param See merge request casah/ros2/dispatcher!45
- add initial configuration param
- Contributors: Casah Gitlab Runner, Daniel Pastor, Daniel Pastor Moreno
0.1.4 (2025-10-09)
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Merge branch 'prestonr-dispatcher-lock-file-deletion-on-error' into 'master' Small change See merge request casah/ros2/dispatcher!44
- Small change
- Contributors: Casah Admin, Casah Gitlab Runner, Preston Rogers
0.1.3 (2025-06-12 04:39)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial commit See merge request casah/ros2/dispatcher!43
- Contributors: Casah Gitlab Runner
0.1.2 (2025-06-12 03:13)
- Merge branch 'prestonr-jazzy-ci-yml' into 'master' Initial
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| rclcpp | |
| std_msgs | |
| sensor_msgs | |
| std_srvs | |
| builtin_interfaces |

