[{"data":1,"prerenderedAt":582},["ShallowReactive",2],{"wiki-page-/en-us/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao":3,"wiki-doc-items-/en-us/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao":560,"language-switcher-data-/en-us/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao":566,"wiki-i18n-paths-/en-us/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao":581},{"id":4,"title":5,"body":6,"canonicalPath":541,"chapter":542,"chapterSort":543,"date":544,"description":96,"docI18nKey":545,"docKey":546,"docRoot":547,"docTitle":548,"extension":549,"i18nKey":550,"isBlogPost":551,"isWikiDoc":410,"isWikiIndex":551,"layout":552,"legacyPath":552,"locale":553,"localeSlug":554,"meta":555,"navigation":410,"path":541,"seo":556,"sourcePath":557,"sourceStem":550,"stem":558,"wikiDepth":253,"__hash__":559},"content/_i18n/en-us/wiki/2024-07-13-ROS1机器人操作系统教程/ch1-ROS介绍.md","Introduction to ROS",{"type":7,"value":8,"toc":534},"minimark",[9,13,17,24,29,40,44,51,59,65,71,77,81,88,91,98,103,108,114,123,128,134,139,145,149,154,160,188,192,200,205,211,217,227,232,237,242,287,292,298,308,330,333,338,343,347,353,359,363,368,375,380,385,392,396,401,428,433,446,451,471,477,480,489,492,508,511,525,530],[10,11,5],"h3",{"id":12},"introduction-to-ros",[10,14,16],{"id":15},"the-relationship-between-ros-and-ros2","The relationship between ROS and ROS2",[18,19,20],"p",{},[21,22,23],"strong",{},"ROS1's final LTS version, ROS Noetic, only provides binary installation files for Ubuntu 20.04 Focal and Debian 10 Buster. It will be completely discontinued in 2025. (There are third-party methods to deploy ROS Noetic on distributions such as Ubuntu 22.04 Jammy, Ubuntu 24.04 Noble, and Debian 12 Bookworm.)",[18,25,26],{},[21,27,28],{},"ROS2 fixes some lingering issues from the early design of ROS1 and will become mainstream in the future, but ROS2 is purely future-oriented. For now, you can learn it, but it's almost impossible to apply, and there are very few tutorials available.",[18,30,31,34,37],{},[21,32,33],{},"The current mainstream LTS versions of ROS2 are as follows:",[35,36],"br",{},[21,38,39],{},"ROS Humble officially provides binary installation files only on Ubuntu 22.04 Jammy, and ROS Jazzy officially provides binary installation files only on Ubuntu 24.04 Noble.",[10,41,43],{"id":42},"ros-tutorial-materials","ROS tutorial materials",[45,46,47],"ol",{},[48,49,50],"li",{},"Tutorial video",[18,52,53],{},[54,55,56],"a",{"href":56,"rel":57},"https://www.bilibili.com/video/BV1Ci4y1L7ZZ/",[58],"nofollow",[18,60,61],{},[54,62,63],{"href":63,"rel":64},"https://www.bilibili.com/video/BV1Ub4y1a7PH",[58],[45,66,68],{"start":67},2,[48,69,70],{},"Teaching document",[18,72,73],{},[54,74,75],{"href":75,"rel":76},"http://www.autolabor.com.cn/book/ROSTutorials/",[58],[10,78,80],{"id":79},"install-ros1-noetic","Install ROS1 Noetic",[18,82,83,84],{},"For ROS2 installation, see: ",[54,85,87],{"href":86},"/wiki/2023-12-30-ros2-tutorial","ROS2 Robot Operating System Tutorial",[18,89,90],{},"ROS1 has reached EOF, come to ROS2.",[18,92,93],{},[94,95],"img",{"alt":96,"src":97},"","https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/07/13/image1.webp",[99,100,102],"h4",{"id":101},"official-channels","Official channels",[45,104,105],{},[48,106,107],{},"Wiki Installation Homepage:",[18,109,110],{},[54,111,112],{"href":112,"rel":113},"https://wiki.ros.org/cn/noetic/Installation",[58],[115,116,118,119,122],"h5",{"id":117},"binary-package-installation-only-supports-ubuntu-2004-focal-and-debian-10-buster-this-method-is-recommended","Binary package installation (only supports Ubuntu 20.04 Focal and Debian 10 Buster, ",[21,120,121],{},"this method is recommended",").",[45,124,125],{},[48,126,127],{},"Ubuntu 20.04 Focal",[18,129,130],{},[54,131,132],{"href":132,"rel":133},"https://wiki.ros.org/noetic/Installation/Ubuntu",[58],[45,135,136],{"start":67},[48,137,138],{},"Debian10 Buster",[18,140,141],{},[54,142,143],{"href":143,"rel":144},"https://wiki.ros.org/noetic/Installation/Debian",[58],[115,146,148],{"id":147},"according-to-the-official-source-code-compile-manually-this-method-is-not-recommended","According to the official source code, compile manually (this method is not recommended).",[45,150,151],{},[48,152,153],{},"Supported distributions:",[18,155,156],{},[54,157,158],{"href":158,"rel":159},"https://www.ros.org/reps/rep-2000.html",[58],[45,161,162],{"start":67},[48,163,164,165,170,172,176,182,184],{},"Tutorial",[45,166,167],{},[48,168,169],{},"Ubuntu 20.04 Focal and Debian 10 Buster (unnecessary: if a binary package installation is available, don't compile from source).",[35,171],{},[54,173,174],{"href":174,"rel":175},"https://wiki.ros.org/noetic/Installation/Source",[58],[45,177,179],{"start":178},3,[48,180,181],{},"Arch Linux",[35,183],{},[54,185,186],{"href":186,"rel":187},"https://wiki.ros.org/noetic/Installation/ArchLinux",[58],[99,189,191],{"id":190},"third-party-channels","Third-party channels",[115,193,195,196,199],{"id":194},"binary-package-installation-recommended","Binary package installation (",[21,197,198],{},"recommended",")",[45,201,202],{},[48,203,204],{},"How to support Ubuntu 22.04 Jammy:",[18,206,207],{},[54,208,209],{"href":209,"rel":210},"https://rcbbs.top/t/topic/559",[58],[18,212,213],{},[54,214,215],{"href":215,"rel":216},"https://github.com/ganyuanzhen/ROS-on-Jammy",[58],[218,219,224],"pre",{"className":220,"code":222,"language":223},[221],"language-text","sudo add-apt-repository ppa:ros-for-jammy/noetic\nsudo apt update\nsudo apt install ros-noetic-desktop-full\n","text",[225,226,222],"code",{"__ignoreMap":96},[45,228,229],{"start":67},[48,230,231],{},"How to support Ubuntu 24.04 Noble:",[18,233,234],{},[54,235,209],{"href":209,"rel":236},[58],[18,238,239],{},[54,240,215],{"href":215,"rel":241},[58],[218,243,247],{"className":244,"code":245,"language":246,"meta":96,"style":96},"language-bash shiki shiki-themes github-light github-dark","sudo add-apt-repository ppa:ros-for-jammy/noble\nsudo apt update\nsudo apt install ros-noetic-desktop-full\n","bash",[225,248,249,265,275],{"__ignoreMap":96},[250,251,254,258,262],"span",{"class":252,"line":253},"line",1,[250,255,257],{"class":256},"sScJk","sudo",[250,259,261],{"class":260},"sZZnC"," add-apt-repository",[250,263,264],{"class":260}," ppa:ros-for-jammy/noble\n",[250,266,267,269,272],{"class":252,"line":67},[250,268,257],{"class":256},[250,270,271],{"class":260}," apt",[250,273,274],{"class":260}," update\n",[250,276,277,279,281,284],{"class":252,"line":178},[250,278,257],{"class":256},[250,280,271],{"class":260},[250,282,283],{"class":260}," install",[250,285,286],{"class":260}," ros-noetic-desktop-full\n",[45,288,289],{"start":178},[48,290,291],{},"Method for supporting Debian 12 Bookworm:",[18,293,294],{},[54,295,296],{"href":296,"rel":297},"https://gist.github.com/vrbadev/ec168a0940d45f523bf050011d7dff75",[58],[18,299,300,303,304,307],{},[21,301,302],{},"Reacquiring the key from the key server",": You can directly fetch and save this key file from the key server to the correct location. First, use the following command to retrieve the key from the key server and save it as the ",[225,305,306],{},".asc"," file:",[218,309,311],{"className":244,"code":310,"language":246,"meta":96,"style":96},"sudo wget -O /etc/apt/trusted.gpg.d/ros.asc https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc\n",[225,312,313],{"__ignoreMap":96},[250,314,315,317,320,324,327],{"class":252,"line":253},[250,316,257],{"class":256},[250,318,319],{"class":260}," wget",[250,321,323],{"class":322},"sj4cs"," -O",[250,325,326],{"class":260}," /etc/apt/trusted.gpg.d/ros.asc",[250,328,329],{"class":260}," https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc\n",[18,331,332],{},"You don't need to worry about this Mavros-related part; there's no need for a flight controller.",[18,334,335],{},[94,336],{"alt":96,"src":337},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/07/13/image2.webp",[18,339,340],{},[94,341],{"alt":96,"src":342},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/07/13/image3.webp",[115,344,346],{"id":345},"docker-container-not-recommended-available-for-those-who-need-it","Docker container (not recommended, available for those who need it)",[18,348,349],{},[54,350,352],{"href":351},"/wiki/2024-10-03-docker-jiao-cheng","Docker tutorial",[18,354,355],{},[54,356,357],{"href":357,"rel":358},"https://gitee.com/qinyinan/amber-ce-bookworm",[58],[115,360,362],{"id":361},"based-on-the-source-code-compile-manually-not-recommended","Based on the source code, compile manually (not recommended)",[45,364,365],{},[48,366,367],{},"Ubuntu",[18,369,370],{},[54,371,374],{"href":372,"rel":373},"https://zhuanlan.zhihu.com/p/688413327?utm%5C_psn=1805362924497268736",[58],"https://zhuanlan.zhihu.com/p/688413327?utm\\_psn=1805362924497268736",[18,376,377],{},[94,378],{"alt":96,"src":379},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/07/13/image4.webp",[45,381,382],{"start":67},[48,383,384],{},"Fedora",[18,386,387],{},[54,388,391],{"href":389,"rel":390},"https://zhuanlan.zhihu.com/p/687755518?utm%5C_psn=1823704798471520256",[58],"https://zhuanlan.zhihu.com/p/687755518?utm\\_psn=1823704798471520256",[10,393,395],{"id":394},"test-ros1","Test ROS1",[45,397,398],{},[48,399,400],{},"Environment setup (only needs to be configured once)",[218,402,404],{"className":244,"code":403,"language":246,"meta":96,"style":96},"\n# 打开文件并编辑\nsudo vim ~/.bashrc\n",[225,405,406,412,418],{"__ignoreMap":96},[250,407,408],{"class":252,"line":253},[250,409,411],{"emptyLinePlaceholder":410},true,"\n",[250,413,414],{"class":252,"line":67},[250,415,417],{"class":416},"sJ8bj","# 打开文件并编辑\n",[250,419,420,422,425],{"class":252,"line":178},[250,421,257],{"class":256},[250,423,424],{"class":260}," vim",[250,426,427],{"class":260}," ~/.bashrc\n",[45,429,430],{"start":67},[48,431,432],{},"Add the following command at the end (only needs to be configured once):",[218,434,436],{"className":244,"code":435,"language":246,"meta":96,"style":96},"source /opt/ros/noetic/setup.bash\n",[225,437,438],{"__ignoreMap":96},[250,439,440,443],{"class":252,"line":253},[250,441,442],{"class":322},"source",[250,444,445],{"class":260}," /opt/ros/noetic/setup.bash\n",[45,447,448],{"start":178},[48,449,450],{},"Load the modified file in the current terminal (only needs to be configured once).",[218,452,454],{"className":244,"code":453,"language":246,"meta":96,"style":96},"\n# 加载文件\nsource ~/.bashrc\n",[225,455,456,460,465],{"__ignoreMap":96},[250,457,458],{"class":252,"line":253},[250,459,411],{"emptyLinePlaceholder":410},[250,461,462],{"class":252,"line":67},[250,463,464],{"class":416},"# 加载文件\n",[250,466,467,469],{"class":252,"line":178},[250,468,442],{"class":322},[250,470,427],{"class":260},[45,472,474],{"start":473},4,[48,475,476],{},"test",[18,478,479],{},"Open a terminal and type the following command to open Master.",[218,481,483],{"className":244,"code":482,"language":246,"meta":96,"style":96},"roscore\n",[225,484,485],{"__ignoreMap":96},[250,486,487],{"class":252,"line":253},[250,488,482],{"class":256},[18,490,491],{},"Open another terminal and launch the turtle graphical interface node.",[218,493,495],{"className":244,"code":494,"language":246,"meta":96,"style":96},"rosrun turtlesim turtlesim_node\n",[225,496,497],{"__ignoreMap":96},[250,498,499,502,505],{"class":252,"line":253},[250,500,501],{"class":256},"rosrun",[250,503,504],{"class":260}," turtlesim",[250,506,507],{"class":260}," turtlesim_node\n",[18,509,510],{},"Open another terminal, launch the control node, click to select that terminal, and press keys on the keyboard to make the 🐢 turtle 🐢 move.",[218,512,514],{"className":244,"code":513,"language":246,"meta":96,"style":96},"rosrun turtlesim turtle_teleop_key\n",[225,515,516],{"__ignoreMap":96},[250,517,518,520,522],{"class":252,"line":253},[250,519,501],{"class":256},[250,521,504],{"class":260},[250,523,524],{"class":260}," turtle_teleop_key\n",[18,526,527],{},[94,528],{"alt":96,"src":529},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/07/13/image5.webp",[531,532,533],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":96,"searchDepth":67,"depth":67,"links":535},[536,537,538,539,540],{"id":12,"depth":178,"text":5},{"id":15,"depth":178,"text":16},{"id":42,"depth":178,"text":43},{"id":79,"depth":178,"text":80},{"id":394,"depth":178,"text":395},"/en-us/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao","1",1000000,"2024-07-13","wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng","en-us:2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng","/en-us/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng","ROS1机器人操作系统教程","md","wiki/2024-07-13-ROS1机器人操作系统教程/ch1-ROS介绍",false,null,"en-US","en-us",{},{"title":5,"description":96},"/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao","_i18n/en-us/wiki/2024-07-13-ROS1机器人操作系统教程/ch1-ROS介绍","eN0Bs5izqz5jZzxEAR0BPqOANeors4J8sLJ2nN1e4Ps",[561,562],{"path":541,"stem":558,"title":5,"date":544,"chapter":542,"chapterSort":543,"docKey":546,"docRoot":547,"docTitle":548,"isWikiDoc":410,"isWikiIndex":551},{"path":547,"stem":563,"title":564,"date":544,"chapter":552,"chapterSort":565,"docKey":546,"docRoot":547,"docTitle":548,"isWikiDoc":410,"isWikiIndex":410},"_i18n/en-us/wiki/2024-07-13-ROS1机器人操作系统教程/index","ROS1 Robot Operating System Tutorial",0,{"variants":567},[568,569,572,575,578],{"path":541,"localeSlug":554,"i18nKey":550},{"path":570,"localeSlug":571,"i18nKey":550},"/zh-hant/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao","zh-hant",{"path":573,"localeSlug":574,"i18nKey":550},"/zh-hk/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao","zh-hk",{"path":576,"localeSlug":577,"i18nKey":550},"/zh-tw/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao","zh-tw",{"path":579,"localeSlug":580,"i18nKey":550},"/zh-cn/wiki/2024-07-13-ros1-ji-qi-ren-cao-zuo-xi-tong-jiao-cheng/ch1-ros-jie-shao","zh-cn",[541,557,570,557,573,557,576,557,579,557],1780673974702]