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

 

+ Recent posts