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

I kind of figured it out myself by referring a great document here https://roboticsbackend.com/ros2-yaml-params/

Any parameters included in yaml file has to be declared in the beginning with declare_parameters as below.

def __init__(self):
   super().__init__('teleop_joy_node')
   self.declare_parameters(
            namespace='',
            parameters=[
                ('max_fwd_m_s', None),
                ('max_rev_m_s', None),
                ('max_deg_s', None),
            ])

After adding this, I can see the parameters!

$ ros2 param dump /teleop_joy_node --print
/teleop_joy_node:
  ros__parameters:
    max_deg_s: 20.0
    max_fwd_m_s: 0.25
    max_rev_m_s: 0.2
    use_sim_time: false

I still don't understand why I have to do this but it is working now.