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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

Package symbol

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

Package symbol

dispatcher package from dispatcher repo

dispatcher

ROS Distro
rolling

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange

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

dispatcher package from dispatcher repo

dispatcher

ROS Distro
jazzy

Package Summary

Version 0.4.4
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-09-05
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Qt-based ROS 2 application for launching and monitoring ROS nodes and arbitrary processes.

Additional Links

Maintainers

  • Kristopher Wehage
  • Daniel Pastor

Authors

  • Dennis Wai
  • Alex Brinkman
  • Preston Rogers

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

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.
start_checked_on_startup bool false Start all checked process items after loading the initial configuration.
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 type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array. Entries in items follow the same rules, including the default to ROS when type is omitted.

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, or a ros_nodes array with the same monitoring fields for online-state monitoring. An omitted namespace resolves to the root namespace, so name: talker matches the graph’s /talker; a name that is already absolute, such as /fcat/fcat, carries its own namespace.

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/.

ROS 2 Demos (runnable out of the box)

Four examples run without any custom packages, using only the demos that ship with ROS 2. Each is self-contained and includes an rqt_graph button. Install the demo packages if needed:

```bash sudo apt install ros-$ROS_DISTRO-demo-nodes-cpp \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package dispatcher

Forthcoming

0.4.4 (2026-09-05 02:08)

  • Merge pull request #6 from nasa-jpl/copilot/fix-bump-github-actions-job

    Fix "bump" workflow: use pull_request_target so fork-based merges can push tags

  • Fix bump workflow: use pull_request_target to get write token for fork PRs

    Co-authored-by: PastorD <<7848129+PastorD@users.noreply.github.com>>

  • Initial plan

  • Merge pull request #4 from PastorD/feature/start-checked-on-startup

    Add checked-item startup parameter

  • improve config docs

  • fix category type default to match non-category behaviour

  • fix namespace resolution

  • add ros2 examples

  • Add checked-item startup parameter

  • Contributors: copilot-swe-agent[bot], Daniel Pastor

0.4.3 (2026-09-03 16:42)

  • Merge pull request #5 from nasa-jpl/update-authors

    update authors

  • fix author name

  • update authors

  • Contributors: Daniel Pastor

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dispatcher at Robotics Stack Exchange