news 2026/4/16 12:22:49

从零开始:树莓派5安装ROS2手把手教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零开始:树莓派5安装ROS2手把手教程

树莓派5装ROS2踩坑实录:从系统刷写到小海龟跑起来

你是不是也曾在搜索“树莓派5安装ros2”时,被一堆过时教程、报错信息和交叉编译劝退?别急——我最近刚亲手在一块全新的树莓派5上完成了原生ROS2环境的搭建,过程中踩了几乎所有能踩的坑。今天这篇,不讲空话套话,只说真正能在你手上跑通的操作流程

我们目标明确:
✅ 使用64位系统
✅ 直接通过APT安装官方预编译包(非源码编译)
✅ 成功运行turtlesim验证通信正常
✅ 给出常见问题的真实解决方案

准备好了吗?让我们从插上电开始。


为什么是树莓派5 + ROS2?

先说结论:这是目前性价比最高的轻量级机器人主控组合之一。

树莓派5不再是那个只能点灯的小玩具。它搭载了四核Cortex-A76 @ 2.4GHz处理器、最高8GB内存、千兆以太网和PCIe接口,性能接近十年前的笔记本电脑。更重要的是,它支持完整的Linux发行版,比如基于Debian的Raspberry Pi OS 64-bit——而这正是ROS2官方支持的平台。

而ROS2(Humble Hawksbill版本),作为当前LTS长期支持版,已经为Ubuntu 22.04(代号Jammy)提供了arm64架构的二进制包。只要你的系统识别为aarch64,就能直接apt install,省去数小时源码编译。

所以,当这两个东西碰在一起,理论上是可以“开箱即用”的。但现实往往更复杂一点……


第一步:选对操作系统,90%的问题源于此

别再用32位系统了!

这是最关键的一条。ROS2 Humble 官方仅提供arm64(即aarch64)架构的二进制包,如果你用的是传统的32位Raspberry Pi OS,无论你怎么折腾,都会遇到:

E: Unable to locate package ros-humble-desktop

或者:

No installation candidate for ros-humble-*

因为根本没为你这个架构打包。

✅ 正确做法:
使用 Raspberry Pi Imager ,选择:

Operating System → Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit)
Raspberry Pi OS with desktop (64-bit)

推荐新手选带桌面的版本,调试方便;追求极致性能可选Lite版+SSH远程操作。

📌 提示:烧卡前点击左上角“齿轮”图标,可以提前启用SSH、设置Wi-Fi、配置时区和用户名密码,避免第一次启动还要接显示器。


第二步:确认系统环境是否达标

开机后第一件事不是急着装ROS2,而是检查基础环境:

# 查看系统代号(必须是 jammy) lsb_release -cs # 查看CPU架构(必须是 aarch64) uname -m

你应该看到输出分别是:

jammy aarch64

如果不是,请立即回头检查系统镜像是否正确。

接着更新系统软件包:

sudo apt update && sudo apt full-upgrade -y

这一步很重要,有些旧版库会影响后续依赖解析。


第三步:添加ROS2官方源(新版方法已弃用apt-key

网上很多老教程还在用sudo apt-key add -来添加密钥,但这种方法已被废弃,会导致警告甚至失败。

✅ 新标准做法如下:

# 安装必要工具 sudo apt install curl gnupg lsb-release -y # 下载并添加GPG密钥 curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo gpg --dearmor -o /usr/share/keyrings/ros2.gpg # 添加源列表 echo "deb [arch=arm64 signed-by=/usr/share/keyrings/ros2.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | \ sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

🔍 注意点:
-signed-by=指定密钥路径,确保安全性;
-$(lsb_release -cs)自动获取系统代号;
- 输出重定向防止终端污染。

完成后执行:

sudo apt update

如果出现签名错误或无法连接,尝试换成清华大学镜像源(国内用户强烈建议):

# 替换上面的源地址为: echo "deb [arch=arm64 signed-by=/usr/share/keyrings/ros2.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(lsb_release -cs) main" | \ sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

第四步:安装ROS2 Desktop完整套件

现在终于可以装ROS2了!

sudo apt install ros-humble-desktop -y

这个包包含了:
- 核心运行时(ros-core
- RViz2可视化工具
-turtlesim演示程序
- 图像处理、导航等常用功能包

如果你设备存储紧张(如16GB SD卡),也可以只装核心:

sudo apt install ros-humble-ros-base -y

但我建议初学者直接上desktop,不然连RViz都没有,怎么学?


第五步:配置环境变量

为了让终端能识别ros2命令,需要加载环境脚本:

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

验证是否生效:

ros2 --version

你应该看到类似:

ros2 version 0.0.0 (from ros-humble-ros2cli)

虽然版本号看起来奇怪,但这其实是正常的——说明命令已成功加载。


第六步:安装开发工具链(colcon + rosdep)

接下来安装两个关键工具:

sudo apt install python3-colcon-common-extensions python3-rosdep -y
  • colcon:ROS2官方构建系统,用来编译你的工作空间;
  • rosdep:管理第三方依赖,避免手动安装各种库。

然后初始化rosdep

sudo rosdep init rosdep update

⚠️ 常见报错:

ERROR: cannot download default sources list from ...

这是因为默认服务器在国外。解决办法是改用国内镜像:

# 手动创建sources.list文件 sudo mkdir -p /etc/ros/rosdep/sources.list.d sudo wget -O /etc/ros/rosdep/sources.list.d/20-default.list \ https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list

然后再运行:

rosdep update

第七步:跑个经典例子:小海龟动起来!

来吧,见证奇迹的时刻。

新开一个终端,运行:

ros2 run turtlesim turtlesim_node

你会看到一个小窗口弹出,里面有一只蓝色小海龟。

再开第二个终端:

ros2 run turtlesim turtle_teleop_key

按提示用键盘方向键控制它移动!

🎮 如果你能看到小海龟响应按键动作,恭喜你——你的树莓派5已经成功运行ROS2!

这意味着:
- 节点通信正常
- DDS中间件工作良好
- GUI显示无异常
- 系统资源足够支撑基本任务


遇到了问题?这些坑我都替你踩过了

❌ 问题1:rviz2启动闪退或段错误(Segmentation Fault)

原因:GPU内存分配不足。

树莓派共享内存给GPU,若默认只分了16MB,图形应用极易崩溃。

✅ 解决方案:

sudo raspi-config

进入:

Performance Options → GPU Memory → 设置为128MB

重启后再试。


❌ 问题2:编译时报错“Killed”或内存耗尽

即使有8GB RAM,在编译大型ROS2包时也可能爆内存。

✅ 解决方案:增加交换空间(swap)

# 关闭当前swap sudo dphys-swapfile swapoff # 修改配置文件 sudo sed -i 's/CONF_SWAPSIZE=100/CONF_SWAPSIZE=2048/g' /etc/dphys-swapfile # 重新生成并开启 sudo dphys-swapfile setup sudo dphys-swapfile swapon

设置2GB swap后,编译稳定性大幅提升。

📌 建议:长期开发者应考虑使用M.2 HAT外接NVMe SSD,并将系统迁移到SSD上,彻底摆脱microSD卡I/O瓶颈。


❌ 问题3:找不到包或依赖冲突

有时候你会发现某些包装不上,比如ros-humble-navigation2

原因可能是仓库索引未刷新,或版本不匹配。

✅ 解决步骤:

sudo apt clean sudo apt update --fix-missing sudo apt install <package-name>

同时注意不要混用不同ROS2版本的源(比如既加了humble又加了foxy)。


进阶玩法:你可以做什么?

现在你的树莓派5已经是一个合格的ROS2边缘节点了。下一步可以尝试:

🧩 接入真实传感器

  • 通过I2C连接IMU(如MPU6050),发布/imu/data
  • 使用USB摄像头发布/camera/image_raw
  • 接入激光雷达(RPLIDAR A1/A4),跑通slam_toolbox

🚗 实现自主导航

安装Nav2:

sudo apt install ros-humble-nav2-* ros-humble-navigation2 -y

配合robot_localization做融合定位,让机器人真正“看得懂地图、走得准路”。

🔗 构建多机协同系统

用树莓派5做主控,多个STM32跑micro-ROS,形成“大脑+小脑”架构。


写在最后:这不是终点,而是起点

当我第一次看到那只小海龟在我的树莓派5屏幕上游动时,我知道这条路走通了。

也许你现在正卡在一个报错里焦头烂额,但请相信:每一个成功的ROS2项目,都是从一次看似简单的“安装”开始的。

而你现在读到的每一步,都是我在终端里一行行敲出来、一次次重启验证过的真家伙。

别怕麻烦,动手去做。当你把ROS2部署在一块不到百元的开发板上时,你就已经走在成为机器人工程师的路上了。


💡互动时间:你在安装ROS2时遇到的最大难题是什么?欢迎留言分享,我们一起解决。

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

药品说明书OCR识别:HunyuanOCR帮助老年人获取用药信息

药品说明书OCR识别&#xff1a;HunyuanOCR帮助老年人获取用药信息 在社区卫生服务中心的一角&#xff0c;一位70多岁的老人拿着刚开的药盒&#xff0c;眯着眼反复翻看那张密密麻麻的小字说明书。他叹了口气&#xff0c;最终还是求助旁边的护士&#xff1a;“这上面说怎么吃&…

作者头像 李华
网站建设 2026/4/12 13:39:56

【毕业设计】SpringBoot+Vue+MySQL 员工健康管理系统平台源码+数据库+论文+部署文档

摘要 随着现代企业规模的不断扩大和员工健康意识的逐步提升&#xff0c;传统的人工管理方式已无法满足企业对员工健康数据高效、精准管理的需求。员工健康管理系统的开发旨在通过信息化手段整合健康数据、优化管理流程&#xff0c;为企业提供科学决策支持。该系统能够实现健康档…

作者头像 李华
网站建设 2026/4/2 5:38:41

教材教辅资料识别:HunyuanOCR为在线教育平台提供素材

HunyuanOCR&#xff1a;让教育内容“看得懂”的智能引擎 在在线教育平台每天接收成千上万张学生上传的作业照片、教材扫描件和教学视频截图时&#xff0c;一个看似简单却极其关键的问题浮现出来&#xff1a;如何让机器真正“读懂”这些图文混杂、手写印刷并存、中英交错的内容&…

作者头像 李华
网站建设 2026/4/16 10:57:25

OrCAD电路图绘制实战案例:从零实现完整项目

从零开始用OrCAD画一块智能温控板&#xff1a;一个STM32项目的完整电路设计实录你有没有过这样的经历&#xff1f;打开OrCAD Capture&#xff0c;信心满满地准备画一张原理图&#xff0c;结果刚放几个元件就卡住了——库文件找不到、引脚连错了、ERC报一堆警告、PCB导入时报封装…

作者头像 李华
网站建设 2026/4/16 8:59:42

树莓派5引脚定义在传感器控制中的应用解析

树莓派5引脚实战&#xff1a;从零构建高可靠传感器系统的底层逻辑你有没有遇到过这样的情况&#xff1f;明明代码写得没问题&#xff0c;接线也对照了资料图&#xff0c;可温湿度传感器就是读不出数据&#xff1b;或者一通电&#xff0c;树莓派突然重启——最后发现是误把5V接到…

作者头像 李华
网站建设 2026/4/16 10:59:56

ChromeDriver下载地址整理:自动化测试lora-scripts Web界面的新思路

ChromeDriver与lora-scripts融合&#xff1a;构建LoRA训练WebUI自动化测试新范式 在AI模型微调日益普及的今天&#xff0c;LoRA&#xff08;Low-Rank Adaptation&#xff09;凭借其高效、低资源消耗的特点&#xff0c;已成为图像生成和大语言模型定制的主流技术之一。随着社区生…

作者头像 李华