亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

在树莓派 2 上用 Windows 10 IoT Core 构建语音控制机器人

故事

早期计算依赖穿孔卡、轨迹球和键盘——都需要直接物理接触。技术演进带来无线和触控界面,简化了交互。如今,视觉和语音输入提供更直观的设备控制方式。

本指南演示如何利用 Windows 10 IoT Core 内置语音识别,指挥基于树莓派 2 的机器人。完成后,你将拥有一个能通过语音指令移动、转向和管理障碍检测的机器人。

初识 Windows 10 IoT Core?从这个 概览 开始。

更新于 2016 年 3 月 30 日

什么是语音识别?

语音识别将口语转为文本。通常包含两大核心组件:信号处理和语音解码器。Microsoft Speech SDK 封装了这些复杂性,让开发者专注于应用逻辑。

步骤 1

语音识别入门

基本工作流:

创建语音识别语法

定义自定义语法让应用理解你希望机器人接受的特定指令。本项目词汇包括:

语法用 SRGS XML 表达。关键结构规则:

详细 SRGS 指南请查阅 MSDN 和 W3C 文档。

初始化语音识别器并加载语法

SpeechRecognizer 位于 Windows.Media.SpeechRecognition 命名空间。引入后加载 SRGS XML 文件。若编译失败,检查麦克风是否连接并被 IoT Core 识别。

注册语音识别器事件并创建处理程序

识别器运行后,成功解析语音会触发 ResultGenerated 事件。用此事件提取 args.Result.Text 并映射到机器人动作。StateChanged 事件告知识别器开始或停止监听。

Visual Studio 可用 Tab 键自动生成处理方法。也可在创建 SpeechRecognizer 实例后立即注册处理程序。

步骤 2

根据解析语音驱动机器人

在 ResultGenerated 处理程序中,检查 args.Result.Text 并执行条件逻辑控制机器人电机。MotorDriver 类(示例中包含)封装 GPIO 操作。完整源码见文末。

步骤 3

更新设备功能

部署到树莓派 2 前,在应用包清单中添加 microphone 功能,授予应用访问音频输入权限。


软件就绪后,按下文硬件接线说明连接硬件。

步骤 4

部署并注册为启动应用

为确保机器人开机即监听指令,将应用注册为启动应用。先部署,再用 PowerShell 或 IoT Core Web 管理门户。

建议部署前更改包系列名称以避免冲突。


部署后,用 Web 管理门户将应用注册为启动服务。


若遇注册问题,参考此 故障排查指南。

成功注册后,重启树莓派 2 并确认应用自动启动。

原理图

机器人硬件由底盘直流电机、运行 Windows 10 IoT Core 的树莓派 2、9-12V 电机电池、测距传感器和电源组成。电机电池供电 H 桥驱动器,树莓派 2 需专用 5V 电源——USB 移动电源或 7805 稳压器。

超声波测距传感器为何需要电阻?

超声波传感器 Echo 引脚输出 5V,超出树莓派 2 的 3.3V 逻辑电平。分压电阻(R1=1kΩ, R2=2kΩ)将电压降至 3.3V:

Vout = 5 × (2kΩ / (1kΩ + 2kΩ)) = 3.3V

警告:直接将 Echo 引脚接入 Pi GPIO 会损坏开发板。务必使用电平转换器或分压电路。

最终组装



已知问题

语音识别失效(Build 10586)

Windows IoT Core build 10586 上语音识别失效。

解决方案: 回退到 build 10240,等待微软发布修复更新。

麦克风问题

低质量麦克风在 1-2 米外识别率下降。

解决方案: 使用高质量或无线麦克风。必要时放大信号或考虑降噪耳机。

识别器处理延迟

语音识别引入 600-2000ms 延迟。对快速移动机器人,这会导致指令与动作错位。

解决方案: 当前 SDK 版本无法降低延迟,未来版本可能优化。

发音差异

口音和地区发音影响识别。在 SRGS 文件指定语言和地区(如 xml:lang="en-GB" 代表英式英语)。

环境噪音

背景噪音降低准确度。虽难消除,但用降噪麦克风可缓解。

USB 麦克风/声卡无法识别

从 build 10531 起,Windows IoT Core 支持通用 USB 音频设备。若设备用专有驱动则可能不工作。

尝试使用通用驱动的其他 USB 麦克风或声卡。

未来增强

扩展机器人视觉反馈——如成功指令亮绿灯、错误亮红灯。也可添加“监听”和“睡眠”状态防误触发。

你注意到了吗?

动画标题展示了文中未涉及的功能。仔细观察动画并尝试实现隐藏能力。

祝好运!

来源: Speech Controlled Robot

制造工艺

  1. 树莓派运行 Windows 10 IoT Core 读取心率脉冲传感器:分步指南
  2. Windows IoT + 树莓派打造人脸识别智能门锁
  3. 树莓派 + PIR 传感器 + MQTT 打造 AWS IoT 运动触发按钮
  4. 树莓派 2 (Windows 10 IoT Core) 采集 Adafruit 10DOF IMU 数据上传 Azure Event Hubs
  5. Windows 10 IoT Core 上基于 SHT15 的精准温湿度监测
  6. 树莓派 3 Model B+ 安装 Windows 10 IoT Core 完整步骤指南
  7. 蓝牙控制树莓派机器人:语音反馈功能构建指南
  8. 树莓派手势控制机器人:告别按键,挥手即达
  9. 树莓派WiFi机器人:手机App远程控制实战
  10. 在树莓派 3 上扩展 GoPiGo v2 的 Windows 10 IoT Core 应用
  11. 用 Python 构建 Wi-Fi 控制的树莓派机器人:分步指南
  12. 在 Windows 10 IoT Core 上构建语音驱动的计算机视觉机器人