Skip to content

Latest commit

ย 

History

History
146 lines (123 loc) ยท 3.51 KB

File metadata and controls

146 lines (123 loc) ยท 3.51 KB

parameter ์ดํ•ด

  1. ๊ฐœ์š”
  2. ์‹ค์Šต
    1. ์„ค์ •
    2. ros2 param list
    3. ros2 param get
    4. ros2 param set

1. ๊ฐœ์š”

  • ROS 2์—์„œ parameter๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ, ์„ค์ •ํ•˜๊ธฐ, ์ €์žฅํ•˜๊ณ , ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋ฐฐ์šฐ๊ธฐ
  • parameter๋ž€?
    • node์˜ ์„ค์ • ๊ฐ’
    • type
      • integers, floats, booleans, strings, lists
    • ๊ฐ node๋Š” ์ž์‹ ์˜ parameters๋ฅผ ์œ ์ง€๊ด€๋ฆฌํ•œ๋‹ค.

2. ์‹ค์Šต

2-1 ์„ค์ •

  • 2๊ฐœ turtlesim nodes ๊ตฌ๋™์‹œํ‚ค๊ธฐ : /turtlesim , /teleop_turtle

  • ์ƒˆ ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น ์‹คํ–‰

ros2 run turtlesim turtlesim_node
  • ์ƒˆ ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น ์‹คํ–‰
ros2 run turtlesim turtle_teleop_key

2-2 ros2 param list

  • ์‹คํ–‰ ์ค‘์ธ 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 ์ฐฝ์˜ ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ์„ ๊ฒฐ์ •

2-3 ros2 param get

  • 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์— ๋Œ€ํ•ด์„œ๋„ ์‹คํ–‰ํ•ด๋ณด์ž.

2-4 ros2 param set

  • ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ˜„์žฌ parameter ๊ฐ’ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น ํ˜•์‹
ros2 param set <node_name> <parameter_name> <value>
  • /turtlesim ์˜ ๋ฐฐ๊ฒฝ์ƒ‰ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น ์‹คํ–‰
ros2 param set /turtlesim background_r 150
  • ๊ฒฐ๊ณผ
Set parameter successful

  • ๋ฐฐ๊ฒฝ์ƒ‰์ƒ์ด ๋ณ€๊ฒฝ

  • ์ฃผ์˜ :

    • set์€ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค. ์ฆ‰ ์ƒˆ๋กœ node๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ set์œผ๋กœ ์„ค์ •ํ•œ ๊ฐ’์ด ๋ณด์กด๋˜์ง€ ์•Š๋Š”๋‹ค.

2-5 ros2 param dump

  • 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์— ๊ทธ๋Œ€๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค!

2-6 ros2 param load

  • ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ 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

2-7 node ์‹œ์ž‘์‹œํ‚ฌ๋•Œ parameter ํŒŒ์ผ์„ ๋กœ๋“œ์‹œํ‚ค๊ธฐ

  • ์ €์žฅํ•œ 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
  • ๊ฒฐ๊ณผ ๋ณด๊ธฐ