์ดํƒœํ™
ํ™'story
์ดํƒœํ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (171)
    • TW (39)
    • AI (47)
      • ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ (10)
      • Kaggle (2)
      • Machine Learning (26)
      • Computer Vision (0)
      • Deep Learning (0)
      • ROS2 (7)
    • Computer Science (29)
      • Data Structure (0)
      • Algorithm (18)
      • Computer Architecture (5)
      • SOLID (0)
      • System Programing (6)
    • LOLPAGO (10)
      • ํ”„๋ก ํŠธ์—”๋“œ (10)
      • ๋ฐฑ์—”๋“œ (0)
    • BAEKJOON (2)
    • React (5)
    • ์–ธ์–ด (8)
      • C++ (8)
    • GIT (0)
    • MOGAKCO (19)
    • ๋ฏธ๊ตญ ์—ฌํ–‰๊ธฐ (3)
    • etc. (7)
      • Blog (2)
      • ์ฝœ๋ผํ†ค (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • computer architecture
  • ๋”ฅ๋Ÿฌ๋‹
  • ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•
  • kaggle
  • pytorch
  • react
  • LOLPAGO
  • ROS2
  • ๊ธฐ๊ณ„ํ•™์Šต
  • tw
  • algorithm
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • baekjoon
  • Ai
  • ๋ฐฑ์ค€
  • C++
  • ML
  • ๋จธ์‹ ๋Ÿฌ๋‹
  • computerscience
  • NLP

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
์ดํƒœํ™

ํ™'story

[ROS2] Turtlesim
AI/ROS2

[ROS2] Turtlesim

2024. 4. 18. 00:11

๐Ÿค–Turtlesim

Turtlesim์€ ROS 2 ํ•™์Šต์„ ์œ„ํ•œ ๊ฒฝ๋Ÿ‰ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ROS 2๊ฐ€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ˆ˜์ค€์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์„ ๋ณด์—ฌ์คŒ์œผ๋กœ์จ ๋‚˜์ค‘์— ์‹ค์ œ ๋กœ๋ด‡์ด๋‚˜ ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์œผ๋กœ ๋ฌด์—‡์„ ํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

์•„๋ž˜์˜ docs๋ฅผ ๋”ฐ๋ผ turtlesim์„ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

https://docs.ros.org/en/foxy/Tutorials/Beginner-CLI-Tools/Introducing-Turtlesim/Introducing-Turtlesim.html

 

Using turtlesim, ros2, and rqt — ROS 2 Documentation: Foxy documentation

Open a new terminal and source ROS 2 again. At this point you should have three windows open: a terminal running turtlesim_node, a terminal running turtle_teleop_key and the turtlesim window. Arrange these windows so that you can see the turtlesim window,

docs.ros.org

 

turtlesim ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

์ดํ›„ ์•„๋ž˜์™€ ๊ฐ™์€ CLI๋ฅผ ์ž…๋ ฅํ•˜์—ฌ turtlesim์˜ ๊ฑฐ๋ถ์ด๋ฅผ ์›€์ง์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(ํ•ด๋‹น ํ„ฐ๋ฏธ๋„ ์œ„์—์„œ ์ ์ ˆํ•œ ํ‚ค๋ฅผ ์ž…๋ ฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.)

 

 

 

 

 

์ด์ „ ๊ฒŒ์‹œ๊ธ€์—์„œ ๋งํ•œ๊ฒƒ๊ณผ ๊ฐ™์ด Topic์œผ๋กœ ์ฃผ๊ณ ๋ฐ›๋Š” Message๋Š” integer, float, bool, string๊ณผ ๊ฐ™์€ data type ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด๋“ค์„ ๋ฌถ์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(Nested Structure)๋ฅผ ์ง€์›ํ•œ๋‹ค.

 

์ด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ CLI์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

 

 

 

 

์—ฌ๊ธฐ์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Pub-Sub ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ "turtle_teleop_key" Node์—์„œ Topic์œผ๋กœ publish๋ฅผ ํ•˜๋ฉด "turtlesim_node" ๊ฐ€ Topic์œผ๋กœ ๋ถ€ํ„ฐ Subscribeํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

์›€์ง์˜€์„ ๋•Œ ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด์„œ ๊ฐ’๋“ค์ด ๋ณ€ํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์ฆ‰, "/turtle/cmd_vel"์ด๋ผ๋Š” ํ† ํ”ฝ์„ "ros2 topic echo" ๋ช…๋ น์–ด๋กœ subscribeํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ•ด๋‹น ํ† ํ”ฝ์˜ ๋ฉ”์‹œ์ง€ ๊ตฌ์กฐ๋Š” 'linear' ์™€ 'angular' ๋‘ ๊ฐ€์ง€ ์„ฑ๋ถ„์œผ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

 

 

cmd_vel_publisher๋ผ๋Š” node๋ฅผ ์ƒ์„ฑํ•ด์„œ publish๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด cmd_vel_publisher์—์„œ Vector3์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ฉ”์‹œ์ง€๋กœ publishํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์‹ค์ œ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด topic์„ ํ™•์ธํ–ˆ์„ ๋•Œ linear, angular์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณด๋‚ด์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

'AI > ROS2' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ROS2] Service ์‹ค์Šต(Call-And-Response)  (0) 2024.04.18
[ROS2] Service  (1) 2024.04.18
[ROS2] Topic ์‹ค์Šต(Pub-Sub)  (0) 2024.04.17
[ROS2] Topic  (0) 2024.04.17
[ROS2] ROS2 ์„ค์น˜  (0) 2024.04.17
    'AI/ROS2' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ROS2] Service ์‹ค์Šต(Call-And-Response)
    • [ROS2] Service
    • [ROS2] Topic ์‹ค์Šต(Pub-Sub)
    • [ROS2] Topic
    ์ดํƒœํ™
    ์ดํƒœํ™
    ๊ณต๋ถ€ํ•˜์ž ํƒœํ™์•„

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”