_基于远程无限视觉系统的只能机器人遥控论文

上传人:无*** 文档编号:135865820 上传时间:2022-08-16 格式:DOC 页数:32 大小:1.50MB
返回 下载 相关 举报
_基于远程无限视觉系统的只能机器人遥控论文_第1页
第1页 / 共32页
_基于远程无限视觉系统的只能机器人遥控论文_第2页
第2页 / 共32页
_基于远程无限视觉系统的只能机器人遥控论文_第3页
第3页 / 共32页
点击查看更多>>
资源描述
基于远程无线视觉系统的智能机器人遥控摘 要智能机器人作为最综合的创新与研究平台,是21世纪新的研究热点它融合了机械设计和制造技术、嵌入式技术、图像识别技术、控制与规划技术、电子电气技术、计算机与信息处理技术、通讯技术、能源技术、材料技术等等。基于无线视觉技术、无线通讯技术,通过远程客户端程序,控制机器人,并实时显示机器人在作业环境中采集、感知的环境信息,视觉信息。通过此课题相关技术的研究、设计及应用,达到学生将专业基础知识与实际设计应用相结合的目的;实现学生在嵌入式技术设计、智能机器人控制、智能机器人软件编程设计、嵌入式图像识别技术及应用、电机驱动等方面的专业综合训练及专业能力培养。机器人通过无线摄像头实时采集环境图像传回计算机,通过接收来自计算机的控制命令根据命令做出相应的动作或者是自主运动。并且具有远程遥控功能,这些功能都算是现在科技野外探索及星球探索常用的功能,最著名的运用便是美国对于火星探测时所运用的机器人。它的研究对于机器人的自主导航、人机交互以及视觉控制都具有极其重要的意义。关键词:机器视觉,机器人,智能遥控ABSTRACTAs the most comprehensive study of innovation and Intelligent platform, robot is a 21st century research hotspot of new combination of mechanical design and manufacturing technology, embedded technology, control technology, image recognition and planning technology, electrical and electronic technology, and computer and information technology, communication technology, energy technology, materials technology, and so on. Visual technology based on wireless technology, wireless communications, through the remote client, controlling robots, and real-time display of robots in the operating environment in the acquisition, perception of the environment information, Visual information. Through this research, design and application of related technologies, reaches students solid knowledge and practical combination purpose design application; enabling students in the design of embedded technology, intelligent robot control, intelligent robot software design, embedded image recognition technology and application programming, motor-driven, comprehensive training and professional competence. Robots through wireless camera acquisition environments in real time images back into your computer, by receiving control commands from the computer command to make the appropriate actions or are independent of motion. And with remote control functions, these functions are now commonly used in exploration and planetary exploration in the field of science and technology capabilities, the most famous is the use of United States exploring the use of robots for Mars. Its research for autonomous robot navigation, human-computer interaction and Visual control is of extremely important significance.Key words:machine vision,robot,Intelligent remote control目 录第1章 绪论11.1智能机器人研究现状21.2智能机器人的感官系统31.3智能机器人的未来发展4第2章 阈值分割介绍 82.1阈值分割的基本概念82.2 RGB介绍102.3 YUV介绍102.4 设计原理说明112.5 算法流程设计11第3章 MT-AR 编程知识准备123.1 MFC 概述123.2 MFC 应用程序的构成12第4章 机器人运行调试174.1 总体结构设计174.2 运动控制194.3 图像采集224.4 网络传输23第5章 总结26参考文献28致 谢29 基于远程无线视觉系统的智能机器人遥控27第1章 绪论智能机器人作为最综合的创新与研究平台,是21世纪新的研究热点它融合了机械设计和制造技术、嵌入式技术、图像识别技术、控制与规划技术、电子电气技术、计算机与信息处理技术、通讯技术、能源技术、材料技术等等。基于无线视觉技术、无线通讯技术,通过远程客户端程序,控制机器人,并实时显示机器人在作业环境中采集、感知的环境信息,视觉信息。随着计算机技术、控制技术、信息技术的快速发展,工业的生产和管理进入了自动化、信息化和智能化时代,智能化已成为信息时代发展的需要。在野外探索、外星球勘探等领域,当所需外部环境恶劣时,人工不能完成的任务如星球开发和地质勘测等,可采用远程视觉跟踪机器车完成相应的任务。基于生产现场和日常生活的实际需要,研究和开发远策划能够视觉控制小车寻迹系统具有十分重要的意义。机器人目标跟踪是目前机器人的主要功能之一,在排雷、排爆、安检、交通、军事等领域都有着广泛的应用。所谓视觉跟踪,就是指对图像序列中的运动目标进行检测、提取和识别,从而获得运动目标的位置、速度、加速度等运动参数以及运动轨迹,并对所获信息进行进一步处理与分析,实现对运动目标行为的理解,从而引导机器人进行目标跟踪。它除了要求系统能够对图像进行处理,找出目标位置外,还要求系统能够根据目标位置控制机器人运动。由于计算量较为繁重,现有的此类系统往往存在速度较慢、误识别率较高等缺点。国内外学者对基于视觉的机器人目标跟踪进行了大量的研究,并提出了许多有效的方法,主要有帧间差分方法,帧间差分方法是对相邻帧图像作相减运算之后,对结果图像取阙值并分割,提取运动目标。常用的帧差法只能根据帧间像素的强度变化来检测场景中目标是否运动,运动目标信号的帧间相关性和噪声的帧间相关性都很弱,难以区分。帧间方块高位比较法适当地牺牲了检测灵敏度而提高了抗噪度,但必须要有后处理,以减小误检率。光流分割法,光流分割法是通过目标和背景之间的不同速度来检测运动目标。基于光流估计的方法都是基于以下假设:图像灰度分布的变化完全是由于目标或背景的运动引起的,即目标和背景的灰度不随时间变化。国外有人提出了光流计算,随即出现了光流的逐次逼近计算模型,通过位移预补偿方式减小了时域微分估计中的不准确性,极大地提高了光流计算的精度。基于图像区域匹配的方法,特征匹配即在提取特征后,对特征属性矢量(点、边缘、线段、小面或局部能量)作相关度计算,相关系数的峰值即为匹配位置。基于图像模型匹配的方法,由于目标在运动中会有旋转、大小的变化,固定的模板已经不能满足准确匹配的要求,因此出现了变形模型,变形模型分为自由式变形模型和参数式变形模型,其中主动轮廓模型是一种典型的自由式变形模型,由控制平滑度的轮廓内部能量、吸引轮廓到特定的图像能量和外部约束能量的组合来控制和约束。能量最小化是目标分割和跟踪原则。基于图像特征匹配的方法,特征匹配即在提取特征后,对特征属性矢量(点、边缘、线段、小面或局部能量)作相关度计算,相关系数的峰值即为匹配位置。 基于图像频率域匹配的方法,频率域匹配是将视频图像变换到频率域,然后根据变换系数的幅值或相位检测目标的运动。傅立叶变换是常用的频率分析方法。其中,利用变换系数幅值的方法,是根据在等空间域的卷积等于在频率域相乘这个fourier变换性质,将图像中的模板相关转换到频率域实现,以增加运算效率。利用变换系数相位的方法根据空间域的平移对应于频率域内的相移这个fourier变换性质来检测目标的运动。1.1 智能机器人研究现状人们通常把机器人划分为三代。第一代是可编程机器人。这种机器人一般可以根据操作人员所编的程序,完成一些简单的重复性操作。这一代机器人是从60年代后半叶开始投入实际使用的,目前在工业界已得到广泛应用。第二代是“感知机器人”,又叫做自适应机器人,它在第一代机器人的基础上发展起来的,能够具有不同程度的“感知”周围环境的能力。这类利用感知信息以改善机器人性能的研究开始于70年代初期,到1982年,美国通用汽车公司为其装配线上的机器人装配了视觉系统,宣告了感知机器人的诞生,在80年代得到了广泛应用。第三代机器人将具有识别、推理、规划和学习等智能机制,它可以把感知和行动智能化结合起来,因此能在非特定的环境下作业,称之为智能机器人。智能机器人与工业机器人的根本区别在于,智能机器人具有感知功能与识别、判断及规划功能。而感知本身,就是人类和动物所具有的低级智能。因此机器的智能分为两个层次:具有感觉、识别、理解和判断功能;具有总结经验和学习的功能。所以,人们通常所说的第二代机器人可以看作是第一代智能机器人。1.2智能机器人的感官系统(1)触觉传感器英国近几年在阵列触觉传感方面开展了相当广泛的研究。例如:Sussex大学和Shack-leton系统驱动公司研制的基于运动的介电电容传感的阵列;由威尔士大学和软件科学公司研制的采用压强技术的装在机器人夹持器上的传感器。(2)视觉传感在机器人视觉方面,目前市场上销售的有以下6类传感器:隔开物体的二维视觉:双态成像;隔开物体的二维视觉:灰度标成像;触觉或叠加物体的二维视觉;二维观察;二维线跟踪;使用透视、立体、结构图示或范围找寻技术从隔开物体中提取三维信息。在这类系统方面,它们只能做一些很简单的操作。例如:为了使机器人具有某种程度的人眼功能,已进行大量的研究工作并向如下两类系统发展:从一维物体中提取三维信息;活动机器人导航、探路和躲避障碍物的现场三维分析。伦敦大学目前正在研究一种双目视觉机器人的实时图像处理机。还有正在研究机器人视觉系统的教育机构有:考文垂工业大学、爱丁堡大学、格拉斯哥大学、格温特大学;而伯明翰大学则专门研究惯性传感器。另外,还有许多从事传感系统开发的单位,都进行了传感反馈研究。如米德尔塞克斯工业大学致力于使机器人能组织和使用来自不同类型传感器的数据。这种机器人能“看”、“感”和“听”,它更接近于人。(3)听觉传感目前用的最多的是麦克风与机器人的自然语言理解系统。(4)运动性能机器人通常是要在周围移动物体的,例如:机器人臂到轮子或脚的运载器已有许多结构在使用,此外还有许多其他型号在研究之中。为在空间任意点以任意方式操作一个物体,机器人臂需要有6个自由度:左/右、前/后、上/下、投、卷和左右摆转。在工业中使用的坐标已有6个:圆柱形、球形、笛卡尔坐标、旋转坐标、Scara type和并行坐标。在国际机器人市场上圆柱体坐标机器人现已有售;Unimate机器人系列为球形坐标系统,手臂可移进移出,绕其坐标移动,还可以做旋转的纵向移动。当前机器人臂的研制目标是通过现有系统的组合或利用完全不同的设计思想开发更灵活、更有适应能力的坐标系统。如伯明翰大学机械工程系研制的全交接左笛卡尔坐标系机器人Locoman,它是一种装配机器人。在该机器人上用控制设备来改进其刚性和精度。在控制装置方面,首先是完善从执行机构的元件中摄取信号以把这种信号传送给电子计算机(反馈)的装置;提高小型机械移动装置电动传感器的灵敏度、精确度和寿命;完善运动程序给定、贮存和计算及整个数字程序控制的元件;研制小型而又可靠的有感知装置,主要是动力机构和执行机构等等。在机器人的计算逻辑装置和信息装置方面,首要问题是研制专业化的微处理机。1.3智能机器人的未来发展智能机器人的开发研究取得了举世瞩目的成果。那么,未来智能机器人技术将如何发展呢?日本工业机器人协会对下一代机器人的发展进行了预测。提出智能机器人技术近期将沿着自主性、智能通信和适应性三个方向发展。下面我们简单介绍人工智能技术、操作器、移动技术、动力源和驱动器、仿生机构等。(1)人工智能技术在机器人中的应用把传统的人工智能的符号处理技术应用到机器人中存在哪些困难呢?一般的工业机器人的控制器,本质是一个数值计算系统。如若把人工智能系统(如专家系统)直接加到机器人控制器的顶层,能否得到一个很好的智能控制器?并不那么容易。因为符号处理与数值计算,在知识表示的抽象层次以及时间尺度上的重大差距,把两个系统直接结合起来,相互之间将存在通信和交互的问题,这就是组织智能控制系统的困难所在。这种困难表现在两个方面:一是传感器所获取的反馈信息通常是数量很大的数值信息,符号层一般很难直接使用这些信息,需要经过压缩、变换、理解后把它转变为符号表示,这往往是一件很困难而又耗费时间的事。而信息来自分布在不同地点和不同类型的多个传感器。从不同角度,以不同的测量方法得到不同的环境信息。这些信息受到干扰和各种非确定性因素的影响,难免存在畸变、信息不完整等缺陷,因此使上述的处理、变换更加复杂和困难。二是从符号层形成的命令和动作意图,要变成控制级可执行的指令(数据),也要经过分解、转换等过程,这也是困难和费时的工作。它们同样受到控制动作和环境的非确定性因素的影响。由于这些困难,要把人工智能系统与传统机器人控制器直接结合起来就很难建立实时性和适应性很好的系统。为了解决机器人的智能化,组成智能机器人系统,研究者们将面临许多困难且需要做长期努力,进行若干课题的研究。例如:高级思维活动应以什么方式的机器人系统来模仿,是采取传统的人工智能符号推理的方法,还是采用别的方法?需不需要环境模型,需要怎样的环境模型;怎样建立环境模型,传统的人工智能主要依据先验知识建立环境模型。由于环境和任务的复杂性,环境的不确定性,这种建模方式遇到了挑战,于是出现了依靠传感器建模的主张,这就引出一系列新的与传感技术有关的课题。人们为了探讨人工智能在机器人中近期的可用技术,暂时抛开人工智能中的各种带根本性的争论,如符号主义与连接主义、有推理和无推理智能等等,把着眼点放在人工智能技术中较成熟的技术上。对传统的人工智能来说,就是知识的符号表示和推理这部分技术,看一看它对当前的机器人技术的发展会有什么贡献。其主要贡献体现在以下几个方面:基于任务的传感技术,建立感知与动作的直接联系,基于传感器的规划和决策,复杂动作的协调等。(2)操作器工业机器人手臂的设计制造已趋于成熟,因此在智能机器人操作器方面的研究,人们的兴趣主要集中在各种具有柔性和灵巧性的手爪和手臂上。机器人手臂结构要适应智能机器人高速、重载、高精度和轻质的发展趋势。其中轻质化是关键。新型高刚度、抗震结构和材料是目前国外研究的前沿。机器人的手、腕以及连接机构是引人注目的研究课题。其中手腕机构的研究注重于快速、准确、灵活性、柔顺性和结构的紧凑性。与人协调作业关系密切的一类智能机器人如医用机器人、空间机器人、危险品处理机器人、打毛刺机器人等,它们都面临着如何快速、准确地把人的意志和人手的熟练操作传送到机器人执行机构的问题。目前,要让机器人作业一个小时,其软件编制需要60个小时,费时又费工。改善这种状况,需要从软件和硬件两方面着手。如多指多关节灵巧手是一种模拟人的通用手,它能比较逼真地记录和再现人手的熟练动作,受到研究者的青睐。由于它涉及到操作力学、结构学、基于传感器的控制、传感器融和等方面的问题,研制的难度很大,因此到目前为止,还没有一种成熟的产品投放市场。(3)移动技术移动功能是智能机器人与工业机器人显著的区别之一。附加了移动功能之后,机器人的作业范围大幅度增加,从而使移动机器人的概念也从陆地拓展到水下和空中。近几年来,在欧美国家的机器人研究计划中,移动技术占有重要的位置。例如在NASA空间站FREEDOM上搭载的机器人、NASA和NSF共同开发的南极Erebus活火山探测机器人、美国环保局主持开发的核废料处理机器人HA7BOT中,移动技术都被列为关键技术。移动机构与面向作业任务的执行机构综合开发是最近出现的新的倾向。因为无论何种机器人都需要通过搭载的机械手或传感器来完成特定的作业功能。另一个倾向是移动的运动控制与视觉的结合日益密切。这种倾向在美国ALV项目中已初见端倪,最近则越过了静态图像识别的框框,进入主动视觉和主动传感的阶段。显然,智能机器人在非结构环境中自主移动,或在遥控条件下移动,视觉-传感器-驱动器的协调控制不可缺少。最近几年,在步行机构,双足步行机,轮式移动机构的开发和实用化等方面都取得了一些进展。据日本工业机器人协会预测:管内移动机器人将在2007年可达到实用化;与人具有同样步行速度的多足步行机和双足步行机以及不平整地面行走和爬楼梯与人具有相同速度的移动机器人将在2010年可达到实用化。(4)动力源和驱动器智能机器人的机动性要求动力源轻、小、出力大。而现有的移动机器人无一例外地拖着“辫子”。以动力源的重量/功率之比为例,目前电池约达到60g/W(连续使用小时),汽油机约为1.3g/W,都不理想,而且使用有局限性。到目前为止,尚未见到改善动力源的有效办法。电机仍然是智能机器人的主要驱动器。要使智能机器人的作业能力与人相当,它的指、肘、肩、腕各关节大致需要3-300Nm的输出力矩和30-60r/min的输出转速。传统伺服电机的重量/功率之比约为30g/W,而人在百米跑和投掷垒球时腿、肩、臂的出力大约为1g/W,相差甚大。日本在改进电机的性能方面取得了长足的进步。例如:核工业机器人臂和腿的驱动电机的重量已减轻到原来的1/10,使机器人整体自重降低到700kg,但与它只能处理20kg重的工作相比,远非令人满意。人们寄希望于新驱动器,例如:人工肌肉、形状记忆合金、氢吸附合金、压电元件、挠性轴、钢丝绳集束传动等等。虽然各有诱人的优点,但在实用性方面还达不到伺服电机的水平。日本极限作业机器人计划中,水下机器人机械手的手腕和手爪驱动采用了人工肌肉,肌肉本身的重量才5-8g,以20kg/cm2压力的高压水为工作介质,收缩力高达50kg(管径3mm)。这是新型驱动器一个成功的例子。总之,智能机器人性能指标的改进是无止境的,对驱动器的要求也越来越高。什么是客观的衡量标准呢?一个容易接受的办法就是把它与人的体能加以比较。从这个角度来看,智能机器人驱动技术目前差距还相当大。(5)仿生机构智能机器人的生命在创新,开展仿生机构的研究,可以从生体机构、移动模式、运动机理、能量分配、信息处理与综合,以及感知和认知等方面多层次得到启发。目前,以驱体为构件的蛇形移动机构、人工肌肉、仿象鼻柔性臂、人造关节、假肢、多肢体动物的运动协调等等受到人们的关注。仿生机构的自由度往往比较多,建立数学模型以及基于数学模型的控制比较复杂,借助传感器获取信息加以简化可能是一条出路。近年来,机器人出现了一个倾向是面向特定功能和作业开发专用机器人,以追求高速、高效、单一化和低成本的目的。例如美国IBM公司设计的超高速小型机器人,以50次/s的速度频繁往复于相距数毫米的两点间,实现高密度微型电子器件装配,定位精度高达一微米。这种高速运动机构的动态平衡十分重要,虽然其工作区域只有13mm13mm1mm,但其加速度却高达50g。IBM公司的技术人员对机器人学提出了新的问题:如何进行机构-控制-传感-驱动的一体化设计,满足机械手高速高精度定位的要求。众所周知,机器人系统的设计程序是先设计臂结构和驱动装置,然后设计控制器。实践证明,这种设计即使能达到最佳的静力学性能,也往往不能满足动力学性能。到目前为止,改进动力学性能的方法并不多见,一般是按常识、减轻构件的重量,匹配减速器的速比等等。大批研发机器人和普遍运用人工智能机器人, 聊天机器人,做菜机器人。迎宾机器人,服务机器人,娱乐机器人, 拉车机器人等等都已经出现并应用在不同的领域,机器人智能化成为一种发展趋势。第2章 阈值分割介绍所谓图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内,表现出一致性或相似性,而在不同区域间表现出明显的不同37简单的讲,就是在一幅图像中,把目标从背景中分离出来,以便于进一步处理。图像分割是图像处理与计算机视觉领域低层次视觉中最为基础和重要的领域之一,它是对图像进行视觉分析和模式识别的基本前提同时它也是一个经典难题,到目前为止既不存在一种通用的图像分割方法,也不存在一种判断是否分割成功的客观标准。阈值法是一种传统的图像分割方法,因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和应用最广泛的分割技术已被应用于很多的领域,例如,在红外技术应用中,红外无损检测中红外热图像的分割,红外成像跟踪系统中目标的分割;在遥感应用中,合成孔径雷达图像中目标的分割等;在医学应用中,血液细胞图像的分割,磁共振图像的分割;在农业工程应用中,水果品质无损检测过程中水果图像与背景的分割。在工业生产中,机器视觉运用于产品质量检测等等。在这些应用中,分割是对图像进一步分析、识别的前提,分割的准确性将直接影响后续任务的有效性,其中阈值的选取是图像阈值分割方法中的关键技术。2.1阈值分割的基本概念图像阈值化分割是一种最常用,同时也是最简单的图像分割方法,它特别适用于目标和背景占据不同灰度级范围的图像1。它不仅可以极大的压缩数据量,而且也大大简化了分析和处理步骤,因此在很多情况下,是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。图像阈值化的目的是要按照灰度级,对像素集合进行一个划分,得到的每个子集形成一个与现实景物相对应的区域,各个区域内部具有一致的属性,而相邻区域布局有这种一致属性。这样的划分可以通过从灰度级出发选取一个或多个阈值来实现。阈值分割法是一种基于区域的图像分割技术,其基本原理是:通过设定不同的特征阈值,把图像像素点分为若干类常用的特征包括:直接来自原始图像的灰度或彩色特征;由原始灰度或彩色值变换得到的特征设原始图像为f(x,y),按照一定的准则在f(x,y)中找到特征值T,将图像分割为两个部分,分割后的图像为 若取 :b0=0(黑),b1=1(白),即为我们通常所说的图像二值化。 (原始图像) (阈值分割后的二值化图像)一般意义下,阈值运算可以看作是对图像中某点的灰度、该点的某种局部特性以及该点在图像中的位置的一种函数,这种阈值函数可记作 T(x,y,N(x,y),f(x,y)式中,f(x,y)是点(x,y)的灰度值;N(x,y)是点(x,y)的局部邻域特性根据对T的不同约束,可以得到3种不同类型的阈值37,即点相关的全局阈值TT(f(x,y)(只与点的灰度值有关)区域相关的全局阈值TT(N(x,y),f(x,y)(与点的灰度值和该点的局部邻域特征有关)局部阈值或动态阈值TT(x,y,N(x,y),f(x,y)(与点的位置、该点的灰度值和该点邻域特征有关)所有这些阈值化方法,根据使用的是图像的局部信息还是整体信息,可以分为上下文无关(non-contextual)方法(也叫做基于点(point-dependent)的方法)和上下文相关(contextual)方法(也叫做基于区域(region-dependent)的方法);根据对全图使用统一阈值还是对不同区域使用不同阈值,可以分为全局阈值方法(global thresholding)和局部阈值方法(local thresholding,也叫做自适应阈值方法adaptive thresholding);另外,还可以分为双阈值方法(bilever thresholding)和多阈值方法(multithresholding)2.2 RGB介绍RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,这个标准几乎包括了人类视力所能感知的所有颜色。RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0255范围内的强度值。例如:纯红色R值为255,G值为0,B值为0;灰色的R、G、B三个值相等(除了0和255);白色的R、G、B都为255;黑色的R、G、B都为0。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上重现16581375种颜色。在 RGB 模式下,每种 RGB 成分都可使用从 0(黑色)到 255(白色)的值。例如,亮红色使用 R 值 246、G 值 20 和 B 值 50。 当所有三种成分值相等时,产生灰色阴影。当所有成分的值均为 255 时,结果是纯白色;当该值为 0 时,结果是纯黑色。目前的电脑显示器都是采用了RGB颜色标准,在显示器上,是通过电子枪打在屏幕的红、绿、蓝三色发光极上来产生色彩的,目前的电脑一般都能显示32位颜色(数字信号),约有一百万种以上的颜色。2.3 YUV介绍YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),它被用于模拟全球视频(NTSC, PAL and SECAM)。YUV中的Y代表亮度。UV代表色差,U和V是构成彩色的两个分量。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有 Y信号分量而没有U、V信号分量,那么这样表示的图像就是黑白灰度图像。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的相容问题,使黑白电视机也能接收彩色电视信号。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面色调与饱和度,分别用Cr和CB来表示。其中,Cr反映了GB输入信号红色部分与RGB信号亮度值之间的差异。而CB反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。为了在VGA显示器上显示彩色图形,YUV彩色空间必须被转换为RGB彩色空间。2.4 设计原理说明 这次VC+设计主要是基于迭代阈值图像分割法,它的设计方法如下。初始阈值选取为图像的平均灰度T0,然后用T0将图像的象素点分作两部分,计算两部分各自的平均灰度,小于T0的部分为TA,大于T0的部分为TB计算 ,将T1 作为新的全局阈值代替T0,重复以上过程,如此迭代,直至TK 收敛,即TK1 TK 经试验比较,对于直方图双峰明显,谷底较深的图像,迭代方法可以较快地获得满意结果。对于背景和物体直方图双峰明显的图像进行迭代阈值分割,把目标从背景中分离出来,以便于进一步处理。此次设计就是利用VC平台建立一个软件程序对图像进行迭代阈值分割。VC界面比比较简洁,主要功能是打开目标背景BMP图像文件,并且在主界面下显示图像。通过对图像的迭代阈值分割操作,然后将已经分割的图像在主界面下显示。2.5算法流程设计对图像进行阈值分割显示图像打开图像开始结束显示处理后的图像Fig.1算法流程图第3章 MT-AR 编程知识准备MTR机器人软件开发环境为Windows XP/2000,编程语言使用Visual Studio C+.NET 2003,应用程序框架采用Microsoft 基本类库7.0 版(简称MFC 库)。3.1 MFC 概述MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows 下的应用程序,这是一种相对SDK 来说更为简单的方法。因为总体上,MFC 框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C+.NET 提供了相应的工具来完成这个工作:AppWizard 可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;属性用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。3.2 MFC 应用程序的构成以 MDI 应用程序为例用AppWizard 产生一个MDI 工程MyDemo(无OLE 等支持),AppWizard 创建了一系列文件,构成了一个应用程序框架。这些文件分四类:头文件(.h),实现文件(.cpp),资源文件(.rc),模块定义文件(.def),等。1、构成应用程序的对象图2 解释了该应用程序的结构,箭头表示信息流向。图 2 一个MDI 应用程序的构成从CWinApp、CDocument、CView、CMDIFrameWnd、CMDIChildWnd 类对应地派生出CMyDemoApp、CMyDemoDoc、CMyDemoView、CMainFrame、CChildFrame 五个类,这五个类的实例分别是应用程序对象、文档对象、视对象、主框架窗口对象和文档边框窗口对象。主框架窗口包含了视窗口、工具条和状态栏。对这些类或者对象解释如下。1)应用程序应用程序类派生于CWinApp。基于框架的应用程序必须有且只有一个应用程序对象,它负责应用程序的初始化、运行和结束。2)边框窗口如果是SDI 应用程序,从CFrameWnd 类派生边框窗口类,边框窗口的客户子窗口(MDIClient)直接包含视窗口;如果是MDI 应用程序,从CMDIFrameWnd 类派生边框窗口类,边框窗口的客户子窗口(MDIClient)直接包含文档边框窗口。如果要支持工具条、状态栏,则派生的边框窗口类还要添加CToolBar 和CStatusBar 类型的成员变量,以及在一个OnCreate 消息处理函数中初始化这两个控制窗口。边框窗口用来管理文档边框窗口、视窗口、工具条、菜单、加速键等,协调半模式状态(如上下文的帮助(SHIFT+F1 模式)和打印预览)。3)文档边框窗口文档边框窗口类从CMDIChildWnd 类派生,MDI 应用程序使用文档边框窗口来包含视窗口。4)文档文档类从CDocument 类派生,用来管理数据,数据的变化、存取都是通过文档实现的。视窗口通过文档对象来访问和更新数据。5)视视类从CView 或它的派生类派生。视和文档联系在一起,在文档和用户之间起中介作用,即视在屏幕上显示文档的内容,并把用户输入转换成对文档的操作。6)文档模板文档模板类一般不需要派生。MDI 应用程序使用多文档模板类CMultiDocTemplate;SDI 应用程序使用单文档模板类CSingleDocTemplate。应用程序通过文档模板类对象来管理上述对象(应用程序对象、文档对象、主边框窗口对象、文档边框窗口对象、视对象)的创建。2、构成应用程序的对象之间的关系这里,用图的形式可直观地表示所涉及的MFC 类的继承或者派生关系,如图3 所示意。图 3 一些MFC 类的层次图3 所示的类都是从CObject 类派生出来的;所有处理消息的类都是从CCmdTarget 类派生的。如果是多文档应用程序, 文档模板使用CMultiDocTemplae,主框架窗口从CMdiFarmeWnd 派生,它包含工具条、状态栏和文档框架窗口。文档框架窗口从CMdiChildWnd 派生,文档框架窗口包含视,视从CView 或其派生类派生。3、构成应用程序的文件通过上述分析,可知AppWizard 产生的MDI 框架程序的内容,所定义和实现的类。下面,从文件的角度来考察AppWizard 生成了哪些源码文件,这些文件的作用是什么。下面为AppWizard 所生成的头文件:stdafx.h :标准AFX 头文件Resource.h:定义了各种资源IDMyDemo.h:#include resource.h 定义了从CWinApp 派生的应用程序对象CMyDemoAppChildFrm.h : 定义了从CMDIChildWnd 派生的文档框架窗口对象CMyDemoChildFrameMainFrm.h:定义了从CMDIChildWnd 派生的框架窗口对象CMainFrameMyDemoDoc.h:定义了从CDocument 派生的文档对象CMyDemoDocMyDemoView.h:定义了从CView 派生的视图对象CMyDemoView下面为AppWizard 所生成的实现文件及其对头文件的包含关系。stdafx.cpp 包含#include stdafx.h用来产生预编译的类型信息。MyDemo.cpp包含#include stdafx.h#include MyDemo.h#include MainFrm.h#include ChildFrm.h#include MyDemoDoc.h#include MyDemoView.h定义CMyDemoApp 的实现,并定义CMyDemoApp 类型的全局变量theApp。ChildFrm.cpp 包含#include stdafx.h#include MyDemo.h#include ChildFrm.h实现了类CChildFrameMyDemoDoc.cpp 包含#include stdafx.h#include MyDemo.h#include MyDemoDoc.h实现了类CMyDemoDocMyDemoView.cpp 包含#include stdafx.h#include MyDemo.h#include MyDemoDoc.h#include MyDemoView.h实现了类CMyDemoView 类对预编译头文件说明如下:所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC 标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。预编译头文件通过编译stdafx.cpp 生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。编译器通过一个头文件stdafx.h 来使用预编译头文件。stdafx.h 这个头文件名是可以在project 的编译设置里指定的。编译器认为,所有在指令#includestdafx.h前的代码都是预编译的,它跳过#include stdafx. h指令,使用projectname.pch 编译这条指令之后的所有代码。因此,所有的CPP 实现文件第一条语句都是:#include stdafx.h。另外,每一个实现文件CPP 都包含了如下语句:#ifdef _DEBUG#define new DEBUG_NEW#endif这是表示,如果定义过调试_DEBUG,则定义一个新的DEBUG_NEW,防止重定义。第4章 机器人运行调试双击桌面上的 图标,这是机器人自检程序,它分为三大块:基本功能,扩展功能。基本功能包括:整机检测、运动控制、图像采集、网络传输、语音处理;扩展功能包括:超声测试、PSD 检测、DI 检测、DO 检测、DA 检测、码盘检测;下面分别介绍他们的功能和操作步骤。4.1 总体结构设计请首先将机器人架起,以防发生意外。功能:(1)检测左电机是否运行正常(2)检测右电机是否运行正常(3)检测超声各通道是否运行正常(4)检测PSD 个通道是否运行正常操作步骤:第一步:基本功能-整机检测-开始,结果如下图4:图 4 整机检测界面可能出现的情况及解决办法:点击“开始”按钮时出现错误,请检查“任务管理器”-“进程”内是否有其他MTR 软件程序在运行,如果有请将其结束。第二步:点击“启动自检”按钮,将机器人上的外围设备放好如键盘鼠标等,打开急停开关,请操作人员和其他观看人员站在离机器人一米外。此时该软件就会逐项进行检查,这个过程需要几分钟的时间,请耐心等待。在检测过程中,在界面左侧会看到此时哪个设备正在被检测。检测左电机:左电机正在检测时,图标为左电机检测异常时,图标为左电机运行正常时,图标为可能发生的异常情况及解决方法:电机不转或乱转,请关闭程序后关机检查硬件设备。2、检测右电机:与左电机同。1、 检测超声设备:机器人本体上超声的位置放在 1、3、5、8、11、13 六个通道上,对应的位置请看上图,先将障碍物放在超声1 通道的前面1m 内,大约几秒钟后,再将障碍物放在3 通道上,依次类推。可能出现的情况及解决方法:正在检测的超声通道没有声音,请关闭程序后,检查超声板是否上电,超声通道是否插对。4、PSD 检测与超声检测方法类似,不同之处在 PSD 没有声音。全部检测完后,如果图标中有,说明该设备运行异常,程序会继续进行检测,如果全部运行成功,所有图标为。第三步:按下急停开关后,退出程序4.2运动控制功能:1)速度闭环+默认PID 或在线调试PID 或LoadPID2)位置闭环+默认PID 或在线调试PID 或LoadPID3)速度闭环+协调控制+默认PID 或在线调试PID 或LoadPID4)位置闭环+协调控制+默认PID 或在线调试PID 或LoadPID5)保存PID 参数6)查看上次保存的PID 参数值7)得到码盘信息8)画出左右轮速度曲线,左右轮位移曲线,左右轮加速度曲线操作步骤:第一步:基本功能-运动控制-启动,界面如图5 所示图 5 基本运动界面模式选择:1)选择速度闭环+默认PID输入左轮的速度和右轮的速度(范围:-2.5m/s-2.5m/s),输入左右轮加速度(0-2.5m/s2)单击“显示码盘数据”按钮,“前进”按钮,打开急停开关,想进行其它操作前先按下急停开关,单击“停止”按钮,然后单击“左轮速度曲线”,或“右轮速度曲线”,或“左轮位移曲线”,或“右轮位移曲线”,或“左轮加速度曲线”,或“右轮加速度曲线”,在界面下方会看到相关实际曲线、基准曲线、误差曲线。2)选择速度闭环+在线调试PID输入“速度”,“加速度”,“Kp”,“Ki”,“Kd”(默认值为左右轮Kp:33,Ki:5,Kd:0)后,单击“前进”或“后退”或“左转”或“右转”按钮,测试得到一组较好的PID 参数时,可把该参数保存下来,选择“保存PID 参数”,点击“保存PID 参数”按钮。3)选择速度闭环+LoadPID先点击查看PID 值看该值是否合理,然后点击“前进”等按钮。4)选择速度闭环+协调控制+默认PID 或在线调试PID 或LoadPID操作步骤分别与选择速度闭环相同。5)选择位置闭环+默认PID输入左轮的速度和右轮的速度(范围:-2.5m/s-2.5m/s),输入左右轮加速度(0-2.5m/s2),位移,点击“前进”等按钮。6)选择位置闭环+ 在线调试PID输入“速度”,“加速度”,“Kp”,“Ki”,“Kd”后,点击“前进”等按钮,当觉得此时PID 参数很好时,可把该参数保存下来,选择“保存PID 参数”,点击“保存PID 参数”按钮。7)选择位置闭环+LoadPID先点击查看PID 值,然后点击“前进”等按钮。8)选择位置闭环+协调控制+默认PID 或在线调试PID 或LoadPID 操作步骤分别与选择位置闭环相同。第二步:按下急停开关,关闭程序4.3图像采集功能:1)实时采集(160*120,320*240,640*480 大小10,20,30 帧率的)彩色图像2)单帧显示操作步骤:第一步:基本功能-图像采集-开始采集图 6 图像采集界面可能出现的情况及解决问题:1)程序出现异常时,可能摄像头的驱动掉了,重新安装驱动即可。2)图像为纯蓝或纯黑时,需要更改图像采集制式,更改方法如下:打开桌面上的 图标,选择图像为纯蓝的摄像头设备,如:如果摄像头制式为 PAL,则选择菜单栏内Options-Video Capture Filter-影像解码器-:)S 视频标准(-PAL_B。如果摄像头制式为NTSC。当 摄 像 头 接 在 图 像 采 集 卡 S 端子上时, 选择菜单栏内Options-VideoCrossbar-Input-Video SVideo In,而接在复合端子上时选择Video CompositeIn。第二步:实时显示选择视频源,窗口大小,采集帧率后单击“改变设置”按钮,想换其他视频源时只需选择需要显示的视频源,单击“改变设置”按钮。第三步:单帧显示点击“静态抓图”按钮。第四步:关闭程序4.4 网络传输功能:1)网络图像传输2)网络运动控制操作步骤:第一步:基本功能-网络传输-启动服务器端图 7 网络传输服务器端界面第二步:选择视频源,输入客户端 IP 地址,启动服务第三步:基本功能-网络控制-启动客户端图 8 网络传输客户端界面第四步:启动服务连接成功后,通过右边的按钮可控制机器人运动。第五步:退出程序先点击客户端“停止服务”,关闭服务器程序;再点击服务器端“停止服务”,关闭程序。可能出现的情况及解决办法:1)启动服务失败请检查图像设备或看是否有其他 MTR 软件进程在运行。2)网络连接失败有两种情况:一、两个程序都在机器人上运行时,IP 地址都为127.0.0.1。二、当服务器端程序在机器人上运行而客户端程序在PC 机或笔记本上运行时,首先请参阅3.10 节,看完后按上述步骤运行。第5章 总结大学生活很快要结束了,十几年的学生生涯将要接近尾声,毕业论文是我跨入社会前进行的一个小小的锻炼。毕业后,我们又迈来一新的起点。新的旅程艰难又宽广,我们又要迎接新的挑战,实习其实就是把自己学到的知识用到平时实际工作中去,在实习中不断磨练自己,增加一些实践经验,从中找出自己不足之处,虚心学习一些实用知识,在实习工作中不断学习,反复推敲,事事总结,从中积累自己的一些实用经验,我抱着这样的观念和目的,我选择了实习单位上海英集斯公司进行了为期三周的实习。我刚到公司的时候每天只是做一些拧螺丝这类的工作,很快我的工作热情就被这样枯燥无聊的工作浇灭了,我开始无所事事,因为我觉得向我们这样的大学生不应该干如此没有技术含量的工作,但很快我在老师们的教导下知道了自己的想法是错误的,正所谓小时了了大未必佳,小事情都做不好又怎么能走向高端的工作呢?正式因为老师们的谆谆教导让我领悟了做人的道理,感谢实习单位及实习单位的老师给我提供这次实习机会,在这里我充分理解实践与理论知识结合的重要性,在大学期间我学到的知识是朦胧的概念,从未亲身体验,然而通过三周的实习使我身心得到锻炼,在现场我们要拿出百分百的精神气,全身心投入工作,虽然以后的道路很长,但我仍会继续努力,创造一个美好的明天。在这三周中我对我们以前所学的很多知识点特别是与C语言、C+、嵌入式相关的做了一个巩固和加强,特别是在对于智能机器人的了解方面有了一个很大的飞跃。在这三周中,老师给布置的课题是智能机器人的远程视觉跟踪,通过对已有机器人的了解(机器人是公司提前做好的)我已经掌握了机器人与PC交互的整个过程,也就是PC机如何发送信息遥控机器人、机器人如何收到信息、如何处理信息、又是如何将处理后的信息指令反馈给PC机然后PC机又将这些信息转化成最后的图像使其呈现在我们的面前。可以说我已经掌握了一台机器人从开始安装到最后写程序输代码的所有过程。在这次实习的过程当中,我不仅得到了一个重新衡量自己能力的机会,而且也重新建立起对于编程的兴趣,虽然坦白来说对于机器人我真的没有多大的兴趣(因为机器人的制作牵涉到了很多复杂的手工工序,而我在动手这块比较笨拙),但这三周的实习还是对我的动手能力有所提升,在实习的最后阶段我终于完成了老师所布置的任务(虽然我所使用的机器人和程序源代码都是公司现有的),虽然效果不是最为理想(在视频这块已经完全成功但是在控制小车前后左右走的那块做得不好小车接受命令延迟严重),但我自己认为已经学到了很多让我受益匪浅的东西。我在此要感谢公司和学校的领导、老师为我们安排这次实习机会,这对我们这些已经快要走向社会的大四学生有着很大的帮助,让我知道在社会上懂得怎样去做好自己,端正自己的位置,为社会贡献出我自己的力量基于远程无线视觉系统的智能机器人遥控29参考文献1 Andi Gutmans,Stig Saether Bakken,Derick Rethans。PHP 5 权威编程。 北京:电子工业出版社,2007. 567-6502 Bruce W.Perry AJAX HACKS。北京:电子工业出版社,2007. 93-2003 Michael Mahemoff。Ajax设计模式。北京:电子工业出版社,2007.567-5904 梁冰,苏宇,吕继迪。 Javascript开发技术大全, 北京:人民邮电出版社,2008. 346-5265 Vikram Vaswani。Mysql完全手册,北京:电子工业出版社,2004. 23-416 孙鹏程,等。PHP网络开发详解,北京:人民邮电出版社,2007. 34-987 朱印宏,林小志。精通CSS网页布局,北京:中国电力出版社,2009.67-768 明日科技著。 PHP函数参考大全,北京:人民邮电出版社,2007. 587-620韦穗. 计算机视觉. 机器人, 1992, 14 (4) : 60- 6
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!