Ros2 launch.py에서 yaml 파일 전달 오류

매우 간단한 문제인데 해결이 안되고 있어서 혹시 경험있으신분이 있을까 해서 올려봅니다.
현재 ros2 r1mini 패키지에 joy 노드를 추가하려고 작업중인데요,

omo_r1mini_teleop 패키지 안에 param 폴더를 만들고 yaml 파일을 추가한 다음
launch.py에서 이 설정파일을 node에 전달하도록 작성하였습니다.
코드는 아래 경로에 branch dev 로 commit 되어있습니다.

근데 teleop_joy.py 노드를 실행시킬때
해당 parameter를 self.get_parameter(‘max_fwd_m_s’) 이런식으로 읽어드리면
다음과 같이 파라미터가 선언되지 않았다고 나옵니다.

[teleop_joy-1]     raise ParameterNotDeclaredException(name)
[teleop_joy-1] rclpy.exceptions.ParameterNotDeclaredException: ('Invalid access to undeclared parameter(s)', 'max_fwd_m_s')
[ERROR] [teleop_joy-1]: process has died [pid 5119, exit code 1, cmd '/home/kyu2/ros2_ws/install/omo_r1mini_teleop/lib/omo_r1mini_teleop/teleop_joy --ros-args -r __node:=teleop_joy -r __ns:=/ --params-file /tmp/launch_params_4_la0oey'].

도움좀 부탁드리겠습니다.

자문자답이 되었네요.
아래 문서에 잘 정리가 되어있습니다.

launch.py 에서 yaml 파일을 정상적으로 불러왔더라도
node에서 해당 파라미터를 선언하지 않으면 node에서 제대로 불러오지를 못하는군요.
그래서 다음과 같이 추가해주었더니 정상적으로 로드가 됩니다.

    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),
            ])
        self.max_fwd_vel = self.get_parameter_or('max_fwd_m_s', Parameter('max_fwd_m_s', Parameter.Type.DOUBLE, 0.2)).get_parameter_value().double_value
        self.max_rev_vel = self.get_parameter_or('max_rev_m_s', Parameter('max_rev_m_s', Parameter.Type.DOUBLE, 0.2)).get_parameter_value().double_value
        self.max_ang_vel = self.get_parameter_or('max_deg_s', Parameter('max_deg_s', Parameter.Type.DOUBLE, 0.2)).get_parameter_value().double_value
        

뭔가 좀 번거롭다는 느낌이 드는건 어쩔 수 없군요…

참고로 ROS2에서 joy_node를 불러와서 조이스틱으로 조종하는 패키지를
아래 git에 정리하였습니다.
주변에 조이스틱이 있다면 한번 사용해보세요.