本文介紹如何在中國大陸環境下順利安裝 ROS 2 Humble,包括使用清華鏡像源、解決 locale 和 GPG 密鑰問題、安裝 ROS 軟件包以及配置自動環境加載。
🌟 ROS 2 版本簡介
ROS 2 是機器人操作系統的第二代版本,目前主要有兩個長期支持(LTS)版本:Humble Hawksbill 和 Jazzy Jaguar。
- Humble Hawksbill:推薦用于 Ubuntu 22.04(Jammy Jellyfish),支持最新功能和改進。
- Jazzy Jaguar:推薦用于 Ubuntu 24.04(未來版本),適合需要最新功能的用戶。
對于 Ubuntu 22.04 用戶,建議選擇 Humble Hawksbill 版本。
📌 環境要求
- 操作系統:Ubuntu 22.04(Jammy Jellyfish)
- 網絡:可訪問清華大學開源鏡像站(或使用科學上網)
- 權限:具有
sudo
權限
1?? 更換系統軟件源(清華鏡像)
為加快 ROS 相關依賴的下載速度,推薦先更換系統的 apt 源。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
然后替換為清華的源(Jammy 版本):
sudo tee /etc/apt/sources.list > /dev/null <<EOF
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
EOFsudo apt update
2?? 設置語言環境(locale)
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-8
locale # 驗證
3?? 添加 ROS 2 的 APT 軟件源
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update
sudo apt install curl -y
添加 GPG 密鑰:
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
添加 ROS 軟件源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \
http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | \
sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
4?? 更新系統并安裝 ROS 2
更新系統(?? 非常關鍵,避免依賴錯誤):
sudo apt update
sudo apt upgrade
推薦安裝完整桌面版:
sudo apt install ros-humble-desktop
或者僅安裝基礎 ROS 工具(無 GUI):
sudo apt install ros-humble-ros-base
開發者工具(建議安裝):
sudo apt install ros-dev-tools
5?? 設置 ROS 環境變量(自動加載)
每次打開終端都需要手動執行 source
太麻煩,可以添加到 bashrc
或 zshrc
:
對于 bash 用戶:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
對于 zsh 用戶:
echo "source /opt/ros/humble/setup.zsh" >> ~/.zshrc
source ~/.zshrc
6?? 驗證安裝(Talker/Listener 示例)
打開一個終端:
ros2 run demo_nodes_cpp talker
再打開另一個終端:
ros2 run demo_nodes_py listener
如果輸出正常說明 ROS 2 安裝成功!
🧹 卸載 ROS 2(可選)
sudo apt remove ~nros-humble-* && sudo apt autoremove
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update