SoFunction
Updated on 2025-04-28

Steps to get ros2 parameters in C++

In ROS 2, a file is a script used to define and start multiple nodes and their configurations. If you want to get parameters passed through files in C++ code, you can use the Node class in the rclcpp library to access these parameters. Here are the steps to implement this function in C++:

Create ROS 2 nodes

First, you need to create a ROS 2 node. This is usually done in the constructor of your C++ node class.

#include "rclcpp/"
class MyNode : public rclcpp::Node
{
public:
    MyNode() : Node("my_node")
    {
        // Get parameters        std::string param_value = this->declare_parameter("param_name", "default_value");
        RCLCPP_INFO(this->get_logger(), "Parameter value: %s", param_value.c_str());
    }
};

Step 2: Set parameters in

In your file, you can set parameters as follows:

from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
    return LaunchDescription([
        Node(
            package='your_package',  # Your package name            executable='your_executable',  # Your executable file name is usually the node name plus the _node suffix            name='my_node',  # The name of the node should match the Node name in the C++ class            output='screen',
            parameters=[{'param_name': 'some_value'}]  # Set parameters and their values        )
    ])

This is the end of this article about C++ getting ros2 parameters. For more related C++ ros2 parameters, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!