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

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

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

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

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

- 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

summary
- nodes는 default configuration vales에 대한 parameters를 가지고 있다.
이것들을 get이나 set으로 변경,가져오기가 가능하다. (cmd에서)
또한 parameters의 setting을 저장하고 이를 불러오는 것도 가능하다.
'ROS 2' 카테고리의 다른 글
| ROS 2 Tutorials : Using rqt_console to view logs (1) | 2025.01.11 |
|---|---|
| ROS 2 Tutorials : Understanding actions (2) | 2025.01.05 |
| ROS 2 Tutorials : Understanding services (0) | 2025.01.03 |
| ROS 2 Tutorials : Understanding topics (0) | 2024.12.31 |
| ROS 2 Tutorials : Understanding nodes (0) | 2024.12.31 |