指导教师:高坤、刘春霞
作品简介
开发背景:
目前,无论是在工业制造市场、还是智能家居的开发与应用等方面,语音识别智能机器人都具有相当大的市场潜力;特别是随着社会经济的发展和我国人口的老龄化,家庭成为机器人应用的一个主要的场所,低成本助老助残智能工具的研发成为新的社会需求,语音识别更是智能化发展的主流方向。并且当今社会计算机软硬件技术、大规模的集成电路、通讯技术等已相当成熟,一些复杂的语音识别系统已经完全制成了专用芯片;可以预测在未来几年里,语音识别系统的应用将更加广泛,各种各样的语音识别系统的产品将出现在市场上,从而使人们的生活“随音所欲”,更加舒适、便捷。
结构说明:
基于LD3320的助老助残智能语音机器人主要有主控制模块、电机驱动模块、语音识别模块、无线传输模块、机械臂运动模块及机械手抓取模块等六大模块组成。
(1)主控系统采用ITAT大赛指定专用的STC15F2K61S2单片机作为主控核心。
(2)机器人腿部运动系统由L298N电机驱动模块驱动两个直流减速电机完成。
(3)LD3320非特定型语音识别模块完成语音识别分析等任务,然后将分析过的语音命令转化成系统指令给单片机。
(4)NRF24L01无线传输模块有两个NRF24L01组成,用于LD3320语音模块与STC15F2K61S2单片机之间进行信息传输。
(5)机械臂的运动及机械手的抓取动作都由舵机控制完成,在机器人的胳膊及手腕的主关节处共安装4个舵机,用于手臂及手的灵活运动。
图1 功能流程图
功能与使用说明:
本设计的主要功能为系统能根据非特定人的语音命令完成指定动作。当老年人或残疾人发出前进、后退、左转、右转等命令时,机器人可以在非结构环境中完成自由巡航。到达指定地点时,机械臂将根据命令完成抓取所需物品,直至送回主人指定地点并按指令放下。
语音指令及执行如下:
前 进:小车直走;
后 退:小车后退;
左 转:小车左转;
右 转:小车右转;
等 待:各部分正在执行命令的部件立即停止,等待下一个命令的发出;
起/升:机械臂升起;
落/降:机械臂落下;
夹 :机械手张开准备夹起指定物品;
放 :机械手饭放下物品;
正 转:机械臂整体顺时针旋转;
反 转:机械臂整体逆时针旋转。
图2 整体组图
平台选型说明
选用大赛指定的单片机开发板(以STC15F2K61S2芯片为控制核心)。STC15F2K61S2单片机是高速/高可靠/低功耗/超强抗干扰的新一代单片机,采用第八代加密技术,加密性超强,代码指令完全兼容8051,在Keil开发环境中头文件包含即可,但运行速度快8—12倍;内部集成高精度R/C时钟,温漂小,时钟范围5MHZ到35MHZ可调,可彻底省掉外部昂贵的晶振和外部复位电路;3路PWM输出,可满足机械臂及机械手舵机的控制;8路高速10位A/D转换;内置2K字节大容量SRAM;2组高速异步串行通信端口,1组高速同步串行通信端口SPI,真对多串行通信、电机控制、强干扰场合。
设计说明
设计方案论证:
一、主控系统方案:
采用ITAT大赛指定专用的STC15F2K61S2单片机作为主控核心,具有代码指令完全兼容8051且运行速度快的特点,尤其是本设计中语音识别技术要求实时性较高,运算速度快是至关重要的。另外,单片机内部多路PWM输出满足本设计对多个舵机云台的控制要求。
二、电机驱动模块方案:
方案一:使用分立原件搭建电机驱动电路。使用分立原件搭建电机驱动电路造价低廉,在大规模生产中使用广泛。但分立原件H桥电路工作性能不够稳定,较易出现硬件上的故障,故我们放弃了这一方案。
方案二:L298N电机驱动模块内部包含4通道逻辑驱动电路,能够接收标准TTL逻辑电平信号,是驱动直流减速电机的最佳选择。
鉴于模块稳定性考虑,采用方案二。
图3 L298N模块电路图
三、语音识别模块方案:
方案一:采用特定人语音识别芯片SR1501。首先,它是一个完整的语音识别系统,除了识别外还具备语音提示及语音回放等功能。其次,嵌入式语音识别系统具有体积小,可靠性高,功耗低,价格低, 可以做玩具、礼品、学习机、消费类产品控制,易于商品化。由于语音识别的特点,不建议使用要求可靠性极高的领域。
方案二:LD3320非特定型语音识别模块集成了语音识别处理器和一些外部电路,包括AD、DA转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片如Flash、RAM等,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。并且,可以存储50条语音命令,识别的关键词语列表是可以任意动态编辑的。
综上所述,LD3320非特定型语音识别模块的使用范围更广。
图4 LD3320电路图
四、无线传输模块方案:
方案一:Zig Bee是一种低速短距离传输的无线网络协定,通讯距离从标准的75m到几百米、几公里,并且支持无限扩展;但是基于本设计需要,性价比较低。
方案二:NRF24L01无线传输模块的输出功率和通信频道可通过程序进行配置,因此可根据设计需要设置接收、发射模式;而且功耗低,被广泛应用于十米以内短距离无线传输的设计中。
经比较系统传输距离及模块性价比得出,方案二更符合实际要求。
图5 NRF24L01连接图
五、机械臂及机械手运动方案:
方案一:采用步进电机控制手臂及手腕关节运动的角度。由于其转过的角度可以精确的定位,因此可以实现机械臂位置的精确定位。虽然采用步进电机有诸多优点,但步进电机的输出力矩较低,重量大,不易固定,不适用于机械臂等灵活转动的系统。
方案二:机械臂的运动及机械手的抓取动作都由舵机控制完成,通过控制输入脉冲信号的宽度来控制舵机的输出角度,角度输出精确,适用于角度不断变化并可以保持的控制系统。
综合考虑,舵机更适合机械臂的控制。
原理分析:
一、舵机控制原理:
通过调节PWM的占空比产生准确的连续定时信号来实现电机的转速调节,精确定位机械臂与机械手的旋转角度。
该准确的连续定时信号频率计算公式为:
对应的电压波形如图所示:
图6 PWM控制原理
二、无线传输模块原理:
通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式;
当LD3320接收音频信号并特征提取相符后,NRF24L01准备发射数据。首先将nRF24L01配置为发射模式:接着把地址TX_ADDR和数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。
同时STC15F2K60S2单片机接收数据,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR置高,IRQ变低,以便通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。
三、LD3320工作原理:
语音识别芯片完成的工作就是:把通过MIC 输入的声音进行频谱分析—>提取语音特征—>和关键词语列表中的关键词语进行对比匹配—>找出得分最高的关键词语作为识别结果输出。
语音识别芯片能在两种情况下给出识别结果:
(1)外部送入预定时间的语音数据后(比如5秒钟的语音数据),芯片对这些语音数据运算分析后,给出识别结果.
(2)外部送入语音数据流,语音识别芯片通过端点检测VAD(voice activity detection)检测出用户停止说话,把用户开始说话到停止说话之间的语音数据进行运算分析后,给出识别结果。
在本系统设计中,我们采用第二种识别情况,更符合智能设计的要求。
图7 LD3320工作原理图
作品特色
基于LD3320的助老助残智能语音机器人设计的先进性在于它紧扣社会发展方向,智能化解决了老人和残疾人的生活问题,更重要的是该设计把语音这种人类最自然的交流方式带进了机器化生产和生活中,真正实现了人类与机器的交流,让低成本智能化生活不再是想象。
本设计中语音识别技术、机械臂及机械手的应用则让本系统的应用范围大大增加。既可以用于智能轮椅等智能家居的开发,帮助行动不便的老人或残疾人完成倒水、搬运东西、开门、关门、开灯、关灯、浇花等任务,还可以应用于大型工业制造,直接用语音控制,方便快捷。具有较高的实用开发价值。
另外本系统的创新点在于控制命令全部为语音控制,并且LD3320语音芯片具有语音特征提取匹配环节,避免了系统命令与其他无关语音命令相混淆,确保了执行任务的准确性;并且结构形式多样,既可以做成小巧的机器人,又可以做成智能轮椅等为老人、残疾人提供方便;无需各种复杂的传感器(如避障传感器等)及特定的地图记忆,很大程度的节约了设计成本、降低了功耗。
系统演示视频:http://v.eepw.com.cn/video/play/id/2272