parameter란?
- node의 구성 값 ( = node 설정 )
- int, float, bool, string, list로 저장 가능'
실습
1. 설정
터미널 2개를 열고 다음과 같은 명령어를 실행한다.
(참고 : ros2 run <package_name> <executable_name>)
- 터미널 1
ros2 run turtlesim turtlesim_node
- 터미널 2
ros2 run turtlesim turtle_teleop_key
2. ros2 param list
node에 속한 parameter를 보려면 다음과 같은 명령어를 입력한다.
- 터미널 3
ros2 param list
아래와 같이 출력된다.
/teleop_turtle:
scale_angular
scale_linear
use_sim_time
/turtlesim:
background_b
background_g
background_r
use_sim_time
3. ros2 param get
매개변수 값을 확인하기 위해선 아래와 같은 명령어를 사용한다.
ros2 param get <node_name> <parameter_name>
예를 들어 다음과 같이 명령어를 실행해서 배경의 rgb 중 g 값을 알아낼 수 있다.
- 터미널 3
ros2 param get /turtlesim background_g
4. ros2 param set
런타임 시에 매개변수 값을 변경하려면 다음 명령을 사용한다.
ros2 param set <node_name> <parameter_name> <value>
/turtlesim의 배경색을 변경하기 위해선 아래와 같은 명령어를 사용하면 된다.
ros2 param set /turtlesim background_r 150
아래 사진처럼 배경색이 바뀐다.
이 명령은 영구적으로 저장되지 않고 현재 세션에만 저장된다.
5. ros2 param dump
file로 변경한 명령을 저장할 수 있는 명령어이다.
ros2 param dump <node_name>
아까 바꿨던 설정을 저장하기 위해선 아래와 같은 명령어를 사용한다.
ros2 param dump /turtlesim
./turtlesim.yaml에서 변경된 값을 확인할 수 있다.
6. ros2 param load
방금 저장한 파일을 이용해서 파라미터를 변경한다.
ros2 param load <node_name> <parameter_file>
- 터미널 3
ros2 param set /turtlesim background_r 0
ros2 param load /turtlesim ./turtlesim.yaml
결과는 아래와 같다.
7. Load parameter file on node startup
저장한 파라미터로 동일한 노드를 실행하려면 다음과 같은 명령어를 사용한다.
ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>
- 터미널 3
ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml
'프로젝트 > ros2' 카테고리의 다른 글
ROS2 foxy 튜토리얼10 - Recording and playing back data (9는 건너뜀) (0) | 2022.03.04 |
---|---|
ROS2 foxy 튜토리얼8 - Using rqt_console (0) | 2022.03.03 |
ROS2 foxy 튜토리얼7 - Understanding ROS2 actions (0) | 2022.02.24 |
ROS2 foxy 튜토리얼5 - Understanding ROS2 services (0) | 2022.02.24 |
ROS2 foxy 튜토리얼4 - Understanding ROS2 topics (0) | 2022.02.24 |