Skip to content

Document node parameters and switch to config-file based launches - #18

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 launches#18
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 / sas_robot_driver_kuka.

  • Renames launch/sas_robot_driver_ros_composer_example.pylaunch/composer_example_launch.py and converts it to load all parameters from config/config.yaml via a config_file launch argument.
  • Adds launch/composer_launch.py (single composer node) and launch/watchdog_launch.py (watchdog commander node).
  • Adds config/config.yaml with parameter blocks for the three nodes: sas_robot_driver_ros_composer_node, sas_robot_watchdog_commander_node, and the two sas_robot_driver_ros_example instances (named robot_1 and robot_2).
  • Adds a ROS 2 Nodes & Parameters README section (and updates AGENTS.md) documenting every parameter of each node (type, mandatory/optional, default, purpose).
  • Installs config/ into the package share directory.

Notes

  • The composer's robot_driver_client_names entries are topic prefixes of the client nodes; the example launch keeps robot_1/robot_2 as the node names of the two example instances so each reads its own config block.
  • This PR is one of a set of companion PRs across the SmartArmStack repositories.

Verification

  • python3 -m py_compile passes on all launch files.
  • config/config.yaml parses and contains blocks for all node instances; parameter names cross-checked against the node sources.

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

- Rename launch/sas_robot_driver_ros_composer_example.py to
  launch/composer_example_launch.py and convert it to load all parameters
  from config/config.yaml (config_file launch argument).
- Add launch/composer_launch.py (single composer node) and
  launch/watchdog_launch.py (watchdog commander node).
- Add config/config.yaml with parameter blocks for the three nodes
  (sas_robot_driver_ros_composer_node, sas_robot_watchdog_commander_node,
  and the two sas_robot_driver_ros_example instances named robot_1 and
  robot_2).
- Add a 'ROS 2 Nodes & Parameters' section to the README (and update
  AGENTS.md) documenting every parameter of each node.
- Install the config directory into the package share directory.

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.

Is the indentation in the config file correct?

@mmmarinho

Copy link
Copy Markdown
Member Author

Good question — I re-verified config/config.yaml at the PR head and it is correct:

  • Valid YAML: the file parses cleanly with yaml.safe_load.
  • Indentation: uniform 2-space indentation throughout (no tabs); the nesting is node_name -> ros__parameters -> <param>, consistent across all four blocks.
  • Keys match the effective node names: I cross-checked every top-level key against the node names set by the launch files:
    • robot_1, robot_2 -> set as name='robot_1' / name='robot_2' in composer_example_launch.py
    • robot_composed -> set as name='robot_composed' (also the default of composer_launch.py)
    • sas_robot_watchdog_commander_node -> the watchdog node has no explicit name in watchdog_launch.py, so its effective name is the code name, which the block key matches.

So each node only receives its own block. If you were looking at a specific spot that still seems off, let me know which line and I will adjust it.

This comment was created by an AI agent (OpenHands) on behalf of the user.

@mmmarinho
mmmarinho marked this pull request as ready for review August 25, 2026 08:28
@mmmarinho
mmmarinho merged commit 2fabb5c into jazzy Aug 25, 2026
2 checks passed
@mmmarinho
mmmarinho deleted the feature/node-parameters-and-config-launch branch August 25, 2026 08:28
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