일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 튜토리얼
- ros2 foxy tutorial
- ros2 remapping
- nav2 튜토리얼
- ROS FOXY 튜토리얼
- nav2 dev contatiner
- 코드업
- foxy nav2
- error
- CodeUp
- development guides
- ros2 환경설정
- Foxy tutorial
- humble development guides
- ros2 development guides
- CODEUP 6073
- ros2 configuring environment
- nav2 development guides
- nav2 설치
- docker foxy
- ros2 튜토리얼 환경설정
- nav2 first-time robot setup guide
- nav2 tutorial
- ros2 foxy docker
- nav2 development guides
- nav2 getting started
- humble 환경설정
- first-time robot setup guide
- Python
- Nav2 document
- 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 > ROS2' 카테고리의 다른 글
[ROS2/Humble] ROS2 환경 설정 (2) | 2024.09.29 |
---|---|
[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 |