파라메터(Parameter) 이해하기

저작권: 쿼드(QUAD) 드론연구소 https://smartstore.naver.com/maponarooo

개요

매개변수는 노드의 구성 값입니다. 매개변수를 노드 설정으로 생각할 수 있습니다. 노드는 매개변수를 정수, 실수, 부울, 문자열 및 목록으로 저장할 수 있습니다. ROS2에서 각 노드는 자체 매개변수를 유지합니다. 매개변수에 대한 자세한 배경 정보는 개념 문서를 참조하십시오 .

실습

1. 설정

/turtlesim하고 /teleop_turtle두 개의 turtlesim 노드를 시작 합니다.

ros2 run turtlesim turtlesim_node

다른 터미널을 열고 다음을 실행합니다.

ros2 run turtlesim turtle_teleop_key

2. ros2 param list

노드에 속한 매개변수를 보려면 새 터미널을 열고 다음 명령을 입력하십시오.

ros2 param list

노드 네임스페이스 /teleop_turtle/turtlesim각 노드의 매개변수가 뒤따르는 것을 볼 수 있습니다.

/teleop_turtle:
  scale_angular
  scale_linear
  use_sim_time
/turtlesim:
  background_b
  background_g
  background_r
  use_sim_time

모든 노드에는 use_sim_time매개변수가 있습니다. 그것은 Turtlesim에 고유하지 않습니다.

이름에 따라 의 /turtlesim매개변수가 RGB 색상 값을 사용하여 turtlesim 창의 배경색을 결정하는 것처럼 보입니다.

매개변수 유형을 확인하려면 ros2 param get를 사용할 수 있습니다.

3. ros2 param get

매개변수의 유형과 현재 값을 표시하려면 다음 명령을 사용하십시오.

ros2 param get <node_name> <parameter_name>

/turtlesimbackground_g매개변수 의 현재 값을 알아봅시다.

ros2 param get /turtlesim background_g

값을 반환합니다.

Integer value is: 86

이제 정수 값을 보유하고 있음을 알고 있습니다.

4. ros2 param set

런타임 시 매개변수 값을 변경하려면 다음 명령을 사용하십시오.

ros2 param set <node_name> <parameter_name> <value>

/turtlesim의 배경색을 변경해 보겠습니다 .

ros2 param set /turtlesim background_r 150

터미널에서 다음 메시지를 반환해야 합니다. "파라메터 지정 성공!~~"

Set parameter successful

거북이 시뮬레이션 창의 배경색이 변경되어야 합니다.

set명령 으로 매개변수를 설정하면 현재 세션에서만 변경되며 영구적으로 변경되지 않습니다. 그러나 설정을 저장하고 다음에 노드를 시작할 때 다시 로드할 수 있습니다.

5. ros2 param dump

다음 명령을 사용하여 노드의 모든 현재 매개변수 값을 파일에 저장하여 나중에 저장할 수 있습니다.

ros2 param dump <node_name>

/turtlesim의 매개변수의 현재 구성을 저장하려면 다음 명령을 입력하십시오.

ros2 param dump /turtlesim

터미널에서 다음 메시지를 반환합니다.

Saving to:  ./turtlesim.yaml

쉘이 실행 중인 현재 작업 디렉토리에서 새 파일을 찾을 수 있습니다. 이 파일을 열면 다음 내용이 표시됩니다.

turtlesim:
  ros__parameters:
    background_b: 255
    background_g: 86
    background_r: 150
    use_sim_time: false

나중에 동일한 매개변수로 노드를 다시 로드하려는 경우 매개변수 덤프가 유용합니다.

6. ros2 param load

음 명령을 사용하여 파일에서 현재 실행 중인 노드로 매개변수를 로드할 수 있습니다.

ros2 param load <node_name> <parameter_file>

turtlesim.yaml로 생성된 파일을 노드의 매개변수 로 로드하려면 다음 명령을 입력하십시오.

ros2 param load /turtlesim ./turtlesim.yaml

터미널에서 다음 메시지를 반환합니다.

Set parameter background_b successful
Set parameter background_g successful
Set parameter background_r successful
Set parameter use_sim_time successful

7. Node 시작시 매개변수 파일 불러오기

저장된 매개변수 값을 사용하여 동일한 노드를 시작하려면 다음을 사용하십시오.

ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>

실행 중인 Turtlesim 노드를 중지하고 다음을 사용하여 저장된 매개변수로 다시 로드해 보십시오.

ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml

Turtlesim 창은 평소와 같이 나타나야 하지만 이전에 설정한 보라색 배경을 사용합니다.

Last updated

Was this helpful?