Skip to content

Document node parameters and switch to config-file based launch - #5

Merged
mmmarinho merged 1 commit into
jazzyfrom
feature/node-parameters-and-config-launch
Aug 25, 2026
Merged

Document node parameters and switch to config-file based launch#5
mmmarinho merged 1 commit into
jazzyfrom
feature/node-parameters-and-config-launch

Conversation

@mmmarinho

Copy link
Copy Markdown
Member

Summary

Applies the standard "ROS 2 Nodes & Parameters" README section and converts the launch files to the config-file-based pattern used by sas_robot_driver_ur.

Changes

  • Converts all four launch files to load parameters from a YAML configuration file via a config_file launch argument.
  • Adds config/config.yaml with one block per node, keyed by the effective ROS node name:
    • sas_datalogger (server — no parameters)
    • sas_datalogger_gui_node (whitelist)
    • sas_datalogger_client_example (C++ client — no parameters)
    • sas_datalogger_client_example_py_rclpy (execution_times)
  • Fixes a latent node-name collision: the server and GUI launches both used name='sas_datalogger', so running them together would collide and no single config file could key both. The GUI now uses its own distinct name sas_datalogger_gui_node; the server keeps sas_datalogger.
  • The Python example client executable creates two nodes (rclcpp + rclpy), so that launch does not set a name (avoiding an ambiguous __node remap); execution_times is configured through the config block keyed by the rclpy node's fixed code name.
  • Adds config/gui_test.yaml for the GUI docker scenario and switches docker/compose_gui.yml to config_file:=....
  • Removes a stray execution_times:=50000 from the C++ client launch in docker/test.sh (the C++ client declares no such parameter; the value was previously ignored).
  • Adds a ROS 2 Nodes & Parameters README section and installs the config/ directory into the package share directory.

Verification

  • All launch files py_compile cleanly; both YAML configs parse.
  • Config-file top-level keys were cross-checked against each node's effective name (the launch name remaps __node, which is what rclpy/rclcpp use to select the config block).
  • No downstream references to the removed whitelist:= / execution_times:= launch arguments remain.

Note: this PR was created by an AI agent (OpenHands) on behalf of the user.

- Convert all four launch files to load parameters from a YAML
  configuration file (config_file launch argument).
- Add config/config.yaml with one block per node, keyed by the effective
  ROS node name: sas_datalogger (server, no params),
  sas_datalogger_gui_node (whitelist), sas_datalogger_client_example
  (C++ client, no params), sas_datalogger_client_example_py_rclpy
  (execution_times).
- Fix a latent node-name collision: the server and GUI launches both used
  name='sas_datalogger'; the GUI now uses its own name
  'sas_datalogger_gui_node'. The server keeps the name 'sas_datalogger'.
- Add config/gui_test.yaml for the GUI docker scenario (whitelist +
  execution_times), and switch docker/compose_gui.yml to config_file.
- Remove the stray execution_times:=50000 from the C++ client launch in
  docker/test.sh (the C++ client declares no such parameter).
- Add a 'ROS 2 Nodes & Parameters' README section and install the config
  directory into the package share dir.

Co-authored-by: openhands <openhands@all-hands.dev>

@mmmarinho mmmarinho left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@mmmarinho
mmmarinho marked this pull request as ready for review August 25, 2026 02:39
@mmmarinho
mmmarinho merged commit 4eb3141 into jazzy Aug 25, 2026
2 checks passed
@mmmarinho
mmmarinho deleted the feature/node-parameters-and-config-launch branch August 25, 2026 02:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants