• 718.00 KB
  • 2022-04-22 13:38:18 发布

探测机器人视觉随动系统的软件设计毕业论文.doc

  • 26页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'重庆大学本科学生毕业设计(论文)目录探测机器人视觉随动系统的软件设计毕业论文重庆大学本科学生毕业设计(论文)目录目录中文摘要ⅠABSTRACTⅡ1绪论11.2国内外研究现状11.3课题的目的和意义21.4课题的研究内容21.5本章小节32视觉随动系统简介42.1视觉机构42.1.1摄像机42.1.2视频输入处理器SAA711152.2随动机构82.3DSP简介102.4本章小结113视觉随动系统的软件设计133.1编程环境CCS2000133.2伺服马达控制原理143.3视觉随动系统控制原理163.4软件设计流程图163.4.1主程序流程图163.4.2SAA7111初始化流程图193.4.3PWM产生流程图及子程序193.5本章小结204系统调试215结论226致谢2324 重庆大学本科学生毕业设计(论文)目录参考文献2424 重庆大学本科学生毕业设计(论文)1绪论1绪论1.1引言众所周知,恶劣环境下的人工作业是很危险的,比如:煤矿井下容易发生塌方、透水等事故,管道的检测维修难度极大。若以探测机器人来代替人工作业,不但能提高安全性,降低劳动强度,而且能提高经济效益,给人类社会带来极大的方便;此外,若探测机器人能够获得全方位的视野,将会极大地提高作业的效率。1.2国内外研究现状探测机器人作为机器人学中的一个重要分支,早在60年代,工程界就开始了探测机器人的研究,其发展经历了一个较长的历程。1962年,美国、英国、日本的一些实验室等研究机构进入这一领域,八十年代,国外掀起了智能机器人研究热潮,而且发展迅速,不少研究机构取得了很多有意义的研究成果,其中较为著名的有美国标准与技术研究院、卡内基-梅隆大学、日本的Tsugawa[1]。九十年代,主要研究热点是将各种控制方法应用到智能移动探测机器人的控制。典型的机器人有美国JPL研发的Athena、微型火星车Nanorover,卡内基-梅隆研发的Nomad移动机器人。我国政府非常重视机器人技术,从国家863计划实施之初到现在一直将机器人技术列为重点支持方向。“十五”期间,国家863计划机器人技术主题重点支持了数控、工程机械、盾构、生产线、水下载人潜器、危险作业机器人、医疗机器人和仿人仿生机器人等,较为全面对路径规划、视觉导航、信息融合、自动驾驶等一些基本的智能机器人技术做了探索。几十年来世界机器人的研究发展相当迅速,取得了相当多的成果值[2]。1997年,卡内基-梅隆大学机器人研究所在智利阿特卡马沙漠上的测试了他们研究的“流浪者”(nomad)号机器人。阿特卡马沙漠的环境类似于月球和火星的表面,测试行程220km,在其行程中既有自主控制又有几千千米以外的人工遥控,测试中还包括车体在复杂地形上的行驶能力测试。其驱动结构、通信、传感器的设计都比较有创意,可以为设计月球车提供参考。2003年7月,日本东京大学和三井造船公司公开了新研制的海底探测机器人。这种机器人的潜水深度可达4000米,其搭载的探测装置能够准确把握周围状况,前方若出现障碍物,它搭载的计算机会准确作出判断,操纵机器人自动绕开,到达指定目的地之后,航行误差仅为约30米24 重庆大学本科学生毕业设计(论文)1绪论。新型海底探测机器人靠传感器检测水温、水中的浑浊度等,并能自主地收集数据,可用于探测喷涌热水的海底火山、沉船、海底矿产资源和生物等。2004年5月它被用于探测到地球上最深的海沟—马里亚纳海沟。今年3月,首期投资100万,由甘肃长城水下高技术有奶公司研发的三位智能机器人在甘肃兰州宣告诞生,三兄弟分别是“水下综合探测机器人”,“水下清刷机器人”和代号为GNOM的小型机器人。这三位机器人的诞生使我国告别了没有同类机器人的空白,其中水下综合探测机器人和水下清刷机器人在国内外都是“独生子”,而小型机器人则是引进国外技术合作的结晶。他们集“声成像”等高尖端技术于一身,在水下各具其能,能够完成人所无法完成的水下作业,且不受天气和环境影响,具有工作效率高,费用成本低的明显优势。1.3课题的目的和意义在当代工业生产中,存在着大量环境复杂的高危工种。如煤矿、管道、排爆等,对工作人员的生命安全构成了严重的威胁。移动探测机器人的研究为恶劣环境下的人工作业带来了希望,提高了安全性,同时降低了劳动强度[3]。随着现代计算机技术、传感器技术以及信息处理技术的发展,探测机器人的应用范围已不仅仅局限于危险区域。农业、医疗、空间探测等,也大量出现了探测机器人的身影。探测机器人要实现在未知和不确定环境下运行,必须具备自动导航和避障功能[4]。视觉随动系统是探测机器人的关键部分,它通过对未知环境的感知,自动探测搜索目标,并且能成功的避开障碍物,快速准确平稳的到达目的地,作出相应的决策。本课题研究目的是:一,设计探索机器人视觉随动系统;二,控制机器人主动感知环境,寻找目标和障碍物,为决策提供数据基础。1.4课题的研究内容本课题的任务是设计视觉随动机构并通过软件设计对视觉传感器进行随动控制。由于视觉随动机构对系统影响很大,因此要求它紧凑、可靠、稳定性高;另外用软件算法控制伺服马达达到对视觉传感器的控制。为了设计机器人视觉随动机构,首先要选购伺服马达,确定伺服马达参数。机器人机电控制系统中,伺服马达控制效果是性能的重要影响因素。伺服马达可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得DSP控制器系统非常容易与之接口。基于伺服马达,可以设计一个视觉随动机械结构,包括一个可靠性高、稳定的摄像头支架。24 重庆大学本科学生毕业设计(论文)1绪论1.5本章小结探测机器人作为智能机器人的一个分支,在现代人类社会的生产中的作用越来越大,已经渗透到了很多重要的领域,是目前国内外机器人研究的一个重点和热点。几十年来其发展非常迅速,取得相当多有意义的成果。本章详细介绍了国内外探测机器人的研究现状,并举出了一些具有代表性的成果,如卡内基-梅隆大学机器人研究所研究的“流浪者”(nomad)号机器人。本章重点介绍了本课题的研究目的、意义及研究内容。众所周知,在诸如地下矿井、管道和排爆等高危场所进行人工作业,随时都可能给施工人员带来生命威胁。因此,用机器人代替人类在这些环境里工作,将给人类带来希望。机器人要在这些非结构化的环境里工作,必须具备自动导航和避障功能,视觉随动系统是其中的关键部分。本课题研究内容就是设计探索机器人视觉随动机构,并设计软件算法对视觉传感器进行随动控制。24重庆大学本科学生毕业设计(论文)2视觉随动系统简介24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介2视觉随动系统简介2.1视觉机构2.1.1摄像机摄像机是产生图象信号的部件,也是探测机器人视觉系统的重要组成部分。摄像机由光学镜头、摄像元件、视频放大及同步扫描电路、光强控制等部件组成[5]。前方景物经光学镜头生成光学图像,摄像元件的感光表面能按照光学像上各点照度的不同产生相应数量的电荷,同步扫描电路则按一定顺序把这些电荷取出成为电信号--视频信号,经视频放大器放大并加入规定的同步信号后输出。下面我们详细分析摄像机的组成部件。光学镜头的作用是产生景物的光学像,并把它投射在摄像器件的感光表面上。光学镜头可分为定焦镜头与变焦镜头。在变焦镜头中又有连续变焦与不连续变焦之分,后者实际是几个焦距不同的定焦镜头的组合,其某些光学零件相互共用。变焦镜头的最长焦距与最短焦距之比,叫做变焦比或变倍比,一般在4至12之间。光学镜头的重要技术参数是焦距和相对孔径。对于一定尺寸的摄像元件而言,光学镜头的焦距决定了电视摄像机的视场大小;摄像镜头的另一个重要参数是入瞳直径D与焦距f之比D/f,叫做相对孔径;而F/D通常叫做F数。它对靶面上像的照度有重要影响。摄像器件的作用是把光学图像转换成电信号输出。CCD与CMOS传感器是当前被普遍采用的两种图像传感器,两者都是利用感光二极管(photodiode)进行光电转换,将图像转换为数字数据。CMOS工艺是超大规模集成电路的主流工艺[6],集成度高,可以根据需要将多种功能集成在一块芯片上。CMOS图像传感器包括图像阵列逻辑寄存器、存储器、定时脉冲发生器和转换器在内的全部系统。70年代出现了电荷耦合器件(CCD器件),它是一种半导体固体成像器件。这种器件的感光表面是用半导体材料做成的许多敏感单元组成的阵列,当光学像投射到感光表面时,对应于像上各点的不同照度在阵列的各敏感单元中产生不同数量的电荷(载流子),然后外电路按一定时间顺序从阵列边缘取出各敏感单元的电荷,就得到对应于光学图像的视频信号。摄像器件的几个主要参数是:响应度,信噪比,惰性,分辨力。响应度又叫做灵敏度,是输出的光电流与输入的光通量之比,单位是微安/流明。信噪比(S/N)是图像信号的峰值电平Usp与杂波有效值Un之比,单位用分贝(DB)。24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介惰性又叫做滞后,是指当光照停止后光电流并不立即消失的现象。在看电视时有时看到在一个移动的亮物体图像后面拖着一个亮“尾巴”就是这种惰性的反映。惰性的大小用光照停止后第三(电视)场剩余信号电流与光照停止前的信号电流之比值表示。而分辨力是摄像器件分解图像细节的能力。CCD与CMOS二者主要差异是数字数据传送的方式不同,因此在效能与应用上也有诸多差异。在灵敏度、成本、分辨率、噪声控制等方面,CCD传感器都优于CMOS传感器。而且CCD器件光谱敏感波段也很宽,可达近红外波段,特别是体积小,耐冲击振动,已逐渐占据了市场。本课题选用了CCD传感器。光强控制部件的作用是使由光学镜头产生的光学像的照度保持在摄像器件正常工作所需的范围内。自然景物所受的光照变化是很大的,正午时地面照度可达到100000(勒克斯),而太阳刚刚落下地平线时约为100(勒克斯)。摄像器件要在适当照度的光学像下工作才能正确反映景物亮暗层次,输出满意的图像信号。改变像的照度可以从两方面入手;一是改变光学镜头的相对孔径(D/f),即入瞳直径D与焦距f之比;二是改变透光率。2.1.2视频输入处理器SAA7111摄像机输出的是模拟视频信号,所以必须对它进行分析和处理。随着计算机多媒体应用领域日益广阔,技术日新月异,各种软件和硬件层出不穷。而作为图象多媒体不可或缺的重要组成部分,视频输入处理变得异常重要。各半导体芯片生产厂家不断创新、改进,力求通过简单的操作达到完美的效果,使视频输入处理功能不断完善,给图象多媒体的后期操作带来更多的方便。著名的半导体公司Phillps提供的基于PC机作为平台的可编程视频输入处理芯片SAA7l11,正是为满足这一需要而出现的。它采用CMOS工艺,通过简单的I2C总线与PC机接口。内部包含两路模拟处理通道,能实现视频源的选择、抗混叠(去假频)滤波、模数变换、自动嵌位、自动增益控制、时钟产生、多制式(PALBGHI,PALM,PALN,NTSCM和NTSCN)解码及亮度、对比度和饱和度控制。可为视频桌面系统、图象多媒体、数字电视、图象处理、视频电话等的应用提供极大方便。SAA7111是以PC机作为平台的,其所有的可编程功能是通过I2C总线对内部的32个寄存器相应的控制位置相应的数值来完成的。有以下主要特点:(1)可编程选择四路视频输入中的一路或两路组成不同的工作模式,在其内部有两路模拟视频信号处理通道,可进行静态增益控制或自动增益控制两路8位的模数转换;(2)可对芯片编程进行白电平控制、抗混叠滤波、梳状滤波;(3)能实现行场同步信号的自动检测和分离,并且行同步信号的起始位置与结束位置均可根据需要进行编程控制,片内产生的时钟通过数字PLL锁定行同步;(4)24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介场频50Hz或60Hz自动检测,并自动在PAL和NTSC之间自动切换,并能对不同输入制式的亮度信号和色度信号进行处理,并实现亮度、色度和饱和度的片内控制;(5)可方便使用不同的数字图象数据输出格式[7]。SAA7111的功能方框图如图2.1所示[8]。SAA7111有四条视频信号输入引脚AI11、AI12、AI21、AI22。当视频信号从某一引脚进入之后,首先进行模拟处理,然后通过缓冲器输出一路到AOUT端用于监视,另路经A/D后产生数字色度信号和亮度信号分别对其进行处理。经过处理后的亮度信号一路送到色度信号处理电路经过综合处理后产生Y、u、V信号,再经过格式化后从16位的VPO输出;另一路进入同步分离电路.并经数字PLL产生行、场同步信号HS和VS,同时PLL驱动时钟发生电路以产生与HS锁定的时钟信号LLC和LLC2。色度信号处理电路的工作过程通常是:从A/D出来的8位数字色度信号被送入平方解码器,在此利用了两个副载波信号,其中副载波信号的相位与解码器成0o或90o的关系,频率由当前所输入视频信号的色彩制式所决定。从平方解码器出来的色差信号经过一个低通滤波器后便可获得所需带宽的色差信号。而后色差信号再被送入亮度、对比度和饱和度控制电路以完成如下功能:(1)AGC;(2)色度信号幅度匹配;(3)亮度、对比度、饱和度控制;(4)将YUV限制在1~244范围内。Y信号也被送到色度信号处理器,经过延时补偿与梳状滤波后的uV信号一起进入RGB变换矩阵以产生RGB信号,然后通过格式选择器由VPO输出。该信号有多种输出格式可供选择。亮度信号处理电路的工作过程是这样的:8位亮度信号(CVBS、S—VHS、HI8格式)送到一个可切换的预滤波器进行高频成分的损失补偿,然后再送到中心频率为F=4.43MHz或3.58MHz的色度信号陷波器中,以最大程度地减弱色载波信号(对S一VHS、HI8格式,它必须是旁通的),最后再经可变带宽滤波和匹配放大后进行叠加以产生Y信号供上面的色度信号处理使用。24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介图2.1SAA7111的功能方框图初始化主要通过I2C总线接口来完成[9]。I2C总线由串行数据线(SDA)和串行时钟线(SCL)组成,通信时,所有具备I2C总线接口的器件都连接到这两根线上,而且既可以发送数据也可以接收数据,但任意时刻只能有一个主控器件进行I2C总线的控制,其他器件都为被控器件,它们分时占用总线。I2C总线的数据传送由主器件控制。首先由主器件发出开始信号S,表示开始启动数据传输。当SCL为高电平时,如果出现SDA的电平由高变低则视为S信号,然后主器件发送从器件的7位地址和读位R/W,接着主器件将接收从器件的应答信号,如果收到正确的ACK,则进行数据的传送。数据传送的方向由读写位R/W的值确定,而且数据传送为8位,高位在前,低位在后。不管是发送数据还是接收数据,在传送完8位数据后,必须由接收数据的器件在SDA上发一个应答信号。最后当全部数据传送完后,由主器件产生停止信号P,表示总线传送结束。SCL线为高,SDA线由低电平变高电平时,视为停止信号P。由上可知,I2C总线数据传输采用了应答式的工作方式:即发送方发送数据后由接收方发送是否正确接收的应答信号,发送方以此作为是否继续进行数据传送的判断依据。I2C总线的数据传输主要是由主控器件控制,在SCL的控制下,按位传送数据,也就是说,要想完成对I2C总线的虚拟主要是完成主控器件I2C的实现。24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介2.2随动机构为了使摄像头自动跟踪目标及扩大感知范围,要求视觉系统一定要有随动性,即要实现视觉传感器的水平和俯仰运动。本课题中我们基于伺服马达设计了随动机构,在此基础上对视觉系统实现随动控制。下图2.2是随动机构结构示意图:图2.2随动机构结构示意图伺服马达是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统[10]。高档玩具如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。标准的微型伺服马达有三条控制线,分别为:电源、地及控制。电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V—6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音)。它的内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的。下面是一个微型伺服马达的实物图:24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介图2.3微型伺服马达的实物图伺服马达(舵机)的基本工作原理是将来自接收机的遥控脉冲信号,经过驱动电路驱动马达的旋转,从而转换成机械动作,马达根据脉冲信号决定转动的方向和动作量来驱动齿轮组,最终获得要求的动作。它又分为数字伺服器和模拟伺服器。传统的模拟伺服器,有专有的逻辑芯片和定时装置,以及标准的30芯导线。数字舵机,有以石英晶体控制的微处理器,FET放大器(场效应管),和能承受更大功率的50芯导线。其实在微处理器以外二者并没有什么分别,它们有着相同的马达、齿轮和外壳、同样的反馈电位器,看起来极其相似。所谓的数字伺服器和常规伺服器的最大差别是在驱动电路板上。数字伺服器是先将接收机输出的模拟脉冲信号转换成数字信号,在把控制信号传送给马达放大电路时,还得将数字信号再转换成模拟脉冲信号,由该模拟脉冲信号控制末级电流的导通,驱动马达旋转,唯一有不同的地方是在输出电流中叠加了数字脉冲,以增加扭力。数字伺服器比传统的模拟伺服器,即使是使用无线圈马达的模拟伺服器,在工作方式上也有很多优点:第一,因为微处理器的关系,数码舵机可以在将动力脉冲发送到舵机马达之前,对输入的信号,根据设定的参数进行处理。这意味着动力脉冲的宽度,就是说激励马达的动力,可以根据微处理器的程序运算而调整,以适应不同的功能要求,并优化舵机的性能。第二,数码伺服器以高得多的频率向马达发送动力脉冲。就是说,24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介相对与传统的50脉冲/秒,现在是300脉冲/秒。虽然,以为频率高的关系,每个动力脉冲的宽度被减小了,但马达在同一时间里收到更多的激励信号,并转动得更快。这也意味着不仅仅舵机马达以更高的频率响应发射机的信号,而且“无反应区”变小;反应变得更快;加速和减速时也更迅速、更柔和;数码伺服器提供更高的精度和更好的固定力量。2.3DSP简介目前探索机器人视觉控制系统主要以单片机或DSP作主控制器[11]。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。DSP芯片,也称数字信号处理器[12]。它是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:(1)在一个指令周期内可完成一次乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。本课题中我们采用DSP芯片TMS320F2812作为控制核心。TMS320F24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介2812芯片是基于C/C++高效32位DSP内核,该芯片具有高速的处理能力,并且片内有丰富的外设资源,不但能保证控制的精确性和实时性,还能简化控制电路,降低成本。并且提供浮点数学函数库,从而可以在定点处理器上进行浮点运算,是电机等数字化产品控制的最佳选择。其主要功能外设如下:1、事件管理器EVA和EVB,包括定时器,比较器,捕捉单元,PWM逻辑电路,正交编码电路,和中断逻辑电路等。2、模数转换模块,可以将外部的模拟信号转换为数字信号。3、同步串行通信接口SPI和异步串行通信接口SCI。4、CAN总线通信模块。最高的通信速率可以达到1Mbps。5、控制DSP内核的工作频率PLL时钟模块和用来检测软件硬件运行状态的看门狗电路。6、通用目的数字量I/O、多通道缓冲串口、外部中断接口等。相比单片机,DSP器件具有较高的集成度,更快的CPU,使DSP器件具有高速的数据运算能力,DSP比16位单片机单指令执行时间快8~10倍。此外,更大容量的存储器,内置有波特率发生器和FIFO缓冲器,提供高速、同步串口和标准异步串口,片内还集成了A/D和采样/保持电路,可提供PWM输出,数字信号处理能力较强,适合进行电动机的控制。近年来,随着DSP芯片产品价格的不断下滑,使DSP能够从以往的军用领域迅速拓展到民用领域,例如应用于计算机、网络、移动电话、调制解调器和磁盘驱动器以及众多的消费电子产品。DSP的重要应用领域之一是声音处理。DSP已经在音效应用中得到广泛采用,而且大部分应用于音效产品的技术,例如应用于多媒体音效卡。硬盘驱动器使用DSP,能大大提高数据存取速度、缩小体积,促进PC进一步缩小体积、减轻重量,可应用于掌上电脑。由于DSP速度高、数据传送快,还可以代替微控制器用于激光打印机、激光扫描及光盘只读存储器等计算机外设。DSP应用于语音识别领域,大有用武之地,语音识别技术获得许多DSP供应商的支持。随着DSP技术的迅速推进以及应用领域的不断拓展,导致DSP的功能越来越多样未来10年,全球DSP产品将向着高性能、低功耗、加强融合和拓展多种应用的趋势发展,DSP芯片将越来越多地渗透到各种电子产品当中,成为各种电子产品尤其是通信类电子产品的技术核心,将会越来越受到业界的青睐。2.4本章小节机器人视觉随动系统是机器人领域重要的研究方向之一,通过视觉随动控制,机器人24 重庆大学本科学生毕业设计(论文)2视觉随动系统简介可实现对动态、不确定的场合操作。它的研究对于开发手眼协调的机器人在工业生产、航空航天等方面的应用有着极其重要的意义[13]。本章主要阐述了机器人视觉随动系统的控制机构,包括视觉机构和随动机构两大块。机器视觉机构主要由两大部分组成:摄像机和视频解码器SAA7111共同完成对被摄物体图像的采集与数字化;图像信号处理器处理图像信号,它相当于人的大脑,是机器视觉系统的核心,完成对图像进行处理和运算,即算法的实现。随动机构对于实现摄像头自动跟踪目标障碍物及扩大视觉系统的感测环境的范围很关键,本课题用伺服马达设计了随动机构。本章分析介绍了伺服马达的应用、结构和工作原理,对于目前出现的数字伺服器做了分析,可以明显的看出其相比与模拟伺服器的优势。本课题的开发平台是DSP。DSP芯片它是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件,本章介绍了其特点及应用。本课题中我们选用DSP芯片TMS320F2812作为控制核心,对于该款芯片的主要功能外设,上面章节也有概述。24重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计24 重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计3视觉随动系统的软件设计3.1编译环境CCS2000本课题软件编译的环境采用CCS2000代码调试器,是一种集成的开发环境,CCS2000将TI的编译器,汇编器,连接工具都集成在它开发环境中。用户可以从菜单栏中选用TI的工具,并可以看到直接流水输出到窗口的编译结果。同时,出错信息加亮显示,双击出错信息可以打开源文件,光标停在出错地方。基于DOS的TI的工具是多任务的。而在Windows环境中,用户可以很方便的同时编辑、调试、编译源程序。代码编译器可以跟踪一个项目中所有的文件及相关内容。用户可以选择编译单个文件、或将所有文件建到一个项目中,或是逐步建项目。在编译器,汇编器,连接器选项中有容易使用的对话框。CCS2000的可视化窗口使用户能够容易理解复杂的结构,只要将光标放在相关的变量处并按ENTER键,诸如数组,结构,指针的变量就可以递归的增加或减少。另外,添加到可视窗口的变量也可以通过双击该变量来编辑。C表达式和GEL函数也可以添加到可视窗口。将GEL函数添加到可视窗口,就可以在每个断点处执行,由GEL函数,可以执行更复杂的任务,将结果输出到窗口。CCS2000具有以下特点:图3.1编译环境CCS2000界面(1)24 重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计TI编译器的完全集成环境,所有的调试和分析能力集成在一个Windows环境中。(2)对C和DSP汇编文件的目标管理。目标编辑器保持对所有文件及相关内容的跟踪。(3)高集成的编辑器调整C和DSP汇编代码。(4)编辑和调试时的后台编辑,用户在使用编辑器和汇编其时没有必要退出系统到DSO环境中,因为CCS2000会自动将这些工具装载在它的环境中。(5)技术状态观察窗口,它的可视化窗口允许用户键入C表达式及相关的变量。结构,数组,指针都嗯那横简单的递归扩展和减少,以便进入复杂结构。且环境中集成图形分析功能。(6)代数分解窗口,允许用户选择察看写成代数表达式的C格式,从而容易读懂操作码,且支持在线帮助。3.2伺服马达控制原理在本课题的探测机器人中,使用了两个垂直放置的伺服马达来实现视觉系统的随动控制。一个微型伺服马达是一个典型闭环反馈系统,其原理可由下图3.2表示:图3.2伺服马达原理图齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的。伺服马达的瞬时运动速度是由其内部的直流马达和变速齿轮组的配合决定的,在恒定的电压驱动下,其数值唯一。但其平均运动速度可通过分段停顿的控制方式来改变,例如,我们可把动作幅度为90º的转动细分为128个停顿点,通过控制每个停顿点的时间长短来实现0º—90º变化的平均速度。对于多数伺服马达来说,速度的单位由“度数/秒”来决定。24 重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计标准的微型伺服马达有三条控制线,分别为:电源、地及控制。电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V—6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音)。甚至小伺服马达在重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms—2ms之间,而低电平时间应在5ms到20ms之间,并不很严格,下表表示出一个典型的20ms周期性脉冲的正脉冲宽度与微型伺服马达的输出臂位置的关系[14]:表3.1正脉冲宽度与微型伺服马达的输出臂位置的关系使用伺服马达有些需要注意的事项:1、除非你使用的是数码式的伺服马达,否则以上的伺服马达输出臂位置只是一个不准确的大约数。2、普通的模拟微型伺服马达不是一个精确的定位器件,即使是使用同一品牌型号的微型伺服马达产品,他们之间的差别也是非常大的,在同一脉冲驱动时,不同的伺服马达存在±10º的偏差也是正常的。3、正因24 重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计上述的原因,不推荐使用小于1ms及大于2ms的脉冲作为驱动信号,实际上,伺服马达的最初设计表也只是在±45º的范围。而且,超出此范围时,脉冲宽度转动角度之间的线性关系也会变差。4、要特别注意,绝不可加载让伺服马达输出位置超过±90º的脉冲信号,否则会损坏伺服马达的输出限位机构或齿轮组等机械部件。5、由于伺服马达的输出位置角度与控制信号脉冲宽度没有明显统一的标准,而且其行程的总量对于不同的厂家来说也有很大差别,所以控制软件必须具备有依据不同伺服马达进行单独设置的功能。3.3视觉随动系统控制原理机器人视觉随动系统是由视觉传感器向控制器提供机器人工作环境的外部信息,从而使机器人能够实时地调整其位姿,实现精确的跟踪或定位,完成相应的工作。其研究内容涉及图像处理、机器视觉、控制理论、机器人学、运动学、动力学等多个学科领域。目前机器人视觉随动研究的主要内容为:视觉随动控制系统结构,快速准确的图像处理算法,视觉随动控制器的设计(包括软件、硬件的设计)等[15]。本课题中,视觉传感器是机器人系统中最重要的“感官”之一,它的引入改变了机器人对操作对象及环境必须精确建模的要求[16]。依靠视觉信息的反馈,实现机器人在运动学及动力学等方面的闭环控制。视觉传感器CCD获取环境信息,输出模拟视频信号,经可编程视频解码芯片SAA7111转换成数字视频信号,包括色度信号和亮度信号,本课题的开发平台是DSP,该控制器对数字视频信号进行运算、处理,产生相应PWM波,对伺服马达进行控制,带动视觉机构的旋转,实现视觉系统的随动控制。图3.3是视觉随动控制系统的控制流程图:图3.3视觉随动控制系统的控制流程图3.4软件设计流程图3.4.1主程序流程图系统初始化后,模拟视频信号经SAA7111处理后送给主控制器DSP,调用PWM程序产生PWM波,控制伺服马达的旋转。主程序流程图如下:24 重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计图3.4主程序流程图系统初始化程序如下:voidInitSysCtrl(void){Uint16i;EALLOW;DevEmuRegs.M0RAMDFT=0x0300;DevEmuRegs.M1RAMDFT=0x0300;DevEmuRegs.L0RAMDFT=0x0300;DevEmuRegs.L1RAMDFT=0x0300;DevEmuRegs.H0RAMDFT=0x0300;//DisablewatchdogmoduleSysCtrlRegs.WDCR=0x0068;//InitalizePLLSysCtrlRegs.PLLCR=0x0;//WaitforPLLtolockfor(i=0;i<5000;i++){}SysCtrlRegs.HISPCP.all=0x0005;//Peripheralclockenablessetfortheselectedperipherals.24 重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;EDIS;}I/O口初始化程序如下:voidio_init(){EALLOW;GpioMuxRegs.GPAMUX.all=0x00ff;//产生PWM,是外设EVA的功能,对应的端口属于第二功能,EDIS;}图3.5SAA7111初始化流程图24 重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计3.4.2SAA7111初始化流程图SAA7111初始化设定为:一路模拟视频信号输入(AI12)、自动增益控制、625行50HzPAL制式、YUV16位数字视频信号输出、设置默认的图像对比度、亮度及饱和度。相应的寄存器入口参数:SAA7111写地址48H,子地址00H,发送数据缓冲区DBUF,发送字节数19。图3.5是其初始化流程图。3.4.3PWM产生流程图及子程序初始化后,通过计算、装载通用定时器比较器的值,就可以控制产生PWM波形。图3.6PWM产生流程图PWM产生子程序如下:voidEVA_Timer1(){EvaRegs.EXTCON.bit.INDCOE=0;//同时使能比较输出使能模式EvaRegs.GPTCONA.bit.T2STAT=1;//通用定时器2增计数24 重庆大学本科学生毕业设计(论文)3视觉随动系统的软件设计EvaRegs.GPTCONA.bit.T2PIN=2;通用定时器2比较输出高有效EvaRegs.GPTCONA.bit.T1STAT=1;//通用定时器1增计数EvaRegs.GPTCONA.bit.T1PIN=2;EvaRegs.GPTCONA.bit.TCOMPOE=1;//使能定时器1,2的比较输出T2PWMEvaRegs.T2PR=j;//T1计数器周期值,其值为pwm值(因为是增计数//模式)EvaRegs.T2CNT=0x0000;EvaRegs.T2CON.all=0x1046;//连续增计数,不分频,不使能定时器(主//程序中使能),内部时钟,使用T1PWMEvaRegs.T1PR=j;//T2计数器周期值,其值为pwm值(因为是增计数//模式)EvaRegs.T1CNT=0x0000;EvaRegs.T1CON.all=0x1046;//连续增计数,不分频,不使能定时器(主//程序中使能),内部时钟,使用T1PWM}3.5本章小结本课题开发环境是CCS2000,它集成了TI的编译器,汇编器,连接工具等。用户可以从菜单栏中选用TI的工具,并可以看到直接流水输出到窗口的编译结果。可视化窗口使用户能够容易理解复杂的结构,只要将光标放在相关的变量处并按ENTER键,诸如数组,结构,指针的变量就可以递归的增加或减少。本章重点提出并设计了视觉随动控制思想与方案。第二节详细介绍了伺服马达的控制原理,明确其输出臂位置与一个20ms周期性脉冲的正脉冲宽度的关系,为软件编程提供了思想。第三节提出了视觉随动控制系统的整体控制方案,确定了控制流程图,给出了主程序及PWM产生的程序流程图以及各模块的初始化程序。24重庆大学本科学生毕业设计(论文)4系统调试4系统调试24 重庆大学本科学生毕业设计(论文)4系统调试在本课题完成后,对系统进行了调试。视觉随动机构实物图如下,在实验室对其进行了测试,该机构紧凑、可靠、稳定性高。图3.7视觉随动机构实物图视觉随动机构的软件实现方面,实验中,视觉机构发现目标物,通过两个伺服马达分别左右、俯仰旋转,使目标始终位于摄像头的正中间,实现自动跟踪目标。在发现目标时,获取目标图象信息,经视频解码器SAA7111等处理后,图象信息送给DSP主控制器,装载DSP事件管理器的通用定时器比较器的比较值。定时器计数器周期值设置为30000,产生周期是20ms的PWM波,根据伺服马达控制原理,脉冲宽度0.5ms时,伺服马达输出-900;1.0ms时,伺服马达输出-450;1.5ms时,伺服马达输出0o;2.0ms时,伺服马达输出450;2.5ms时,伺服马达输出900。24重庆大学本科学生毕业设计(论文)5结论5结论24 重庆大学本科学生毕业设计(论文)5结论毕业设计是毕业之前的最后一个学习环节,也是检阅大学期间所学知识和动手实践的一个机会。在毕业设计进程中遇到了很多困难,尤其是设计课题中还用到一些没有学过的知识,如DSP芯片,视频解码器芯片等,对我是一个较大的挑战,但通过一个学期的努力,通过实验室老师和师兄的帮助,最终完成了这次设计,深感获益匪浅。本次毕业设计的课题是探测机器人视觉随动系统的软件设计,现汇报我在设计中所做的工作:第一,搜索并阅读了大量的相关论文,对探测机器人的行业现状及发展趋势有了一定的了解。本课题是视觉随动系统,在作了深入分析明确研究内容后,设计了视觉随动机构及软件算法对视觉传感器进行随动控制。随动控制是基于DSP为开发平台,通过对视觉传感器环境信息的处理,控制伺服马达的旋转来实现的。第二,熟悉了DSP控制器的基本功能、外设和结构,重点学习了DSP事件管理器的定时器,完全比较器,通过编程实现了PWM波的产生。第三,深入学习了伺服马达的内部机构,通过对主控制版电路的研究,了解了伺服马达的工作原理,掌握了其通过PWM波的控制原理。第四,熟悉了DSP编程环境CCS2000,并基于这一环境以DSP为平台设计程序,对系统进行调试,最后实现了视觉系统的随动控制。在这次设计中暴露了不少问题。首先是学习的积极性还有待提高。在设计过程中,实验室老师和师兄为了我们更好的完成设计,给我们做了明确的计划安排。由于拖拉的坏习惯,也因为自己基础薄弱,完成时间一拖再拖,结果辜负了老师的一片心意,自己也浪费了时间。其次遇到问题独立性不够强。工作中总免不了有许多自己不明白和解决不了的事情,做事情之前应该先动脑筋想一想,而我一遇到问题就问他人,这样自己就形成了一种惰性心理。不经过大脑的东西就像水过鸭背,学不到知识。话又说回来,人的能力是有限的,实在解决不了就要向别人学,但经过自己思考,印象将会很深刻,学到的东西永远不会忘去。更重要的是学会自学,养成自学能力,培养自己独立解决问题的能力。独立解决问题的能力对自己以后的工作事业生活将起到很到大的作用。注意到这些问题,我将时刻提醒自己不要犯类似的错误,尽快使自己能对社会创造更大的价值!24 重庆大学本科学生毕业设计(论文)6致谢6致谢时间过得很快,一个学期的毕业设计就要结束了。我要感谢谢昭莉老师,盛朝强老师,陈皎师兄和贾耀辉师兄,实验室其他的师兄、师姐和我的同学,有了他们的指导和帮助,我才得以完成这次课程设计。从一开始,谢昭莉老师就对我们的毕业设计作了明确的安排,给我们指明了方向。在毕业设计的进程中,谢老师时刻关注我的进度,对我的设计提出很多建议,使我少走了很多弯路。对于我的问题和疑惑,谢老师也是悉心指导,耐心帮助。我还要感谢谢老师对我的严格要求,要不是这样,我的毕业设计能否顺利完成还是个问题,而且正因为此我才学到了一些真东西。谢老师还给我们提供了一个汇报工作的舞台,除了理论方面的督促外,也锻炼了我们的胆量、表达能力。盛老师也一直关心我们的毕业设计工作,对于我们毕业设计出现的问题给出了很多宝贵的建议,并且通知我们学校毕业设计最新安排,让我们做到心中有数,有的放矢,同时给了我们很多激励,在我们懈怠的时候又提起了精神。陈皎师兄是负责我们的研究生,对整个实验室做本科毕业设计的同学都付出了很多的心血。从一开始就给我们指明了工作内容,我的论文翻译、开题报告到最后的论文都是在陈皎师兄的直接帮助下完成的,我们有什么问题他也总是第一个帮我们解决。贾耀辉师兄给我的帮助很大,只要他在实验室,他就会主动关心我的设计工作,帮我解决了很多问题,尤其在我设计PWM波的时候,他不厌其烦的从最基本的接口说起,直至最后实现PWM的产生。除了设计以外,他严谨认真的求知精神和乐观开朗的性格也对我影响很大,我将铭记在心。有开始就有结束,再过一段时间,我们将告别实验室,再一次感谢谢老师、盛老师和各位学长的帮助,你们的教诲我将受用终生!最后衷心地感谢在百忙之中抽出时间评阅论文和参加答辩的专家、老师。24 重庆大学本科学生毕业设计(论文)参考文献参考文献[1]庄焕伟,张铁,李杞仪.基于DSP的轮式移动机器人运动控制系统的研究.机电产品开发与创新,2007-1-20(1)[2]FloreanoD.andF.Mondada.Evolutionaryneuro-controllerforautonomousmobilerobots.NeuralNetworks.1998,7[3]张海波,原魁,周庆瑞.基于路径识别的移动机器人视觉导航.中国图象图形学报.2004,7.9(7)[4]陈无畏,孙海涛,李碧春,王启瑞,李进.基于标识线导航的自动导引车跟踪控制机械工程学报.2006,8.42(8)[5]李尊民.《电视图像自动跟踪的基本原理》.北京国防工业出版社.1988[6]张文选,范红.CMOS图像传感器介绍.长春光学精密机械学院学报.2002,3(1)[7]肖儿良,纪爽,卢子峰,吴常泳.程视频输入处理芯片SAA7111及其在图象多媒体中的应用.电子技术应用.1999,4[8]张军李含善.可编程视频信号输入处理器SAA7111.国外电子元器.2002.8(8)[9]杨介生.虚拟I2C总线技术实现SAA7111的初始化.雷达与对抗.2005,8.12(3)[10]刘涛,黄一敏.基于DSP的数字舵机控制器设计.沈阳航空工业学院学报.2006,2(1)[11]王荣本,游峰,崔高健,郭烈.基于计算机视觉高速智能车辆的道路识别.计算机工程与应用.2004,2.6[12]吕强,狄庆锋,陈圣俭.TMS320F2812原理与开发.电子工业出版社.2005.4[13]刘晓玉,方康玲.基于图像的机器人视觉伺服控制.武汉科技大学学报.2006,l0(5)[14]黄明登,肖晓明,蔡自兴,于金霞.环境特征提取在移动机器人导航中的应用.控制工程.2007,5.14(3)[15]GianlucaAntonelli,StefanoChiaverini,GiuseppeFusco.AFuzzy-Logic-BasedApproachforMobileRobotPathTracking.2007,4(2)[16]徐友春,王荣本,李克强,赵玉凡.一种基于直线模型的道路识别算法研究.中国图象图形学报.200424'