【ROS2 시작하기】ROS 2 매개변수 서버 개요(매개변수)

        안녕하세요 여러분, 후 형제입니다. 오늘부터 ROS1에서 ROS2로 전환하는 시간을 가질 것입니다. 마지막 기사에서는 ROS 2의 주제에 대해 알아볼 것입니다. 이 기사에서는 주로 ROS에 초점을 맞출 것입니다. "매개변수"의 개념, ROS 2에서 매개변수를 얻고, 설정하고, 저장하고, 다시 로드하는 방법을 배웁니다.

목차

1. 시뮬레이션 노드 시작

2. ros2 매개변수 목록(매개변수 목록)

3. ros2 매개변수 가져오기(매개변수 값 가져오기)

4. ros2 매개변수 설정(매개변수 값 설정)

5. ros2 매개변수 덤프(매개변수 덤프)

6. 파라미터 파일 불러오기(파라미터 로딩)


        매개변수는 노드의 구성 값입니다. 매개변수는 노드 설정으로 생각할 수 있습니다. 노드는 매개변수를 정수, 실수, 부울, 문자열 및 목록으로 저장할 수 있습니다. ROS 2에서 각 노드는 자체 매개변수를 유지합니다. 모든 매개변수는 동적으로 재구성 가능하며 ROS 2 서비스 위에 구축됩니다. 노드에는 기본 구성 값을 정의하는 매개변수가 있습니다. 매개 변수 값은 명령줄에서 얻고 설정할 수 있습니다. 매개변수 설정을 저장하여 새 작업에서 다시 로드할 수도 있습니다.

1. 시뮬레이션 노드 시작

이제 터틀심(turtlesim)을 쉽게 시작할 수 있을 것입니다. 터미널을 열고 다음 명령을 실행합니다.

ros2 run turtlesim turtlesim_node

새 터미널을 열고 원격 노드를 시작합니다.

ros2 run turtlesim turtle_teleop_key

2. ros2 매개변수 목록(매개변수 목록)

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

ros2 param list

노드 하위 노드 공간 /teolep_turtle 및 /turtlesim 뒤에 각 노드에 대한 매개변수가 표시됩니다.

nvidia@ubuntu:~$ ros2 param list
/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 매개변수 가져오기(매개변수 값 가져오기)

매개변수의 현재 값을 가져오려면 다음 명령을 사용하십시오.

ros2 param get <node_name> <parameter_name>

/turtlesim 매개변수 background_g의 현재 값을 알아봅시다:

ros2 param get /turtlesim background_g

다음과 같은 응답을 받게 됩니다.

nvidia@ubuntu:~$ ros2 param get /turtlesim background_g
Integer value is: 86

이제 background_g에 정수 값이 포함되어 있음을 알 수 있습니다. background_r과 background_b에 동일한 명령을 실행하면 각각 값 69와 255를 얻게 됩니다.

nvidia@ubuntu:~$ ros2 param get /turtlesim background_r
Integer value is: 69
nvidia@ubuntu:~$ ros2 param get /turtlesim background_b
Integer value is: 255

4. ros2 매개변수 설정(매개변수 값 설정)

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

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

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

ros2 param set /turtlesim background_r 150

Turtlesim 창의 배경 색상이 변경되어야 합니다.

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

5. ros2 매개변수 덤프(매개변수 덤프)

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

ros2 param dump <node_name>

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

ros2 param dump /turtlesim

다음 응답을 받게 됩니다.

nvidia@ubuntu:~$ 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 run <package_name> <executable_name> --ros-args --params-file <file_name>

이것은 --ros args 및 --params-file 플래그가 추가된 후 로드할 파일이 뒤따르는 상태로 turtlesim을 시작할 때 항상 사용하는 명령입니다.

실행 중인 Turtlesim 노드를 중지하여 다음과 같이 저장된 매개변수로 다시 로드해 볼 수 있습니다.

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

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

위 내용은 오늘 제가 공유하고자 하는 내용입니다. 오류 수정, 질문, 커뮤니케이션: [email protected]

추천

출처blog.csdn.net/cau_weiyuhu/article/details/128694768