ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The way I do it:

from launch import LaunchDescription
from launch.substitutions import EnvironmentVariable
import os
import launch_ros.actions
import pathlib

parameters_file_name = 'default.yaml'

def generate_launch_description():
    parameters_file_path = str(pathlib.Path(__file__).parents[1]) # get current path and go one level up
    parameters_file_path += '/config/' + parameters_file_name
    print(parameters_file_path)
    return LaunchDescription([
        launch_ros.actions.Node(
            package='example_pkg',
            node_executable='example_node',
            output='screen',
            parameters=[
                parameters_file_path
            ],
         ),
    ])

config file in the /config folder:

 example_node:
        ros__parameters:
            some_int: 41
            log_severity: 1 #0-debug, 1-info, 2-Warn, 3-Error, 4-Fatal
            a_string: "Hello world"
            some_lists:
                some_integers: [1, 2, 3, 4]
                some_doubles : [3.14, 2.718]

in the cpp file:

ExampleNode::get_parameter_or("log_severity", severity_level , 0);