基于凌阳61板智慧机器人设计文档_第1页
基于凌阳61板智慧机器人设计文档_第2页
基于凌阳61板智慧机器人设计文档_第3页
基于凌阳61板智慧机器人设计文档_第4页
基于凌阳61板智慧机器人设计文档_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网大赛参赛作品智慧机器人参赛成员学院数学与计算机学院专业计算机科学与技术指导教师2智慧机器人摘录智能机器人是基于凌阳的SPCE061A芯片完成基本功能。通过语音控制实现机器人的前进、后退、左转、右转、转头、跳舞和发射飞盘的功能。软件设计方面,利用C语言在凌阳的IDE环境下实现函数调用。从而方便的实现机器人的语音播放、控制运动等功能。关键词机器人,SPCE061A,单片机。3目录1设计目标411硬件设计412软件设计513创新设计72硬件设计过程展开921系统设计522SPCE061A最小系统523硬件驱动电路73训练与测试1631原装机器人测试1832机器人的拆卸933确认电机连线1134机器人电线的连接1335驱动电路板与61板连线1336再次组装机器人1434下载最终程序并训练355结果评价及改进意见366参考文献377收获体会388附录3941设计目标11硬件设计111SPCE061A单片机本系统采用凌阳16位SPCE061A单片机作为控制中心,对输入的语音指令进行识别和处理,从而驱动机器人不同部位的直流电机,做出前进、后退、左传、右转等不同动作。112SPCE061A简介SPCE061A是凌阳科技研发生产的性价比很高的一款16位单片机,使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有八路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路,用于录音。两路10精度DAC,只需外接功放(SPY0030A)即可完成放音。凌阳16位单片机所拥的一套指令系统和集成开发环境具有易学易用、效率高等特点。在集成开发环境中,支持标准C语言编程,并可以实现C语言与凌阳汇编语言的相互调用,语音的录放只需调用相应的库函数就可实现。SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对芯片的编程和仿真变得非常方便,而且ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(UNSPIDE)可以对芯片进行仿真;而程序的下载(烧写)也是通过该接口进行下载。113SPCE061A精简开发板SPCE061A精简开发板(简称61板),是以凌阳16位SPCE061A单片机为核心的精简开发、仿真实验板。61板除了具备单片机最小系统电路外,还包括电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等。61板上有调试器接口(PROBE接口)以及下载线接口(EZ_PROBE接口),分别可接凌阳科技的在线调试器、简易下载器。实现程序的下载、在线仿真调试只需配合UNSPIDE使用。114硬件设计概述5通过61板与机器人驱动电路板的连接,特定人语音识别控制机器人的动作,识别15条语句。通过语音识别,控制机器人做跳舞、走路、转向、转头、发射、连续发射等动作。12软件设计121流程图1判断是否为第一次训练开始后程序判断是否为第一次训练,如果是就完成相关的语音训练与存储,如果不是就直接转到语音初始化开始识别。开始初始化IOB口擦除指定的FLASH语音训练与存储置相关标志位语音识别初始化判断是否为第一次下载NY图1判断是否为第一次训练流程图62语音识别初始化完成后,开始判断是否为触发状态,再判断出是第几组第几条命令后,程序执行语音命令所对应的程序,完成机器人的应答与动作。图2识别流程图73语音播放函数语音播放程序分两部分,一是播放流程控制,二是中断播放服务程序,流程图如下开始调用语音播放初始化函数调用语音播放准备播放函数调用语音播放系统服务函数清看门狗停止语音播放判断语音播放是否结束返回YN图3自动播放流程图8寄存器入栈保护调用F_FIQSERVICE_SACM_S480寄存器出栈清FOSC1204_FIQ中断标志清中断标志清中断标志判断是不是TMB_FIO中断判断是不是TMB_FIQ中断中断返回YNNY图4中断服务程序流程图4语音算法语音识别概述及原理(1)特征提取,抽取反应语音本质的特征参数,形成特征矢量序列。(2)语音模型库,从一个或多个讲话者多次重复讲话中提取的语音参数模板。(3)匹配检测,把输入语音的特征参数与语音模型库进行比较分析,得到识别结果。语音识别原理参看图5,如下9特征提取特征提取匹配检验语音特征模型语音输入识别结果语音输入匹配阶段识别阶段图5语音识别原理SPCE061A实现语音识别的步骤分为训练部分与识别部分,以及在训练、识别过程中中断的情况,如下图图6识别步骤1013创新设计A非特定人的语音识别初步设计原理系统原理由于凌阳公司提供的语音识别库函数是基于特定人的语音识别,因此我们设计的非特定人语音识别技术是基于DTW的模板匹配技术,通过直接提取语音特征作为模板,能够较好的实现孤立词的识别,又由于DTW模板匹配预算量不大,并且限于小词汇表。基于HMM隐马尔可夫的语音识别系统,通过对大量语音数据进行数据统计,建立识别词条的统计模式,从待识别的语音提取特征与此统计模型匹配以获得识别结果,实现非特定人的语音识别。图312语音识别语音识别的过程由SPCE061A的组成系统实现,程序和模板库保存在SPCE061A的32K的闪存中和外扩的SPR4096里面,语音识别的提示借助于凌阳公司提供的API语音函数来实现。识别时模板匹配算法采用VITERBI算法。11图313B多功能同步实现凌阳机器人实现的是单一命令操作,只是一项指令执行一步单一操作,所以可以通过改进实现多功能同步实行,比如在跳舞的同时发射飞盘,前进或后退的同时转身,从而完善机器人的动作。C增加情绪传感器利用情绪传感器,机器人能够识别语音人说话的语气是是悲是喜,从而感知到语音人的心情做出相应语音回复。D红外线传感器红外线传感器感知障碍物,若前方有障碍会自动暂停。E温度传感器温度传感器感知温度,然后报出当天气温。21系统设计用61版来控制机器人,使用了IOB口资源,使用了麦克风与扬声器实现录放音功能。系统单元框图如11所示12图11系统单元框图13SPCE061A最小系统SPCE061A最小系统中,包括SPCE061A芯片外围的基本模块,有晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电(RESET)、指示灯(LED)等,如下图13示。13图12SPCE061A最小系统13硬件驱动电路系统主要由61板与机器人驱动电路构成。61板作为整个系统的主控板,驱动电路驱动电机,完成各种动作。另外增加了特定人语音识别功能,通过命令来控制机器人。图13机器人驱动电路原理图1461板与机器人连线图以及端口的分配图1461板与机器人连线语音播放流程图15自动播放流程153训练与测试31原装机器人测试1打开电池盒盖,安装电池,盖好电池盖。同时安装遥控器电池。3打开电源开关(背后电池盒下边)。3启动,按一下前面的红色按扭。4提示语音过后运行几个动作跳舞、摇头、发射子弹。通过这几个动作可以确认5个电机以及驱动电路基本正常。33机器人的结构,演示如何拆卸1机器入主要分4大块头部、腿部、前胸、后背。机器人的外观图见图31。图312拆卸先拆下图31所示两个螺钉。再拆下图33所示四个螺钉。16图333取下前盖子图见图33。图344拆下图34所示两个螺钉。取下主电路板。17图355拆下图35所示四个螺钉。摇头驱动装置、后盖子、胳臂都可以拆下来了。这样拆卸完毕,机器人可以分解为几个部分了。图3533确认电机连线1确认左右腿电机。图36所指示的是这两个电机的引线。18图363确认摇头电机。取下驱动板后就可以看到了。见图37。图373拆下图38所示五个螺钉,确认头部内的加速度电机和发射电机连线。19图3834机器人电机线路、电源线路与驱动电路板的连接驱动电路板上面一排焊孔就是电机与驱动电路板的接口。其中标号的意义为M表示MOTOR,电机的意思,L表示LEFT,左边,ML1合起来就是左腿电机的意思,同理ML3是另一条左腿电机连线。下面列出标号意义腿部粉色黑色ML1、ML3蓝色浅蓝色MR1MR3胸部红色黑色MT1MT3头部发射器蓝色淡蓝色(偏紫色)MF1VCC头部加速器黑(棕)色绿色VCCMJ120眼睛白色土黄色EYENIOB13喇叭两粉色板接口红色黑色线接电池盒上的电源线电池盒的正负电源引线直接焊在驱动电路板的VCC与GND焊孔。35驱动电路板与61板连线61板IOB7IOB8IOB9IOB10IOB11IOB12IOB13IOB14IOB15机器人主板16脚9脚10脚11脚12脚头部出的橙色线15脚14脚17脚图39驱动板与61板的连接214下载最终程序并训练步骤一启动UNSPIDE。打开机器人应用实例程序,编译、链接确认没有错误,如下图图310步骤二下载程序代码到机器人的61板上。步骤三打开机器人的电源,进行语音训练,训练过程按照下面进行。按顺序训练以下15条指令“名称”,“开始”,“准备”,“跳舞”,“再来一曲”,“开始”,“向前走“,”倒退“,”右转“,“左转”,“准备”,“向左瞄准”,“向右瞄准”,“发射”,“连续发射”每条指令要训练两遍,当一条指令被正确识别时会提示进入下一条;如22没有被识别会要求重复该指令,直到正确识别为止。步骤四如果训练成功则进入语音识别状态,如果训练没有成功则重复训练。在识别状态,要执行动作首先需要出发名称,就是训练的第一条命令,然后可以识别第一组的其余四条命令。在触发第一条指令,然后再触发第二条指令,就可以识别第三条指令,参考如下图图3115、结果评价及改进意见(1)结果评价组装好机器人,调试好程序,训练成功后,通过语音对其控制,从而达到预定的要求,在比较嘈杂的环境下也能识别发出的语音命令。(2)方案的优点采用凌阳SPCE061A单片机,具有强大的语音处理功能,体积小、集成度高、可靠性好且易于扩展。23缺点机器人只能识别特定发音人,动作播放的语音单一;由于机器人本身构造简单,无法完成弯腰,下蹲等高难度姿势。(3)改进意见希望通过程序使机器人能不用训练,识别任何人的语音命令,使机器人能播放任何你想要它发出的语音。而且能通过更多的驱动电机来完成下蹲,弯腰甚至倒立等高难度的姿势以及更多复杂的舞蹈动作。6收获体会以及遇到的问题因为我们大二的学生,对计算机整个体系还没有比较完整的认识,现在也只是学了基础的C语言,对汇编语言也了解甚少,所以一开始拿到这个题目的时候难免有些怕,而对电路板的分析,更是感觉无从下手。对于凌阳单片机,以及相关的C语言编程都很陌生。但是通过这一段时间的学习、加上组员之间的探讨,我们逐渐的熟悉单片机,开始一定程度上了解了如何用C语言来控制单片机,使我们学习更加熟悉对C语言的编程。在训练与测试机器人的过程中,锻炼了我们的动手能力和分析问题的能力,以及协调能力。在载入程序时我们无法完成下载,通24过反复的摸索和测试,以及在网上寻找资料,并结合程序下载指导书,最后找到问题的所在,并解决了问题,这提高了我们探索的意识和解决问题的能力。在焊接电路板的过程中,曾一度将电路板焊坏,最后通过请教、一起的测试终于将电路板修好。最后我们一起写文档,讨论该如何规范、合理、清晰的表达出问题。大家互相帮忙鼓励,互相学习,虽然途中因为意见不统一,出现问题的分歧,但最后还是通过讨论达成一致,这很好的锻炼了我们的团队合作能力。7参考文献1罗亚非凌阳16位单片机应用基础M北京航空航天大学出社,20052凌阳公司出版的61板使用说明书,机器人改装流程V13,机器人使用说明书V103宋浩,田丰单片机原理及应用M清华大学出版社,20054谭浩强C程序设计M清华大学出版社,19995康华光电子技术基础(模拟部分)高等教育出版社,2008258、附录(主程序)INCLUDE“BSRSDH“INCLUDE“ROBOTH“EXTERNVOIDROBOTSYSTEMINITVOIDEXTERNUNSIGNEDINTISFIRSTDOWNLOADVOIDEXTERNVOIDFORMATFLASHVOIDEXTERNVOIDTRAINFIVECOMMANDVOIDEXTERNVOIDSAVEFIVECOMMANDUNSIGNEDINTUIADDREXTERNVOIDIMPORTFIVECOMMANDUNSIGNEDINTUIADDR_IMPORTEXTERNUNSIGNEDINTTRAINWORDUNSIGNEDINTWORDID,UNSIGNEDINTSNDINDEXEXTERNVOIDPLAYSNDUNSIGNEDINTSNDINDEXEXTERNVOIDROBOT_DANCEAGAINUNSIGNEDINTNEXTERNVOIDROBOT_DANCEUNSIGNEDINTNEXTERNVOIDROBOT_GOUNSIGNEDINTNEXTERNVOIDROBOT_BACKUPUNSIGNEDINTNEXTERNVOIDROBOT_TURNLEFTUNSIGNEDINTNEXTERNVOIDROBOT_TURNRIGHTUNSIGNEDINTNEXTERNVOIDROBOT_HEADTURNLEFTUNSIGNEDINTNEXTERNVOIDROBOT_HEADTURNRIGHTUNSIGNEDINTNEXTERNVOIDROBOT_SHOOT_PREPAREUNSIGNEDINTNEXTERNVOIDROBOT_SHOOT2UNSIGNEDINTNEXTERNVOIDROBOT_SHOOT_FIVEUNSIGNEDINTNEXTERNVOIDF_FLASHWRITE1WORDUNSIGNEDINT,UNSIGNEDINTEXTERNVOIDF_FLASHERASEINTEXTERNVOIDDELAYUNSIGNEDINTINTMAINVOIDUNSIGNEDINTUIFLAGFIRST/是否为第一次下载UNSIGNEDINTUIRES/识别结果UNSIGNEDINTUIACTIVATED/是否出于待命状态UNSIGNEDINTUITIMERCOUNT/时间是否超时UNSIGNEDINTUIBS_TEAM/用于标识现在是第几组命令在内存当中UNSIGNEDINTUIKEY/存储键盘值,按下将重新训练ROBOTSYSTEMINITUIACTIVATED0UIFLAGFIRSTISFIRSTDOWNLOAD/判断是否为第一次下载序IFUIFLAGFIRST126FORMATFLASH/格式化需要存储命令存储器TRAINFIVECOMMAND/训练需要的五条命令SAVEFIVECOMMAND0XF700/存储五条命令PLAYSNDOK/播放OK,LETSGO,表示一组命令存储结束PLAYSNDLETUSGOTRAINFIVECOMMANDSAVEFIVECOMMAND0XF900PLAYSNDFOLLOWMETRAINFIVECOMMANDSAVEFIVECOMMAND0XFB00PLAYSNDHOPLAYSNDHOOPLAYSNDHOOPLAYSNDHOOOPLAYSNDHOPLAYSNDHOOPLAYSNDHOOPLAYSNDHOOOUIFLAGFIRST0XAAAAF_FLASHWRITE1WORD0XFD00,0XAAAAIMPORTFIVECOMMAND0XF700UIBS_TEAM0LOOPBSR_INITRECOGNIZERBSR_MIC/初始化识别器WHILE1UNSIGNEDINT0X70121/清看门狗/开始识别命令UIRESBSR_GETRESULT/取得识别结果IFUIRES0IFUIACTIVATEDUITIMERCOUNT0SWITCHUIRESCASENAME_IDSWITCHUIBS_TEAMCASE0/第一组的第一个命令(杰克)/播放OK,LESSGO,YEAH27PLAYSNDOKBREAKCASE1/第二组的第一个命令(开始)PLAYSNDOKPLAYSNDLETUSGOPLAYSNDYEAH/播放OK,LESSGOBREAKCASE2/第三组的第一个命令(准备)PLAYSNDOK/播放OKBREAKBREAKCASECOMMAND_ONE_IDSWITCHUIBS_TEAMCASE0/第一组的第二个命令(向前走)/播放喀咔声音,控制电机向前走ROBOT_GO1PLAYSNDWALKIMPORTFIVECOMMAND0XF700UIBS_TEAM0UIACTIVATED0GOTOLOOPBREAKCASE1/第二组的第二个命令(准备)/导入第三组命令,修改UIBS_TEAM为2,播放WO,HO,HOO,HOOO,跳出循环IMPORTFIVECOMMAND0XFB00UIBS_TEAM2PLAYSNDHOPLAYSNDHOOPLAYSNDHOOPLAYSNDHOOOGOTOLOOPBREAKCASE2/第三组的第二个命令(向左瞄准)/播放旋转声音,头部电机向左转ROBOT_HEADTURNLEFT1PLAYSNDTURNHEADPLAYSNDTURNHEADPLAYSNDTURNHEADIMPORTFIVECOMMAND0XF700UIBS_TEAM0UIACTIVATED028GOTOLOOPBREAKUNSIGNEDINT0X70121UIACTIVATED0/杰克为触发命令,每完成一个动作需要出发一次BREAKCASECOMMAND_TWO_IDSWITCHUIBS_TEAMCASE0/第一组的第三个命令(倒退)/播放喀咔声音,控制电机向后走ROBOT_BACKUP1PLAYSNDWALKIMPORTFIVECOMMAND0XF700UIBS_TEAM0BREAKCASE1/第二组的第三个命令(向前走)/播放喀咔声音,控制电机向前走ROBOT_GO1PLAYSNDWALKIMPORTFIVECOMMAND0XF700UIBS_TEAM0UIACTIVATED0GOTOLOOPBREAKCASE2/第三组的第三个命令(向右瞄准)/播放旋转声音,头部电机向右转ROBOT_HEADTURNRIGHT1PLAYSNDTURNHEADPLAYSNDTURNHEADPLAYSNDTURNHEADIMPORTFIVECOMMAND0XF700UIBS_TEAM0UIACTIVATED0GOTOLOOPBREAKUNSIGNEDINT0X70121UIACTIVATED0BREAKCASECOMMAND_THREE_IDSWITCHUIBS_TEAMCASE0/第一组的第四个命令(左转)/播放旋转声音,向左旋转ROBOT_TURNLEFT129PLAYSNDWALKIMPORTFIVECOMMAND0XF700UIBS_TEAM0UIACTIVATED0GOTOLOOPBREAKCASE1/第二组的第四个命令(跳舞)/跳舞,清看门狗,时间比较长ROBOT_DANCE2UIAC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论