智能小车运行状态控制系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能小车运行状态控制系统设计
戴成梅;徐朝辉;门玉森
【摘要】为了能够灵活方便地控制小车运行状态,采用语音控制技术,选用合理的硬件电路并设计正确的软件流程,开发了一款智能小车控制系统.该系统主要由SPCE061A精简开发板、电机控制单元及车体三部分电路组成.测试结果表明,小车运行状态控制效果良好,系统抗干扰能力较强,适合用于家庭服务.
【期刊名称】《周口师范学院学报》
【年(卷),期】2014(031)002
【总页数】5页(P56-60)
【关键词】智能小车;控制系统;语音识别;SPCE061A
【作者】戴成梅;徐朝辉;门玉森
【作者单位】周口师范学院物理与机电工程学院,河南周口466001;周口师范学院物理与机电工程学院,河南周口466001;周口师范学院物理与机电工程学院,河南周口466001
【正文语种】中文
【中图分类】TP18
随着自动化控制领域的迅速发展,智能小车的研究及应用已成为热点.目前,在工业及军事领域基于智能车的机器人得到了广泛应用,但在服务领域应用相对较少.本设计旨在开发一款用于简易家庭服务机器人的智能小车,采用语音识别技术实现
人机交互,能够方便灵活地控制小车运行状态,可以满足对小车的随机性控制需求.
1 系统工作原理及结构
本系统主要由SPCE061A精简开发板、电机控制单元和小车车体三部分组成,通
过采用语音控制技术实现小车行驶状态的控制.
1.1 语音控制原理
根据输入语音信号的不同,语音识别系统可分为特定人语音识别、非特定人语音识别和多人语音识别三种方式,其特点如下:(1)特定人语音识别.该方式仅对特定人的话音命令识别率高,对其他人话音命令不识别或识别率很低;(2)非特定人语音识别.该方式识别的语音信号是语音数据库中事先存储的语音命令,而与具体
人无关;(3)多人语音识别.该方式能识别特定一组人的语音组合命令.
语音识别主要包括语音信号预处理、特征提取及模型匹配三部分.其中语音特征提
取是最重要的,该过程须满足如下要求:(1)提取的信号特征能很好地代表语音的特征,而且区分性良好;(2)各阶参数间独立性良好;(3)参数须计算方便,具有高效的算法,以保证语音实时识别[1].
小车语音训练过程主要包括以下三阶段:适当处理特征参数,建立词条模型,并将该模型存储在语音库.本设计以SPCE061A为核心,实时接收特定控制人的语音命令,提取特征码,然后与预先存储于FLASH中的特征码比较,如符合则进行如下操作:(1)利用语音播报电路重复当前接收到的命令;(2)根据命令控制电机
单元实现驱动及转向控制,完成相应操作.
小车的运动控制采用语音与中断定时相结合的方式,利用特定人的语音识别实现小车的名称和动作的训练.之后,通过语音触发小车动作,实时控制小车行驶状态,
使之执行前进、后退、左转、右转和停车等动作.在每次触发动作的同时,启动定
时器,如果小车长时间不能正常接收语音命令,当定时时间到时,启动服务程序,小车停止运动[2].
1.2 系统电路结构
本单元以SPCE061A为核心,包括MIC输入、按键输入、语音输入和电机控制等部分,其系统硬件框图如图1所示.
图1中语音输入(MIC-IN)、按键输入(KEY)、声音输出等已包含在SPCE061A精简版上,使用较方便.在电机驱动方面,采用全桥驱动技术,即把SPCE061A板上的4个I/O端口分成两组,分别控制两电机的正转、反转及停止三态的运行.
图1 系统硬件框图
2 关键器件选取
为更好地实现系统功能,降低硬件开发成本,缩短软件开发周期,本设计对系统各单元器件及方案进行科学合理地论证,总体方案设计采用二驱轮式车体作为系统车体,全桥式电路实现电机驱动,以SPCE061A为语音控制单元核心,采用干电池为系统供电.
3 硬件电路设计
系统的硬件电路设计如图2所示,主要包括SPCE061A精简开发板和电机控制板.SPCE061A板输出信号经过电机控制电路处理后去控制电机工作状态,进而实现小车运行状态的改变.
3.1 SPCE061A精简开发板
本设计中SPCE061A精简开发板作为语音识别的主控单元,实现语音命令的采集处理,并与语音库中的模型匹配,进而输出电机控制信号,实现智能小车行驶状态的语音控制[3].61板采用模块化结构设计,各功能模块的划分如图3所示. 3.2 车体结构
本系统运动车体部分采用二驱轮式双电机驱动,其机械结构及工作原理示意图如图4所示.图4中两电机左右分布,分别驱动左右两轮,同万向轮共同作用,实现小
车前进、后退、左转与右转[4].具体控制原理如下:(1)前进.由小车结构分析,左右两电机同时正转时,左右轮无速度差,小车向前直线运动,实现前进动作;(2)后退.倒车动作与前进动作相反,左右两电机同时反转时,左右轮无速度差,小车向后直线运动,实现后退动作;(3)左转.右轮电机正转,左轮电机停转,此时小车在左右电机共同作用下,配合万向轮,向左侧前进,实现左转动作;(4)右转.左轮电机正传,右轮电机停转,小车在前后轮共同作用下,配合万向轮,向
右侧前进,实现右转动作.
图2 系统运动控制硬件结构
图3 61板的功能模块结构
图4 车体结构
图5 左轮电机驱动电路
3.3 控制板电路设计与原理
控制板主要包括接口电路、电源电路和电机驱动电路三部分,具体设计如下:(1)接口电路.接口电路用来连接61板的I/O电机控制信号输出端和电机控制板,本设计采用IOB8~IOB11信号控制电机.此外,为方便系统功能扩展,将
IOB12~IOB15和IOA8~IOA15接口作为备用资源.
(2)电源电路.本系统安装4个电源,即电池电源、控制板的工作电源、61板的
工作电源及61板I/O输出电源.电池为整个系统供电,控制板得到电池信号后经
过二极管D1处理直接传送给61板,经61板的跳线送给61板I/O端口.
(3)电机驱动电路.该部分电路使用全桥驱动控制左右两轮电机运动状态.其中通
过IOB8和IOB9控制左轮电机运动状态;IOB10和IOB11用来控制右轮电机状
态[5].
这里主要介绍小车左轮电机驱动电路的工作原理,而小车右轮电机驱动电路的拓扑结构和工作原理与之完全一样,在此不做赘述.左轮电机驱动电路是采用全桥驱动
电路,其原理如图5所示.
图5中Q1、Q2、Q3、Q4组成全桥驱动的四个桥臂,Q5控制Q2与Q3的工作状态,Q6控制Q1与Q4的工作状态,而Q5和Q6的工作状态由IOB9、IOB8
来控制.因此,可以通过设置IOB8、IOB9工作状态来控制该H桥的工作状态,从而可以控制左轮电机运行状态.
在实际应用中,如果将IOB8和IOB9同时置1,将会造成左轮电机驱动全桥短路,这种现象必须严格避免.电机的控制信号与小车工作状态之间的对应关系如表1所示.
表1 电机控制信号与小车的运行状态的对照表IOB11 IOB10 IOB9 IOB8右电机
左电机小车0 0 0 0停转停转停止0 1 0 1正转正转前进1 0 1 0反转反转后
退0 0 0 1停转正转右转0 1 0 0正转停转左转
另外,结合状态分析,得到特殊输入与小车的运行状态的对照表,如表2所示.
表2 电机特殊控制信号与小车的运行状态的对照表IOB11 IOB10 IOB9 IOB8右电机左电机小车0 1 1 0反转正转右旋转1 0 0 1正转反转左旋转
4 系统程序设计
本系统的控制方式是特定人识别方式,主要包括“训练”和“识别”两部分内容.
在训练方面,系统将对采集到的语音样本信号进行分析处理,然后提取信号特征的主要信息,建立特征模型,并存入到FLASH中;在识别方面,系统对采集到的语音样本进行相关的分析处理,筛选出其特征信息,与语音库中的特征模型进行比较,若二者达到了一定的匹配度,输入的语音信号被识别[6,7],其具体流程如图
6所示.
4.1 主程序设计
其程序流程如图7所示,主要分为初始化、训练、识别和重训四大部分.它们的工
作过程如下:(1)初始化部分.该部分主要完成输入端、IOB8~IOB11输出端及
PWM端口等设置任务,以保障系统能够顺利控制电机进入相应的工作状态.(2)训练部分.该部分完成语音模型的建立工作.首先须判断小车是否已被训练过,若没有,则要对其训练,训练成功后,则将该模型保存到FLASH中,以后可以直接调用使用;如果已经训练,则从FLASH中的模板库中直接调出并加载到辨识器中.(3)识别部分.该部分主要完成控制命令的识别及执行任务.(4)重训部分.该部分主要满足系统重训需求.在具体设计中,系统要设置重训按键,当系统检测到该键
按下,擦除训练标志位,等待复位.复位后,重新执行程序,当检测到训练标志位
为0xffff时会重新对其训练.
4.2 训练子程序设计
当训练标志位为0xffff时,则需对小车进行训练操作.小车训练操作流程图如图8
所示.训练时,系统采用应答式工作方式,每条指令要训练两次,而且每一条命令
的训练过程相同,以“前进”为例说明.首先,训练人向小车发出“前进”命令;
然后,小车发出回应语音,即“请再说一遍”(重复训练提示音);接着训练人再次向小车发出“前进”命令(重复训练一次)[8];最后小车执行“前进”命令,完成一个完整的训练过程.若训练成功,小车将自动执行下一条指令,并语音提示
下一条指令动作;如果没有训练成功,小车会发出相关的提示语音,例如“没有
听到呀”等信息,此时就要重复以上四个步骤,直至成功为止.
4.3 语音识别子程序设计
语音识别的实现过程见图9.在该图中,首先获取辨识器中的结果,然后,判断有
无语音触发,并返回辨识结果的ID号.不同的辨识结果对应不同的ID号,进行不
同的动作.若ID号是名称,则结束当前运动,进入等待命令状态,直至下一指令触发;若是动作,则语音告知将要进行的动作命令,执行相应操作.
4.4 动作子程序设计
动作子程序包括前进、后退、左转、右转和停止四个子程序.以前进子程序为例,
其流程图如图10所示.由小车的结构原理及驱动电路知,当IOB8为高电平时,IOB9、IOB10和IOB11均为低电平时,小车前进.前进子程序包括语音提示、端
口数据设置、启动定时器等操作.其他动作同理,不同之处在于端口数据设置不同,详见基本输入与小车的运行状态的对照表(表1).
图6 语音识别流程图
图7 系统主程序流程图
图8 训练子程序流程图
4.5 中断子程序设计
考虑到环境的干扰和有效距离的限制,虽然有动作控制信号,小车没有如期接收语音命令信号而保持原来的运行状态.为避免该情况,当小车接收到语音命令信号的
同时,加入定时中断,定时时间到小车就停止运行.采用2Hz时基中断定时,其流程如图11所示.
图9 语音识别子程序设计图
图10 动作子程序流程图
图11 中断子程序流程图
5 总结
本设计是一款简易智能小车运行状态控制系统,利用语音识别技术控制小车的行驶状态.如果将该语音控制设计理念移植到诸如汽车、家电等具有实际意义的产品中去,人们将会拥有更为人性化、更为智能化的人机对话方式.
系统硬件部分主要基于SPCE061A凌阳语音识别简装版,识别率较高;系统的软
件设计是以C语言为基础开发的,以IDE开发环境为平台,实现系统软件调试与
实现,可读性较强,而且为后续开发及功能扩展提供了可能.
经反复调试,本设计最终能够基本实现预期目标,具有较好的实用性,但作为一款家庭服务机器人,还需对其进行一定的改装和完善.
参考文献:
[1]Lawrence Rabiner,Biing hwang Juang.Fundamentals of Speech Recognition[M].Prentice Hall/Pearson,2001:256-325.
[2]薛钧义.凌阳16位单片机原理与应用[M].北京:清华大学出版社,2003:21-35.
[3]尹为高.语音小车的硬件平台设计[J].科学资讯,2011(1):109-110. [4]陈海宴.凌阳16位单片机经典实战[M].北京:北京航空航天大学出版社,2011:122-156.
[5]侯嫒彬.凌阳单片机原理及其毕业设计精选[M].北京:科学出版社,2006:352-387.
[6]常丹华.基于DSP的语音识别智能控制系统[J].电子测量技术,2008,31(4):175-178
[7]庞雄昌.语音识别及其定点DSP实现[J].现代电子技术,2003,19(5):78-80.
[8]李昌禄.基于单片机平台下的语音识别技术应用方式研究[D].天津大学,2009.。

相关文档
最新文档