Ubuntu 22.04/24.04 安装 ROS2 完整教程(Humble / Jazzy)

VIP Ubuntu22.04安装ROS2 —— ROS2 humble 详细图文教程 本文详细介绍了如何在Ubuntu22.04(Jammy)系统下配置ROS2环境,安装RO2软件包,并验证安装成功。ROS2的版本是Humble Hawksbill。:ROS是一个开源的,提供硬件抽象、设备驱动、库、工具和通信机制,支持模块化开发与集成,广泛用于机器人控制和自动化应用。ROS2 相较于 ROS1 在架构设计、通信机制和平台支持等方面做出了改进。ROS1 采用集中式主节点(Master)进行节点间通信,存在单点故障风险,且实时性和跨平台支持较弱。 开通可读全文·8.7k 阅读·35 点赞·52 收藏 阅读全文

最后更新:2026年2月
适用系统:Ubuntu 22.04 LTS(Jammy) / Ubuntu 24.04 LTS(Noble)
适用架构:x86_64 / arm64(包括树莓派)


📌 一、版本选择原则(必读)

你的Ubuntu版本必须安装的ROS2版本支持截止推荐度
22.04 LTSROS2 Humble Hawksbill2027年5月⭐⭐⭐ 稳定成熟
24.04 LTSROS2 Jazzy Jalisco2029年5月⭐⭐⭐⭐ 新项目首选

❗ 核心原则:Ubuntu版本与ROS2版本严格绑定,22.04不能装Jazzy,24.04不能装Humble。
❗ 架构说明:x86_64(普通PC)和arm64(树莓派4B/5、NVIDIA Jetson)均支持上述版本。


🚀 方案一:一键脚本安装(5分钟极速版)

推荐人群:新手、希望零坑位、网络环境一般、需要快速验证者
工具来源:鱼香ROS(国内开源社区维护,已稳定运行5年+)

1️⃣ 第一步:确认系统版本
lsb_release -a

预期输出:包含 Ubuntu 22.04.5 LTS​ 或 Ubuntu 24.04.2 LTS​

2️⃣ 第二步:执行一键安装脚本
wget http://fishros.com/install -O fishros && . fishros
3️⃣ 第三步:交互式配置(严格按顺序)

⚠️ 第一次运行脚本:

  • 输入数字:5​ → 选择【一键配置系统源】
  • 输入数字:2​ → 选择【更换系统源并清理第三方源】(推荐中科大)
  • 脚本自动执行,等待完成

⚠️ 第二次运行脚本(重新执行上述命令):

wget http://fishros.com/install -O fishros && . fishros
  • 输入数字:1​ → 选择【添加ROS/ROS2官方源】
  • 脚本自动执行,等待完成

⚠️ 第三次运行脚本(再次执行):

wget http://fishros.com/install -O fishros && . fishros
  • 输入数字:1​ → 选择【不更换源安装】(因前两步已完成换源)

  • 选择镜像源:推荐输入 1​(中科大)

  • 选择ROS2版本:

    • Ubuntu 22.04 → 输入 humble​
    • Ubuntu 24.04 → 输入 jazzy​
  • 选择安装类型:输入 desktop​(桌面完整版,包含RViz、Turtlesim等)

⏳ 等待约3-8分钟(取决于网速),无报错即安装完成。

4️⃣ 第四步:验证安装(小乌龟测试)

打开终端A(Ctrl+Alt+T):

ros2 run turtlesim turtlesim_node

打开终端B:

ros2 run turtlesim turtle_teleop_key

预期效果:出现蓝色窗口和小乌龟,键盘↑↓←→可控制移动 → ✅ 安装成功


🔧 方案二:官方标准安装(完全可控)

推荐人群:开发者、需要纯净环境、网络稳定(海外/代理)、后期需深度定制者


第1步:设置语言环境(UTF-8)
sudo apt update
sudo apt install locales -y
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

确认输出:LANG=en_US.UTF-8​ 等环境变量正确


第2步:启用Ubuntu Universe仓库
sudo apt install software-properties-common -y
sudo add-apt-repository universe -y

第3步:添加ROS2 GPG密钥及软件源
3.1 安装curl并下载密钥
sudo apt update
sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
3.2 添加ROS2 apt仓库(架构自动识别)
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步:安装ROS2
4.1 更新软件包索引
sudo apt update
sudo apt upgrade -y
4.2 根据Ubuntu版本执行对应命令

🔹 如果你的是 Ubuntu 22.04:

sudo apt install ros-humble-desktop -y

可选精简版:sudo apt install ros-humble-ros-base -y​(无GUI工具)

🔹 如果你的是 Ubuntu 24.04:

sudo apt install ros-jazzy-desktop -y

可选精简版:sudo apt install ros-jazzy-ros-base -y​(无GUI工具)

⏳ 安装大小:约1.5GB~2.5GB,耗时5-15分钟。


第5步:安装开发工具与依赖管理
5.1 安装ROS开发工具包
sudo apt install ros-dev-tools -y
5.2 安装colcon构建工具(编译工作空间必备)
sudo apt install python3-colcon-common-extensions -y
5.3 安装并初始化rosdep(依赖管理工具,可选但推荐)
sudo apt install python3-rosdep -y
sudo rosdep init
rosdep update

⚠️ 常见报错:若sudo rosdep init​提示“已存在”,则跳过;若提示网络错误,可尝试sudo rm /etc/ros/rosdep/sources.list.d/20-default.list​后重试。


第6步:配置环境变量(永久生效)

将ROS2环境加载脚本写入~/.bashrc​,避免每次打开终端都要手动source。

🔹 Ubuntu 22.04 + Humble:

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

🔹 Ubuntu 24.04 + Jazzy:

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

验证环境:

echo $ROS_DISTRO

预期输出:humble​ 或 jazzy​


第7步:验证安装(Talker-Listener测试)

打开终端A:

ros2 run demo_nodes_cpp talker

预期输出:[INFO] [xxx] [talker]: Publishing: 'Hello World: 1'​ 持续滚动

打开终端B:

ros2 run demo_nodes_py listener

预期输出:[INFO] [xxx] [listener]: I heard: [Hello World: 1]​ 持续滚动

✅ 看到以上内容,恭喜!ROS2已完整、正确地安装在你的系统中。


🆘 三、常见问题急救包(FAQ)

问题现象根本原因解决方案
​E: Unable to locate package ros-humble-desktop​ROS2 apt源未添加成功重做第3步,或换清华源/中科大源
​rosdep: command not found​未安装python3-rosdep​sudo apt install python3-rosdep -y​
每次打开终端都要手动source​未写入.bashrc执行第6步
安装卡在99% / 依赖冲突网络波动/源不稳定​Ctrl+C​中断,重新sudo apt install​
​ros2: command not found​环境未加载先执行source /opt/ros/{humble/jazzy}/setup.bash​
虚拟机无法运行turtlesimOpenGL渲染问题虚拟机设置启用3D加速,或安装export LIBGL_ALWAYS_SOFTWARE=1​
树莓派编译内存不足源码编译时RAM不够使用二进制安装(本教程均为二进制),或增加swap

📁 四、进阶:国内镜像源加速(可选)

如果你在执行sudo apt update​时速度极慢,或方案一换源失败,可手动更换apt源为国内镜像。

Ubuntu 22.04(中科大源):

sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list
sudo apt update

Ubuntu 24.04(中科大源):

sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list
sudo apt update

ROS2软件源换国内源(清华):

sudo sed -i 's@packages.ros.org@mirrors.tuna.tsinghua.edu.cn/ros2@g' /etc/apt/sources.list.d/ros2.list
sudo apt update

📝 五、备注

本教程基于以下官方文档及社区实践编写:

  • ROS2官方安装指南:https://docs.ros.org
  • 鱼香ROS一键安装:http://fishros.com
  • Ubuntu官方树莓派镜像:https://ubuntu.com/download/raspberry-pi

VIP Windows下用WSL2安装ROS2 Humble和Jazzy超详细教程 机器人操作系统ROS2(Robot Operating System 2)正逐步成为智能机器人开发的核心框架,但Windows用户常因环境配置困难望而却步。WSL2(Windows Subsystem for Linux 2)通过轻量级虚拟机提供完整Linux内核,既解决了依赖生态不兼容问题,又实现了与Windows原生文件系统、网络和图形界面的深度集成,堪称Windows下搭建ROS2开发环境的最佳方案。本文从WSL2与原生安装、Docker的对比切入,阐述其技术原理与工程价值,再以实战步骤展示如何在WS 开通可读全文·295 阅读·6 点赞·5 收藏 阅读全文

相关推荐

Ubuntu安装ROS2完整指南:从环境配置到工业级部署

ROS2是面向真实机器人系统的中间件架构,其核心依赖于确定性操作系统环境与标准化构建工具链。理解APT包管理、DDS通信机制、ament构建系统和systemd服务模型,是掌握ROS2开发的基础前提。Ubuntu作为官方唯一全支持平台,提供了与ROS2深度耦合的内核调度、设备权限管理和图形渲染兼容性,尤其在Humble与Jazzy等LTS版本中体现为对Python 3.12、C++20及Cyclone DDS的原生适配。该技术栈广泛应用于AGV导航、机械臂控制、SLAM建图等工业场景,支撑从仿真调试到嵌入式

weixin_34094282的博客 211

ROS2-humble学习

😊😊🤣怕什么真理无穷,进一步有进一步的欢喜。

weixin_54201782的博客 4909

【ROS】Ubuntu22.04安装ROS2(Humble Hawksbill)、moveit2

Ubuntu22.04对应的ROS2的版本为Humble Hawksbill(ros-humble)如果不是在Ubuntu22.04中安装ROS,请参考下面Ubuntu和ROS的版本对应关系。

郭老二 1万+

如何在Ubuntu上本地安装ROS2

为了稳定性和长期兼容性,请始终使用与受支持的ROS2发行版相匹配的Ubuntu LTS版本。现在我们了解了什么是ROS2以及它需要什么硬件,是时候进入一个实际步骤了:在Ubuntu上本地安装它。运行ROS2很常见。这意味着我们安装了最低限度的ROS2设置,并专注于网络稳定性。您现在可以构建自己的ROS2工作区,并开始在本地开发机器人系统。上安装ROS2,并对其进行无头远程机器人部署的配置。对于大多数用户来说,有两种常见的安装选项。这避免了GUI工具,并保持了系统的轻量级。如果消息连续打印,安装将正常工作。

yolo模型训练找我,AI游戏合作找我 1186

附录B:Standard Delay Format(SDF)(上)

本附录将介绍标准延迟标注格式,并说明了如何在仿真中执行反标。 延迟格式描述了设计网表的单元延迟和互连走线延迟,无论设计是用两种主要硬件描述语言(VHDL或Verilog HDL)中的哪一种所描述的。 本章还会介绍仿真的反标(backannotation),STA的反标其实是一个简单直接的过程,其中DUA中的时序弧将由SDF所指定的延迟进行标注。

To the beyond and infinity! 5400

2021年J题:基于STM32F103的周期信号波形识别与参数测量系统设计(立创EDA+SZPT_ZXL)

本文详细复盘了2021年全国大学生电子设计竞赛J题获奖项目,手把手教你如何基于STM32F103微控制器设计并实现周期信号波形识别与参数测量系统。文章深入剖析了硬件电路设计(包括程控放大、工作点抬升与滞回比较器)与核心软件算法(如动态采样、FFT频谱分析与波形识别逻辑),并分享了DMA传输、FFT库使用等实战要点与避坑指南,为嵌入式信号处理与电赛备赛提供了宝贵经验。

weixin_32673065的博客 221

如何选择StandardScaler、MinMaxScaler和RobustScaler做标准化的对比解释和示例代码

选择合适的标准化方法取决于数据的特点和需求。如果数据分布接近正态分布且无异常值,可以使用。如果需要将数据映射到特定范围内并保持相对关系,可以使用。如果数据中存在异常值或离群点,可以使用进行鲁棒标准化。在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,StandardScaler表现更好(避免不同量纲对方差、协方差计算的影响);在不涉及距离度量、协方差、数据不符合正态分布、异常值较少的时候,可使用MinMaxScaler。

qq_36001281的博客 4930

VASP能带计算避坑指南:从CHGCAR读取失败到成功解决的全过程

本文深度解析VASP能带计算中常见的“CHGCAR读取失败”报错,并提供从静态自洽到非自洽计算的全流程避坑指南。核心解决方案包括使用CONTCAR替代POSCAR、调整SYMPREC参数以处理对称性判定问题,并推荐利用vaspkit工具自动化生成输入文件,确保计算流程稳健高效。

weixin_29245767的博客 755

【目标跟踪】ECO算法论文阅读:ECO: Efficient Convolution Operators for Tracking

这里所指的训练集是指保存了每一帧的跟踪结果的训练集,也就是说,每一次进行model update的时候,要用在这一帧之前所有跟踪到的样本。那么随着视频越来越长,这个训练集就会越来越大。因为当目标被遮挡或者丢失的时候,比较新的这些样本本身就是错的,那么模型很容易有model drift,就是被背景或者错误的目标污染,导致跟踪结果出错。如下图所示,Baseline是传统的训练集,每更新一帧就加一个进来,那么连续的数帧后训练集里面的样本都是高度相似的,即容易遗忘前面的样本,且容易对最近的若干帧样本过拟合。

qq_43799400的博客 2603

【控制模块算法】控制理论的进修之路

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、(经典)自动控制理论【本科阶段】二、现代控制理论【本科阶段】三、最优控制理论【硕士阶段】总结 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对对控制理论的理解做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、(经典)自动控制理论【本科阶段】 一般控制工程、自动化相关的考研专业课就是自动

qq_35635374的博客 1444

RK3576 PCIE接口调试:基于RTL8111HS的网卡驱动移植

检查项方法电源电压复位时序检查设备树 reset-gpios链路速率设备识别lspci -vvv驱动加载。

小灰灰的博客 720

SAP Build Work Zone standard edition 订阅报错 OIDC trust missing 的成因与完整解决路径

摘要:用户订阅SAP Build Work Zone时遇到422错误,提示未配置OpenID Connect信任。该错误表明业务用户需通过SAP Cloud Identity Services的OIDC协议认证,而当前子账户仅配置了SAML信任或未配置信任。解决方法是进入子账户的Trust Configuration页面,使用Establish Trust功能建立与SAP Cloud Identity Services的OIDC信任关系。这是SAP新版服务的强制要求,SAML协议已不被支持。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 191

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: 使用ESP32内置I2C接口与MPU6050进行通信
下一篇: Claude Trace 完整安装与使用指南:透视 Claude Code 内部交互

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
衡动科技
博客等级 码龄3年 9粉丝 4原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值