2.4 Launch files and parameter management
Launch Files & Parameter Management in ROS 2
Overview
Is module mein hum ROS 2 ke Launch files, unka workflow, aur
parameter management ko detail mein seekhenge.
Launch files multiple nodes ko ek saath run karne, parameters pass
karne, aur system configuration manage karne ke liye use hoti hain.
Workflow Diagram
flowchart TD
A[Define Nodes] --> B[Create Launch File]
B --> C[Add Parameters]
C --> D[Test Launch File]
D --> E[Run Using ros2 launch]
E --> F[Parameter Overrides<br>Dynamic Config]
Creating a Launch File in ROS 2 (Python Launch System)
Step 1: Create Launch Folder
my_python_pkg/ ├── launch/ ├── my_python_pkg/ └── setup.py
Step 2: Create a Launch File
File: launch/my_launch.py
from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
return LaunchDescription([
Node(
package='my_python_pkg',
executable='minimal_node',
name='my_minimal_node',
parameters=[{
'robot_name': 'my_humanoid',
'speed_limit': 1.5
}]
)
])
Running the Launch File
ros2 launch my_python_pkg my_launch.py
Parameter Management in ROS 2
Declaring Parameters
self.declare_parameter('robot_name', 'default_robot')
self.declare_parameter('speed_limit', 1.0)
Accessing Parameters
robot = self.get_parameter('robot_name').get_parameter_value().string_value
speed = self.get_parameter('speed_limit').get_parameter_value().double_value
self.get_logger().info(f"Robot: {robot}, Speed Limit: {speed}")
Overriding Parameters from CLI
ros2 run my_python_pkg minimal_node --ros-args -p speed_limit:=2.0
Overriding Parameters Through Launch File
parameters=[{'speed_limit': 3.0}]
Self‑Assignment Tasks
- Apna custom launch file create karein jisme 2 nodes run ho rahe hon.\
- Ek parameter add karein jo robot ka mode change kare (e.g., "idle", "walk").\
- Launch file se parameter override kar ke test karein.\
- Node ke andar parameter ko dynamically log karna.\
- Launch folder ki documentation ready karein.
MCQs (Multiple Choice Questions)
1. ROS 2 launch files mainly kis cheez ke liye use hoti hain?
a) File downloads
b) Multiple nodes ko manage/run karna
c) Audio processing
d) Motor wiring
2. Parameter declare karne ka sahi ROS 2 syntax kya hai?
a) new param()
b) define_param()
c) self.declare_parameter()
d) create_parameter()
3. Launch file run karne ka correct command:
a) ros2 start launch
b) ros2 run launch
c) ros2 launch
d) start.launch
4. Parameter override command line se kaise hota hai?
a) -param
b) --ros-args -p
c) set --value
d) ros2-param
5. Parameter ka value node ke andar kaise access hota hai?
a) get_param_value()
b) self.get_parameter()
c) param.read()
d) get_value()