파라메터(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>
/turtlesim
의 background_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?