RK3588上跑ROS 2:SLAM建图与自主导航的工程实践

具身智能火起来之后,很多团队都在做移动机器人。ROS 2是目前最成熟的开发框架,但把它跑好、跑稳并不容易。这篇文章分享我们在RK3588平台上的一些实践经验。
硬件选型
- 主控:RK3588(6 TOPS NPU算力,8核CPU)
- 激光雷达:思岚A1(成本低,适合室内SLAM)
- 深度相机:奥比中光Astra Pro(用于视觉识别和避障)
- IMU:维特智能HWT101(用于里程计融合)
软件栈配置
系统选的是Ubuntu 22.04 + ROS 2 Humble,跑起来之后主要调优了三个地方:
1. DDS通信配置
ROS 2默认用Fast DDS,多节点通信时CPU占用很高。改成Cyclone DDS并调优缓冲区后,CPU占用降低约30%。
2. SLAM算法选择
室内场景用Cartographer效果不错,但对算力要求高。RK3588上跑Cartographer,CPU单核占用经常跑满。后来改用slam_toolbox,算力需求低一些,建图质量也够用。
3. AI推理加速
YOLOv8模型通过RKNN工具链转换和INT8量化后,在NPU上跑能到25FPS以上。如果只用CPU跑,只有3-4FPS,完全不够用。

踩过的坑
- 电源管理:RK3588满载功耗能到15W以上,普通充电宝根本带不动,必须用支持PD快充的大容量电池
- 散热:不加散热片的情况下,连续跑SLAM半小时就会降频,必须加主动散热
- 时钟同步:多个传感器的时间戳必须对齐,否则建图会飘。我们用PTP协议做时钟同步
做机器人最大的感受是:仿真里跑通不代表真机能用,真机跑通不代表能量产。每个环节都有大量工程细节。


