ROS 2

ROS 2 Tutorials : Understanding parameters

정지홍 2025. 1. 4. 20:55

https://docs.ros.org/en/jazzy/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Parameters/Understanding-ROS2-Parameters.html

 

Understanding parameters — ROS 2 Documentation: Jazzy documentation

This is the same command you always use to start turtlesim, with the added flags --ros-args and --params-file, followed by the file you want to load. Stop your running turtlesim node, and try reloading it with your saved parameters, using: The turtlesim wi

docs.ros.org

 

background

  • parameter는 node의 configuration value입니다. 쉽게 생각하면 node의 settings이 parameters이다.
  • node는 parameters를 integer,float,boolean,string,list타입으로 지정할 수 있습니다.
  • ROS 2에서는 각각의 node들은 자신의 parameters를 유지합니다.

 

Task

  • 1. 늘 그랬듯, turtlesim_node와 turtle_teleop_key를 실행한다.
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
  • 2.  내가 소유한 node들의 parameters를 보고 싶다면, 아래의 명령어를 입력하자.
    • 모든 노드들은 use_sim_time이라는 parameter를 가진다.
    • 이름에서 볼 수 있듯이, turtlesim에 대한 parameters에서 색상을 지정하는 것들을 볼수있다.
ros2 param list

ros2 param list에 대한 출력

  • 3. 특정한 parameter에 대한 type과 value를 알고 싶다면 아래의 형식에 따라서 입력한다.
ros2 param get <node_name> <parameter_name>

turtlesim의 background의 green에 대한 색상값을 가져왔다.

  • 4. parameter의 값을 변경하고 싶다면, 아래의 형식에 따라서 입력하자.
    • set으로 parameter의 값을 변경하는 것은 현재의 session에서만 유효하다. 즉, 영구적이지 않다.
    • 하지만, setting을 저장하고 reload한다면 다음에 실행하는 것은 가능하다.
ros2 param set <node_name> <parameter_name> <value>

ros2 param set /turtlesim background_r 150라고 입력을 하여 red에 대한 색상값을 변경하였다.

  • 5. 현재 node의 parameters를 dump뜨고 싶으면 아래의 형식에 따라서 입력하면 된다.
    • 예제에서는 redirection을 이용하여 turtlesim.yaml로 저장하였다.
ros2 param dump <node_name>

ros2 param dump /turtlesim > turtlesim.yaml

dump뜬 turtlesim의 parameters는 다음과 같다.

  • 6. 위에서 dump뜬거를 적용하려면 아래의 형식을 입력하자.
    • 우선 새로 turtlesim을 띄우고 param load명령어를 입력하면, dump한 parameters가 적용된다.
ros2 param load <node_name> <parameter_file>

ros2 param load /turtlesim turtlesim.yaml

chmod 해서 해쥼

  • 7. 근데 6번처럼하면 귀찮으니까 실행할때 한반에 적용되게 하려면 아래 형식처럼 입력하면 된다.
ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>
ros2 run turtlesim turtlesim_node --ros-args --params-file turtlesim.yaml

background색이 그대로 이다.

 

summary

  • nodes는 default configuration vales에 대한 parameters를 가지고 있다.
    이것들을 get이나 set으로 변경,가져오기가 가능하다. (cmd에서)
    또한 parameters의 setting을 저장하고 이를 불러오는 것도 가능하다.