机器人语音识别系统怎么设计?


(资料图片仅供参考)

提起机器人语音识别系统的设计大家在熟悉不过了,被越来越多的人所熟知,那你知道机器人语音识别系统的设计吗?快和小编一起去了解一下吧!

3.4 语音识别程序的DSP开发

DSP的开发环境为CCS3.1及。DSP/BIOS,将语音识别和训练程序分别做成模块,定义为不同的函数,在程序中调用。定义语音识别器函数为int Recognizer(int Micin),识别结果输出函数为int Result(void),语音训练器函数为int Train(int Tmode,int Audiod),动作指令输入函数为int Keyin(int Action)。

语音识别器的作用是将当前语音输入变换成语音特征向量,并对语音库的模板进行匹配并输出结果,语音应答输出函数将获取的语音识别结果对应的语音应答输出,语音训练是将多个不同年龄、不同性别、不同口音的人语音指令输入转化为训练库的模板。为防止样本错误,每个人的语音指令需要训练2次,对于2次输入用用欧氏距离去进行模式匹配,若2次输入相似度达到95%,则加入样本集。语音应答输入函数是为每个语音库中模板输入对立的语音输出,以达到语言应答目的。系统工作状态为执行语言识别子程序,训练时执行外部中断,执行训练函数,取得数据库模板,训练完毕返回。程序框图如图3所示。

4 机器人的动作控制系统设计

4.1 FPGA逻辑设计

系统通过语音控制机器人头部动作,头部运动分为上下和左右运动2个自由度,需要2个步进电机控制,DSF完成语音识别以后,输出相应的动作指令,动作执行结束后,DSP发出归零指令,头部回到初试状态。FPGA的作用是提供DSP接口逻辑,设置存储DSP指令的RAM块,同时产生步进电机驱动脉冲控制步进电机转动方向和角度。

FPGA器件为动作指令控制单元,设计采用FLEXlOKE芯片,接收DSP数据后并行控制2路步进电机。FPGA内部结构逻辑如图4所示,FPGA内部设置2个元件为电机脉冲发生器,控制电机的工作脉冲以及正反转。AO~A7为DSP数据输入端口,WR为数据写端口,P1,P2为2个步进电机驱动芯片脉冲输入口,L1,L2为电机正反转控制口,ENABLE为使能信号。

RAM1和RAM2分别为2个步进电机的指令寄存器,电机脉冲发生器发出与RAM中相应数量的方波脉冲。DSP通过DO~D8数据端输出8位指令,其中。 D8为RAM选择,为1时选择RAM1,为0时选择RAM0,DO~D7为输出电机角度,电极上下和左右旋转角度为120°,精度为1°,初始值都为 60°,DO~D7的范围为00000000~11111000,初始值为00111100。FPGA作为步进脉冲发生器,通过时钟周期配置控制电机转速,与初始值对应坐标决定正反转。系统动作指令程序如图5所示。

其中R1为DSP指令寄存器,R2为当前坐标寄存器,通过DSP的输出坐标与FPGA的当前坐标进行差值运算来确定步进电机的旋转方向和旋转角度,优点是可以根据新的输入指令的变化,结束当前动作以运行新的指令,指令执行完毕后,系统清零,步进电机回到初始状态。

4.2 FPGA逻辑仿真

FPGA以MAX-PLUSⅡ开发平台,用语言为VHDL语言对上述逻辑功能进行设计,并通过JTAG接口进行了调试,FLEXl0KE芯片能够根据DSP输出指令输出正确的正反转信号和脉冲波形。

4.3 步进电机驱动设计

FPGA通过P1,L1,P2,L2输出控制控制步进电机驱动芯片。步进电机驱动采用的是东芝公司生产的单片正弦细分二相步进电机驱动专用芯片TA8435H,FPGA与TA8435H电路连接如图6。

由于FLEX1OKE和TMS320VC5509工作电压为3.3 V,而TA8435H为5 V和25 V,所以管脚连接使用光电耦合器件TLP521,使两边电压隔离。CLK1为时钟输入脚,CW/CCW为正反转控制脚,A,A,B,B为二相步进电机输入。

5 结 语

系统充分利用了DSP的高处理速度和可扩展的片外存储空间,具有高速、实时、识别率高的特点并支持大的语音库,FPGA的使用使系统电路获得简化,一片 FLEXl0KE芯片可以完成2个步进电机的时序控制。虽然在处理速度和语音库的存储容量上与PC机系统具有一定的差距,但在机器人的微型化、低功耗和特定功能实现上,以DSP和FPGA为核心的嵌入式系统无疑具有广阔的前景。