Ubuntu安装ROS2完整教程和踩坑经历

本文提供了一步一步在Ubuntu 20.04 LTS系统上安装ROS2 Foxy的教程,包括设置编码、添加源、解决网络问题、安装过程中的公钥添加以及如何更换为国内源来解决下载问题。通过这个教程,读者可以了解完整的安装流程,并解决可能遇到的常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用设备:
虚拟机,Ubuntu 20.04LTS系统
安装ROS2 Foxy

1 设置编码:

sudo 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-8

2 添加源

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的IP地址::https://www.ipaddress.com
把找到的IP地址复制到host文件

sudo gedit /etc/hosts

加入地址:

185.199.108.133 raw.githubusercontent.com

(前面的IP地址以查到的数字为准)

下一步:

sudo sh -c ‘echo “deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu lsb_release -cs main” > /etc/apt/sources.list.d/ros2.list’

3 安装ROS2

sudo apt update
sudo apt upgrade

对于新加入的源,这一步可能出现没有公钥,由于安全问题不可更新
在这里插入图片描述
报错信息会提示要加入的公钥,输入以下指令:

gpg --keyserver keyserver.ubuntu.com --recv (要加入的公钥)
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys (要加入的公钥)

sudo apt install ros-foxy-desktop

这一步很可能出现网络连接不稳定,导致无法下载。这是使用默认国外的源造成的。

sudo gedit /etc/apt/sources.list

把原有的国外源改为清华源(注意对原文件备份)

# 默认注释了源码镜像以提高 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
### Ubuntu 系统 ROS 2 安装教程 以下是关于如何在 Ubuntu 系统上安装 ROS 2 的详细说明: #### 1. 确认操作系统支持 Ubuntu 20.04 是 ROS 2 Foxy Fitzroy 版本的主要支持平台之一[^1]。因此,在开始之前,请确认当前的操作系统为 Ubuntu 20.04。 #### 2. 启用 Universe 软件库 为了确保可以访问必要的软件包,需启用 `Universe` 软件库。可以通过以下命令完成此操作: ```bash sudo apt install software-properties-common sudo add-apt-repository universe ``` 以上步骤会将 Universe 存储库添加到系统的 APT 源列表中[^2]。 #### 3. 设置 ROS 2 的源密钥 类似于 ROS Kinetic 的安装过程[^3],ROS 2 使用特定的存储库来分发其二进制文件。执行以下命令以配置 ROS 2 的源并导入 GPG 密钥: ```bash sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 ``` #### 4. 更新本地索引 通过更新本地APT缓存,使新添加的 ROS 2 包可用: ```bash sudo apt update ``` #### 5. 安装 ROS 2 根据需求选择不同的安装选项。常见的安装方式如下所示: - **桌面完整版 (Desktop-Full Install)**:包含 ROS、rqt GUI 工具其他开发工具。 ```bash sudo apt install ros-foxy-desktop ``` - **桌面版 (Desktop Install)**:不带额外的可视化工具集。 ```bash sudo apt install ros-foxy-ros-base ``` - **单独安装某个包**:如果只需要某些特定功能模块,则可以直接指定包名进行安装。 ```bash sudo apt install ros-foxy-PACKAGE_NAME ``` 可以使用 `apt-cache search ros-foxy-*` 来查找可用的包名称。 #### 6. 初始化环境变量 为了让终端能够识别 ROS 命令,需要初始化工作空间中的环境变量。编辑用户的 `.bashrc` 文件并将下面这行追加进去: ```bash echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc source ~/.bashrc ``` #### 7. 安装依赖项管理器 对于构建自定义项目或者从源代码编译 ROS 功能包来说,还需要安装一些辅助工具如 `rosdep`, `rosinstall_generator` 其他相关组件: ```bash sudo apt install python3-colcon-common-extensions python3-rosdep python3-vcstool wget sudo rosdep init rosdep update ``` --- ### 注意事项 - 如果遇到任何网络连接问题,建议切换至国内镜像站点下载资源,例如清华大学开源软件镜像站提供了完整ROS 数据同步服务[^3]。 - 对于更高级别的定制化部署场景下可能涉及到 Docker 或者虚拟机技术的应用,这些不在本文讨论范围内。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值