ROS安裝指南
前言
由于自己裝過(guò)兩次 ROS,但是重頭再來(lái)一遍還是遇到了很多困難。尤其是當(dāng)遇到以前遇到過(guò)的問(wèn)題,我依然會(huì)手足無(wú)措,翻邊互聯(lián)網(wǎng)的邊邊角角,試很多遍錯(cuò)才能解決問(wèn)題。于是便萌發(fā)了寫(xiě)下這個(gè)ROS安裝指南的想法。
這里整理了我安裝 ROS 的流程以及遇到的所有問(wèn)題,也提供了有效的解決方式,如有其他問(wèn)題或者補(bǔ)充,歡迎評(píng)論區(qū)留言給我。
希望此篇 blog 能夠?qū)δ惝a(chǎn)生一些幫助OvO
一、配置Linux清華鏡像源
1.1 介紹
我們?cè)谙螺d很多基礎(chǔ)的工具請(qǐng)求的基本上是國(guó)外的服務(wù)器,這對(duì)于國(guó)內(nèi)用戶來(lái)說(shuō),無(wú)疑是非常糟糕的體驗(yàn),其下載速度慢、請(qǐng)求失敗往往成為很多剛?cè)腴T(mén)Linux的小白最大的困擾。
不過(guò)好在國(guó)內(nèi)有著穩(wěn)定高速且免費(fèi)的鏡像網(wǎng)站,我們可以通過(guò)修改系統(tǒng)配置文件來(lái)享受這些優(yōu)秀的網(wǎng)站資源。
清華源:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:https://mirrors.aliyun.com/pypi/simple
中科大:https://pypi.mirrors.ustc.edu.cn/simple/
1.2 開(kāi)始配置
這里我以 Ubuntu 20.04LTS 為例來(lái)配置 清華源
首先進(jìn)入清華大學(xué)開(kāi)源軟件鏡像站(https://mirrors.tuna.tsinghua.edu.cn)
在列表里選擇自己的系統(tǒng),這里我選擇的是 Ubuntu,點(diǎn)擊后面的問(wèn)號(hào)圖案
進(jìn)入后選擇自己的系統(tǒng)版本 20.04LTS
隨即文本框中會(huì)生成你需要的 sources.list 文件內(nèi)容,打開(kāi) Ubuntu 的終端,輸入下面的命令
sudo apt update
# 將 sources.list 拷貝到桌面
cp /etc/apt/sources.list ~/Desktop
# 打開(kāi) sources.list 進(jìn)行編輯
sudo gedit /etc/apt/sources.list
打開(kāi)文件后,將里面的所有內(nèi)容替換為之前網(wǎng)頁(yè)內(nèi)文本框里的內(nèi)容,例如
# 默認(rèn)注釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消注釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 預(yù)發(fā)布軟件源,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
然后保存關(guān)閉,這樣清華源就配置好啦!
二、安裝ROS
2.1 ROS的介紹
ROS 是機(jī)器人操作系統(tǒng)(Robot Operating System)的英文縮寫(xiě),雖然叫做操作系統(tǒng),但并不是真正意義上的操作系統(tǒng),而是一個(gè)面向機(jī)器人的開(kāi)源的開(kāi)發(fā)平臺(tái)。
它提供了操作系統(tǒng)應(yīng)有的服務(wù),包括硬件抽象,底層設(shè)備控制,常用函數(shù)的實(shí)現(xiàn),進(jìn)程間消息傳遞,以及包管理。它也提供用于獲取、編譯、編寫(xiě)、和跨計(jì)算機(jī)運(yùn)行代碼所需的工具和庫(kù)函數(shù)。
2.1 開(kāi)始安裝:配置公鑰
在前面的操作中,我們已經(jīng)為完成了國(guó)內(nèi)源的配置,這將會(huì)讓我們后面的install 一路暢通。不過(guò)還需要再做一個(gè)準(zhǔn)備,那就是配置公鑰。
公鑰是 Ubuntu 系統(tǒng)的一種安全機(jī)制,配置公鑰讓系統(tǒng)信任。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
2.2 系統(tǒng)更新
更新系統(tǒng),確保自己的Debian軟件包和索引是最新的。
sudo apt-get update
2.3 安裝ROS
大家注意自己的 Ubuntu 版本,我的是 20.04 對(duì)應(yīng)的是 ROS 版本是 noetic
大家也可以根據(jù)自己的 Ubuntu 版本去百度自己的對(duì)應(yīng)的 ROS 版本
# Ubuntu 20.04
sudo apt install ros-noetic-desktop-full
# Ubuntu 18.04
sudo apt install ros-melodic-desktop-full
三、配置ROS
3.1 初始化rosdep
sudo rosdep init && rosdep update
如果這里出現(xiàn)了報(bào)錯(cuò)問(wèn)題,可以跳轉(zhuǎn)至該文章的4.1部分
3.2 環(huán)境變量設(shè)置
這里容易出錯(cuò),大家直接復(fù)制粘貼就好
注意對(duì)應(yīng)自己的版本修改目錄名
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
3.3 安裝 rosinstall
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
3.4 測(cè)試ROS
打開(kāi)第一個(gè)終端窗口,運(yùn)行 roscore
roscore
出現(xiàn)如下圖的情況,就證明運(yùn)行成功
打開(kāi)第二個(gè)終端窗口,輸入:
rosrun turtlesim turtlesim_node
當(dāng)出現(xiàn)有一個(gè)海龜?shù)拇翱?,證明運(yùn)行成功了
打開(kāi)第三個(gè)終端窗口,輸入:
rosrun turtlesim turtle_teleop_key
出現(xiàn)這樣的提示后,我們用鼠標(biāo)聚焦第三個(gè)終端窗口,便可以通過(guò)按下 ↑ ↓ ← →鍵來(lái)對(duì)小海龜進(jìn)行控制了。
3.5 安裝完成
到了這里,恭喜你已經(jīng)完成了ROS的安裝、配置且運(yùn)行。
祝你日后的 ROS 學(xué)習(xí)也更加暢通無(wú)阻!
四、相關(guān)報(bào)錯(cuò)解決
4.1 rosdep update 報(bào)錯(cuò)
由于 rosdep update 請(qǐng)求的網(wǎng)站是 raw.githubusercontent.com,對(duì)于大部分人來(lái)說(shuō),該命令報(bào)錯(cuò)的原因主要是 timed out。
網(wǎng)上一般的方法都是通過(guò)修改 /etc/ros/rosdep/sources.list.d/20-default.list 的請(qǐng)求地址。但我自己通過(guò)這個(gè)方法并不能解決問(wèn)題,報(bào)錯(cuò)中仍然出現(xiàn)請(qǐng)求 raw.githubusercontent.com 時(shí)出現(xiàn) timed out。
好在有我們的 魚(yú)香ROS 大神基于 rosdep 源碼寫(xiě)的 rosdepc ,專門(mén)服務(wù)國(guó)內(nèi)ROS用戶。
rosdepc: https://zhuanlan.zhihu.com/p/398754989
文章里寫(xiě)的教程非常詳細(xì),大家可以直接去參考這篇文章。
4.2 roscore 報(bào)錯(cuò)
4.2.1 報(bào)錯(cuò)內(nèi)容
Resource not found: roslaunch
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/opt/ros/noetic/share
The traceback for the exception was written to the log file
4.2.2 解決辦法
注意將 noetic 替換為對(duì)應(yīng)版本文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-778637.html
sudo apt-get install ros-noetic-roslaunch
4.3 rosrun turtlesim turtlesim_node 報(bào)錯(cuò)1
4.3.1 報(bào)錯(cuò)內(nèi)容
Command 'rosrun' not found, but can be installed with:
sudo apt install rosbash
我們按照提示輸入
sudo apt install rosbash
發(fā)現(xiàn)根本不起作用
4.3.2 解決辦法
注意將 noetic 替換為對(duì)應(yīng)版本
sudo apt install ros-noetic-rosbash
4.4 rosrun turtlesim turtlesim_node 報(bào)錯(cuò)2
4.4.1 報(bào)錯(cuò)內(nèi)容
[rospack] Error: package 'turtlesim' not found
4.4.2 解決辦法
注意將 noetic 替換為對(duì)應(yīng)版本文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-778637.html
sudo apt-get install ros-noetic-turtlesim
到了這里,關(guān)于【ROS】在 Ubuntu 20.04 安裝 ROS 的詳細(xì)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!