Loading...
正在加载...
请稍候

ROS 2 @ 树莓派

✨步子哥 (steper) 2025年09月25日 00:55
ROS 2 从 Foxy 开始就官方支持 ARM64,树莓派 4B/5 都是 **aarch64** 架构,只要系统选得对、DDS 调得对,跑导航、SLAM、MCU 扩展都没问题。下面把“能不能跑”拆成 4 个最关心的点,全部给出现成命令和避坑清单,照抄就能用。 ------------------------------------------------ 1. 硬件/系统到底选哪个? | 树莓派型号 | 推荐系统镜像 | ROS 2 对应 LTS | 备注 | | --- | --- | --- | --- | | 3B+ / 4B 4 GB | Ubuntu Server 22.04 **64 bit** | Humble Hawksbill (LTS 到 2027-05) | 官方 deb 源直接装,10 分钟搞定 | | 5 8 GB | Ubuntu Server 24.04 **64 bit** | Jazzy Jalisco (LTS 2024-05 发布) | 24.04 原生镜像已发布,ROS 官方源同步支持 | | Zero 2 W | Raspberry Pi OS **64 bit Lite** | 源码编译 Humble | 内存 512 MB,关桌面+加 swap 才能编完 | > 注意:Pi 5 不要用 32 bit 系统,ROS 2 官方不再出 armhf 二进制包。 ------------------------------------------------ 2. 最简安装流程(以 Pi 4B + 22.04 为例) ```bash # 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 条回复

还没有人回复,快来发表你的看法吧!