news 2026/6/10 12:49:54

从零开始:树莓派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/6/10 11:39:33

科技成果转化评估:HunyuanOCR提取研发日志中的创新点

HunyuanOCR&#xff1a;如何从研发日志中“挖”出沉睡的创新点&#xff1f; 在某重点实验室的一次项目复盘会上&#xff0c;一位研究员翻出三年前的手写实验记录本&#xff0c;指着一页潦草的笔记说&#xff1a;“其实这个想法当时就提过&#xff0c;但没人注意到。”——这样的…

作者头像 李华
网站建设 2026/6/10 9:22:01

基于SpringBoot+Vue的志愿服务管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

摘要 随着社会的发展和进步&#xff0c;志愿服务在社会治理中的作用日益凸显&#xff0c;但传统的志愿服务管理方式存在效率低下、信息不透明、资源分配不均等问题。数字化管理系统的引入能够有效提升志愿服务的组织效率和管理水平&#xff0c;同时为志愿者和服务对象提供更加便…

作者头像 李华
网站建设 2026/6/10 9:18:28

知乎专栏运营:撰写HunyuanOCR深度文章建立专业形象

知乎专栏运营&#xff1a;撰写HunyuanOCR深度文章建立专业形象 在文档数字化浪潮席卷各行各业的今天&#xff0c;企业对高效、精准且易用的文字识别技术需求愈发迫切。传统OCR方案虽已广泛应用&#xff0c;但其“检测-识别-后处理”的多阶段流水线模式&#xff0c;常常带来误差…

作者头像 李华
网站建设 2026/6/10 9:21:38

树莓派中文输入配置:零基础教师操作指南

让树莓派“说中文”&#xff1a;一线教师也能轻松搞定的拼音输入法配置实战你有没有遇到过这样的场景&#xff1f;在教室里&#xff0c;准备用树莓派给学生演示一段Python代码&#xff0c;想加个注释&#xff1a;“计算圆的面积”&#xff0c;结果键盘敲了半天只能打出# jisuan…

作者头像 李华
网站建设 2026/6/9 14:31:24

ReFT 是我们所需要的一切吗?

原文&#xff1a;towardsdatascience.com/is-reft-all-we-needed-1ab38e457320?sourcecollection_archive---------6-----------------------#2024-11-21 表示微调 — 超越 PEFT 技术的 LLM 微调 https://mengliuz.medium.com/?sourcepost_page---byline--1ab38e457320-----…

作者头像 李华
网站建设 2026/6/9 14:49:18

室内导航系统构建:HunyuanOCR识别办公楼层指示牌

室内导航系统构建&#xff1a;HunyuanOCR识别办公楼层指示牌 在大型写字楼或科技园区里&#xff0c;新员工第一次走进大楼时常常“迷失方向”——电梯间密密麻麻的楼层指引、风格各异的标识设计、中英文混杂的文字排版&#xff0c;让人难以快速定位。传统室内导航依赖蓝牙信标或…

作者头像 李华