# 智能语音交互小车(小远同学)
***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.***
---
本方案与 [智能视觉小车](<../智能视觉小车/智能视觉小车.md>) 共用同一套小车底盘(智能视觉小车套件),在主控上增配了麦克风阵列、AMOLED 显示屏等外设,构成了以语音为核心的第二套智能小车方案。
小车名叫"小远同学",支持:
- **语音交互**:说出唤醒词"小远同学"后,可通过自然语言对话、下达行动指令;
- **App 控制**:完成配网绑定后,可在手机 App 的小车控制界面操作设备;
- **情感表情**:显示屏实时显示开心、惊讶、委屈、难过等表情;
- **智能应用**:天气查询、位置查询、音乐播放、讲故事、闹钟设置;
- **智能运动**:语音控制的行动、自主避障、人体跟随;
- **视觉识别**:基于摄像头实时画面进行场景/物体/包装识别与多轮问答。
> 与智能视觉小车方案的区别:智能视觉小车使用第三方 App(WonderPi)进行遥控、取色等玩法(详见《智能视觉小车》);本方案使用移远 App(移联万物)完成配网绑定,之后以语音交互为主,也可通过 App 进行小车控制与状态管理。
小车整机实物效果如下图:
```{image} images/image_LZzkbNOk1oZgLoxGYZycjRPgnPg.webp
:width: 1121px
:height: 712px
:align: center
```
# 案例描述
智能语音交互小车(小远同学)与 [智能视觉小车](<../智能视觉小车/智能视觉小车.md>) 面向教育科研、机器人创新和嵌入式智能应用验证场景,共用同一套小车底盘(智能视觉小车套件)、**Quectel Pi H1** 智能主控板与 ROS 2 软件栈,构成“一套硬件、两套方案”:视觉方案通过第三方 App(WonderPi)实现遥控、目标追踪、取色巡线、二维码识别与智能避障;语音方案在底盘上增配麦克风阵列与 AMOLED 显示屏,以“小远同学”语音唤醒和自然语言交互为主,支持情感表情、语音对话与闹钟、语音行动控制、人体跟随与视觉识别(看图对话),并可通过移远 App(移联万物)完成配网与小车控制。
# 应用产品特性
- 一体化小车解决方案:共用底盘集成云台摄像头、超声波、巡线传感器与多自由度底盘,语音方案另集成麦克风阵列与 AMOLED 显示屏。
- 软硬件双栈开发:提供 ROS 2 工作空间、语音唤醒/识别与大模型对话等模块源码及部署脚本,便于二次开发。
- 多玩法示例:覆盖遥控、目标追踪、取色巡线、二维码识别、智能避障、情感表情、语音行动控制、人体跟随、视觉识别等。
- 快速复制部署:配套一键部署脚本与 systemd 系统服务,支持开机自启。
# 支持列表
| **类别** | **支持内容** |
| --- | --- |
| 硬件平台 | Quectel Pi H1 智能主控板 + 扩展板、云台摄像头、超声波、巡线传感器、TT 马达、18650 电池盒;语音方案另含 Sipeed MicArray 麦克风阵列、5 寸 HDMI AMOLED 显示屏 |
| 系统/软件 | Debian 13、ROS 2 Humble;视觉方案使用 WonderPi App,语音方案使用移远 App(移联万物),均支持 Android/iOS |
| 接口能力 | I2C9、UART12、GPIO、PWM 舵机接口、四路巡线传感器接口;语音方案另含音频输入输出接口与 HDMI 显示接口 |
| 控制方式 | 视觉方案:手机 App 直连/局域网、ADB/SSH、Docker 容器;语音方案:语音唤醒与自然语言指令、手机 App(蓝牙配网 + 局域网控制)、ADB/SSH |
| 主要玩法 | 视觉方案:遥控、目标追踪、取色巡线、二维码识别、智能避障;语音方案:情感表情、语音对话与闹钟、语音行动控制、人体跟随、视觉识别 |
# 开发配件清单
|
配件名称
|
数量
|
规格参数
|
| --- | --- | --- |
| Quectel Pi H1智能主控板 |
1块
| |
| 智能视觉小车套件 |
1套
| [底盘 / 麦轮 / 电机 / 舵机 / 超声波 / 巡线 / 摄像头 / 电池]() |
| Sipeed MicArray 麦克风阵列 |
1个
| [6+1 MEMS 麦,12 LED 声源定位(阵列+驱动板套餐)]() |
| 5寸 HDMI AMOLED 显示屏 |
1个
| [960×544,电容触摸屏]() |
> 配件关系:小车套件提供运动 + 视觉能力,麦克风阵列补充听觉与声源定位,Quectel Pi H1智能主控板统一调度,三者组合构成完整的智能小车硬件平台。
# 使用前准备
## 软件部署
智能视觉小车与智能语音交互小车(小远同学)共用同一套小车底盘与 **Quectel Pi H1** 智能主控板,运行同一套开源软件(仓库中同时包含视觉玩法与语音交互模块),本节部署方法对两套方案通用。主控板需先烧录带 ROS2 运行环境的系统镜像,再部署小车软件,视觉识别与语音交互等功能才能正常工作。小车软件已在 GitHub 开源,可下载源码自行编译部署,也可直接使用仓库提供的部署脚本一键完成。
### 烧录系统镜像
**镜像安装包下载**:[ROS2烧录镜像包]()(烧录方法见 [固件烧录]())
镜像需包含 ROS2 Humble 运行环境,否则后续 ROS2 工作空间无法编译。烧录请按镜像包内附带的烧录说明操作,完成后上电确认系统能够正常启动。
### 获取开源代码
小车软件源码仓库地址:[https://github.com/Quectel-Pi/Expr_Sense_Bot]()。仓库包含语音唤醒、语音识别、大模型对话、表情显示、目标追踪与 ROS2 底盘控制等模块的源码,以及部署脚本目录 `ai_tools/`。
```bash
git clone https://github.com/Quectel-Pi/Expr_Sense_Bot.git
```
### 部署准备
- 主机(PC)已安装 adb 工具,并用 USB 数据线连接主控板调试口,执行 `adb devices` 能识别到设备;
- 主机同时连接多台 adb 设备时,需用环境变量指定目标序列号(如 `ADB_SERIAL=<序列号>`);
- 主控板已烧录上述系统镜像并正常启动,设备端 ROS2、colcon、Python3、pip3 可用;
- 已准备好部署包 `ai_car_output/`(仓库自带,或按文末“从源码编译部署包”自行生成)。
### 一键部署(推荐)
`ai_tools/` 目录提供 Windows 与 Linux 两套等价的一键部署脚本,自动完成推送、环境修复、ROS2 编译、蓝牙开启与系统服务部署。
```bash
cd Expr_Sense_Bot/ai_tools
chmod +x push_output.sh
./push_output.sh
```
```
cd Expr_Sense_Bot\ai_tools
push_output.bat
```
脚本依次完成:
1. 推送 `ai_car_output/` 各目录到设备 `/mnt/car_test/`;
2. 修复 ROS2 构建环境,补齐 foonathan_memory 占位库与 smbus2、transforms3d 等 Python 依赖;
3. 使能 40pin 扩展板接口(首次部署会烧录 DTB);
4. 在设备端编译 ROS2 工作空间(`colcon build`);
5. 开启板载蓝牙,建立 `hci0`;
6. 部署并启用 `start_car` 开机自启服务;
7. 逐项校验设备状态,输出 PASS / FAIL 结果。
> 首次部署时 40pin 配置需写入 boot 分区,脚本会在结尾自动重启设备(约 1~2 分钟),重启后 40pin、蓝牙、Wi-Fi 与 start_car 服务自动生效,无需人工干预。
### 部署验证与启动
部署完成后,可通过以下命令确认关键项状态:
```bash
adb shell "systemctl is-enabled start_car.service" # 期望输出 enabled
adb shell "systemctl status start_car.service" # 查看服务运行状态
adb shell "hciconfig -a" # 期望出现 hci0
adb shell "test -e /dev/i2c-9 && echo 40pin-ok" # H1 40pin i2c9 已使能
```
`start_car` 服务已配置为开机自启,设备重启后会自动拉起整车功能。需要手动启动时执行:
```bash
adb shell "bash /mnt/car_test/quecpi_smartcar/service_config/run/start_car.sh"
```
### 从源码编译部署包(开发者)
需要改动源码时,在安装 Quectel 交叉编译 SDK(`environment-setup-armv8-2a-qcom-linux`)的主机上编译,生成完整的 `ai_car_output/` 部署包:
```bash
cd Expr_Sense_Bot
source ../environment-setup-armv8-2a-qcom-linux
./build.sh build_sdk # 编译并生成 ai_car_output/ 完整部署树
```
仅编译可执行文件时使用 `./build.sh build_all`,产物为 `build/ai_car_demo`。仅需部署运行、不修改源码时,可直接使用已有的 `ai_car_output/` 部署包,跳过本步。
## 小车组装与开机
本方案的小车本体与智能视觉小车方案一致,机械组装、电池充电与开机步骤可参考 [智能视觉小车](<../智能视觉小车/智能视觉小车.md>),此处不再赘述。在此基础上需要完成麦克风阵列、显示屏等扩展外设与主控的连接,请参照对应外设说明。
开机完成后,按以下步骤让小车进入可配网状态:
1. 确保小车已正常开机(扩展板电源开关拨至"ON");
2. **长按扩展板上 K1 按键约 5 秒**,设备进入配网模式;
3. 手机开启 **蓝牙** 功能;
4. 准备好 **2.4GHz Wi-Fi** 网络名称及密码(配网过程中会用到)。
## App 安装
扫描下方二维码下载并安装移远 App(移联万物):安卓版本扫码下载,iOS 版本请在 App Store 搜索“移联万物”。
```{image} images/image_XBkgbWhPDoTDAKxL9lTc27AcnCe.webp
:width: 100px
:height: 100px
:align: center
```
# App 配网、设备添加与小车控制
App 通过蓝牙近场发现小车,再为小车配置 2.4GHz Wi-Fi 网络,完成设备绑定。
## 步骤一:发起添加设备
打开 App 进入主页("我的家"),点击页面中央的大卡片 **"添加设备"**,或点击页面右上角的 **"+"** 加号图标:
```{image} images/image_DpjZbYP8BoJynkxmAJdcZhhrn0d.webp
:width: 450px
:height: 924px
:align: center
```
## 步骤二:近场搜索并选中小车
进入添加设备页面后,App 会自动开启蓝牙搜索附近的待配网小车。页面顶部提示"已扫描到1个设备"时,点击右侧的 **"去添加"** 按钮:
```{image} images/image_FXeFbm9X2oCMUqxI7bQc6fsFn5g.webp
:width: 455px
:height: 929px
:align: center
```
## 步骤三:配置 2.4GHz Wi-Fi 网络
列表会显示扫描到的小车(如名称为:`机器人_5588`),点击设备右侧的蓝色 **"+"** 号,在弹出的界面中选择 **2.4GHz Wi-Fi 网络** 并输入正确的密码,点击 **"下一步"**:
```{image} images/image_QDMhbZb8moP04BxIaXUcwGKTnOc.webp
:width: 459px
:height: 983px
:align: center
```
## 步骤四:完成绑定与设备管理
系统自动完成设备连接与绑定,界面顶部提示"已成功添加1个",设备旁显示 **"添加成功"** 及绿色对勾图标。点击页面底部的 **"完成"** 按钮退出配网流程,即可开始使用小车:
```{image} images/image_JpxQbTTkBop66OxbkOMcH1lCnYd.webp
:width: 444px
:height: 980px
:align: center
```
## App 小车控制界面
完成配网绑定后,除了使用语音指令,也可以通过手机 App 的小车控制界面操作设备。下图为实际 App 控制界面:
```{image} images/image_F9e9bxyHFo9GmYx1D8VcV0sdnId.webp
:width: 375px
:height: 817px
:align: center
```
**基本操作流程**
1. **确认设备状态**:确保小车已开机、配网成功,并在 App 中显示在线;
2. **进入控制页面**:在 App 中找到已绑定的小车,打开对应的设备控制页面;
3. **操作小车**:使用界面中的控制按钮操作设备,同时观察小车的实际响应。操作过程可参考下方实拍视频。
App 控制通过手机界面操作,语音控制通过唤醒词和口头指令操作,可根据使用场景选择。按钮图标与布局以当前 App 版本为准。
> 安全提示:首次操作请将小车放在平坦、开阔的地面上,并保持小车在视线范围内;避免靠近桌边、楼梯或其他可能跌落的位置。
## App 实物操作演示
以下视频展示 App 操作与小车的实际响应,可结合上方控制界面查看。
```{image} images/image_Jje4bROLCo8IOFxtbp0cbr9anQE.webp
:width: 540px
:height: 960px
:align: center
```
观看完整视频:小车 App 控制(约 44 秒)
小车app控制
配网或联网异常时,请参阅文末的常见问题与故障排查。
# 设备试玩
以下介绍以语音方式与小远同学交互的玩法;手机操作方式见上方“App 小车控制界面”。语音交互的通用流程如下:
- 唤醒词为 **"小远同学"**,请靠近小车、在安静环境下说话;
- 唤醒成功后,设备会给出反馈(提示音、顶部蓝色 LED 灯环亮起等),此时再下达指令;
- 每条指令执行后,小远同学会语音播报确认(如"收到"、"正在前进"),请等待反馈后再进行下一次操作;
- 说出 **"你退下吧"** 可结束本轮对话。
> 使用建议:在光线充足的室内环境使用,保持摄像头前方视野清晰、无障碍物遮挡,语音交互时避免环境嘈杂。
> 下方功能配图均截取自实物操作视频,截图仅作预览;各章节下方附有完整操作视频文件,可在飞书内直接播放或下载查看。运动过程、语音回复及表情变化请以视频为准。
## 语音行动控制
介绍:说出唤醒词后,通过语音指令控制小车运动。
```{image} images/image_ASU5bTyLGoiNV5x491qcza4pnlc.webp
:width: 960px
:height: 540px
:align: center
```
观看完整视频:小车行动控制(约 42 秒)
小车行动控制
**Step 1 · 唤醒小车**
对着小车说出唤醒词 **"小远同学"**,车顶蓝色 LED 灯环亮起即表示进入监听状态,可开始下达控制指令(蓝色 LED 亮起 = 已唤醒)。
**Step 2 · 行动指令**
| **指令** | **小车动作** |
| --- | --- |
| "小车前进" | 四个麦克纳姆轮同步向前转动,车身沿直线向前行驶 |
| "小车后退" | 四个麦克纳姆轮同步向后转动,车身沿直线向后行驶 |
| "小车左转" | 左右两侧车轮差速反向旋转,小车原地逆时针旋转 |
| "小车右转" | 左右两侧车轮差速反向旋转,小车原地顺时针旋转 |
| "小车停止" | 电机立即停止转动,小车在当前位置迅速停稳 |
> 提示:小车配备四个麦克纳姆轮,具备全向移动能力,可实现横向平移及斜向行驶(需对应指令支持)。
## 表情互动
介绍:小远同学可以根据你说的话,理解你的心情,并在显示屏上显示相应的表情、用语音与你互动。
```{image} images/image_BIOUbxTw2oWJzUxuMBWcUwgRngb.webp
:width: 960px
:height: 540px
:align: center
```
观看完整视频:小车表情(约 53 秒)
小车表情
**Step 1 · 唤醒小远**
对着小远说出唤醒词 **"小远同学"**,屏幕会显示两个眼睛和一个问号,并语音回复"小主人是在叫小远同学吗?小远同学在呢"。
**Step 2 · 情感互动**
| **触发方式(示例话语)** | **小远的回复** | **屏幕表情** |
| --- | --- | --- |
| "今天我很开心" | "哇,那真是太好了。什么事让小主人这么开心呀?" | 开心的笑脸,眼睛向上弯成弧线 |
| "我中了一个很大的彩票" | "哇,小主人运气这么好的吗?那有没有想过要怎么花这笔钱呀?" | 惊讶的表情,眼睛睁得很大 |
| "给我做一个委屈的表情" | "哎呀小主人,小远同学真的不会做表情啦。要不,你给小远同学变一个?" | 委屈的表情,眼睛向下弯 |
| "今天我赔了1000块钱" | "哎呀,那小主人今天心情肯定不太好。不过没关系啦……" | 流泪哭泣的表情,眼睛向下弯,有蓝色泪珠 |
> 小远同学可以理解自然语言,不仅限于上述表达方式。尝试用自己的语言描述心情或提出问题,小远会做出相应的反应和回复。
## 语音对话与闹钟
介绍:唤醒小远后,可以进行多轮语音对话,也可以让它查询天气、播报位置、播放音乐、讲故事,以及设置闹钟。
```{image} images/image_BZngb5UONoiO1JxT7XxcyjAinnh.webp
:width: 100px
:height: 100px
:align: center
```
观看完整视频:小车对话和闹钟(约 2 分 29 秒)
小车对话和闹钟
**常见对话功能**
| **功能** | **说的话** | **小远的回应** |
| --- | --- | --- |
| 语音唤醒 | "小远同学" | 发出提示音,蓝色 LED 闪烁,进入监听状态 |
| 天气查询 | "今天天气怎么样" | 播报当前天气和气温 |
| 位置查询 | "我现在在哪里" | 报出当前详细地址 |
| 音乐播放 | "给我放首歌"(可指定风格,如"开心的歌") | 播放对应音乐 |
| 讲故事 | "给我讲个故事" | 以拟人口吻讲述童话故事 |
| 结束对话 | "你退下吧" | 回复"再见"并退出交互 |
**闹钟设置流程**
1. **唤醒**:说"小远同学";
2. **下达指令**:说"给我定一个X分钟之后的闹钟"(如"定一分钟后的闹钟");
3. **等待确认**:小远语音播报确认设定的时间;
4. **闹钟响起**:到达设定时间后发出持续铃声,直到被关闭。
## 智能避障
介绍:小车自动检测前方的障碍物并规划路线绕过,实现自主避障行驶。
```{image} images/image_Fea8bjnTTosdF8xxjB4c1wVSnRe.webp
:width: 960px
:height: 540px
:align: center
```
观看完整视频:小车避障(约 36 秒)
小车避障
**操作步骤**
1. 准备工作:确保小车已正常开机,位于平坦、开阔的室内环境中,周围有足够的活动空间;
2. **唤醒**:说 **"小远同学"**,小车发出提示音并进入待命状态;
3. **前进指令**:说 **"小车前进"**,小车开始向前行驶,摄像头和传感器开始工作;
4. **障碍物检测**:小车前方传感器检测到障碍物,自动计算避障路线;
5. **灵活穿行**:小车灵活调整方向,从障碍物之间的缝隙穿过,继续前进;
6. **停止指令**:说 **"小车停止"**,小车立即停止运动并返回待命状态。
**使用建议**
- 推荐场景:办公室、客厅、走廊等地面平坦、光线充足的区域;
- 推荐障碍物:箱子、家具等规则形状的障碍物,避免复杂的不规则障碍物;
- 确保小车有足够的转向空间来规划避障路线。
**注意事项**
- 不要在楼梯、高台、水边等危险地点使用避障功能;
- 保持超声波传感器和摄像头清洁,避免灰尘影响检测效果;
- 小车运行过程中请保持观察,确保其在安全范围内活动;
- 避免在光线过暗或强逆光环境中使用,以免影响视觉识别。
遇到避障失效或运动不稳定时,请参阅文末的避障与运动问题。
## 人体跟随
介绍:小车通过摄像头识别人体并锁定,随后跟随目标移动,自动保持安全距离。
```{image} images/image_Po6wbnAoEoDPBkx2FNgcrzxynPe.webp
:width: 960px
:height: 540px
:align: center
```
观看完整视频:小车人体跟随(约 40 秒)
小车人体跟随
**操作步骤**
1. 准备工作:确保小车已正常开机,位于平坦、开阔的室内环境中,摄像头能清晰看到人体;
2. **唤醒**:说 **"小远同学"** 唤醒小车,小车发出提示音并语音回应;
3. **人体识别**:小车摄像头识别并锁定目标人体,准备跟随;
4. **开启跟随**:说 **"开始人体跟随"**,小车进入跟随模式并紧跟人体移动;
5. **状态反馈**:车身 LED 灯闪烁表示工作状态——蓝色表示待命,红色表示跟随中;
6. **停止跟随**:说 **"测试结束"** 或其他停止指令,小车停止跟随并返回待命状态。
**使用建议**
- 推荐在室内平坦环境使用,人体行走速度 0.5 ~ 2 m/s 时跟随效果最佳;
- 避免穿着颜色与背景相近的衣服,以便摄像头准确识别;
- 不要在楼梯、高台、水边等危险地点使用人体跟随功能;
- 避免在光线过暗或逆光环境中使用;保持摄像头镜头清洁,避免灰尘影响识别准确度。
## 视觉识别(看图对话)
介绍:唤醒小远后,小远会基于摄像头实时画面进行识别和描述,实现"看图说话"与多轮视觉问答。
```{image} images/image_AYpubIWGboFhmsxE06GcI5BqnBh.webp
:width: 960px
:height: 540px
:align: center
```
观看完整视频:小车看图实物(约 1 分 35 秒)
小车看图实物
**功能玩法**
| **玩法** | **怎么做** | **小远会做什么** |
| --- | --- | --- |
| 语音唤醒 | 说"小远同学",确保摄像头前方有清晰的视野 | 摄像头云台转动,表示进入监听状态 |
| 场景识别 | 说"你现在看到了什么" | 识别窗外等环境场景(建筑、树木、光线等)并描述 |
| 物体识别 | 将物体放在摄像头前,问"你看到了什么" | 获得物体的颜色和形状描述 |
| 包装识别 | 向摄像头展示物品(如纸巾包装) | 描述包装的颜色和主要图案 |
| 视觉对话 | 唤醒后进行多轮对话 | 根据摄像头实时画面进行识别和回答 |
**使用建议**
- 光线充足:确保摄像头前方光线充足,有利于识别准确度;
- 清晰视野:避免遮挡摄像头,保持视野清晰;
- 展示距离:建议将物体放在摄像头前方 30-60cm 范围内,方便识别整体特征;
- 自然语言:用自然的语言提问,小远会更准确地理解和回答。
# 常见问题与故障排查
## App 配网与设备连接
| **问题现象** | **可能原因** | **解决建议** |
| --- | --- | --- |
| 搜索不到小车设备 | - 手机蓝牙未开启;
- 小车未处于待配网模式
| - 检查并打开手机蓝牙;
- 重启小车,长按 K1 按键 5 秒使设备进入配网模式(指示灯闪烁)
|
| 配网超时 / 连接失败 | - 误连了 5GHz Wi-Fi;
- Wi-Fi 密码输入错误
| - 切换至 2.4GHz Wi-Fi 频段;
- 仔细检查密码大小写
|
| 设备添加后离线 | 小车与路由器距离过远 | 建议配网时将小车靠近无线路由器 |
## 联网失败怎么办
**现象**:App 显示"添加成功",但小车迟迟不上线、无法语音对话。
**原因**:小车已连上 Wi-Fi,但现场 Wi-Fi(园区/办公网)无法访问小车的云端服务器,导致上线失败。这通常是 **现场网络环境** 造成,而非小车故障。
**最快解决办法:用备用手机开热点**
1. 打开一部备用手机的个人热点(建议使用 2.4GHz 频段);
2. 用 App 重新给小车配网,选择该热点并输入热点密码;
3. 小车连上热点后,几秒内即可上线并恢复语音对话。
> 提示:手机热点走移动网络,不受现场网络限制。现场遇到小车怎么都连不上云的情况,**首选切换到手机热点**,实测即时恢复。
## 避障与运动问题
| **故障现象** | **排查建议** |
| --- | --- |
| 避障失效 | 检查传感器是否被遮挡或污染;尝试重启小车并清洁传感器 |
| 运动不稳定 | 检查地面是否平坦;确认麦克纳姆轮是否正常转动 |