02. 安裝 ROS#
相關連結:
Ubuntu18.04 安裝 ROS Melodic(詳細,親測安裝完成,有清晰的截圖步驟)_愛跑步的 mango 的博客 - CSDN 博客_xubuntu18.04 安裝 ros
本文之後,世上再無 rosdep 更新失敗問題!如果有.... 小魚就... (qq.com)
2.1 ROS 是什麼?#
ROS 是一個適用於機器人的開源的元操作系統。它提供了操作系統應有的服務,包括硬體抽象,底層設備控制,常用函數的實現,進程間消息傳遞,以及包管理。它也提供用於獲取、編譯、編寫、和跨計算機運行代碼所需的工具和庫函數。在某些方面 ROS 相當於一種 “機器人框架(robot frameworks)” 類似的 “機器人框架” 有:Player,YARP,Orocos,CARMEN,Orca,MOOS 和 Microsoft Robotics Studio。
ROS 運行時的 “藍圖” 是一種基於 ROS 通信基礎結構的鬆耦合點對點進程網絡。ROS 實現了幾種不同的通信方式,包括基於同步 RPC 樣式通信的服務(services)機制,基於異步流媒體數據的話題(topics)機制以及用於數據存儲的參數伺服器(Parameter Server)。想更加深入的解釋這些概念,請參見概念綜述。
ROS 並不是一個即時的框架,但 ROS 可以嵌入即時程序。Willow Garage 的 PR2 機器人使用了一種叫做 pr2_etherCAT 的系統來即時發送或接收 ROS 消息。ROS 也可以與 Orocos 即時工具包無縫集成。
2.2 安裝步驟#
本文安裝的版本是 ROS Melodic
,使用的系統是 Ubuntu18.04
2.2.1 添加鏡像源#
我這裡設定的是清華的鏡像源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
2.2.2 設置密鑰#
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
2.2.3 更新包索引#
確保你的 Debian 包索引是最新的:
sudo apt update
若出現 GPG 錯誤
解決方法:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FEEA9169307EA071
替換FEEA9169307EA071
為自己的NO_PUBKEY
後的值
修改 /etc/apt/sources.list
sudo gedit /etc/apt/sources.list
解決方法 (暫時不確定是否必要)
適用於 ubuntu18.04
使用 aliyun,將 sources.list 內容修改為下面內容
deb http://mirrors.aliyun.com/ubuntu bionic main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-updates main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-backports main multiverse restricted universe
12345
最後更新軟體包
sudo apt update
or
sudo apt-get update
2.2.4 安裝 ROS 桌面完整版#
桌面完整版(推薦): 包含 ROS、rqt、rviz、機器人通用庫、2D/3D 模擬器、導航以及 2D/3D 感知包。
sudo apt install ros-melodic-desktop-full
出現報錯
最後發現一個最簡單的解決方案:
在 ubuntu 設置中把系統更新打開……
然後sudo apt-get install ros-melodic-desktop-full
重新安裝,就沒問題了。
避免後面出現 sudo rosdep:找不到命令提示,這裡需要執行如下命令
sudo apt install python-rosdep
2.2.5 初始化 rosdep 及執行 rosdep update 更新#
開始使用 ROS 之前,先初始化 rosdep,rosdep 能夠輕鬆地安裝要編譯的源代碼的系統依賴關係,rosdep 是 ROS 核心組件運行的基礎
sudo rosdep init
(棄用) rosdep update
(棄用)
由於涉及到下載,而網站在國外,使用這兩個命令會出錯,因此我們棄用這個方案,改為國內大佬 (公眾號:魚香 ROS) 的解決方案
2.2.5.1 安裝 python3-pip#
sudo apt-get install python3-pip
2.2.5.2 安裝 rosdepc#
sudo pip3 install rosdepc
2.2.5.3 rosdepc init#
sudo rosdepc init
2.2.5.4 rosdepc 更新#
rosdepc update
2.2.6 添加 ros 環境變量#
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.2.7 為了構建和管理開發者自己的 ROS 工作空間,還需安裝 rosinstall#
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
2.2.8 啟動運行小海龜例子測試 ROS 環境#
2.2.8.1 第一個終端運行如下命令#
roscore
2.2.8.2 打開第二個終端,也可以利用 Ctrl+Shift+T 快捷鍵打開一個新的終端,運行如下命令,這時你會看見一隻靜止的小海龜#
rosrun turtlesim turtlesim_node
2.2.8.3 如果希望小海龜能夠移動,打開第三個終端,利用Ctrl+Shift+T快捷鍵再打開一個新的終端,啟動 turtlesim 的鍵盤控制節點 turtle_teleop_key,運行如下命令#
rosrun turtlesim turtle_teleop_key
(這裡你的鼠標要停留在當前這個終端界面,按鍵盤上面的 上下左右 來控制小海龜的移動)
鍵盤上面的 “上下左右” | 小海龜移動情況 |
---|---|
上 | 前進 |
下 | 後退 |
左 | 原地向左轉 |
右 | 原地向右轉 |
至此 ros 安裝完成
撒花✿✿ヽ (°▽°) ノ✿