news 2026/6/15 23:27:51

告别编译:在Ubuntu 20.04上快速体验ROS2 Humble的两种‘懒人’安装法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
告别编译:在Ubuntu 20.04上快速体验ROS2 Humble的两种‘懒人’安装法

在Ubuntu 20.04上极速部署ROS2 Humble的实战指南

作为机器人操作系统的最新迭代版本,ROS2 Humble为开发者带来了更强大的分布式计算能力和跨平台支持。但对于刚接触ROS2的开发者来说,从源码编译安装往往需要耗费数小时,期间还可能遇到各种依赖问题。本文将分享两种无需漫长编译的"懒人安装法",帮助你在Ubuntu 20.04上快速搭建可用的ROS2 Humble开发环境。

1. 二进制包安装:最直接的官方方案

二进制包安装是ROS官方推荐的安装方式,特别适合需要快速搭建开发环境的用户。这种方法通过预编译的deb包进行安装,避免了从源码编译的漫长等待。

1.1 系统准备与源配置

在开始安装前,我们需要确保系统环境配置正确:

# 检查并设置UTF-8编码环境 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

接下来添加ROS2的APT仓库。由于网络原因,建议使用国内镜像源加速下载:

# 添加ROS2 GPG密钥 sudo apt install curl sudo curl -sSL https://mirrors.ustc.edu.cn/ros/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg # 添加中科大ROS2源 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.ustc.edu.cn/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

1.2 安装ROS2 Humble基础包

更新软件源并安装基础包:

sudo apt update sudo apt install ros-humble-desktop

这个命令会安装ROS2 Humble的核心组件和常用工具。安装完成后,可以通过以下命令验证:

source /opt/ros/humble/setup.bash ros2 run demo_nodes_cpp talker

在另一个终端中运行:

source /opt/ros/humble/setup.bash ros2 run demo_nodes_py listener

如果能看到消息交互,说明安装成功。

1.3 二进制包安装的优缺点分析

优势

  • 安装速度快,通常30分钟内完成
  • 官方维护,稳定性有保障
  • 自动处理依赖关系
  • 适合大多数开发和学习场景

局限

  • 无法自定义编译选项
  • 部分边缘功能可能未包含
  • 更新周期依赖官方发布

2. Docker方案:隔离且可移植的环境

对于需要环境隔离或快速切换不同ROS版本的用户,Docker提供了完美的解决方案。这种方法通过预构建的镜像,可以在几分钟内获得一个完整的ROS2 Humble环境。

2.1 Docker环境准备

首先确保系统已安装Docker:

# 安装Docker sudo apt update sudo apt install docker.io # 将当前用户加入docker组 sudo usermod -aG docker $USER newgrp docker

2.2 获取ROS2 Humble镜像

官方提供了多个版本的ROS2 Docker镜像,我们可以直接拉取:

docker pull osrf/ros:humble-desktop

或者使用国内镜像加速:

docker pull registry.cn-hangzhou.aliyuncs.com/ros/humble-desktop

2.3 启动ROS2容器

运行以下命令启动一个交互式容器:

docker run -it --rm \ --name ros2_humble \ --network host \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ osrf/ros:humble-desktop

在容器内,你可以直接使用ROS2命令:

# 在容器内运行示例 ros2 run demo_nodes_cpp talker

2.4 Docker方案的优劣势对比

优势

  • 环境隔离,不影响主机系统
  • 快速部署,几分钟即可使用
  • 方便切换不同ROS版本
  • 可轻松迁移到其他机器
  • 适合教学和演示场景

局限

  • 图形性能可能受限
  • 需要额外学习Docker使用
  • 文件系统隔离导致开发流程变化

3. 两种方案的深度对比与选择建议

为了帮助开发者选择最适合自己需求的安装方式,我们从多个维度对两种方案进行了对比:

对比维度二进制包安装Docker安装
安装速度快(20-30分钟)极快(5-10分钟)
系统影响直接安装到系统完全隔离
自定义程度中等较低
资源占用直接占用系统资源额外Docker开销
适用场景长期开发快速体验/多版本测试
学习曲线简单需要Docker基础
网络要求需要稳定下载只需拉取镜像
硬件加速支持完整支持需要额外配置

选择建议

  • 如果你是ROS初学者或需要快速验证想法,Docker方案是最佳选择
  • 如果计划长期开发ROS2项目,建议使用二进制包安装
  • 如果需要同时维护多个ROS版本的项目,Docker能提供更好的隔离性
  • 如果项目涉及硬件加速或实时性要求,二进制包安装更为合适

4. 常见问题与高级配置技巧

4.1 网络问题解决方案

在国内使用ROS时,网络连接问题是最常见的障碍。以下是几种解决方案:

# 方法1:使用国内镜像源 export ROS_REPOSITORY_PATH=https://mirrors.ustc.edu.cn/ros2/ubuntu # 方法2:修改hosts解决raw.githubusercontent.com访问问题 echo "185.199.108.133 raw.githubusercontent.com" | sudo tee -a /etc/hosts

4.2 开发环境配置

无论是哪种安装方式,良好的开发环境配置都能提升效率:

# 安装常用开发工具 sudo apt install \ python3-colcon-common-extensions \ python3-rosdep \ python3-vcstool # 初始化rosdep sudo rosdep init rosdep update

4.3 环境变量管理

为了避免每次打开终端都需要source环境,可以将其添加到bashrc中:

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

对于Docker用户,可以创建自定义镜像包含这些配置:

FROM osrf/ros:humble-desktop RUN echo "source /opt/ros/humble/setup.bash" >> /root/.bashrc

4.4 性能优化技巧

对于需要更高性能的场景,可以考虑以下优化:

# 禁用不需要的ROS2组件 export RCUTILS_CONSOLE_OUTPUT_FORMAT="[{severity} {time}] [{name}]: {message}" export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

5. 从安装到开发:下一步建议

成功安装ROS2 Humble后,建议按照以下路径深入学习:

  1. 核心概念掌握

    • 理解ROS2的节点、话题、服务、动作等基本概念
    • 熟悉常用的CLI工具如ros2、colcon等
  2. 开发工具链配置

    • 配置VSCode或CLion等IDE的ROS2开发环境
    • 设置代码格式化工具如clang-format
  3. 实践项目起步

    • 从官方教程的示例项目开始
    • 尝试创建自己的第一个ROS2包
  4. 进阶学习资源

    • 官方文档:https://docs.ros.org/
    • ROS2高级编程书籍
    • 社区优质博客和视频教程

在实际项目中,我发现二进制包安装虽然前期准备稍多,但长期来看维护成本更低。而Docker方案在需要快速演示或教学时表现出色,特别是当需要在多台机器上部署相同环境时。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 23:24:58

百考通AI智能数据分析,精准分层适配,赋能决策全链路

在数字化浪潮席卷的当下,数据已成为驱动决策、优化业务、创新发展的核心生产要素。但从海量数据中挖掘价值,往往面临“分析门槛高、流程繁琐、结果不精准”的痛点:高校学子的论文数据统计耗时耗力,企业的市场分析缺乏专业工具&…

作者头像 李华
网站建设 2026/6/15 23:18:19

深入解析SC1400 DSP核心:VLIW架构、并行计算与高带宽数据通路设计

1. 从宏观到微观:理解SC1400 DSP核心的设计哲学在嵌入式信号处理领域,性能的瓶颈往往不在于算法本身,而在于硬件能否“喂饱”算法的计算需求。十几年前,当我第一次接触飞思卡尔(现为NXP)的SC1400 DSP核心时…

作者头像 李华
网站建设 2026/6/15 23:17:25

Xenos DLL注入器:突破Windows进程隔离的专业级解决方案

Xenos DLL注入器:突破Windows进程隔离的专业级解决方案 【免费下载链接】Xenos Windows dll injector 项目地址: https://gitcode.com/gh_mirrors/xe/Xenos 在Windows系统开发和安全研究领域,进程间的隔离机制既是保护系统稳定的屏障,…

作者头像 李华