1.2.1 安裝ROS2
整體而言,ROS2的安裝步驟不算復雜,大致步驟如下:
- 準備1:設置語言環境;
- 準備2:啟動Ubuntu universe存儲庫;
- 設置軟件源;
- 安裝ROS2;
- 配置環境。
請注意:雖然安裝比較簡單,但是安裝過程比較耗時,需要耐心等待。
1.準備1:設置語言環境
請先檢查本地語言環境是否支持UTF-8編碼,可調用如下指令檢查并設置UTF-8編碼:
locale # 檢查是否支持 UTF-8sudo 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-8locale # 驗證設置是否成果
注意:語言環境可以不同,但必須支持UTF-8編碼。
2.準備2:啟動Ubuntu universe存儲庫
常用的啟動Ubuntu universe存儲庫方式有兩種:圖形化操作與命令行操作。
方式1:圖形化操作
請打開軟件與更新(Software & Updates)窗口,確保啟動了universe存儲庫,以保證可以下載”社區維護的免費和開源軟件“,操作示例如下:
方式2:命令行操作
首先,通過如下命令檢查是否已經啟動了Ubuntu universe存儲庫:
apt-cache policy | grep universe500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packagesrelease v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64
如果沒有如上所示的輸出,那么請調用如下命令啟動Ubuntu universe存儲庫:
sudo apt install software-properties-common
sudo add-apt-repository universe
3.設置軟件源
先將ROS 2 apt存儲庫添加到系統,用apt授權我們的GPG密鑰:
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
提示:如果拋出連接?raw.githubusercontent.com?失敗的異常信息,解決方式請參考本節最后部分補充2內容。
然后將存儲庫添加到源列表:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
4.安裝ROS2
首先更新apt存儲庫緩存:
sudo apt update
然后升級已安裝的軟件(ROS2軟件包建立在經常更新的Ubuntu系統上,在安裝新軟件包之前請確保您的系統是最新的):
sudo apt upgrade
安裝桌面版ROS2(建議),包含:ROS、RViz、示例與教程,安裝命令如下:
sudo apt install ros-humble-desktop
或者,也可以安裝基礎版ROS2,包含:通信庫、消息包、命令行工具,但是沒有 GUI 工具,安裝命令如下:
sudo apt install ros-humble-ros-base
5.配置環境
終端下,執行ROS2程序時,需要調用如下命令配置環境:
source /opt/ros/humble/setup.bash
每次新開終端時,都得執行上述命令,或者也可以執行如下命令,將配置環境指令寫入 ”~/.bashrc“ 文件,那么每次新啟動終端時,不需要在手動配置環境:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
到目前為止,ROS2就已經安裝且配置完畢了。
補充1:關于卸載(謹慎操作)
ROS2安裝完畢之后,如果想卸載ROS2,可以執行如下命令:
sudo apt remove ~nros-humble-* && sudo apt autoremove
還可以再刪除ROS2對應的存儲庫:
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade
補充2:關于?raw.githubusercontent.com 連接失敗的處理
安裝ROS2過程中,執行到步驟3也即設置軟件源時,可能會拋出異常。
異常提示:curl: (7) Failed to connect to raw.githubusercontent.com port 443: 拒絕連接。
異常原因:DNS被污染。
解決思路:查詢錯誤提示中域名的IP地址,然后修改 /etc/hosts 文件,添加域名與IP映射。
具體實現:
1.訪問?https://www.ipaddress.com/?并輸入域名?raw.githubusercontent.com,查詢 ip 地址。
?
查詢到的ip地址可能有多個,記錄任意一個地址即可。
2.修改/etc/hosts文件:
sudo gedit /etc/hosts
添加ip和域名映射到hosts文件,保存并退出。
操作完畢后,終端再次運行安裝指令即可正常執行