当前位置:   article > 正文

基于STM32在DobotMagician上的语音交互系统演示及设计_基于stm32的语音交互识别机器人

基于stm32的语音交互识别机器人

1.实验目的  

     1) 了解机器人语音交互的基本原理、关键技术及特点;   
     2) 演示及操作语音控制机械臂系统,了解其组成及工作原理;   
     3) 完成机器人语音交互控制系统的方案设计;   
     4)体验、了解现有的网络语音交互平台,并撰写使用感受。  

 2.演示实验平台简介  

    演示实验平台包括XFMT101 语音识别模块、STM32 单片机和越疆桌面机械臂 
DobotMagician。  

    2.1 XFMT101 语音识别模块  

   XFMT101 是科大讯飞新推出的初级智能语音方案,目前支持语音识别、语音  
播放、语音合成等系列语音功能,支持UART 作为通信接口,功能丰富、接口简 
单是其主要特点。以ARMCortexM3 作为运行平台,可以广泛应用多种智能硬件领 
域,如智能家电、智能穿戴等,为用户提供便捷的语音识别解决方案, XFMT101 
主控板实物如图1 所示。  


2.1.1 主要功能
(1) 语音识别
本模块支持不超过 20 个命令词识别,支持自定义命令词,引擎会根据实际
运行结果,反馈识别正常结果 (包括识别编号、识别得分、识别名称等信息)
和识别异常结果 (包括识别超时、识别拒识、识别错误等信息)给上位机。
语音识别分为两种模式:单次模式,该模式下识别出结果后,进入空闲状态;
循环模式,该模式下识别出结果后,再次启动识别,循环直到接收到其它需要切
换状态的指令才会退出识别。
(2) 语音播放
本模块支持最大 5MB 的内置音频存储空间,目前音频个数限定为 100 个,
支持最多四个音频连续播放,支持识别等引擎提示音播放。
(3) 语音合成
本模块支持纯中文语音合成(由于平台资源大小限制,不支持英文合成),
限定单次文本长度不超过 200 个字节( 100 个字)。
2.1.2 使用方法
(1) 更新命令词
按照图 2 所示的文件顺序打开模块资料中的 command 文件,修改命令词和阈
值,阈值(fThresh)是用来与判断识别结果的打分值作比较,分值高于阙值才
算识别成功,取值范围为:“-32768” 到“32767”",默认值为“0” ,命令词示
例如图 3 所示。得分越低,表示识别的可靠性越低。

 

 

 修改保存后,返回上级文件夹点击 RunPack.bat 会生成如下三个文件,如图
4 所示。

 此时用一个新 U 盘(格式化为 FAT32),在 U 盘根目录下新建“XFMT” 文件
夹,然后在“XFMT” 文件夹下新建“Update” 文件夹,拷贝下列五个文件,如图
5 所示。然后再用上步生成的三个文件拷贝进来替换。

最后,给模块供电,插上 U 盘,按下更新键不要松,再按一下复位键,隔 2-
3 秒后松开更新键,观察指示灯,由亮变灭,即更新成功。此时可以拔下 U 盘,
继续后续操作。
(2) 连接单片机
XMFT101 模块的“控制 GTRV” 接口按照图 6 的方式连接 STM32,串口默认配
置为波特率 115200,起始位:1 bit,数据位:8 bits,停止位:l bit,校验位:
无。配置参数可以通过命令更改,具体详见模块使用说明。
(3) 程序编写
XFMT101 与 STM32 通过串口进行数据通讯,通过串口发送命令配置模块,并
通过串口反馈命令判别模块相应状态,通信协议示例如图 7 所示,具体协议详见
模块使用说明。通过发送命令实现语音识别、语音播放功能,通过接收到的反馈
数据来控制单片机相应的 IO 口电平变化,进而控制机械臂进行对应的动作。

2.2 越疆桌面机械臂 Dobot Magician
DOBOT 魔术师是越疆科技自主研发的多功能高精度轻量型智能实训机械臂,
是一站式 STEAM 教育综合平台,具备 3D 打印、激光雕刻、写字画画等多种功能,
预留 13 个拓展接口支持二次开发,用户可以通过软件编程结合硬件拓展来
开发更多的应用场景。其实物如图 8 所示。
Dobot Magician 的 I/O 接口采用统一编址的方式,且大部分引脚具有复用
功能。用户可通过 IO 接口实现高低电平输出、电平输入读取等功能,以控制机械
臂的外围设备。小臂外设接口如图 9 所示,选择相应的 EIO 口,设定相应的输入
输出条件, 即可针对每一个 EIO 口进行特定的复用。具体的外设接口 O 复用说明
详见 DobotMagician 使用说明,本次实验主要用到 I/O 复用中的电平输入功能,
通过语音模块识别语音命令控制单片机 IO 输出对应电平控制输出,机械臂通过
EIO 读取对应 IO 的输入电平高低进行运动控制。

 3.实验操作步骤
( 1)打开电脑里的 DobotStudio 仿真软件,桌面没有可以搜索;
( 2) 在“示教&再现” 页面单击图标切换至 Pro 页面;
模式改为“手抓”;
( 3) 按住机械臂上的解锁按钮,移动机械臂到下一个目标位置松开解锁按
钮,系统自动记录当前位姿,重复以上步骤,记录所有目标位姿;
( 4) 依次设置每一个位姿的触发条件,在“ 示教&再现"页面右下方的“触
发” 区域选择输入引脚,设置“条件” 和“值” ,单击“ADD"添加, ( 32 中的代
码需要给低电平 0 触发)。
( 5) 配置完成后连接机械臂,下载后开始依次启动。 具体配置见下图所示

 

 ( 6) 演示实验平台利用 XMFT101 语音识别模块和 STM32 单片机,结合越疆机
械臂的 EIO 复用功能,实现对越疆机械臂的语音控制。即首先利用 XMFT101 语音
识别模块实现对语音信号的收集、识别,通过串口传输给 STMB2 单片机,单片机
接收识别结果并控制相应的输出管脚输出高低电平,将这些高低电平送入到越疆
机械臂的小臂接口板 EIO,通过接口板控制机械臂动作。

硬件接线注意事项: 1.接一根地线即可, 5v 12v 均不接;
2.根据配置 IO 口连接对应单片机上的引脚;
具体见下图

4.实验报告要求
( 1) 通过试验平台演示利用语音模块控制桌面机械臂
通过演示及操作,了解利用语音模块控制桌面机械臂的工作过程,了解系统
的组成、系统包含的主要模块、模块间的连接关系、系统的工作流程等内容。
( 2)基于演示实验平台设计机器人语音交互模块
通过对演示实验平台的演示和认识,请完成机器人语音控制系统模块的方
案设计。要求绘制出机器人语音控制系统的功能框图,阐明机器人语音控制系统
包含哪些模块、每个模块完成的功能、模块之间有何关系,并描述出机器人语音
控制系统的大致工作流程。
( 3)利用网络语音交互平台进行语音交互体验
充分利用科大讯飞、阿里云、百度云等平台提供的网络语音交互平台,选择
其中一个平台,了解并记录该网络语音交互平台具备的语音交互功能、平台特点、
应用服务场景、典型案例等内容,体验网络语音交互服务,撰写体验感受。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/524717
推荐阅读
相关标签
  

闽ICP备14008679号