일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- ros2 humble install
- ros2 foxy tutorial
- ros2 param load
- ros2 param set
- foxy nav2
- nav2 doc behavior trees
- docker foxy
- ubuntu humble 설치
- CODEUP 6073
- CodeUp
- ros2 param dump
- nav2 behavior trees
- ROS2 Humble 설치
- Python
- nav2 행동트리
- ros2 foxy 튜토리얼
- 22.04 ros2 설치
- ros2 remapping
- error
- ubuntu ros2 설치
- ros2 param list
- ros2 튜토리얼
- Nav2 document
- ros2 param get
- 코드업
- ros2 foxy docker
- Foxy tutorial
- ros2 foxy understanding parameters
- ros2 foxy parameters
- ROS FOXY 튜토리얼
- Today
- Total
BAN2ARU
[ROS2/FOXY] 튜토리얼 6. Understanding parameters 본문
ROS-foxy 튜토리얼은 공식 홈페이지를 참조함
목표 : ROS2에서 parameter를 가져오고 설정하며 저장 및 reloade하는 방법에 대해 알아보자
Background
parameter는 node의 configuration 값을 나타낸다. node는 integer, floats, boolean, string, list의 형태의 parameter로 저장할 수 있다. ROS2에서 각 노드는 각자의 parameter를 유지한다.
Tasks
1. Setup
/turtlesim과 /teleop_turtle 노드를 시작한다.
이를 위해 우선 새 터미널을 열고 다음 명령어를 실행하자.
ros2 run turtlesim turtlesim_node
다른 터미널을 열고 다음 명령어를 실행하자.
ros2 run turtlesim turtle_teleop_key
2. ros2 param list
node에 속하는 parameter를 보려면 새 터미널을 열고 다음 명령어를 입력하자.
ros2 param list
node namespace인 /teleop_turtle 및 /turtlesim이 표시되며 각 node의 parameter가 나온다.
파라미터를 살펴보면 /turtlesim의 파라미터가 RGB 색상 값을 사용하여 turtlesim 창의 배경 색상을 결정하는 것으로 보인다.
3. ros2 param get
파라미터의 유형과 현재 값을 표시하려면 다음 명령어를 활용하면 된다.
ros2 param get <node_name> <parameter_name>
/turtlesim의 파라미터 background_g의 현재 값을 표시해보자.
ros2 param get /turtlesim background_g
background_g가 integer 형태로 86의 값을 가지고 있음을 알 수 있다.
background_r 및 background_b에 값은 아래와 같다.
4. ros2 param set
실행하는 도중 파라미터 값을 변경하려면 다음 명령어를 활용하면 된다.
ros2 param set <node_name> <parameter_name> <value>
/turtlesim의 배경 색상을 변경해보자.
ros2 param set /turtlesim background_r 150
아래와 같은 메시지가 터미널에 나타난 후 turtlesim 창의 배경 색상이 보라색으로 변경된다.
5. ros2 param dump
해당 명령어를 통해 현재 node의 모든 parameter 값을 추후에 사용하기 위해 파일로 저장할 수 있다.
ros2 param dump <node_name>
/turtlesim의 파라미터 설정을 현재 상태로 저장하려면 다음 명령어를 입력하면 된다.
ros2 param dump /turtlesim
해당 파일을 열면 아래와 같은 내용으로 되어있음을 확인할 수 있다.
6. ros2 param load
아래 명령어를 통해 현재 실행 중인 node에 파일에서 parameter를 load할 수 있다.
ros2 param load <node_name> <parameter_file>
예를 들어 이전 단계에 수행한 yaml 파일을 /turtlesim node의 parameter로 로드하려면 아래 명령어를 입력하면 된다.
ros2 param load /turtlesim ./turtlesim.yaml
7. Load parameter file on node startup
저장된 parameter 값을 사용하여 동일한 node를 시작하려면 아래 명령어를 활용하면 된다.
ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>
예를들어 이전 단계에서 저장된 yaml 파일을 /turtlesim node로 시작하려면 아래 명령어로 실행하면 된다.
ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml
Summary
node는 기본 구성 값을 정의하기 위해 parameter를 가지고 있다. get과 set 명령어를 통해 parameter의 값을 가져오고 설정할 수 있다. 또한 파라미터 설정을 파일로 저장하여 이 후 session에서도 로드하여 활용할 수 있다.
'Study > ROS' 카테고리의 다른 글
[ROS2/Humble] Ubuntu 22.04에서 Humble 설치 방법 (0) | 2024.07.15 |
---|---|
[ROS2/FOXY] 튜토리얼 5. Understanding services (0) | 2024.01.23 |
[ROS2/FOXY] 튜토리얼 4. Understanding topics (0) | 2023.06.05 |
[ROS2/FOXY] 튜토리얼 3. Understanding nodes (0) | 2023.06.02 |
[ROS2/FOXY] 튜토리얼 2. Using turtlesim, ros2, and rqt (0) | 2023.06.02 |