{"id":545,"date":"2024-07-23T11:25:06","date_gmt":"2024-07-23T02:25:06","guid":{"rendered":"https:\/\/ahnbk.dev\/?p=545"},"modified":"2025-03-19T13:54:00","modified_gmt":"2025-03-19T04:54:00","slug":"ros2-humble-%ec%84%a4%ec%b9%98","status":"publish","type":"post","link":"https:\/\/ahnbk.dev\/?p=545","title":{"rendered":"ROS2 Humble \uc124\uce58"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uc6d0\ub798\ub294 \ub178\uc158\uc5d0 \uc801\uc5b4\ub193\uace0 \ub9e4\ubc88 \ubc18\ubcf5\ud558\ub358 \ub0b4\uc6a9\uc778\ub370, \uc544\uc608 \ube14\ub85c\uadf8\uc5d0 \uc62c\ub824 \ub193\uc73c\uba74 \uadc0\ucc2e\uac8c \ub85c\uadf8\uc778 \uc548\ud574\ub3c4 \ubcfc\uc218 \uc788\uae30\uc5d0 \uc62e\uaca8 \ub193\uc74c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc124\uce58 \ud658\uacbd: Ubuntu 22.04<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu \uc124\uce58 \uc2dc \uc601\ubb38\ud658\uacbd\uc73c\ub85c \ud558\ub294 \uac83\uc744 \uac15\ub825\ud788 \ucd94\ucc9c. \ud55c\uae00 \uc785\ub825\uc740 <a href=\"https:\/\/ahnbk.dev\/?p=368\">https:\/\/ahnbk.dev\/?p=368<\/a>\ub97c \ucc38\uace0\ud558\uba74 \ub428.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ROS2 Humble \uc124\uce58\uc5d0 \ub300\ud55c \uacf5\uc2dd \ubb38\uc11c\ub294 <a href=\"https:\/\/docs.ros.org\/en\/humble\/Installation.html\">https:\/\/docs.ros.org\/en\/humble\/Installation.html<\/a> \ub97c \ucc38\uace0\ud558\uae38 \ubc14\ub78c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Repository \ucd94\uac00 \ubc0f Key \ub4f1\ub85d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install software-properties-common\n$ sudo add-apt-repository universe<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt update\n$ sudo apt install curl -y\n$ sudo curl -sSL https:\/\/raw.githubusercontent.com\/ros\/rosdistro\/master\/ros.key -o \/usr\/share\/keyrings\/ros-archive-keyring.gpg<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ echo \"deb [arch=$(dpkg --print-architecture) signed-by=\/usr\/share\/keyrings\/ros-archive-keyring.gpg] http:\/\/packages.ros.org\/ros2\/ubuntu $(. \/etc\/os-release &amp;&amp; echo $UBUNTU_CODENAME) main\" | sudo tee \/etc\/apt\/sources.list.d\/ros2.list &gt; \/dev\/null<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ubc1c\ud234 \uc124\uce58<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt update\n$ sudo apt install ros-dev-tools<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ROS2 \uc124\uce58<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install ros-humble-desktop-full<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ubc1c\ud658\uacbd \uc14b\uc5c5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ echo \"source \/opt\/ros\/humble\/setup.bash\" &gt;&gt; ~\/.bashrc\n$ echo \"export ROS_DOMAIN_ID=&lt;your_domain_id&gt;\" &gt;&gt; ~\/.bashrc\n$ echo \"export ROS_LOCALHOST_ONLY=0\" &gt;&gt; ~\/.bashrc<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ source ~\/.bashrc<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ubc1c\ud234 (colcon) \uc124\uce58<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install python3-colcon-common-extensions<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc0dd\uc131 \ubc0f \ube4c\ub4dc<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ mkdir -p ~\/dev_ws\/src\n$ cd ~\/dev_ws\n$ colcon build --symlink-install<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc0dd\uc131\ud55c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \ub4f1\ub85d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ echo \"source ~\/dev_ws\/install\/setup.bash\" &gt;&gt; ~\/.bashrc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">colcon_cd, colcon \ub9e4\uac1c\ubcc0\uc218 \uc790\ub3d9\uc644\uc131 \uae30\ub2a5 \ud65c\uc131\ud654<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ echo \"source \/usr\/share\/colcon_cd\/function\/colcon_cd.sh\" >> ~\/.bashrc\n$ echo \"export _colcon_cd_root=\/opt\/ros\/humble\/\" >> ~\/.bashrc\n$ echo \"source \/usr\/share\/colcon_argcomplete\/hook\/colcon-argcomplete.bash\" >> ~\/.bashrc<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">DDS \uc124\uce58 (fastRTPS -&gt; CycloneDDS)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install ros-humble-rmw-cyclonedds-cpp\n$ echo \"export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp\" &gt;&gt; ~\/.bashrc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">cyclonedds \uc124\uc815 \ud30c\uc77c \uc0dd\uc131 \ubc0f \ub4f1\ub85d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ vi ~\/cyclonedds.xml<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"xml\" class=\"language-xml\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?&gt;\n&lt;CycloneDDS xmlns=\"https:\/\/cdds.io\/config\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:schemaLocation=\"https:\/\/cdds.io\/config https:\/\/raw.githubusercontent.com\/eclipse-cyclonedds\/cyclonedds\/master\/etc\/cyclonedds.xsd\"&gt;\n    &lt;Domain id=\"any\"&gt;\n        &lt;General&gt;\n            &lt;Interfaces&gt;\n                &lt;!-- &lt;NetworkInterface autodetermine=\"false\" name=\"enp2s0`\" priority=\"default\" multicast=\"default\" \/&gt; --&gt;\n                &lt;NetworkInterface autodetermine=\"true\" priority=\"default\" multicast=\"default\" \/&gt;\n            &lt;\/Interfaces&gt;\n            &lt;AllowMulticast&gt;default&lt;\/AllowMulticast&gt;\n            &lt;MaxMessageSize&gt;65500B&lt;\/MaxMessageSize&gt;\n        &lt;\/General&gt;\n    &lt;\/Domain&gt;\n&lt;\/CycloneDDS&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ echo \"export CYCLONEDDS_URI=file:\/\/\/home\/$(whoami)\/cyclonedds.xml\" &gt;&gt; ~\/.bashrc<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">rosdep \ubc0f vcstool \uc124\uce58<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install python3-rosdep\n$ sudo rosdep init\n$ rosdep update<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install python3-vcstool<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uac83\uc73c\ub85c \uae30\ubcf8 \uc124\uce58 \uc644\ub8cc. \ub300\ub7b5 20\ubd84 \uc815\ub3c4 \uc18c\uc694\ub428.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc6d0\ub798\ub294 \ub178\uc158\uc5d0 \uc801\uc5b4\ub193\uace0 \ub9e4\ubc88 \ubc18\ubcf5\ud558\ub358 \ub0b4\uc6a9\uc778\ub370, \uc544\uc608 \ube14\ub85c\uadf8\uc5d0 \uc62c\ub824 \ub193\uc73c\uba74 \uadc0\ucc2e\uac8c \ub85c\uadf8\uc778 \uc548\ud574\ub3c4 \ubcfc\uc218 \uc788\uae30\uc5d0 \uc62e\uaca8 \ub193\uc74c. \uc124\uce58 \ud658\uacbd: Ubuntu 22.04 Ubuntu \uc124\uce58 \uc2dc \uc601\ubb38\ud658\uacbd\uc73c\ub85c \ud558\ub294 \uac83\uc744 \uac15\ub825\ud788 \ucd94\ucc9c. \ud55c\uae00 \uc785\ub825\uc740 https:\/\/ahnbk.dev\/?p=368\ub97c \ucc38\uace0\ud558\uba74 \ub428. ROS2 Humble \uc124\uce58\uc5d0 \ub300\ud55c \uacf5\uc2dd \ubb38\uc11c\ub294 https:\/\/docs.ros.org\/en\/humble\/Installation.html \ub97c \ucc38\uace0\ud558\uae38 \ubc14\ub78c. Repository \ucd94\uac00 \ubc0f Key \ub4f1\ub85d \uac1c\ubc1c\ud234 \uc124\uce58 ROS2 \uc124\uce58 \uac1c\ubc1c\ud658\uacbd \uc14b\uc5c5 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[98],"tags":[106,99,16,107],"class_list":["post-545","post","type-post","status-publish","format-standard","hentry","category-ros2","tag-humble","tag-ros2","tag-ubuntu-22-04","tag-107"],"_links":{"self":[{"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/posts\/545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=545"}],"version-history":[{"count":6,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/posts\/545\/revisions"}],"predecessor-version":[{"id":590,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/posts\/545\/revisions\/590"}],"wp:attachment":[{"href":"https:\/\/ahnbk.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}