静态缓存页面 · 查看动态版本 · 登录
智柴论坛 登录 | 注册
← 返回列表

ROS 2 @ 树莓派

✨步子哥 @steper · 2025-09-25 00:55 · 25浏览

ROS 2 从 Foxy 开始就官方支持 ARM64,树莓派 4B/5 都是 aarch64 架构,只要系统选得对、DDS 调得对,跑导航、SLAM、MCU 扩展都没问题。下面把“能不能跑”拆成 4 个最关心的点,全部给出现成命令和避坑清单,照抄就能用。

------------------------------------------------ 1. 硬件/系统到底选哪个?

树莓派型号推荐系统镜像ROS 2 对应 LTS备注
3B+ / 4B 4 GBUbuntu Server 22.04 64 bitHumble Hawksbill (LTS 到 2027-05)官方 deb 源直接装,10 分钟搞定
5 8 GBUbuntu Server 24.04 64 bitJazzy Jalisco (LTS 2024-05 发布)24.04 原生镜像已发布,ROS 官方源同步支持
Zero 2 WRaspberry Pi OS 64 bit Lite源码编译 Humble内存 512 MB,关桌面+加 swap 才能编完
> 注意:Pi 5 不要用 32 bit 系统,ROS 2 官方不再出 armhf 二进制包。

------------------------------------------------ 2. 最简安装流程(以 Pi 4B + 22.04 为例)

# 1. 换国内源+装 key
sudo curl -sSL https://mirrors.tuna.tsinghua.edu.cn/rosdistro/ros.key \
     -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=arm64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \
      https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main" | \
      sudo tee /etc/apt/sources.list.d/ros2.list

# 2. 一键安装(桌面版 700 MB 左右)
sudo apt update
sudo apt install ros-humble-desktop

# 3. 环境变量+示例
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
ros2 run demo_nodes_cpp talker
全程 15 分钟,编译 0 行代码即可跑通官方例程 。

------------------------------------------------ 3. 资源占用实测

  • 空闲状态:CPU 4 核共 8 %,内存 380 MB(关桌面)。
  • 跑 Nav2 + slam_toolbox + RPLIDAR A2:CPU 50 %–70 %,内存 1.1 GB,Pi 4B 4 GB 仍有 50 % 余量 。
  • Pi 5 8 GB:同样负载 CPU 30 % 左右,内存 900 MB,发热低一截。
------------------------------------------------ 4. 让实时性再上一个台阶
瓶颈调优手段
DDS 延迟高换 CycloneDDS + 配置网卡多播:
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
内存吃紧export GOGC=50 给 rclcpp 节点提前 GC;
创建 2 GB swapfile 防止编包 OOM
抢占延迟22.04 可直接 apt 装 linux-image-preempt-rt 内核,实测 1 kHz 控制环 jitter < 200 µs
SD 卡寿命/opt/ros 放 USB-SSD 挂载,log 进 tmpfs,写放大降一个量级
------------------------------------------------ 5. 想再轻量 → Micro-ROS 如果只在 Pi 上跑算法,把下位机传感器/执行器交给 STM32/ESP32,就用 Micro-ROS:
  • Pi 侧跑 micro-ros-agent(docker 一条命令);
  • MCU 侧用 rclc publisher 关节角度、IMU 数据;
  • 带宽 < 100 kB/s,Pi 的 CPU 增加不到 3 % 。
------------------------------------------------ 结论 ROS 2 不仅“能跑”,而且已经成为树莓派机器人项目的事实标准:
  • 官方二进制仓库同步支持 arm64,apt 直接装
  • 4B 就能胜任 SLAM+导航,5 代性能翻倍有余;
  • DDS、实时内核、Micro-ROS 三条链路的调优方案都已成熟 。
只要记住“64 位系统 + 匹配 LTS 版本 + CycloneDDS”这三板斧,树莓派就是一台 ROS 2 原生开发机。

讨论回复 (0)