๐ŸŒฑ roastb ๊ฐœ๋ฐœ ์ผ์ง€

ROS2 Humble ์„ค์น˜ ๊ฐ€์ด๋“œ | alias ์„ค์ •๊นŒ์ง€ ํ•œ ๋ฒˆ์—! ๐Ÿข ๋ณธ๋ฌธ

๐Ÿ•น๏ธ๊ฐœ๋ฐœ&๊ณต๋ถ€ ์ผ์ง€/ROS2

ROS2 Humble ์„ค์น˜ ๊ฐ€์ด๋“œ | alias ์„ค์ •๊นŒ์ง€ ํ•œ ๋ฒˆ์—! ๐Ÿข

roastb 2025. 3. 23. 00:08

 

์•ž์„œ ๊ธฐ๋ณธ ์„ธํŒ…์„ ๋งˆ์น˜๊ณ , ํ•„์ˆ˜์ ์ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ–ˆ๋Š”๋ฐ์š”!

์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ROS 2 Humble์„ ์„ค์น˜ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ROS 2 Humble ์„ค์น˜ ๊ฐ€์ด๋“œ์™€ ํ•จ๊ป˜ alias ์„ค์ • ๋ฐฉ๋ฒ• (.bashrc ์ถ”๊ฐ€์„ค์ •)์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


" ROS2 Humble ์„ค์น˜ ๊ฐ€์ด๋“œ | ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •๊นŒ์ง€ ํ•œ ๋ฒˆ์—! ๐Ÿข" 

 

 

1๏ธโƒฃ ROS2 humble ์„ค์น˜

 1-1 ๋จผ์ € ROS2 ํ™ˆํŽ˜์ด์ง€ ์ ‘์† โ†’ Installation ํด๋ฆญ โ†’ Ubuntu(deb packages) ํด๋ฆญ

: ์ €๋Š” Ubuntu 22.04๋ผ์„œ ROS2 humble์„ ์„ค์น˜ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. Ubuntu 24.04๋Š” ROS2 jazzy๋ฅผ ์„ค์น˜!

( ์ถ”ํ›„ Ubuntu 24.04๋„ ์„ค์น˜๋ถ€ํ„ฐ ํ•œ๋ฒˆ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค~! )

 

Ubuntu (deb packages) โ€” ROS 2 Documentation: Humble documentation

You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Jazzy. Ubuntu (deb packages) Table of Contents Deb packages for ROS 2 Humble Hawksbill are currently availabl

docs.ros.org

์œ„ ๋งํฌ์—๋Š” ๋ฐ”๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์˜€์Šต๋‹ˆ๋‹ค!

 

 

 1-2 . ์„ค์น˜ Code ํ™•์ธ & Teminator(or Terminal) ์‹คํ–‰

: ์กฐ๊ธˆ ์Šคํฌ๋กค ๋‚ด๋ ค๋ณด๋ฉด.. ์„ค์น˜ Code๋“ค์ด ๋ณด์ž…๋‹ˆ๋‹ค. ์ด Code๋“ค์„ ์ด์ œ ํ•˜๋‚˜์”ฉ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค!

 

 

 1-3 . ์ด์ œ ํ™ˆํŽ˜์ด์ง€์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ROS2 humble ์„ค์น˜ ์ง„ํ–‰ (๋ณต๋ถ™ ํ•˜๊ธฐ)

: ์•„๋ž˜ ์ฝ”๋“œ ๋ณต์‚ฌํ•ด์„œ, Teminator์— ๋ถ™์—ฌ๋„ฃ๊ณ  Enter! ํŠนํžˆ ํ„ฐ๋ฏธ๋„์— ๋ณต์‚ฌํ•œ ๋‚ด์šฉ์„ ๋ถ™์—ฌ๋„ฃ์„ ๋•Œ๋Š” "Ctrl + Shift + V"

locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings

 

 

 1-4 . Universe ํ™•์ธ

sudo apt install software-properties-common
sudo add-apt-repository universe

 

 

 1-5 . ROS2 GPG key ์ถ”๊ฐ€

sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

 

 

 1-6 . ROS2 GPG key๊ฐ€ ์ž˜ ์ €์žฅ๋ฌ๋Š”์ง€ ์žฅ์†Œ ํ™•์ธ!

: โœ… ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ros-archive-keyring.gpg๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ ls /usr/share/keyrings/

 

 

 1-7 . sources list์— Ubuntu repository ์ถ”๊ฐ€

์•„๋ž˜ ์ฝ”๋“œ ์ „์ฒด ๋ณต์‚ฌํ•ด์„œ, Teminator์— ๋ถ™์—ฌ๋„ฃ๊ณ  Enter! 

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

 

 

 1-8 . ํ™•์ธ ํ•œ๋ฒˆํ•ด์ฃผ๊ณ ~

: โœ… ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ros2.list๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ ls /etc/apt/sources.list.d/

 

 

 1-9 . ์œ„์— ๋‚ด์šฉ์ด ๋ชจ๋‘ ์™„๋ฃŒ๋ฌ๋‹ค๋ฉด, ์ด์ œ ์—…๋ฐ์ดํŠธ ํ•œ๋ฒˆ ํ•ด์ฃผ๊ธฐ!

: โœ… ์ด๋•Œ Get4, Get7์™€ ๊ฐ™์ด ros ๊ด€๋ จ ํŒŒ์ผ์ด ์„ค์น˜๋ฌ๋Š”์ง€ ํ™•์ธ!

$ sudo apt update

 

 

 1-10 . ์ด์ œ ros-humble-desktop ์„ค์น˜!

sudo apt install ros-humble-desktop

 

 

 1-11 . ros-humble-desktop ์„ค์น˜ ์™„๋ฃŒ ํ›„, ๊ฐ„๋‹จํ•œ ROS2 ํ…Œ์ŠคํŠธ ์ง„ํ–‰

: โœ… ํ„ฐ๋ฏธ๋„ 2๊ฐœ๋ฅผ ๊ฐ๊ฐ ์—ด์–ด์ฃผ์‹œ๊ณ , ๊ฐ๊ฐ์˜ ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๊ฐ๊ฐ ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”!

[1๋ฒˆ์งธ ํ„ฐ๋ฏธ๋„์—]
$ source /opt/ros/humble/setup.bash
$ ros2 run demo_nodes_cpp talker
[2๋ฒˆ์งธ ํ„ฐ๋ฏธ๋„์—]
$ source /opt/ros/humble/setup.bash
$ ros2 run demo_nodes_py listener

 

 ์‹คํ–‰๊ฒฐ๊ณผ  : talker์—์„œ 'Hello World ~'๋ฅผ ๋ฐœํ–‰ํ•˜๋ฉด listener๊ฐ€ talker๊ฐ€ ๋ฐœํ–‰ํ•œ  'Hello World ~'๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค!

 

 

 ์—ฌ๊ธฐ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ๋‹ค๋ฉด "ROS2 humble ์„ค์น˜"๊ฐ€ ์™„๋ฒฝํžˆ ๋œ๊ฒ๋‹ˆ๋‹ค!๐ŸŽ‰ 

 


 

๋‹ค์Œ์œผ๋กœ๋Š” ROS2๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  "ROS2 ํ™˜๊ฒฝ์„ ๋ถˆ๋Ÿฌ์™€์•ผํ•ฉ๋‹ˆ๋‹ค!"

์•ž์„œ ์‹คํ–‰ํ–ˆ๋˜ ํ…Œ์ŠคํŠธ์—์„œ๋„ source /opt/ros/humble/setup.bash ๋ช…๋ น์–ด๋ฅผ ๋จผ์ € ์ž…๋ ฅํ•ด์ค€ ์ด์œ ๋„ ROS2 ํ™˜๊ฒฝ์„ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•œ ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ๋จผ์ € ์‹คํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉด ROS2 ๊ด€๋ จ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๊ณ  ๋งค๋ฒˆ ํ„ฐ๋ฏธ๋„์„ ์—ด์–ด์„œ ๋จผ์ € source /opt/ros/humble/setup.bash ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ์—๋Š” ๋ฒˆ๊ฑฐ๋กœ์šฐ๋‹ˆ, ์ด๋ฅผ ".bashrc"์— ์ถ”๊ฐ€ํ•ด์„œ ์ž๋™์œผ๋กœ ์ ์šฉ๋˜๋„๋ก "alias ์„ค์ •"ํ•ด์ฃผ๋„๋ก ํ•ฉ์‹œ๋‹ค!

 

 

2๏ธโƒฃ ROS2 alias ์„ค์ • (๊ธฐ์ดˆ)

 2-1 . code ~/.bashrc (VScode๋ฅผ ๊น”์•˜๋‹ค๋Š” ์ „์ œ)

 

 

 2-2 . ๊ฐ€์žฅ ๋ฐ‘์œผ๋กœ ์Šคํฌ๋กค ๋‚ด๋ฆฐ ํ›„, sb, ros_domain alias ์ž‘์„ฑ ํ›„ ์ €์žฅ(122๋ฒˆ&123๋ฒˆ ๋ผ์ธ)

:   ์ฃผ์˜  sb์™€ " ์‚ฌ์ด์˜ ๋“ฑํ˜ธ(=)๋Š” ๊ผญ ๋„์–ด์“ฐ๊ธฐ ์—†์ด ๋ถ™์—ฌ ์จ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ros_domain๊ณผ "์‚ฌ์ด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€!

alias sb="source ~/.bashrc; echo \"bashrc is reloaded!\""
alias ros_domain="export ROS_DOMAIN_ID=20; echo \"ROS_DOMAIN_ID is 20!\""

 

 

 2-3 . ์ƒˆ๋กœ์šด  ํ„ฐ๋ฏธ๋„ ์—ด์–ด์„œ sb, ros_domain์„ ์ž…๋ ฅํ•˜๋ฉด ์ž˜ ๋œ๋‹ค!

 ์‹คํ–‰๊ฒฐ๊ณผ  : ์ด์ œ sb๋ฅผ ์ž…๋ ฅํ•˜๋ฉด .bashrc๊ฐ€ ์žฌ์‹œ์ž‘ํ•˜๊ณ , ros_domain์„ ์ž…๋ ฅํ•˜๋ฉด ์ž๊ธฐ ROS_DOMAIN_ID๊ฐ€ 20์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค!

 

 

 2-4 . humble alias ์„ค์ • ์ถ”๊ฐ€

:   ์ฃผ์˜  humble๊ณผ " ์‚ฌ์ด์˜ ๋“ฑํ˜ธ(=)๋Š” ๊ผญ ๋„์–ด์“ฐ๊ธฐ ์—†์ด ๋ถ™์—ฌ ์จ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

alias humble="source /opt/ros/humble/setup.bash; echo \"ROS2 humble is activated!\""

 

 

 2-5 .  ์‹คํ–‰๊ฒฐ๊ณผ  : ํ™˜๊ฒฝ์„ ์ž˜ ๋ถˆ๋Ÿฌ์˜จ๋‹ค!

 

 

 

 ์—ฌ๊ธฐ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ๋‹ค๋ฉด

๋“œ๋””์–ด "ROS2 humble ์„ค์น˜"์™€ "๊ธฐ์ดˆ alias setting"๊นŒ์ง€ ์™„๋ฒฝํžˆ ์™„๋ฃŒ!๐ŸŽ‰


 

์ง€๊ธˆ๊นŒ์ง€

ROS2 Humble ์„ค์น˜ ๊ฐ€์ด๋“œ | alias ์„ค์ •๊นŒ์ง€ ํ•œ ๋ฒˆ์—! ๐Ÿข ์˜€์Šต๋‹ˆ๋‹ค!

[๋ช‡์ผ ์•ˆ์œผ๋กœ ROS2 ๊ธฐ๋ฐ˜ ๊ณต๋ถ€&๊ฐœ๋ฐœ ๊ธฐ๋ก์„ ์ •๋ฆฌํ•ด์„œ ์˜ฌ๋ฆด๊ฒŒ์š”~~ ๐Ÿ˜š]

 

 

 ๊ถ๊ธˆํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!