- ๊ฐ์
- ์ค์ต
- ์ค์
- ros2 param list
- ros2 param get
- ros2 param set
- ROS 2์์ parameter๋ฅผ ๊ฐ์ ธ์ค๊ธฐ, ์ค์ ํ๊ธฐ, ์ ์ฅํ๊ณ , ๋ถ๋ฌ์ค๊ธฐ ๋ฐฐ์ฐ๊ธฐ
- parameter๋?
- node์ ์ค์ ๊ฐ
- type
- integers, floats, booleans, strings, lists
- ๊ฐ node๋ ์์ ์ parameters๋ฅผ ์ ์ง๊ด๋ฆฌํ๋ค.
-
2๊ฐ turtlesim nodes ๊ตฌ๋์ํค๊ธฐ : /turtlesim , /teleop_turtle
-
์ ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น ์คํ
ros2 run turtlesim turtlesim_node- ์ ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น ์คํ
ros2 run turtlesim turtle_teleop_key- ์คํ ์ค์ธ nodes์ ์ํ๋ parameters๋ฅผ ํ์ธํ๋ ๋ช ๋ น ์คํ
ros2 param list
- ๊ฒฐ๊ณผ (๊ฐ node namespace์ ์ํ๋ parameters)
/teleop_turtle:
scale_angular
scale_linear
use_sim_time
/turtlesim:
background_b
background_g
background_r
use_sim_time
- /turtlesim์ parameters๋ turtlesim ์ฐฝ์ ๋ฐฐ๊ฒฝ ์์์ ๊ฒฐ์
- parameter์ type๊ณผ ํ์ฌ ๊ฐ ํ์ํ๋ ๋ช ๋ น ํ์
ros2 param get <node_name> <parameter_name>- /turtlesim์ background_g parameter ๊ฐ ํ์ํ๋ ๋ช ๋ น ์คํ
ros2 param get /turtlesim background_g- ๊ฒฐ๊ณผ
Integer value is: 86- ๋์ผํ ๋ช ๋ น์ background_r, background_b์ ๋ํด์๋ ์คํํด๋ณด์.
- ์ค์๊ฐ์ผ๋ก ํ์ฌ parameter ๊ฐ ๋ณ๊ฒฝํ๋ ๋ช ๋ น ํ์
ros2 param set <node_name> <parameter_name> <value>- /turtlesim ์ ๋ฐฐ๊ฒฝ์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น ์คํ
ros2 param set /turtlesim background_r 150- ๊ฒฐ๊ณผ
Set parameter successful
-
๋ฐฐ๊ฒฝ์์์ด ๋ณ๊ฒฝ
-
์ฃผ์ :
- set์ ํ์ฌ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์๋ง ์ํฅ์ ๋ฏธ์น๋ค. ์ฆ ์๋ก node๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ set์ผ๋ก ์ค์ ํ ๊ฐ์ด ๋ณด์กด๋์ง ์๋๋ค.
- node์ ํ์ฌ parameters ๊ฐ์ ํ์ผ๋ก ์ ์ฅํ๋ ๋ช ๋ น ํ์
ros2 param dump <node_name>- /turtlesim ์ parameters์ ํ์ฌ ์ค์ ์ ์ ์ฅํ๋ ๋ช ๋ น ์คํ
ros2 param dump /turtlesim- ๊ฒฐ๊ณผ (turtlesim.yaml ํ์ผ๋ก ์ ์ฅ)
Saving to: ./turtlesim.yaml
- ํ์ฌ ๋๋ ํ ๋ฆฌ์์ ์ ์ฅ๋ turtlesim.yaml ํ์ผ ์ด์ด๋ณด๊ธฐ (Visual Studio Code ์ฌ์ฉํ๊ธฐ)
turtlesim:
ros__parameters:
background_b: 255
background_g: 86
background_r: 150
use_sim_time: false- ์ด๋ ๊ฒ ์ ์ฅํ parameters๋ฅผ node์ ๊ทธ๋๋ก ์ ์ฉํ ์ ์๋ค!
- ํ์ฌ ์คํ ์ค์ธ node์ parameter๋ฅผ loadํ๊ธฐ ๋ช ๋ น ํ์
ros2 param load <node_name> <parameter_file>- ros2 param dump๋ก ์์ฑํ turtlesim.yaml ํ์ผ์ /turtlesim node parameter๋ก ์ฌ์ฉํ๋ ๋ช ๋ น ์คํ
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
- ์ ์ฅํ parameter ๊ฐ์ ์ฌ์ฉํ์ฌ ๋์ผํ node์ ๊ตฌ๋์ํค๋ ๋ช ๋ น ํ์
ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>- ์คํ์ค์ธ turtlesim node๋ฅผ ์ค์ง์ํค๊ณ ์ ์ฅํ parameters๋ก ๊ตฌ๋์ํค๊ธฐ ๋ช ๋ น ์คํ
ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml- ๊ฒฐ๊ณผ ๋ณด๊ธฐ
