news 2026/7/23 12:57:12

Ubuntu 24.04安装ROS2 Humble完整指南与避坑技巧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 24.04安装ROS2 Humble完整指南与避坑技巧

1. 项目概述

作为一名机器人开发工程师,我经历过无数次ROS2环境搭建的痛苦过程。每次新版本发布或者更换开发机器时,总会遇到各种意想不到的问题。这篇文章将分享我在Ubuntu系统上安装ROS2的完整流程和避坑经验,特别针对2024年最新的Ubuntu 24.04和ROS2 Humble版本。

ROS2(Robot Operating System 2)是当前机器人开发领域最流行的开源框架,相比第一代ROS,它在实时性、跨平台支持和分布式架构方面有了显著提升。但随之而来的是更复杂的依赖关系和安装要求,这也是为什么很多新手会在环境搭建阶段就放弃学习。

重要提示:本文所有操作均在纯净的Ubuntu 24.04 LTS系统上验证通过,同时适用于物理机和虚拟机环境。建议先完整阅读全文再开始操作,特别是"常见问题"章节中的避坑指南。

2. 系统准备与基础环境配置

2.1 Ubuntu系统安装选择

在开始ROS2安装前,你需要一个合适的Ubuntu环境。目前ROS2 Humble官方支持Ubuntu 22.04和24.04两个LTS版本。我的建议是:

  • 物理机安装:直接使用Ubuntu 24.04 LTS,获得最好的性能和兼容性
  • 虚拟机方案:VMware Workstation Pro + Ubuntu 24.04(至少分配4GB内存)
  • WSL方案:Windows用户可使用WSL2 + Ubuntu 24.04,但需要注意图形界面支持

我个人的开发环境配置是:

  • 主机:Dell Precision 7760
  • CPU:Intel i9-11950H
  • 内存:32GB
  • 存储:1TB NVMe SSD
  • 系统:Ubuntu 24.04 LTS(最小化安装)

2.2 系统基础配置

安装完Ubuntu后,首先需要完成以下基础配置:

  1. 更新软件源
sudo apt update && sudo apt upgrade -y
  1. 安装必要工具
sudo apt install -y curl git vim build-essential python3-pip
  1. 配置中文输入法(可选):
sudo apt install -y fcitx fcitx-googlepinyin
  1. 设置时区和语言环境
sudo timedatectl set-timezone Asia/Shanghai sudo dpkg-reconfigure locales

经验分享:在虚拟机环境中,建议先安装VMware Tools或VirtualBox Guest Additions以获得更好的显示效果和剪贴板共享功能。

3. ROS2 Humble完整安装流程

3.1 设置软件源

首先需要将ROS2的软件源添加到系统中:

sudo apt install -y software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install -y curl gnupg lsb-release sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg 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 sudo apt update

3.2 安装ROS2基础包

ROS2提供了多种安装变体,对于大多数开发者,我推荐安装"桌面完整版":

sudo apt install -y ros-humble-desktop

这个版本包含了ROS2核心、GUI工具、常用库和演示程序。安装过程大约需要15-30分钟,取决于你的网络速度。

3.3 环境变量配置

安装完成后,需要设置环境变量才能使用ROS2命令。将以下内容添加到你的~/.bashrc文件末尾:

source /opt/ros/humble/setup.bash

然后执行:

source ~/.bashrc

3.4 安装依赖和工具

ROS2开发还需要一些额外的工具:

sudo apt install -y python3-rosdep python3-colcon-common-extensions sudo rosdep init rosdep update

4. 开发环境增强配置

4.1 工作空间创建与管理

ROS2使用工作空间(workspace)来组织代码。创建一个新的工作空间:

mkdir -p ~/ros2_ws/src cd ~/ros2_ws colcon build

4.2 VS Code配置

VS Code是ROS2开发的优秀IDE,安装以下扩展能极大提升开发效率:

  1. ROS (Microsoft)
  2. C/C++
  3. Python
  4. CMake Tools
  5. XML Tools

配置settings.json:

{ "ros.distro": "humble", "cmake.configureArgs": [ "-DCMAKE_BUILD_TYPE=RelWithDebInfo" ] }

4.3 网络配置优化

ROS2默认使用DDS进行通信,在多机开发时可能需要特殊配置:

export ROS_LOCALHOST_ONLY=1 # 限制只在本地通信 # 或者 export ROS_DOMAIN_ID=<你的专属ID> # 多机通信时使用

5. 验证安装与基础测试

5.1 基础功能测试

运行以下命令验证ROS2核心功能:

ros2 run demo_nodes_cpp talker # 新终端 ros2 run demo_nodes_cpp listener

你应该能看到talker发布消息,listener接收消息的交互。

5.2 图形界面测试

启动RViz2可视化工具:

ros2 run rviz2 rviz2

5.3 创建自定义包测试

创建一个简单的Python包进行测试:

cd ~/ros2_ws/src ros2 pkg create --build-type ament_python my_first_package --dependencies rclpy

6. 常见问题与解决方案

6.1 安装过程中的常见错误

  1. 密钥错误

    The following signatures couldn't be verified because the public key is not available

    解决方案:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <报错中的密钥ID>
  2. rosdep初始化失败

    ERROR: cannot download default sources list from...

    解决方案:

    sudo mkdir -p /etc/ros/rosdep/sources.list.d/ sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list

6.2 运行时问题

  1. RCL_RET_NOT_INIT错误: 通常是因为没有正确source环境变量,确保执行了:

    source /opt/ros/humble/setup.bash
  2. DDS通信问题: 如果节点间无法通信,尝试:

    export ROS_DOMAIN_ID=42 # 选择一个0-232之间的数字

6.3 性能优化技巧

  1. 加速colcon编译

    colcon build --parallel-workers 8 # 根据CPU核心数调整
  2. 减少内存占用: 在虚拟机或资源有限的环境中,可以使用Fast DDS的共享内存模式:

    export RMW_IMPLEMENTATION=rmw_fastrtps_cpp export FASTRTPS_DEFAULT_PROFILES_FILE=<path_to_shm_profile.xml>

7. 进阶配置与工具链

7.1 与Docker集成

对于需要隔离环境的开发,可以使用官方ROS2 Docker镜像:

docker pull ros:humble docker run -it --rm ros:humble

7.2 与硬件交互配置

如果需要与STM32等嵌入式设备交互,安装串口工具:

sudo apt install -y ros-humble-serial-driver sudo usermod -a -G dialout $USER

7.3 性能监控工具

安装ROS2性能分析工具:

sudo apt install -y ros-humble-ros2cli ros-humble-ros2bag ros-humble-rqt

8. 环境维护与更新

8.1 定期更新

保持ROS2环境更新:

sudo apt update && sudo apt upgrade rosdep update

8.2 备份配置

备份重要的环境配置:

dpkg --get-selections > ~/ros2_packages.list pip freeze > ~/ros2_pip_packages.list

8.3 故障恢复

如果环境损坏,可以尝试:

sudo apt install --reinstall ros-humble-desktop

经过以上步骤,你应该已经拥有了一个稳定、高效的ROS2开发环境。在实际使用中,我发现最常遇到的问题往往与网络配置和权限相关,因此建议新手特别注意第6章中的避坑指南。

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

鸿蒙三方库 | harmony-utils之AssetUtil关键资产存储详解

前言 关键资产存储&#xff08;Asset Store&#xff09;是HarmonyOS提供的安全存储方案&#xff0c;用于存储密码、Token等敏感数据。数据经过加密存储&#xff0c;只有应用自身可以访问。pura/harmony-utils 的 AssetUtil 封装了关键资产的增删改查方法。本文将从API说明、代码…

作者头像 李华
网站建设 2026/7/23 12:55:48

基于HarmonyOS的AI文本字数统计分析——从对齐到评估的全流程技术实践

基于HarmonyOS的AI文本字数统计分析——从对齐到评估的全流程技术实践 一、项目背景与需求分析&#xff08;Align&#xff09; 1.1 场景痛点分析 在现代数字生活中&#xff0c;用户对文本字数统计分析的需求日益增长。传统的文本字数统计分析方式存在效率低下、个性化不足等问题…

作者头像 李华
网站建设 2026/7/23 12:55:08

金融行业电子合同实践:从合规刚需到效率引擎的转型逻辑

在电子合同的所有应用行业中&#xff0c;金融行业的特殊性最为突出。一方面&#xff0c;金融行业是监管最严格的领域之一&#xff0c;合同签署的合规要求远超其他行业&#xff1b;另一方面&#xff0c;金融行业的合同种类多、签署频率高、涉及金额大&#xff0c;对效率的追求同…

作者头像 李华
网站建设 2026/7/23 12:53:20

北京华恒智信破解国有维修企业忙闲不均、干多干少一个样难题

【客户行业】服务行业【问题类型】薪酬绩效【客户背景】某大型车辆维修公司隶属于某大型旅游服务集团&#xff0c;该集团是国资委下属的一家以旅游景区管理、旅游客运为龙头&#xff0c;集娱乐休闲、宾馆接待、会议度假为一体的综合性国有企业。该维修公司作为它的组成部分&…

作者头像 李华
网站建设 2026/7/23 12:51:01

大语言模型中的神经计算单元设计与实现

1. 项目概述&#xff1a;当大模型学会"自主计算"去年在斯坦福的某个深夜实验室里&#xff0c;Percepta团队的三位工程师盯着屏幕上跳动的矩阵运算结果&#xff0c;突然意识到他们可能打开了一扇危险又迷人的门——让Transformer架构的大语言模型真正理解并执行计算逻…

作者头像 李华
网站建设 2026/7/23 12:50:52

数据化闭环教学如何落地?初三个性化提分的体系化实践

一、传统 K12 辅导的效率痛点&#xff1a;经验模式的瓶颈在初三冲刺这类强目标、高时间成本的学习场景中&#xff0c;传统辅导模式普遍存在一个核心问题&#xff1a;教学效果高度依赖老师的个人经验&#xff0c;难以标准化复制。 很多机构的学情诊断仅靠单次测试分数判断&#…

作者头像 李华