基于SEP3203平台灭火机器人的设计和实现毕业论文.doc_第1页
基于SEP3203平台灭火机器人的设计和实现毕业论文.doc_第2页
基于SEP3203平台灭火机器人的设计和实现毕业论文.doc_第3页
基于SEP3203平台灭火机器人的设计和实现毕业论文.doc_第4页
基于SEP3203平台灭火机器人的设计和实现毕业论文.doc_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

东南大学成贤学院 毕业设计报告基于SEP3203平台灭火机器人的设计和实现毕业论文目录摘要IAbstractII目录III第一章 前言11.1 机器人简介11.1.1机器人关键技术11.1.2机器人发展与趋势31.2 SEP3203微处理器41.2.1 ARM简介及特点41.2.2 SEP3203简介51.2.3 SEP3203微处理器的特点61.2.4 SEP3203微处理器的应用71.3 课题提出意义和主要完成的工作81.3.1课题提出意义81.3.2主要完成的工作9第二章 Probots灭火机器人硬件介绍112.1.主控制系统硬件框图122.2传感器系统硬件框图152.3执行系统17第三章 Probots灭火机器人机械驱动部分硬件设计183.1电机驱动原理183.2电机驱动电路193.3 小结23第四章 软硬件调试与方案校验244.1直流电机软件控制244.2实践任务254.2.1完成自动避障实践254.2.2完成自动找火实践264.2.3基于测距传感器的沿墙行走行为(完成轨迹运动)274.3调试技巧28第五章 总结与改进意见33致谢34参考文献35附录3791第一章 前言1.1 机器人简介 随着科技的发展和社会的进步,机器人在当前生产、生活中的应用越来越广泛,在有些领域正在替代人类发挥着日益重要的作用。机器人技术的迅速发展,不但使传统工业生产的效率有了大幅度的提高,而且许多高级智能机器人已成为先进制造业中不可缺少的自动化装备,并以惊人的速度向军事、农业、服务业等领域渗透,在人类生活中产生了深远的影响。自主移动机器人是智能机器人的典型代表,它是一个对外界环境高度开放的智能系统,能够按照给定的任务指令,根据地图信息做出路径规划,并在行进过程中不断感知外部的环境信息,同时对所获得的环境信息进行处理,从而自主地做出各种决策,自动避开障碍物,引导自身安全行驶到指定目的地,执行规定的动作。与固定式机械手相比较,轮式移动机器人具有更广阔的运动空间、更强的灵活性。1.1.1 机器人关键技术机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能仿生学等多学科而形成的高新技术,集成了多学科的发展成果,代表高技术的发展前沿,是当前科技研究的热点方向。近几年来 ,逐步应用于移动机器人的技术领域包括:(1)运动控制技术稳健的运动控制技术是移动机器人整体性能的基础,通过时变、不连续控制以及混合策略,根据动力学模型和运动学模型,建立合理的反馈控制律,实现车速和转向的自动控制,以及不同工作状态之间的平稳过渡,是该项技术的核心内容。(2) 路径规划技术该技术主要包括基于地理信息的全局路径规划技术和基于传感信息的局部路径规划技术。由于自主式移动机器人在地面上行驶,必须避开它无法通过的或对其安全行驶构成威胁的障碍物或区域,因此局部路径规划,尤其是复杂环境下的路径规划问题,显得更为重要。(3) 实时视觉技术该技术主要涉及到视觉信息的实时采集、预处理、特征提取和模式识别。而且,视觉信息处理的能力、处理速度、处理的可靠性和准确性是决定智能机器人整体性能的决定性因素。(4 )定位和导航技术该技术是现代轮式移动机器人研制所急需的关键技术,也是下一代无人战车的技术基础。位置的测量可以分为相对位置测量和绝对位置测量,测量方法有里程计、惯性导航、主动灯塔、磁罗盘、全球定位系统、地图模型匹配和自然路标导航等。(5)多传感器集成和数据融合技术自主式移动机器人采用测距技术,GPS定位技术和小型陀螺仪技术等多种传感技术来采集不同类型的环境信息。因此,准确地处理和分析不同传感器采集到的信息,用于对所处环境做出准确可靠的描述并据此做出正确的决策和控制,是多传感集成和数据融合研究的任务。(6 )控制体系结构体系结构的研究主要针对有意识行为和反射行为展开。如何将二者统一起来是目前研究热点之一。现在最具代表性的结构系统思想是NASREM模型和包容体系。(7)高性能计算技术在移动机器人的早期研究工作中,专用硬件结构为多数研究者所采用,这是因为当时市场上的通用硬件不能满足诸如实时图像处理所需的计算能力。近年来,随着计算机计算能力的迅猛提高,研究者们开始采用通用处理器来构建机器人系统。(8) 无线通信与因特网技术这两项技术可以实现多机器人之间的通信和信息共享,以及机器人与外部的联系。1.1.2 机器人发展与趋势 机器人从诞生至今己有50多年的历史,目前,机器人已经逐渐出现在人们的日常生活当中,为人们所熟知。由于移动机器人集成了运动控制、计算机视觉、模式识别、多传感融合、人工智能、无线通讯等多学科先进成果,以及在民用、军事和科学研究等领域有着广泛的应用前景,为各国政府和大公司所关注,近年来在各行各业先后发展了许多移动机器人原型: 家用机器人行业:除了传统的机器人除草机、吸尘器、高尔夫球车等应用外,许多大公司多年来投入巨资用于人性化机器人的研制,这类机器人的普遍特征是配置了多种传感器,包括力传感、视觉传感、声传感、超声波传感、高度传感等,具有无线上网能力,可以进行居家安全监控,家电集中控制,收发电子邮件,实施保姆功能。 工业服务行业:近年来出现了很多从事设备保养、修理、运输、加油、清洁、保安、救援和监护等工作的专用机器人。在农业方面,移动机器人也派上用场,用途包括喷洒农药化肥、养殖、保护森林等;在办公服务业,出现了机器人邮递员、传达员和远程办公机器人,例如惠普公司在2002年推出的供会议服务的移动机器人。 民防领域:移动机器可以参与消防灭火,排除爆炸物,扫雷和搜救工作。例如以色列研制的排爆机器人,就具有探测可疑物,抓取和破坏爆炸装置等功能。科学探索方面:尤其是在人类目前无法到达或进入的环境,移动机器人具有无可比拟的优势。2002年Robot研制的金字塔探测机器人,就具备世界上最小的地面探测雷达系统,可以穿透厚度达90厘米的混凝上。美国NASA己经研制出火星探测机器人,以及用于探测星体、维修国际空间站或代替人类完成高风险任务的蜘蛛机器人。科学教育领域:智能移动机器人已经走入中、小学校,并将成为青少年能力、素质培养的智能平台,为信息技术基础教育带来新的活力。随着计算机、微电子、信息技术的快速进步,机器人技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域,机器人都有着广阔的发展空间与应用前景。机器人正朝着智能化和多样化等方向发展。同时,机器人涉及到的技术也不断扩展,如多传感器信息融合、路径规划、机器人视觉、智能人机接口等,产生了一系列研究课题。1.2 SEP3203微处理器1.2.1 ARM简介及特点 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此这使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。ARM处理器共有5个系列ARM7,ARM9,ARM9E,ARM10和SecurCoreo进一步的产品来自于合作伙伴,例如Intel Xccale微体系结构和StrongARM产品。其中,ARM7, ARM9, ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。采用RISC架构的ARM微处理器一般具有如下特点:1、体积小、低功耗、低成本、高性能;2、支持Thumb (16位)/ARM (32位)双指令集,能很好的兼容8位/16位器件;3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成;5、寻址方式灵活简单,执行效率高;6、指令长度固定。ARM还提供了两个前沿特性一一嵌入式ICE-RT逻辑和嵌入式跟踪宏核系列用以辅助带深嵌入式处理器核的、高集成的SOC器件的调试。1.2.2 SEP3203简介SEP3203 移动终端应用处理器是由江苏东大集成电路系统工程技术有限公司(SEUIC)设计的16/32 位RISC 微控制器,面向低成本手持设备和其它通用嵌入式设备。南京博芯电子技术有限公司作为芯片代理公司。SEP3203 移动终端应用处理器针对低成本个人移动终端的应用需求,为用户提供了面向移动终 端应用的丰富外设、低功耗管理和低成本的外存配置。为了适应手持信息终端的多媒体处理需求,SEP3203 处理器还集成了用于多媒体加速的MMA(Multimedia Accelerator)模块和AC97 控制器用于多媒体音频的解码和录音。 SEP3203 处理器内嵌由英国ARM 公司提供的ARM7TDMI 处理器内核,全芯片可稳定运行在75MHz。集成了支持黑白,灰度,彩色的LCD 控制器;多媒体加速模块,用于提供多媒体处理定点矢量乘加的计算能力;支持低成本的NAND Flash 控制器并可从其直接启动;支持多种外存类型:SRAM,NOR Flash,SDRAM;支持实时时钟(RTC);支持四通道的定时器和两通道的PWM;支持用于连接触摸屏通讯的SPI 协议;支持两个UART 控制器,其中一个支持红外传输;支持USB1.1 Device 控制器用于PC 与移动终端之间的高速信息传输;支持MMC 卡控制器,用户可以扩展系统的存储能力和外设功能;支持兼容AC97 协议的控制器,用于音频文件的播放和录制。SEP3203 处理器内嵌20KByte 零等待的静态存储器(SRAM),用于多媒体处理时的核心代码与数据的存放,用户也可以将操作系统的核心代码或LCD 帧缓存存放在该处理器中,用于提供更高的性能和更低的能量消耗; 6 通道DMA 控制器,为用户提高了高速的数据传输通道。为了支持低成本的系统方案,SEP3203支持外部32 位/16 位数据总线,结合ARM 提供的Thumb 指令集,将大大降低系统成本和功耗,考虑到Nand Flash 的成本优势,SEP3203 处理器提供专用的Nand Flash 控制器,并支持系统直接从Nand Flash 启动。SEP3203 处理器采用LQFP176 封装形式。1.2.3 SEP3203微处理器的特点SEP3203 芯片中集成各种功能模块:l ARM7TDMI,最高支持75MHzl SRAM/SDRAM/NAND FLASH/NOR FALSH 控制器l 内嵌20Kbyte 片上eSRAMl 单色/4 级灰度/16 级灰度/4K 彩色/64K 彩色LCD 控制器l 多媒体加速模块MMA,支持MP3 解码、MPEG4 QCIF 和WMA 解码l AC97 音频接口,支持2 通道放音和1 通道录音l 兼容USB1.1 的USB 客户端控制器l MMC 卡控制器l 中断控制器,32 个中断源,其中18 个外部中断l 1 通道RTC,支持日历功能l 4 通道TIMERl 2通道PWMl 2通道UART,均支持红外通讯l 1 通道SPI,用于触摸屏数据采样l 2通道片上PLL,1 个用于系统时钟,1 个用于USB 控制器l 4种功耗模式,IDLE、SLOW、NORMAL、SLEEPl 支持从片外NOR FLASH 或者NAND FLASH 启动图 1- 1 SEP3203 系统架构框图1.2.4 SEP3203微处理器的应用图 1-2 是SEP3203 系统的应用:SEP3203 针对低成本个人移动终端的应用需求,为用户提供了面向移动终端应用的丰富外设、低功耗管理和低成本的外存配置。可适合PDA、mp3 播放器、mpeg 播放器、GPS终端、电子相册、短信终端等行业应用。SEP3203 支持ucLinux、ASIX OS 等操作系统。图 1-2 SEP3203 系统应用1.3 课题提出意义和主要完成的工作1.3.1课题提出意义 轮式移动机器人由于其在各行业广阔的应用前景,已经成为机器人研究领域的一个重要分支。对于事先不可预测环境的研究是最近的热点,许多应用场合如军事、危险操作(例如救火)和服务业等; 轮式移动机器人是一个组成结构非常复杂的系统,它不仅具有加速、减速、前进、后退以及转弯等常规的车辆功能,而且还具有任务分析、路径规划、导航、信息感知融合、自主决策等类似人类智能行为的人工智能。因此,按其功能划分,轮式移动机器人可以看作由机械装置、控制器及传感器组成的相互作用、相互联系的复杂动态系统.户外移动机器人的研究涉及机械、控制、传感器、人工智能等方面的技术,但研究主要集中在以下几个关键技术上:(1)机器人控制体系结构;(2)路径规划与导航;(3)车体控制与轨迹跟踪;(4)机器人视觉信息的实时处理技术;(5)多传感器的信息集成与融合。1.3.2主要完成的工作学院从“博芯公司”引进的智能小车就提供了这样一个动态环境的平台,本人的毕业设计工作,是以“江苏省第三届机器人灭火比赛”为应用的大背景,以从“博芯公司”引进的智能小车为基本操作平台,以“江苏省第三届机器人灭火比赛规则”的要求为具体任务对象,了解“博芯公司”智能小车动力驱动部分的硬件工作原理,熟练掌握和解析该小车驱动电机的驱动方式、驱动原理及各项性能指标,在查阅资料和反复比较的基础上,负责设计驱动算法,并使用ARM的汇编语言和C/C+语言编制动力驱动软件,同时进行大量的现场调试、比较、对照,实现“江苏省第三届机器人灭火比赛规则”中要求的动力驱动的软件编写工作,最后达到最优算法的选择和实现。经分析,以下是机械驱动控制算法实施前所需解决的问题:1、多传感器信息的融合多传感器融合,是指将多个传感器采集的信息进行合成,形成对环境某一特征的综合描述的一种方法。多传感器信息融合算法可以分为以下四类:估计方法、分类方法、推理方法和人工智能方法。移动机器人对障碍物信息的获取主要是通过红外测距传感器,机器人在障碍环境中前进,必须知道其周围的障碍物距离参数,因此配置多个红外测距传感器是必要的,它们分布在机器人的不同部位,检测不同方向上的信息。多个传感器的使用主要体现在信息的冗余性和互补性上。通过多个传感器对周围障碍物对象的冗余和比较完全的表达,将减少由于各传感器的感知误差和有限的感知范围而带来的整个系统的不确定性。此外,当某个传感器失效时,通过冗余信息还可以弥补缺损的信息,提高系统的鲁棒性。但是随着多传感器带来的信息的全面、感知范围的扩大和误差的减小等方面优点的同时,也带来了如计算量加大、处理速度慢和规则库迅速变大等缺点。因此必须对传感器信号进行融合,以达到最优信号的效果。2、避障 灭火机器人在未知环境中运动时,机器人所检测到的障碍物信息都是局部的,根据不同的局部障碍物信息来规划当前移动机器人的行走策略是移动机器人在未知坏境中能进行路径规划的基础。因此,可以通过移动机器人超声测距传感器信息所感知的局部环境来分析规划行走路径。3、路径规划基于已知地图的路径规划:灭火机器人在迷宫地图中运动前就根据在迷宫地图规划好了一条运动路径,灭火机器人就沿着这条路径从起点运动到目标点来寻找火源。在完成以上工作的基础上,负责驱动部分软件调试过程中的现象、数据、各种结果的记录分析和解释,并对驱动的软件调试提出自己的分析意见和改进意见并实现。4、自动找火源利用电子复眼传感器的测量值判断火源的位置,然后驱动电机走向火源。通过连接一个电子复眼传感器,机器人可以探测到180度的视角范围的火源或高热源。5、算法的优化 根据大赛的要求以及比赛场地的实际环境调整算法,使灭火机器人的能够稳定快速的完成寻找火源并灭火的任务。在顺利完成任务的前提下,对机器人在灭火的过程中出现的振荡、运动轨迹等进行优化。第二章 Probots灭火机器人硬件介绍2.1.主控制系统硬件框图图2-1 主控制系统硬件框图(1)处理器 采用东南大学自主知识产权的芯片SEP3203F50(2)存储器存储器类型芯片型号使用片数寻址大小片选对应SEP3203 芯片管脚说明ESRAM 片上静态SRAM 1 20Kbyte NOR FLASH TE28F160 1 2Mbyte nCSA SDRAM K4S641632H 1 8Mbyte nCS(GPA3) 兼容16/32Mbyte表2-1存储器参数(3)输出I/O口驱动电路设计 图2-2 输出I/O口驱动(4)电源系统设计 图2-3 电源系统(5)键盘、LCD显示器电路设计图2-4键盘电路图2-5 LCD显示器2.2传感器系统硬件框图图2-6 传感器系统硬件框图模拟量传感器数据的采集、数字量传感器数据的采集、传感器系统和主控制器之间的通讯。 图2-7 底层通信模块标签号1VCC2模拟地3AD信号线4VCC5数字地6SCL(I2C时钟线)7SDA(I2C地址线)表2-2传感器接口实物图接口含义图2-8 传感器接口实物图图 2-9数字信号输入接口电路框图数字信号输入接口电路:数字量传感器的数字信号通过I2C串口输入单片机,如图2-9所示。接在I2C总线上的设备必须是不同I2C地址,否则就不能正常传输数据,那么相同I2C设备数据传输就成为困难。为了解决这个问题,本传感器系统增加了双向缓冲芯片CD406623,当有相同I2C地址设备接在I2C的总线上时,轮流导通相同I2C地址设备的时钟线和数据线,确保同一时刻在I2C总线上的设备地址不同,这样就可以实现了相同I2C地址设备的数据传输。2.3执行系统执行系统一般由直流电机驱动机械传动机构来完成动作 。轮式机器人的执行系统,完成前进、后退、左转弯、右转弯等基本功能。PROBOTS灭火机器人采用L298、H 桥驱动额度电压为12伏的直流电机来完成动作。第三章 Probots灭火机器人机械驱动部分硬件设计3.1电机驱动原理(1)直流电机 图3-1脉宽调制波形(2)步进电机 A1A2B1B21234表3-1二相步进电机双拍工作方式BBAA AA图3-2 二项步进电机控制波形速度控制:通过时序信号的频率来达到速度控制方向控制:步进信号的顺序来控制3.2电机驱动电路半导体H桥: 图3-3是我们实际使用的H桥电路的真正形式。如果将两个高位电路或者两个低位电路同时接通,马达会自动制动。这是因为当没有电源供给时,马达在自由转动的情况下是处于发电状态,同位的电路接通,相当于将马达的两端“短接”,那么马达会因为短路、这相当于接了一个无限大功率的电炉即一个很大的负载,所以马达就会产生“电”制动;当你把马达两端悬空 后,它就恢复自由了。为了以避免马达的反电动势的危害,我们仍然需要在晶体管两端接二极管,因为马达线圈在电路开闭瞬间产生的反向电动势通过会高过电源,这样对晶体管和电路会有很大的影响甚至烧毁零件。半导体晶体管本身有导通电阻,在通过大电流时会明显发热,如果没有散热措施会很容易烧毁。这样就会限制电路功率的增加。MOSFETS(金属氧化物半导体场效应晶体管),这里简称MOS管,由于结构和原理的不同,导通电阻远比普通三极管低,允许流过更大的电流。而且MOS管都内置有反向二极管来保护管子本身。所以采用MOS管连接H桥不但效率可以提高,电路也可以简化。使用MOS管搭建H桥,高位电路要用P沟道管;低位要用N沟道管。因为N沟道管比P沟道管便宜的多,所以有人用N沟道管在高位,加上削波电路来抑制反电动势。应用H桥的关键是四个电路开闭状态的准确。一旦在电源和地之间出现通路,毫无疑问会立刻产生短路,。下面我们介绍一些H桥的集成电路,这样我们可以更容易更安全的使用H桥。常用H桥集成电路:L293内置两个H桥,每个桥提供1A的额定工作电流,和最大2A的峰值电流。它能驱动的马达一般是不超过35毫米照片胶卷筒大小。 L298内置两个H桥,每个桥提供1A的额定工作电流,和最大3A的峰值电流。它能驱动的马达不超过可乐罐大小。 LMD18200内置1个H桥,工作电流23A,峰值电流6A。它驱动可乐罐大小的马达。电机正转:图3-3 H桥中电机正转示意图电机反转:图3-4 H桥中电机反转示意图PWM1: PWM1: PWM2: PWM2: 电机正转 电机反转图3-5 PROBOT灭火机器人电机驱动电路图3-6 PROBOT灭火机器人电机驱动电路实物图3.3 小结 由于SEP3203处理器自带PWM输出,在配合定时器来调节脉冲宽度;同时灭火机器人是通过传感器感知外部环境从而控制电机的转动,不需要精确的计算步长,又考虑成本的问题,因此我们选择直流电机作为主驱动电机。由于第三届江苏省大学生机器人大赛对机器人大尺寸有明确的规定,同时为减轻机器人小车的自重,我们选择体积较小、市场上容易买到的L298作为驱动。第四章 软硬件调试与方案校验4.1直流电机软件控制(1)硬件接口名称PIN 1PIN 2PIN 3PIN 4PIN 5PIN 6PIN 7PIN 8JP25电机控制信号输出口10电机控制信号输出口9JP26电机控制信号输出口12电机控制信号输出口11JP23电机控制信号输出口6电机控制信号输出口5JP24电机控制信号输出口8电机控制信号输出口7JP21电机控制信号输出口2电机控制信号输出口1JP22电机控制信号输出口4电机控制信号输出口3表4-1 电机接口定义(2)电机信息列表的定义(参考程序代码) 在HardwareInfo.h中定义 #ifndef _DCMOTOR_ #define _DCMOTOR_ unsigned int #endif #ifndef DCMOTOR_mleft#define DCMOTOR_mleft 1/ 1,2接口 左侧电机接口#endif#ifndef DCMOTOR_mright#define DCMOTOR_mright 2 / 3,4接口 右侧电机接口#endif#ifndef DCMOTOR_Fire#define DCMOTOR_Fire 3 / 灭火电机接口#endif(3)控制函数DcMotor(_DCMOTOR_ DCmotor_ID, unsigned int State , unsigned int Speed ),此函数的功能是把直流电机的参数添加到电机信息列表中。函数的第一个参数表示直流电机的位置信息(012);第二个参数是直流电机的转动状态信息(0:正转;1:停止;2:反转);第三个参数是直流电机转动速度(0100)。(4)转弯的方法: 1、一个不动一个前进:靠近的转弯 DcMotor(DCMOTOR_mleft,0,70); DcMotor(DCMOTOR_mright,1,70); 2、一个不动一个后退:远离的转弯 DcMotor(DCMOTOR_mleft,1,70); DcMotor(DCMOTOR_mright,0,70); 3、一个前进一个后退:原地急转弯 DcMotor(DCMOTOR_mleft,2,70); DcMotor(DCMOTOR_mright,0,70); 4、一个马达快,一个马达慢(同方向) DcMotor(DCMOTOR_mleft,0,10); DcMotor(DCMOTOR_mright,0,70);4.2实践任务4.2.1完成自动避障实践当机器人在前进的过程中探测到障碍物接近机器人时,机器人应该改变运动轨迹,以避免碰撞。图4-1给出了自动避障的流程图,机器人首先探测前方距离是否小于20,如果小于,再判断左侧距离是否小于右侧距离,如果小于则原地右转,否则原地左转;从以下流程图可以看出,机器人根据探测到的障碍物的距离做出相应的动作,从而避免碰撞。图4-1 自动避障流程图4.2.2完成自动找火实践实现火源寻找的功能从原理上是通过分析电子复眼传感器的测量值判断火源的位置,然后驱动电机走向火源。通过连接一个电子复眼传感器,机器人可以探测到180度的视角范围的火源或高热源。程序流程图如图4-2 所示。图4-2 自动找火流程图 如流程图所示机器人启动后将会读取电子复眼的测量数据,如电子复眼的测量数据最大值超过250则认为已经到火源面前,故程序控制机器人停止行进。如测量的最大值小于35则认为没有火源所以机器人不会行进。如果测量的最大值大于35小于250,则程序会对电子复眼传回的数据进行进一步的分析,找到火源的具体方位并行进过去。4.2.3基于测距传感器的沿墙行走行为(完成轨迹运动) 机器人以左手法则(右手法则)沿着墙壁前进。当前灰度遇到白线跳出。本文中是依靠左前LF、左后LB(右前RF、右后RB)两个红外的差值来判断机器人的状态。由于红外测距传感器生产过程中造成的细微差别,再加上安装时并不能保证两边的传感器绝对对称,所以左前、左后(右前、右后)两个传感器的输出并不相等。假设平行时左前、左后(右前、右后)两个灰度差为X,左前、左后(右前、右后)两个灰度差与X相差很少的情况下,可以认为机器人是与墙壁是平行的,这时机器人可以全速前进。如果相差过大,说明机器人与墙壁不平行,这时就需要调整机器人转到与墙壁平行。还有些地方需要配合正前F或正后B红外测距来控制机器人转弯以防止机器人撞向前面的墙壁。图4-3 是沿墙走流程图(左手法则)。图4-3 沿墙走流程图(左手法则)4.3调试技巧由于不同机器人的硬件性能存在差异,因此调试程序是必要的。通过几个月的调试,总结出以下经验和调试技巧,严格按照下面的步骤调试,将达到事半功倍的效果,使调试过程充满乐趣。1、观看灭火视频观看机器人灭火视频,借鉴前人的经验,进一步了解机器人完成任务的整个过程。2、整理场地整理好灭火场地,使场地标准尽量接近实际的比赛场地,如果可能,应尽量避免环境光的影响,例如拉上窗帘,关掉照明设备等。3、检测马达转向在app_main.c程序里,单独控制左、右两个马达,两个马达的“state”值都填0, “speed”值都填100,编译,下载程序,实际运行,观察马达的转向是否都是向着机器人前进的方向,如果不是,可以通过更改马达的插接方式来校正。 4、程序说明本文中灭火机器人的程序调试难点主要是在转弯位。 图4-4 搜索路线上图为程序搜索路线。注意:每从一个房间出来,机器人就会返过来用另外一边走。所以每到一个房间,机器人的后面就会变为“前面”。图4-5 从4号去3号房间如图4-5,程序从开始一直到3号房间的路线,调试时要注意从4号房间出来的时候需要将机器人转到图示a的位置,关键是让左后红外LB能见到4号房间对面的墙壁,这个不难做到。然后程序就可以自动转入进入3号房间的程序,自动绕过墙壁,到达b车的位置(当然,如果你的行程算法好,直接可以让机器人从四号房间去到b的位置,这样速度更快)。5、调试时可能遇到的问题如果机器人一开始不能进入四号房间,主程序中修改转弯速度。将右轮速度改大一点点看,我们的转弯速度是:低速(左20右80);高速(左35右100)。机器人从四号房间出来会撞向房间对面的墙壁,修改主程序,紧接着4号房间之后的速度或时间,让机器人调整到适当位置(LB必须见到四号房间门口对面的墙壁为之适当位置)。注意,这里机器人是向后走的了。由四号房间去到图4-5中的b位置的之后,机器人不能够进入到成功编程c的状态,可以修改此处的转弯速度。如果撞向2号房间墙壁,就将右轮速度减少。如果转弯过冲,撞向3号房间的墙壁,将左轮的速度减少。 由3号房间出来转向2号房间的时候如果撞向4号房间的墙或冲向了1号房间。在此处我们增加了一个调整程序,将左右传感器测到的数据范围细化,经试验发现机器人无论是在慢速还是在快速行驶的过程中的轨迹都比较理想,没有出现大的波动。以上是在遍历4个房间时遇到的一些问题,并在调试的过程中测试过,都有了比较好的改进。灭火完回家可能遇到的问题:4号房间:图4-7 从4号房间回家如果撞到红色位置,打开GoHome4模块,将左轮速度减少。或者改变回家路径,从下面的路径回家,这样就少转了一个弯。3号房间:图4-8 从3号房间回家如果撞到图4-8中红色位置,进入GoHome3程序修改转弯时正前方传感器的参数 。2号房间:图4-9 从2号房间回家如果容易撞向图4-9红色部分,进入GoHome2程序,修改转弯时的速度,撞向绿色部分,则调整相应程序处左轮速度。1号房间:图4-10从1号房间回家如果撞向红色部分,进入GoHome1,修改出口处右轮速度。第五章 总结与改进意见调试中主要注意电压的影响,以及起始放置位置对最终结果的影响;整体配重对车速的影响。在调试的过程中我们一开始就追求高速,结果并不是太好,经常会撞到墙壁,这在比赛中是要扣分的,所以,我坚持稳定性第一,速度第二。 经过反复的试验我们发现问题在于传感器采集数据后不能及时地传送到主控制器,探测的环境数据得不到及时的处理,以致发生迟滞现象,机器人不能按照要求很好的动作,这也是速度提升的一个瓶颈。改进意见:通过改变底层I2C总线的参数设置来增大I2C的数据传输速度,以满足灭火机器人车体速度对传感器数据的要求。通过上述改进后,经试验验证,小车的迟滞现象有了明显的改善,稳定性、速度等也有了一定的提高。特别注意:竞赛时带上抹布,注意轮子的湿润和摩擦力等等。参考文献1 王耀南 著 机器人智能控制工程 北京:科学出版社 2004年 P2912 (美)Joseph L Jones 著 原魁 邹伟等译 机器人编程技术基于行 为的机器人实战指南 北京:机械工业出版社 2006年 P273 谭浩强 著C程序设计(第二版)北京:清华大学出版社 2001年 4 卓晴 黄开胜 邵贝贝编 学做智能车挑战“飞思卡尔”杯 北京:北京航天航空大学出版社5 黄智伟 全国大学生电子设计竞赛电路设计 北京:北京航天航空大学 版社(第6章)6 全国大学生电子设计竞赛获奖作品选编 北京:北京理工大学出版社 (E题)7 黄智伟 全国大学生电子设计竞赛系统设计 北京:北京航天航空大 学出版社(7.4)8 三恒星科技 ARM7易学通 北京:人民邮电出版社9 张绮文 谢建雄等编箸 ARM嵌入式常用模块与综合系统设计实例精讲 北京:电子工业出版社10 张培人 张志坚等编著 基于16/32位DSP机器人控制系统设计与实现 北京:清华大学出版社11 时龙兴 凌明 王学香 编 嵌入式系统基于SEP3203微处理器的应 用开发 北京:电子工业出版社 2006年12 南京博芯电子有限公司 编 Probots用户手册13 李磊 叶涛 谭民 陈细军 移动机器人技术研究现状与未来 中国科 学院自动化研究所复杂系统与智能科学试验室 机器人ROBOT 第 24 卷第 5期 2002年9月14 杨鹃 多传感器信息融合技术在移动机器人避障中的应用 哈尔滨理工大学硕士学位论文 2005年15 范红 蒋静坪 轮式移动机器人个体在未知环境中实时免碰路径规划 上海海事大学物流工程学院 上海;浙江大学电气工程学院 杭州 机床与液压2004No916 王增强 基于ARM的自主移动的嵌入式系统研究与开发 广东工业大学硕士学位论文 2005年17 赵永刚 轮式移动机器人避障行为研究 北京工业大学硕士学位 论文 2007年附录程序清单/根据测距得出避障情况void IR_distance_result(unsigned int Distance_Left,unsigned int Distance_Middle,unsigned int Distance_Right) unsigned int IR_distance_left,IR_distance_middle,IR_distance_right;IR_distance_left = IR_distance(00);/左侧红外传感器测得的数据IR_distance_middle = IR_distance(01); /左侧红外传感器测得的数据IR_distance_right = IR_distance(02); /左侧红外传感器测得的数据DisLcd_Num(1,18,IR_distance_left);DisLcd_Num(2,18,IR_distance_middle);DisLcd_Num(3,18,IR_distance_right);if(IR_distance_left Distance_Left) distance_result = distance_result | 4; else distance_result = distance_resu

温馨提示

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

评论

0/150

提交评论