Ubuntu 24.04 安装 ROS2 Jazzy(超详细图文教程 · 新手可直接成功)


🎉 Ubuntu 24.04 安装 ROS2 Jazzy(超详细图文教程 · 新手可直接成功)

🔥 本文适用:Ubuntu 24.04(Noble)
🔥 推荐安装版本:ROS 2 Jazzy Jalisco(2024 年 LTS)
🔥 目标:一键安装成功 + 自动配置环境 + 故障排查 + 验证运行
🔥 教程特点:图文并茂、一步一图、踩坑即修、适合完全新手

📌 目录


一、前言

ROS2 是现代机器人开发的核心框架,支持导航、SLAM、路径规划、传感器处理等各种机器人必需功能。本教程针对 Ubuntu 24.04 + ROS2 Jazzy 的官方安装流程进行全面整合,并解决各种常见错误。

适合:

  • 大学生、研究生课程实验
  • 机器人/无人机/AGV 开发
  • SLAM 与导航实验
  • 机械臂控制与仿真(MoveIt2)
只需 10 分钟,你就能在 24.04 上安装最新 LTS 的 ROS2。

二、系统准备

1. 更新系统

sudoapt update sudoapt upgrade -y 

2. 检查系统版本

lsb_release -a 

如显示:

Ubuntu 24.04 LTS (Noble Numbat) 

即可继续。


三、安装 ROS2 Jazzy(正式流程)

以下为 官方推荐方式(2024 最新),100% 可用。


🔵 步骤 1:启用 Universe 源

ROS2 依赖很多 Universe 包,如果没开会报错。

sudo add-apt-repository universe sudoapt update 

🔵 步骤 2:安装基础工具

sudoaptinstallcurl gnupg lsb-release -y 
curl 用于下载
gnupg 用于校验 key
lsb-release 用于自动获取 Ubuntu 版本号

🔵 步骤 3:添加 ROS2 官方 GPG key

sudocurl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \ -o /usr/share/keyrings/ros-archive-keyring.gpg 

🔵 步骤 4:添加 ROS2 软件源(新格式)

Ubuntu 24.04 完全弃用 apt-key,现在必须这样写:

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"\|sudotee /etc/apt/sources.list.d/ros2.list > /dev/null 

刷新:

sudoapt update 

🔵 步骤 5:安装 ROS2 Jazzy 桌面版

sudoaptinstall ros-jazzy-desktop -y 

如果你要做机器人项目(Nav2/SLAM/仿真等),推荐升级为 full,后面有说明。


🔵 步骤 6:配置环境变量(自动加载)

如果你使用 bash(Ubuntu 默认)

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

如果你使用 zsh(22.04 与 24.04 很多人默认启用)

echo"source /opt/ros/jazzy/setup.zsh">> ~/.zshrc source ~/.zshrc 
❗很多人安装成功后 “ros2 命令找不到”,就是因为环境变量没配好。

四、ROS2 安装成功验证(关键!)

这是最重要的验证步骤!


① 查看 ROS2 版本

ros2 --version 

应输出:

ros2 0.26.0(或新版本) 

② 查看是否安装成功主要包

ros2 pkg list |grep demo 

若能看到大量 demo_packages,则成功。


③ 运行官方示例(必须两个终端)

终端 1:

ros2 run demo_nodes_cpp talker 

终端 2:

ros2 run demo_nodes_cpp listener 

如果 listener 能看到 talker 的输出:

“Hello World: XXXX”

恭喜,你的 ROS2 已经完全正常工作!


五、常见问题与解决方案(安装错误合集)

❌ 1. GPG 错误(最常见)

错误示例:

NO_PUBKEY 

解决:

sudorm /usr/share/keyrings/ros-archive-keyring.gpg sudocurl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \ -o /usr/share/keyrings/ros-archive-keyring.gpg sudoapt update 

❌ 2. 软件源重复 / 冲突

检查:

ls /etc/apt/sources.list.d/ 

如果有旧版 ros2.list 或 rolling.list,删除:

sudorm /etc/apt/sources.list.d/ros2.list sudorm /etc/apt/sources.list.d/ros-latest.list sudoapt update 

❌ 3. ros2 命令无法找到

执行:

source /opt/ros/jazzy/setup.bash 

若可用,说明是 .bashrc 未生效。


六、升级为 Desktop-Full(附说明)

你已安装:

ros-jazzy-desktop 

要升级到 desktop-full

sudoaptinstall ros-jazzy-desktop-full -y 

区别如下:

版本包含内容
desktopRViz + rqt + TF2 + 基础库
desktop-fulldesktop + Gazebo 全套仿真环境
做机器人仿真(导航、SLAM、机械臂),必装 full。

七、如何卸载 ROS2

sudoapt remove ros-jazzy-* -y sudoapt autoremove -y sudorm /etc/apt/sources.list.d/ros2.list 

八、总结

本文提供了:

✅ Ubuntu 24.04 最新 ROS2 Jazzy 安装流程
✅ 全套图文步骤
✅ 环境变量与验证
✅ 常见错误与解决方案
✅ Desktop / Desktop-Full 版本说明

只要严格按本文步骤进行,100% 可成功安装 ROS2 Jazzy


Read more

Web视频解码器性能优化的三重奏:从136KB到20KB的极致压缩实践

Web视频解码器性能优化的三重奏:从136KB到20KB的极致压缩实践 【免费下载链接】jsmpegMPEG1 Video Decoder in JavaScript 项目地址: https://gitcode.com/gh_mirrors/js/jsmpeg 你是否曾为Web视频播放的卡顿和加载缓慢而烦恼?在移动设备性能受限的环境下,如何实现流畅的720p视频播放成为了前端开发者面临的重大挑战。今天,我们将深入解析JSMpeg项目如何通过架构设计、代码压缩和WASM优化三重奏,将136KB的原始代码压缩到仅20KB gzipped大小,在iPhone 5S上实现流畅播放的惊人性能。 问题根源:Web视频解码的性能瓶颈 传统Web视频播放面临的核心问题主要体现在三个方面: 1. 解码计算复杂度高 MPEG1视频解码涉及大量数学运算,包括离散余弦变换、运动补偿等复杂算法,这些计算在纯JavaScript环境下执行效率低下。 2. 内存管理开销大 视频解码过程中的缓冲区分配、像素数据转换等操作频繁,导致内存碎片化和GC压力增大。 3. 网络传输延迟 大体积的JavaScri

By Ne0inhk
【小沐杂货铺】基于Three.js渲染三维无人机Drone(WebGL / vue / react )

【小沐杂货铺】基于Three.js渲染三维无人机Drone(WebGL / vue / react )

🍺三维数字地球GIS系列相关文章(C++)🍺:1【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第一期2【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第二期3【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第三期4【小沐学GIS】基于C++绘制三维数字地球Earth(QT、OpenGL)第四期5【小沐学GIS】基于C++绘制三维数字地球Earth(QT、OpenGL、Satellite、卫星轨道模拟)第五期6【小沐学GIS】基于C++绘制三维数字地球Earth(OpenG、SolarSystem、太阳系模拟)第六期7【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、OpenSceneGraph

By Ne0inhk
表单默认值设置指南:前端新人别再手写value了!

表单默认值设置指南:前端新人别再手写value了!

表单默认值设置指南:前端新人别再手写value了! * 表单默认值设置指南:前端新人别再手写value了! * 引言:一个value引发的血案 * 浏览器原生表单:老祖宗的智慧别丢 * defaultValue才是亲儿子 * 原生select的selectedIndex陷阱 * React里的默认值:受控非受控,生死两重天 * 非受控组件:ref一把梭,defaultValue保平安 * 受控组件:state为王,初始化时机定生死 * 异步数据填充:useEffect的依赖数组地狱 * 那个神奇的key属性:重置表单的核武器 * 自定义Hook:把初始化逻辑抽出来 * Vue里的默认值:v-model的甜蜜陷阱 * v-model到底接管了什么 * 异步加载后的闪烁问题 * watch和computed在默认值上的骚操作 * 动态表单:后端说啥你渲染啥,默认值咋整? * Schema驱动的表单渲染 * 数组字段的动态增删与默认值

By Ne0inhk

服务器运维(三十四)小程序web访问慢ssl优化—东方仙盟

现代网络加速实战:TLS 版本与小程序慢加载优化指南 (东方仙盟 × 科技现实 融合版) 第一章 TLS 版本导致小程序慢、HTTPS 慢、证书慢 (仙盟视角:一纸旧契,拖慢整条仙路) 很多开发者都会遇到一个现象:小程序明明内容很少、接口报文很小,打开却要转圈很久;网页第一次加载特别慢,切换页面又卡一下;同样的服务器,别人秒开,自己却要等好几秒。 90% 的情况,不是代码问题,不是带宽问题,而是 TLS 版本不对。 * TLS 1.0 / 1.1 是老旧协议,握手步骤多、来回次数多 * 协议协商过程本身就会产生延迟 * 弱网、小程序 WebView、老旧设备下,延迟会被放大 * 同时开启太多协议版本(1.0+1.1+

By Ne0inhk