ROS2 Launch & Configuration

Creates modular Python launch files and YAML parameter configurations for ROS2 nodes.

Updated Aug 16, 2026
One-click install
npx skills add https://github.com/three1324/yeonjinautomotive --skill ros2-launch-configuration-three1324
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ROS2 Launch & Configuration
Source: https://github.com/three1324/yeonjinautomotive/tree/main/.claude/skills/ros2_launch_config
Command: npx skills add https://github.com/three1324/yeonjinautomotive --skill ros2-launch-configuration-three1324

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up ROS2 systems requires coordinating multiple nodes, namespaces, parameters, and lifecycle states, and ad-hoc launch files quickly become unmaintainable. This Skill provides structured templates for building modular, reusable launch configurations. ## Core Features & Use Cases - Modular Launch Structure: Organize launch files by subsystem (sensors, navigation) with shared includes for common functions and defaults. - Parameter Management: Centralize node parameters in YAML files with namespaced, nested configuration loaded by both C++ and Python nodes. - Lifecycle Node Integration: Auto-configure lifecycle nodes on startup using event handlers and state transitions. - Use Case: When bringing up a robot with a lidar driver, controller, and sensor nodes, generate a main launch file that declares arguments, loads a shared params.yaml, and conditionally starts nodes based on simulation mode. ## Quick Start Create a ROS2 launch file that starts my controller and sensor nodes with parameters loaded from a YAML config file.

Frequently Asked Questions about ROS2 Launch & Configuration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a ROS2 launch file in Python?

Define a generate_launch_description function that returns a LaunchDescription containing DeclareLaunchArgument entries and Node actions. Use LaunchConfiguration substitutions to reference argument values when configuring nodes.

How to load YAML parameters into ROS2 nodes?

Pass the YAML file path to the parameters argument of a Node action in the launch file. Structure the YAML with node names as top-level keys and ros__parameters beneath each, supporting nested parameter groups.

Can ROS2 launch files start both C++ and Python nodes?

Yes, the same Node action from launch_ros works for both. For C++ nodes, reference the executable name from CMakeLists.txt; for Python nodes, reference the script or entry point name.

How do I conditionally start nodes in a ROS2 launch file?

Use IfCondition or UnlessCondition with a LaunchConfiguration value in the node's condition argument. Declare a launch argument such as use_sim and gate node startup on its value.

How do I auto-configure lifecycle nodes at launch?

Use LifecycleNode with RegisterEventHandler and OnProcessStart to emit a ChangeState event with TRANSITION_CONFIGURE when the process starts. This triggers the configure transition automatically without manual intervention.