开始前的准备
这里整理黄油机器人的硬件、软件与模型准备方法,以及各功能的部署步骤。可以按顺序从零复刻,也可以根据已有环境和需要选择章节。
硬件与工具
黄油机器人主控板、ESP32-S3 驱动板及配套供电。
相机、雷达、麦克风、扬声器和底盘等外设,按实际硬件连接。
系统 TF 卡、读卡器,以及刷写驱动板使用的 USB 数据线。
一台开发电脑,和机器人连接同一局域网。
硬件规格与框图见项目介绍,电路资料见立创开源硬件入口,机械模型获取方式见资源准备。自行选配硬件时,设备接口、引脚和运行参数需要相应调整。
主控使用 RK3588S,驱动板使用 ESP32-S3。系统和驱动固件已经准备好的设备,可以先进行硬件测试;重新安装时从环境配置开始。
软件环境
| 用途 | 使用环境 | 对应章节 |
|---|---|---|
| 开发电脑与文件共享 | Ubuntu 22.04、ROS 2 Humble、NFS | 主机环境配置 |
| 机器人主控 | 香橙派 Ubuntu 22.04 镜像、Python 3.10、ROS 2 Humble | 端侧环境配置 |
| 重建驱动固件 | ESP-IDF >=5.1.5,<5.4.0,项目使用 5.1.5 |
驱动固件准备 |
| 自行训练模型(可选) | Python 3.12、NVIDIA CUDA GPU | 模型训练与转换 |
对应操作:主机环境配置 · 端侧环境配置 · 驱动固件准备 · 模型训练与转换。
板端的 Python 3.10 与训练电脑的 Python 3.12 用途不同。ASR 的 ARM wheel 安装在机器人上,训练环境安装在训练电脑上。
先记录设备信息
| 需要填写的内容 | 获取方式 | 用途 |
|---|---|---|
| 开发电脑 IP | 在电脑执行 ip addr |
NFS 服务器地址 |
| 机器人 IP | 连接网络后执行 ip addr |
SSH、Foxglove 和视频网页地址 |
| 驱动板 USB 串口 | 查看系统串口设备 | ESP32-S3 刷写与调试 |
| 相机设备 | 执行 v4l2-ctl --list-devices |
相机采集配置 |
| 麦克风设备 | 执行 arecord -l |
录音与 ASR 输入配置 |
教程里的 IP、设备号和用户名是示例,执行前替换为自己的值。/dev/ttyS3 是主控与驱动板通信的示例端口,与电脑刷写驱动板的 USB 串口用途不同。
准备程序与模型
按资源准备下载项目代码、外设测试文件、黄油预训练模型、ASR 与 Qwen 模型,并配置 NFS。使用提供的预训练模型即可进行视觉部署,无需先训练;数据集和机械模型属于可选资源。
ESP32-S3 固件需要重新编译或刷写时,进入下载项目的 hy_driver/,按该目录的 README 操作。需要舵机动作时检查固件的 SERVO_DEBUG 开关;当前项目配置未开启舵机初始化。
按顺序完成复刻
主机环境配置:准备开发电脑、项目文件和 NFS 共享。
端侧环境配置:安装系统、联网、SSH、挂载 NFS 和 ROS 2。
硬件连接与测试:检查相机、雷达、麦克风和串口。
语音识别与合成:部署模型、配置自己的百度音色账号。
Foxglove 可视化:连接机器人并查看话题与 TF。
视觉检测与视频推流:运行黄油检测并查看视频。
SLAM 建图与定位:准备底盘、里程计和雷达,保存地图并加载定位。
每一步确认输出符合该节说明,再继续下一步。需要重新训练检测类别时阅读模型训练与转换。Nav2 导航与任务原型属于扩展开发,其中检测、运动和抓取接口尚需集成,不能直接作为完整抓取流程运行。