机械工程学报文格式目录

重庆大学本科学生毕业设计(论文)

探测机器人视觉随动系统

的软件设计

学生:学号:指导教师:专业:

重庆大学自动化学院

二OO八年六月

TheSoftwareDesignofDynamicSystem

ofDetectionRobot

Undergraduate:XiaXiaodong

Supervisor:Assit-Prof.XieZhaoli

Major:Automation

CollegeofAutomation

ChongqingUniversity

June2016

摘 要

目前机器人越来越多的应用于非制造业,与制造业相比,其主要特点是工作环境的非结构化和不确定性,这对机器人提出了更高的要求,需要机器人具备行走功能,对外感知能力以及局部的自主规划能力等.因此,对探测移动机器人的研究正成为一个重要的热点.

探测移动机器人能够按照存储在其内部的地图信息,或根据外部环境所提供的一些引导信号(即通过对环境的实时探测所获得的信息)规划出一条路径,在没有人工干预的情况下完成目标任务.

针对以上特点,本文设计了探测机器人的视觉随动机构,并基于DSP视觉随动.

前期工作中,主要进行器件选型,分析,选购工作,包括CCD传感器,DSP,U形架和伺服马达.以此为基础,设计出探测机器人的视觉随动机构.CCD器件的灵敏度很高,光谱敏感波段也很宽,把光学图像转换成电信号输出,经图象采集卡处理得到数字视频信号,DSP控制器对其进行运算,处理,产生相应PWM波,对伺服马达进行控制,带动视觉机构的旋转实现视觉系统的随动控制.

最后,通过系统调试,改进了一系列的问题,实现了对视觉传感器的很好的随动控制.

关 键 词:探测机器人,视觉随动系统,DSP,伺服马达,软件设计

ABSTRACT

Currentlythereisanincreasingnumberofrobotsusedinnon-manufacturingsector.Comparedtothemanufacturingsector,itainfeatureistheunstructuredworkenvironmentanduncertainty.Thisputforwardhigherrequirementsonrobots.so,Robotsneedtohethewalkingfunction,theexternalperceptionandtheabilityoflocalautonomy,suchasplanningcapacity.Therefore,thedetectionofmobilerobotisbeingamajorhotspots.

Themobile-detectrobotisabletoPlanawayaccordingtothemapinformationstoredinitselforbasedontheexternalenvironmentprovidedbysomeguidancesignalsandpletetasksintheabsenceofinterventionofhunmanbeings.

Fortheabovecharacteristics,thispaperwilldesignthevisualdynamicexplorationofrobot,andtheDSP-basedvisualservocontrolofthesoftwaredesign.

ThePreparatoryworkiainlyfordeviceselection,analysis,purchasing,includingCCDsensors,DSP,U-shapedframeandservomotors.Onthisbasis,designedtodetecttherobotwiththedynamicvisualbody.thedeviceofCCDhashighsensitivity,thespectrumisalsosensitivetoawide-band.changeTheopticalimageelectricalsignalsoutput.thoughtheprocessingoftheimageacquisitioncard,digitalvideosignal,DSPcontrollerprocessandoperateonittoproducePWMwe.Theservomotorcontrolleadtherotationofvisualbodyrealizethedynamiccontrolofthevisionsystem.

Finally,thesystemdebugandimproveaseriesofissueandtherealizationofthevisionsensorwithagooddynamiccontrol.

Keywords:Detectingrobot,Withvisionsystem,DSP,ServoMotors,hesoftwaredesign

目录

中文摘 要Ⅰ

ABSTRACTⅡ

1绪论1

1.2国内外研究现状1

1.3课题的目的和意义2

1.4课题的研究内容2

1.5本章小节3

2视觉随动系统简介4

2.1视觉机构4

2.1.1摄像机4

2.1.25

2.2随动机构8

2.简介10

2.4本章小结13视觉随动系统的软件设计13

3.1编程环境CCS200013

3.2伺服马达控制原理14

3.3视觉随动系统控制原理16

3.4软件设计流程图16

3.4.1主程序流程图16

3.4.2SAA7111初始化流程图19

3.4.WM产生流程图及子程序19

3.5本章小结20

4系统调试21

5结论22

6致谢23

;高危工种.如煤矿,管道,排爆等,对工作人员的生命安全构成了严重的威胁.移动探测机器人的研究为恶劣环境下的人工作业带来了希望,提高了安全性,同时降低了劳动强度[3].随着现代计算机技术,传感器技术以及信息处理技术的发展,探测机器人的应用范围已不仅仅局限于危险区域.农业,医疗,空间探测等,也大量出现了探测机器人的身影.

探测机器人要实现在未知和不确定环境下运行,必须具备自动导航和避障功能.视觉随动系统是探测机器人的关键部分,它通过对未知环境的感知,自动探测搜索目标,并且能成功的避开障碍物,快速准确平稳的到达目的地,作出相应的决策.本课题研究目的是:一,设计探索机器人视觉随动系统,二,控制机器人主动感知环境,寻找目标和障碍物,为决策提供数据基础.

1.4课题的研究内容

本课题的任务是设计视觉随动机构并软件对视觉传感器进行随动控制.由于视觉随动机构对系统影响很大,因此要求它紧凑,可靠,稳定性高,另外用软件算法控制伺服马达达到对视觉传感器的控制.

为了设计机器人视觉随动机构,首先要选购伺服马达,确定伺服马达参数.机器人机电控制系统中,伺服马达控制效果是性能的重要影响因素.伺服马达可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得DSP控制器系统非常容易与之接口.基于伺服马达,可以设计一个视觉随动机械结构,包括一个可靠性高,稳定的摄像头支架.

1.5本章小结

探测机器人作为智能机器人的一个分支,在现代人类社会的生产中的作用越来越大,已经渗透到了很多重要的领域,是目前国内外机器人研究的一个重点和热点.几十年来其发展非常迅速,取得相当多有意义的成果.本章详细介绍了国内外探测机器人的研究现状,并举出了一些具有代表性的成果,如卡内基-梅隆大学机器人研究所研究的"流浪者"(nomad)号机器人.本章重点介绍了本课题的研究目的,意义及研究内容.众所周知,在诸如地下矿井,管道和排爆等高危场所进行人工作业,随时都可能给施工人员带来生命威胁.因此,用机器人代替人类在这些环境里工作,将给人类带来希望.机器人要在这些非结构化的环境里工作,必须具备自动导航和避障功能,视觉随动系统是其中的关键部分.本课题研究内容就是设计探索机器人视觉随动机构,并设计软件算法对视觉传感器进行随动控制.

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).惰性又叫做滞后,是指当光照停止后光电流并不立即消失的现象.在看电视时有时看到在一个移动的亮物体图像后面拖着一个亮"尾巴"就是这种惰性的反映.惰性的大小用光照停止后第三(电视)场剩余信号电流与光照停止前的信号电流之比值表示.而分辨力是摄像器件分解图像细节的能力.

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)场频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信号供上面的色度信号处理使用.

图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的实现.

2.2随动机构

为了使摄像头自动跟踪目标及扩大感知范围,要求视觉系统一定要有随动性,即要实现视觉传感器的水平和俯仰运动.本课题中我们基于伺服马达设计了随动机构,在此基础上对视觉系统实现随动控制.下图2.2是随动机构结构示意图:

图2.2随动机构结构示意图

伺服马达是一种位置(角度)伺服的驱动器适用于那些需要角度不断变化并可以保持的控制系统如航模,包括飞机模型,潜艇模型,遥控机器人中已经使用得比较普遍.舵机是一种俗称,其实是一种伺服马达.

标准的微型伺服马达有三条控制线,分别为:电源,地及控制.电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V—6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音).

它的内部包括了一个小型直流马达,一组变速齿轮组,一个反馈可调电位器,及一块电子控制板.其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低.

减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的.下面是一个微型伺服马达的实物图:

图2.3微型伺服马达的实物图

伺服马达(舵机)的基本工作原理是将来自接收机的遥控脉冲信号,经过驱动电路驱动马达的旋转,从而转换成机械动作,马达根据脉冲信号决定转动的方向和动作量来驱动齿轮组,最终获得要求的动作.它又分为数字伺服器和模拟伺服器.传统的模拟伺服器,有专有的逻辑芯片和定时装置,以及标准的30芯导线.数字舵机,有以石英晶体控制的微处理器,FET放大器(场效应管),和能承受更大功率的50芯导线.其实在微处理器以外二者并没有什么分别,它们有着相同的马达,齿轮和外壳,同样的反馈电位器,看起来极其相似.所谓的数字伺服器和常规伺服器的最大差别是在驱动电路板上.数字伺服器是先将接收机输出的模拟脉冲信号转换成数字信号,在把控制信号传送给马达放大电路时,还得将数字信号再转换成模拟脉冲信号,由该模拟脉冲信号控制末级电流的导通,驱动马达旋转,唯一有不同的地方是在输出电流中叠加了数字脉冲,以增加扭力.数字伺服器比传统的模拟伺服器,即使是使用无线圈马达的模拟伺服器,在工作方式上也有很多优点:第一,因为微处理器的关系,数码舵机可以在将动力脉冲发送到舵机马达之前,对输入的信号,根据设定的参数进行处理.这意味着动力脉冲的宽度,就是说激励马达的动力,可以根据微处理器的程序运算而调整,以适应不同的功能要求,并优化舵机的性能.第二,数码伺服器以高得多的频率向马达发送动力脉冲.就是说,相对与传统的50脉冲/秒,现在是300脉冲/秒.虽然,以为频率高的关系,每个动力脉冲的宽度被减小了,但马达在同一时间里收到更多的激励信号,并转动得更快.这也意味着不仅仅舵机马达以更高的频率响应发射机的信号,而且"无反应区"变小,反应变得更快,加速和减速时也更迅速,更柔和,数码伺服器提供更高的精度和更好的固定力量.

2.3DSP简介

DSP作主控制器[11].单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上.概括的讲:一块芯片就成了一台计算机.它的体积小,质量轻,便宜,为学习,应用和开发提供了便利条件.

DSP芯片,也称数字信号处理器[12].它是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件.一个数字信号处理器在一块不大的芯片内包括有控制单元,运算单元,各种寄存器以及一定数量的存储单元等等,在其还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软,硬件的全面功能,本& #36523;就是一个微型计算机.DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠.也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度.另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性.其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改,删除,强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式.它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片.它的强大数据处理能力和高运行速度,是最值得称道的两大特色.由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径.根据数字信号处理的要求,DSP芯片一般具有如下主要特点: (1)在一个指令周期内可完成一次乘法和一次加法, (2)程序和数据空间分开,可以同时访问指令和数据, (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问, (4)具有低开销或无开销循环及跳转的硬件支持, (5)快速的中断处理和硬件I/O支持, (6)具有在单周期内操作的多个硬件地址产生器, (7)可以并行执行多个操作, (8)支持流水线操作,使取指,译码和执行等操作可以重叠执行.

本课题中我们采用DSP芯片TMS320F2812作为控制核心.TMS320F2812芯片是基于C/C++高效32位DSP内核,该芯片具有高速的处理能力,并且片内有丰富的外设资源,不但能保证控制的精确性和实时性,还能简化控制电路,降低成本.并且提供浮点数学函数库,从而可以在定点处理器上进行浮点运算,是电机等数字化产品控制的最佳选择.

其主要功能外设如下:

事件管理器EVA和EVB,包括定时器,比较器,捕捉单元,PWM逻辑电路,正交编码电路,和中断逻辑电路等.

模数转换模块,可以将外部的模拟信号转换为数字信号.

同步串行通信接口SPI和异步串行通信接口SCI.

CAN总线通信模块.最高的通信速率可以达到1Mbps.

控制DSP内核的工作频率PLL时钟模块和用来检测软件硬件运行状态的看门狗电路.

通用目的数字量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本章小节

机器人视觉随动系统是机器人领域重要的研究方向之一,通过视觉随动控制,机器人可实现对动态,不确定的场合操作.它的研究对于开发手眼协调的机器人在工业生产,航空航天等方面的应用有着极其重要的意义[13].本章主要阐述了机器人视觉随动系统的控制机构,包括视觉机构和随动机构两大块.机器视觉机构主要由两大部分组成:摄像机和视频SAA7111共同完成对被摄物体图像的采集与数字化,图像信号处理器处理图像信号,它相当于人的大脑,是机器视觉系统的核心,完成对图像进行处理和运算,即算法的实现.随动机构对于实现摄像头自动跟踪目标障碍物及扩大视觉系统的感测环境的范围很关键,本课题用伺服马达设计了随动机构.本章分析介绍了伺服马达的应用,结构和工作原理,对于目前出现的数字伺服器做了分析,可以明显的看出其相比与模拟伺服器的优势.本课题的开发平台是DSP.DSP芯片它是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件,本章介绍了其特点及应用.本课题中我们选用DSP芯片TMS320F2812作为控制核心,对于该款芯片的主要功能外设,上面章节也有概述.

3视觉随动系统的软件设计

3.1编译环境CCS2000

本课题软件编译的环境采用CCS2000代码调试器,是一种集成的开发环境,CCS2000将TI的编译器,汇编器,连接工具都集成在它开发环境中.用户可以从菜单栏中选用TI的工具,并可以看到直接流水输出到窗口的编译结果.同时,出错信息加亮显示,双击出错信息可以打开源文件,光标停在出错地方.基于DOS的TI的工具是多任务的.而在Windows环境中,用户可以很方便的同时编辑,调试,编译源程序.代码编译器可以跟踪一个项目中所有的文件及相关内容.用户可以选择编译单个文件,或将所有文件建到一个项目中,或是逐步建项目.在编译器,汇编器,连接器选项中有容易使用的对话框.

CCS2000的可视化窗口使用户能够容易理解复杂的结构,只要将光标放在相关的变量处并按ENTER键,诸如数组,结构,指针的变量就可以递归的增加或减少.另外,添加到可视窗口的变量也可以通过双击该变量来编辑.C表达式和GEL函数也可以添加到可视窗口.将GEL函数添加到可视窗口,就可以在每个断点处执行,由GEL函数,可以执行更复杂的任务,将结果输出到窗口.CCS2000具有以下特点:

图3.1编译环境CCS2000界面

(1)TI编译器的完全集成环境,所有的调试和分析能力集成在一个Windows环境中.

(2)对C和DSP汇编文件的目标管理.目标编辑器保持对所有文件及相关内容的跟踪.

(3)高集成的编辑器调整C和DSP汇编代码.

(4)编辑和调试时的后台编辑,用户在使用编辑器和汇编其时没有必要退出系统到DSO环境中,因为CCS2000会自动将这些工具装载在它的环境中.

(5)技术状态观察窗口,它的可视化窗口允许用户键入C表达式及相关的变量.结构,数组,指针都嗯那横简单的递归扩展和减少,以便进入复杂结构.且环境中集成图形分析功能.

(6)代数分解窗口,允许用户选择察看写成代数表达式的C格式,从而容易读懂操作码,且支持在线帮助.

3.2伺服马达控制原理

在本课题的探测机器人中,使用了两个垂直放置的伺服马达来实现视觉系统的随动控制.

一个微型伺服马达是一个典型闭环反馈系统,其原理可由下图3.2表示:

图3.2伺服马达原理图

齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的.


该文出处 www.zhuanjy.com/xie/070480368.html

伺服马达的瞬时运动速度是由其内部的直流马达和变速齿轮组的配合决定的,在恒定的电压驱动下,其数值唯一.但其平均运动速度可通过分段停顿的控制方式来改变,例如,我们可把动作幅度为90o的转动细分为128个停顿点,通过控制每个停顿点的时间长短来实现0o—90o变化的平均速度.对于多数伺服马达来说,速度的单位由"度数/秒"来决定.

标准的微型伺服马达有三条控制线,分别为:电源,地及控制.电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V—6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音).甚至小伺服马达在重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理.

输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms—2ms之间,而低电平时间应在5ms到20ms之间,并不很严格,下表表示出一个典型的20ms周期性脉冲的正脉冲宽度与微型伺服马达的输出臂位置的关系[14]:

表3.1正脉冲宽度与微型伺服马达的输出臂位置的关系

使用伺服马达有些需要注意的事项:

1,除非你使用的是数码式的伺服马达,否则以上的伺服马达输出臂位置只是一个不准确的大约数.

2,普通的模拟微型伺服马达不是一个精确的件,即使是使用同一品牌型号的微型伺服马达产品,他们之间的差别也是非常大的,在同一脉冲驱动时,不同的伺服马达存在±10o的偏差也是正常的.

3,正因上述的原因,不推荐使用小于1ms及大于2ms的脉冲作为驱动信号,实际上,伺服马达的最初设计表也只是在±45o的范围.而且,超出此范围时,脉冲宽度转动角度之间的线性关系也会变差.

4,要特别注意,绝不可加载让伺服马达输出位置超过±90o的脉冲信号,否则会损坏伺服马达的输出限位机构或齿轮组等机械部件.

5,由于伺服马达的输出位置角度与控制信号脉冲宽度没有明显统一的标准,而且其行程的总量对于不同的厂家来说也有很大差别,所以控制软件必须具备有依据不同伺服马达进行单独设置的功能.

3.3视觉随动系统控制原理

机器人视觉随动系统是由视觉传感器向控制器提供机器人工作环境的外部信息,从而使机器人能够实时地调整其位姿,实现精确的跟踪或定位,完成相应的工作.其研究内容涉及图像处理,机器视觉,控制理论,机器人学,运动学,动力学等多个学科领域.目前机器人视觉随动研究的主要内容为:视觉随动控制系统结构,快速准确的图像处理算法,视觉随动控制器的设计(包括软件,硬件的设计)等[15].

本课题中,视觉传感器是机器人系统中最重要的"感官"之一,它的引入改变了机器人对操作对象及环境必须精确建模的要求[16].依靠视觉信息的反馈,实现机器人在运动学及动力学等方面的闭环控制.视觉传感器CCD获取环境信息,输出模拟视频信号,经可编程视频解码芯片SAA7111转换成数字视频信号,包括色度信号和亮度信号,本课题的开发平台是DSP,该控制器对数字视频信号进行运算,处理,产生相应PWM波,对伺服马达进行控制,带动视觉机构的旋转,实现视觉系统的随动控制.图3.3是视觉随动控制系统的控制流程图:

图3.3视觉随动控制系统的控制流程图

3.4软件设计流程图

3.4.1主程序流程图

系统初始化后,模拟视频信号经SAA7111处理后送给主控制器DSP,调用PWM程序产生PWM波,控制伺服马达的旋转.主程序流程图如下:

图3.4主程序流程图

系统初始化程序如下:

voidInitSysCtrl(void)

{Uint16i,

EALLOW,

DevEmuRegs.M0RAMDFT等于0x0300,

DevEmuRegs.M1RAMDFT等于0x0300,

DevEmuRegs.L0RAMDFT等于0x0300,

DevEmuRegs.L1RAMDFT等于0x0300,

DevEmuRegs.H0RAMDFT等于0x0300,

//Disablewatchdogmodule

SysCtrlRegs.WDCR等于0x0068,

//InitalizePLL

SysCtrlRegs.PLLCR等于0x0,

//WaitforPLLtolock

for(i等于0,i<,5000,i++){}

SysCtrlRegs.HISPCP.all等于0x0005,

//Peripheralclockenablessetfortheselectedperipherals.

SysCtrlRegs.PCLKCR.bit.EVAENCLK等于1,

EDIS,

}

I/O口初始化程序如下:

voidio_init()

{EALLOW,

GpioMuxRegs.GPAMUX.all等于0x00ff,//产生PWM,是外设EVA的功能,对应的端口属于第二功能,

EDIS,

}

图3.5SAA7111初始化流程图

3.4.2SAA7111初始化流程图

SAA7111初始化设定为:一路模拟视频信号输入(AI12),自动增益控制,625行50HzPAL制式,YUV16位数字视频信号输出,设置默认的图像对比度,亮度及饱和度.相应的寄存器入口参数:SAA7111写地址48H,子地址00H,发送数据缓冲区DBUF,发送字节数19.图3.5是其初始化流程图.

3.4.WM产生流程图及子程序

初始化后,通过计算,装载通用定时器比较器的值,就可以控制产生PWM波形.

图3.6PWM产生流程图

PWM产生子程序如下:

voidEVA_Timer1()

{

EvaRegs.EXTCON.bit.INDCOE等于0,//同时使能比较输出使能模式

EvaRegs.GPTCONA.bit.T2STAT等于1,//通用定时器2增计数

EvaRegs.GPTCONA.bit.T2PIN等于2,通用定时器2比较输出高有效

EvaRegs.GPTCONA.bit.T1STAT等于1,//通用定时器1增计数

EvaRegs.GPTCONA.bit.T1PIN等于2,

EvaRegs.GPTCONA.bit.TCOMPOE等于1,//使能定时器1,2的比较输出T2PWM

EvaRegs.T2PR等于j,//T1计数器周期值,其值为pwm值(因为是增计数//模式)

EvaRegs.T2CNT等于0x0000,

EvaRegs.T2CON.all等于0x1046,//连续增计数,不分频,不使能定时器(主//程序中使能),内部时钟,使用T1PWM

EvaRegs.T1PR等于j,//T2计数器周期值,其值为pwm值(因为是增计数//模式)

EvaRegs.T1CNT等于0x0000,

EvaRegs.T1CON.all等于0x1046,//连续增计数,不分频,不使能定时器(主//程序中使能),内部时钟,使用T1PWM

}

3.5本章小结

本课题开发环境是CCS2000,它集成了TI的编译器,汇编器,连接工具等.用户可以从菜单栏中选用TI的工具,并可以看到直接流水输出到窗口的编译结果.可视化窗口使用户能够容易理解复杂的结构,只要将光标放在相关的变量处并按ENTER键,诸如数组,结构,指针的变量就可以递归的增加或减少.本章重点提出并设计了视觉随动控制思想与方案.第二节详细介绍了伺服马达的控制原理,明确其输出臂位置与一个20ms周期性脉冲的正脉冲宽度的关系,为软件编程提供了思想.第三节提出了视觉随动控制系统的整体控制方案,确定了控制流程图,给出了主程序及PWM产生的程序流程图以及各模块的初始化程序.

4系统调试

在本课题完成后,对系统进行了调试.视觉随动机构实物图如下,在实验室对其进行了测试,该机构紧凑,可靠,稳定性高.

图3.7视觉随动机构实物图

视觉随动机构的软件实现方面,实验中,视觉机构发现目标物,通过两个伺服马达分别左右,俯仰旋转,使目标始终位于摄像头的正中间,实现自动跟踪目标.在发现目标时,获取目标图象信息,经视频SAA7111等处理后,图象信息送给DSP主控制器,装载DSP事件管理器的通用定时器比较器的比较值.定时器计数器周期值设置为30000,产生周期是20ms的PWM波,根据伺服马达控制原理,脉冲宽度0.5ms时,伺服马达输出&# 45;900,1.0ms时,伺服马达输出-450,1.5ms时,伺服马达输出0o,2.0ms时,伺服马达输出450,2.5ms时,伺服马达输出900.

5结论

毕业设计是毕业之前的最后一个学习环节,也是检阅大学期间所学知识和动手实践的一个机会.在毕业设计进程中遇到了很多困难,尤其是设计课题中还用到一些没有学过的知识,如DSP芯片,视频芯片等,对我是一个较大的挑战,但通过一个学期的努力,通过实验室老师和师兄的帮助,最终完成了这次设计,深感获益匪浅.本次毕业设计的课题是探测机器人视觉随动系统的软件设计,现汇报我在设计中所做的工作:

第一,搜索并阅读了大量的相关论文,对探测机器人的行业现状及发展趋势有了一定的了解.本课题是视觉随动系统,在作了深入分析明确研究内容后,设计了视觉随动机构及软件算法对视觉传感器进行随动控制.随动控制是基于DSP为开发平台,通过对视觉传感器环境信息的处理,控制伺服马达的旋转来实现的.

第二,熟悉了DSP控制器的基本功能,外设和结构,重点学习了DSP事件管理器的定时器,完全比较器,通过编程实现了PWM波的产生.

第三,深入学习了伺服马达的内部机构,通过对主控制版电路的研究,了解了伺服马达的工作原理,掌握了其通过PWM波的控制原理.

第四,熟悉了DSP编程环境CCS2000,并基于这一环境以DSP为平台设计程序,对系统进行调试,最后实现了视觉系统的随动控制.

在这次设计中暴露了不少问题.首先是学习的积极性还有待提高.在设计过程中,实验室老师和师兄为了我们更好的完成设计,给我们做了明确的计划安排.由于拖拉的坏习惯,也因为自己基础薄弱,完成时间一拖再拖,结果辜负了老师的一片心意,自己也浪费了时间.其次遇到问题独立性不够强.工作中总免不了有许多自己不明白和解决不了的事情,做事情之前应该先动脑筋想一想,而我一遇到问题就问他人,这样自己就形成了一种惰性心理.不经过大脑的东西就像水过鸭背,学不到知识.话又说回来,人的能力是有限的,实在解决不了就要向别人学,但经过自己思考,印象将会很深刻,学到的东西永远不会忘去.更重要的是学会自学,养成自学能力,培养自己独立解决问题的能力.独立解决问题的能力对自己以后的工作事业生活将起到很到大的作用.注意到这些问题,我将时刻提醒自己不要犯类似的错误,尽快使自己能对社会创造更大的价值!

6致谢

时间过得很快,一个学期的毕业设计就要结束了.我要感谢谢昭莉老师,盛朝强老师,陈皎师兄和贾耀辉师兄,实验室其他的师兄,师姐和我的同学,有了他们的指导和帮助,我才得以完成这次课程设计.从一开始,谢昭莉老师就对我们的毕业设计作了明确的安排,给我们指明了方向.在毕业设计的进程中,谢老师时刻关注我的进度,对我的设计提出很多建议,使我少走了很多弯路.对于我的问题和疑惑,谢老师也是悉心指导,耐心帮助.我还要感谢谢老师对我的严格要求,要不是这样,我的毕业设计能否顺利完成还是个问题,而且正因为此我才学到了一些真东西.谢老师还给我们提供了一个汇报工作的舞台,除了理论方面的督促外,也锻炼了我们的胆量,表达能力.老师也一直关心我们的毕业设计工作,对于我们毕业设计出现的问题给出了很多宝贵的建议,并且通知我们学校毕业设计最新安排,让我们做到心中有数,有的放矢,同时给了我们很多激励,在我们懈怠的时候又提起了精神.陈皎师兄是负责我们的研究生,对整个实验室做本科毕业设计的同学都付出了很多的心血.从一开始就给我们指明了工作内容,我的论文翻译,开题报告到最后的论文都是在陈皎师兄的直接帮助下完成的,我们有什么问题他也总是第一个帮我们解决.贾耀辉师兄给我的帮助很大,只要他在实验室,他就会主动关心我的设计工作,帮我解决了很多问题,尤其在我设计PWM波的时候,他不厌其烦的从最基本的接口说起,直至最后实现PWM的产生.除了设计以外,他严谨认真的求知精神和乐观开朗的性格也对我影响很大,我将铭记在心.

有开始就有结束,再过一段时间,我们将告别实验室,再一次感谢谢老师,老师和各位学长的帮助,你们的教诲我将受用终生!

最后衷心地感谢在百忙之中抽出时间评阅论文和参加答辩的专家,老师.

类似论文

机械工程学报文格式湖南

第八届研究生创新论文以及创新艺术作品(摄影,书画,海报设计,PPT)征集通知创新论文一、会议征文范围(包括以下方面但不局限于此) (1)机械工程A。
更新日期:2024-11-12 浏览量:141684 点赞量:30165

农业工程学报文格式目录

附件第六届中国科协期刊优秀学术论文一等奖名单序号主要作者论文题目刊载期刊刊载年期期刊主办学会1HaiBaoDUAN,ShiChengWANGNon-ZeroDe。
更新日期:2024-5-26 浏览量:69675 点赞量:15548

浙江农业学报,农业工程学报文格式浙江

红河州农业局人事科(通知)红河州农业局关于开展第十一届农业技术推广研究员推荐申报工作的通知各县市农业局,局直各单位&。
更新日期:2024-5-21 浏览量:71546 点赞量:16664

机械工程学报文模板山东

理工部分特类序号期刊名称刊期简介刊期信息投稿须知或模版1中国科学A双月刊简介主管:中国科学院,主办:中国科学院,编辑:中国科。
更新日期:2024-12-24 浏览量:155529 点赞量:32998

农业工程学报文格式东北

附件1:第九届农业技术推广研究员推荐人选一览表省级人力资源和社会保障部门(公章)省级农业行政主管部门(公章)编号申报省区市申报部门申。
更新日期:2024-4-23 浏览量:57052 点赞量:12995