013 ROS 2 파라미터 (parameter)

김성욱·2021년 4월 9일

ROS_호랑나비

목록 보기
4/6

1. 파라미터

서비스와 비슷한 성격. 서비스의 요청과 응답과는 달리 노드 내부 또는 외부에서 매개변수 Set, Get이 주 목적.

1-1. 구성

  • Parameter Service
  • Parameter Server

2. 파라미터 목록 확인

$ ros2 run turtlesim turtlesim_node

$ ros2 run turtlesim turtle_teleop_key

먼저 위와 같이 Turtlesim 실행

$ ros2 param list

/teleop_turtle:  (node)

scale_angular

scale_linear

use_sim_time

/turtlesim:    (node)

background_b

background_g

background_r

use_sim_time

3. 파라미터 내용 확인 (ros2 param describe)

$ ros2 param describe /turtlesim background_b    ("param describe" + node name + parameter name)

Parameter name: background_b

Type: integer

Description: Blue channel of the background color

Constraints:

Min value: 0

Max value: 255

Step: 1

4. 파라미터 읽기 (ros2 param get)

$ ros2 param get /turtlesim background_r

Integer value is: 69



$ ros2 param get /turtlesim background_g

Integer value is: 86



$ ros2 param get /turtlesim background_b

Integer value is: 255

5. 파라미터 쓰기 (ros2 param set)

$ ros2 param set /turtlesim background_r 148

Set parameter successful



$ ros2 param set /turtlesim background_g 0

Set parameter successful



$ ros2 param set /turtlesim background_b 211

Set parameter successful

위 명령어로 배경 색상을 변경 가능

6. 파라미터 저장 (ros2 param dump)

$ ros2 param dump /turtlesim

Saving to: ./turtlesim.yaml

위 코드를 통해 /turtlesim 노드가 파라미터 서버로 갖고있는 파라미터를 turtlesim.yaml로 저장 가능

$ cat ./turtlesim.yaml

turtlesim:

ros__parameters:

background_b: 211

background_g: 0

background_r: 148

use_sim_time: false

위 명령어로 불러오기 가능

7. 파라미터 삭제 (ros2 param delete)

저장된 파라미터를 지우고 싶을 때 사용. 일반적으로 사용되지 않음.

$ ros2 param delete /turtlesim background_b

Deleted parameter successfully

profile
천재(진)

0개의 댓글