超声波测距在机器人避障中的应用毕业论文.docx

上传人:b****6 文档编号:6317240 上传时间:2023-01-05 格式:DOCX 页数:24 大小:314.70KB
下载 相关 举报
超声波测距在机器人避障中的应用毕业论文.docx_第1页
第1页 / 共24页
超声波测距在机器人避障中的应用毕业论文.docx_第2页
第2页 / 共24页
超声波测距在机器人避障中的应用毕业论文.docx_第3页
第3页 / 共24页
超声波测距在机器人避障中的应用毕业论文.docx_第4页
第4页 / 共24页
超声波测距在机器人避障中的应用毕业论文.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

超声波测距在机器人避障中的应用毕业论文.docx

《超声波测距在机器人避障中的应用毕业论文.docx》由会员分享,可在线阅读,更多相关《超声波测距在机器人避障中的应用毕业论文.docx(24页珍藏版)》请在冰豆网上搜索。

超声波测距在机器人避障中的应用毕业论文.docx

超声波测距在机器人避障中的应用毕业论文

超声波测距在机器人避障中的应用毕业论文

目 录

 

绪论

1课题设计目的及意义

1.1设计的目的

随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。

但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。

展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:

研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。

无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。

随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。

在新的世纪里,面貌一新的测距仪将发挥更大的作用。

1.2设计的意义

随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。

但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。

因此,经常出现开挖已经建设好的建筑设施来改造排水系统的显得非常重要。

而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。

控制系统核心部分就是超声波测距仪的研制。

因此,设计好的超声波测距仪就显得非常重要了。

这就是我设计超声波测距仪的意义。

2超声波测距仪的设计思路

2.1超声波测距原理

发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。

由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。

在使用时,如果温度变化不大,则可认为声速是基本不变的。

如果测距精度要求很高,则应通过温度补偿的方法加以校正。

 

表1-1超声波波速与温度的关系表

温度(℃)

-30

-20

-10

0

10

20

30

100

声速(m/s)

313

319

325

331

337

344

349

386

3课题设计的任务和要求

设计一超声波测距仪,任务:

(1).了解超声波测距原理。

(2).根据超声波测距原理,设计超声波测距器的硬件结构电路。

设计一超声波测距器,要求:

(1).设计出超声波测距器的软件结构电路。

(2).对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。

(3).以数字的形式显示测量距离。

第一章超声波测距系统硬件设计

1系统设计

利用超声波检测距离,设计比较方便,计算处理也较简单,其测量精度也能达到使用要求。

超声波发生器可以分为两大类:

一类是用机械方式产生超声波,一类是用电气方式产生超声波。

电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。

目前在近距离测量方面常用的是压电式超声波换能器。

根据设计要求并综合各方面因素,本设计采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器。

单片机发出40kHz的信号经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。

如图1所示。

图1超声波测距器系统方案

超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。

本设计采用反射波方式。

测距仪的分辨率取决于对超声波传感器的选择。

超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。

251系列单片机的功能特点

51系列单片机以其高性能、高速度、体积小、价格低廉、可重复编程和方便功能扩展等优点,在市场上得到广泛的应用。

因此此次设计采用51系列单片机,由于AT89C51在51系列单片机里有典型的代表性,所以本文选择AT89C51型号。

5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256B的RAM,2个16b的定时/计数器TO和T1,4个8b的I/O端I:

IP0,P1,P2,只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息P3,一个全双功串行通信口等组成。

特别是该系列单片机片内的Flash可编程、可擦除保存的仪器和系统中更为有用。

该系列单片引脚与封装如图2-1所示。

51系列单片机封装图

5l系列单片机提供以下功能:

4kB存储器;256BRAM;32条I/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。

空闲方式:

CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。

掉电方式:

保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。

5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。

充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。

3系统硬件结构的设计

硬件电路主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。

采用AT89C51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。

单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。

计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物

3.1单片机显示电路原理

单片机采用AT89C51或其兼容系列。

为了获得较稳定的时钟频率,系统采用12MHz高精度的晶振,以减小系统测量误差。

单片机用P1.0端口输出40KHz方波信号,为超声波转化器所用,利用外中断0口检测超声波接受电路输出的返回信号。

显示电路采用简单实用的共阳LED数码管,段码用单片机P0口加限流电阻直接驱动,位码用PNP三极管9012驱动。

3.2超声波发射电路

超声波发射电路原理图如图2-2所示。

发射电路主要由反向器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。

输出端采两个反向器并联,用以提高驱动能力。

上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。

图2-2超声波发射电路原理图

压电式超声波换能器是利用压电晶体的谐振来工作的。

超声波换能器内部有两个压电晶片和一个换能板。

当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。

超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。

3.3超声波检测接收电路

集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。

实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。

适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。

图2-3超声波检测接收电路

3.4超声波测距系统的总电路

本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用AT89C51,经济易用,且片内有4K的ROM,便于编程。

电路原理图如图附录1。

第二章超声波测距系统的软件设计

超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。

我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。

1超声波测距仪的算法设计

  超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。

这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。

距离的计算公式为:

d=s/2=(c×t)/2其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。

 在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。

当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。

其部分源程序如附录2。

2主程序流程图

软件分为两部分,主程序和中断服务程序,如图3-1(a)(b)(c)所示。

主程序完成初始化工作、各路超声波发射和接收顺序的控制。

定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。

 

(a)主程序流程图(b)定时中断服务子程序(c)外部中断服务子程序

超声波测距系统的软件设计

主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。

置位总中断允许位EA并给显示端口P0和P1清0。

然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。

由于采用的是12MHz的晶振,计数器每计一个数就是1μs,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式

(2)计算,即可得被测物体与测距仪之间的距离,设计时取20℃时的声速为344m/s则有:

 d=(c×t)/2=172TO/10000cm

(2) 其中,T0为计数器T0的计算值。

 

测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。

为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。

                             

3超声波发生子程序和超声波接收中断程序 

超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。

超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。

 

超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。

进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。

如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。

 前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。

部分源程序如附录3。

4系统的软硬件的调试

超声波测距仪的制作和调试都比较简单,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。

若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。

根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。

 

硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。

根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。

根据所设计的电路参数和程序,测距仪能测的范围为0.07~5.5m,测距仪最大误差不超过1cm。

系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。

软件的调试程序见附录4

第三章超声波测距系统在智能机器人中的应用

在智能机器人的研制开发中,很重要的一部分就是机器人要能实现避障功能,即通过传感器的作用,探测机器人行进道路上是否碰到障碍。

若碰到了障碍,机器人应该自动转向,躲避障碍。

1避障系统设计思想

移动机器人感知环境的手段是不完备的,传感器给出的数据是不完全、不连续、不可靠的,因此移动机器人的安全避障成为当今机器人研究领域的一个焦点问题和难点问题。

安全避障具体的实现方法有很多种,超声避障实现方便,技术成熟,成本低,成为移动机器人常用的避障方法,但超声避障存在一些缺点,如存在探测盲区等,特别是当超声传感器和障碍形成一定角度时会产生幻影导致机器人得到错误的信息,从而发生碰撞。

本文采用多个传感器的模糊避障算法来克服超声传感器的幻影干扰,实现机器人的安全避障。

2硬件设计

移动机器人硬件系统主要由电源模块、车速检测模块、直流电机驱动模块、路径模糊避障模块、显示模块、单片机模块等组成。

路径模糊避障模块将采集到的路面障碍物与车体位置的信息、转速测量模块测得的车速信息通过各自的接口送到单片机。

单片机则根据这些信息,通过相应的软件算法对舵机与直流驱动电机进行控制,进而完成对小车方向与速度的控制,电源模块则向各个模块提供所需的电压与电流,并要保证系统稳定安全的运行。

障碍物的信息包括超声波传感器中心到障碍物的最短距离和障碍物相对于车体的方位。

移动机器人运行过程中,实时采集每个方向上超声波传感器中心到障碍物的边界距离,进行比较划分找到其中最短的距离及方位作为车体到障碍物的最短距离和方位。

避障算法如下:

移动机器人以某一速度前进,如果某一传感器检测到的距离符合R1~R9某个规则,那么机器人就根据程序选择绕开障碍物或继续前进。

避障软件实现的步骤包括主程序、测距程序、显示程序、电机转向控制,如图14所示为避障步骤图。

图14避障程序流程图

3软件设计

单片机编程产生超声波,在系统发射超声波的同时利用定时器的计数功能开始计时,接收到回波后,接收电路输出端产生的负跳变在单片机的外部中断源输入口产生一个中断请求信号,响应外部中断请求,执行外部中断服务子程序,停止计时,读取时间差,计算距离,然后通过软件译码,将数据输出P0、P1和P2口显示。

程序流程图如图15,(a)为主程序流程图,(b)为定时中断子程序流程图,(c)为外部中断子程序流程图。

图15程序流程图

根据避障规则,移动机器人以某一速度前进,如果某一传感器检测到的距离小于某个值,这个值是预定义可编程的临界距离,那么机器人以某一角度偏转,从而绕开障碍物继续前进。

机器人在行驶过程中如果遇到障碍物,它的超声波测距系统马上计算出机器人与障碍物的距离d,若d

程序流程图如图16所示。

 

图16避障程序流程图

总结

本课题介绍了一种基于单片机的超声波测距系统的原理和设计。

给出了硬件和软件的设计方案。

超声波传感器是本系统的核心器件,本论文详细地介绍了超声波传感器的原理、结构、检测方式以及它的一些特性。

只有深入地了解超声波传感器的工作原理,才能更好的设计测距电路。

单片机是本系统的控制部分,采用Atmel公司生产的AT89C51芯片。

通过对单片机产生的信号进行放大,以驱动传感器工作。

接收电路采用的是CX20106A,通过接收电路对接收到的信号进行放大和整形,最终再输出负脉冲给单片机响应中断程序。

本系统的LED显示部分采用的是动态扫描方式,并用单片机软件译码。

单片机内部采用C语言编程,信号的产生、时间差的读取、距离的计算以及显示输出的译码都由单片机编程完成。

本文实现了利用超声波测距信息来实现移动机器人的顺利避障行走,是因为超声波测距仪信息处理简单、速度快,但它也具有一定的局限性,主要表现在探测波束角过大、方向性差、只能获得目标的距离信息,而不能准确地提供目标的边界信息等,故需要对数据的融合算法进行进一步的研究,以消除它的缺陷。

 

致谢

首先感谢我的导师王红梅老师,在老师的耐心指导和帮助下,我才能顺利完成毕业设计。

从整片论文完成的过程中,从其中学会了很多专业方面的知识。

过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。

虽然在这次设计中对于知识的运用和衔接还不够熟练。

但是我将在以后的工作和学习中继续努力、不断完善。

这几个个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。

也感谢在毕业设计中帮助过我的所有同学和师兄师姐们,感谢你们对我的支持。

由于自身水平有限,设计中难免存在很多不足之处,敬请各位老师批评指正。

参考文献

【1】刘凤然,田红芳,王侃.基于单片机的移动机器人自动避障控制系统.中国仪器仪表,2001,3:

27-29

【2】蔡美琴.MCS-51系列单片机系统及其应用.北京:

高等教育出版社,1999.4

【3】徐国华,谭敏.移动机器人的发展现状及其趋势.机器人技术与应用,2001.3

【4】刘玉琴,刘敬文.超声波测距仪在移动机器人避障中的应用,2006.6

【5】刘晔,王峰,韦兆碧,等.超声波测距仪的研究.计算机测量与控制,2002.10

【6】栗桂凤,周东辉,王光昕.基于超声波传感器的机器人坏境探测系统.传感器技术,2005.2

【7】孟庆春,齐勇,张淑君等.智能机器人及其发展.中国海洋大学学报,2004,34(5):

831-838

【8】罗本成等.机器人多路超声波坏境探测器的研制.中国科学院研究生院学报,2002,19

(2):

172-176

【9】李茂山.超声波测距原理及其实践技术.实用测试技术,1994.1

【10】曾德怀,谢存禧等.行走机器人的超声波测距系统的研究.机械科学与技术,2004,23(5):

613-616.

【11】王云涛,鲍青衫等.超声波测距系统在移动智能机器人中的应用.哈尔滨工业大学学报。

1998,2,30

(1):

20-23

【12】张迎新等.单片机初级教程(单片机初级基础).北京航空航天大学

【13】华成英等.模拟电子技术基本教程.清华大学出版社

【14】庄晓东,孟庆春,殷波等.动态坏境中基于模糊概念的机器人路径搜索方法.机器人,2001,23(5):

397-399

【15】张汝波,周宁,顾国昌等.基于强化学习的智能机器人碰壁方法研究.机器人,1999,21(3):

204-209

【16】隋卫平.高精度实时超声波测距技术研究.国防科技大学硕士论文.2003.

【17】沙爱军.基于单片机的超声波测距系统的研究与设计.北京:

电子科技,2009(11)

【18】基于AT89C51超声波测距控制系统设计.李录锋:

中国矿业大学,徐州221116

附录

附录1

超声波测距电路原理图

超声波测距电路原理图

附录2

RECEIVE0:

PUSHPSW

PUSHACC

CLREX0;关外部中断0

MOVR7,TH0;读取时间值

MOVR6,TL0

CLRC

MOVA,R6

SUBBA,#0BBH;计算时间差

MOV31H,A;存储结果

MOVA,R7

SUBBA,#3CH

MOV30H,A

SETBEX0;开外部中断0

POPACC

POPPSW

RETI

附录3

receive1:

pushpsw

pushacc

clrex1;关外部中断1

jnbp1.1,right;P1.1引脚为0,转至右测距电路中断服务程序

jnbp1.2,left;P1.2引脚为0,转至左测距电路中断服务程序

return:

SETBEX1;开外部中断1

popacc

poppsw

reti

right;右测距电路中断服务程序入口

ajmpreturn

left;左测距电路中断服务程序入口

Ajmpreturn

附录4

#include

#definek1P3_4

#definecsbout   P3_5                 //超声波发送

#definecsbint   P3_7                 //超声波接收

#definecsbc=0.034

#definebg P3_3

unsignedcharcsbds,opto,digit,buffer[3],xm1,xm2,xm0,key,jpjs;//显示标识

unsignedcharconvert[10]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段码unsignedints,t,i,xx,j,sj1,sj2,sj3,mqs,sx1;

bitcl;     

voidcsbcj();

voiddelay(j);                             //延时函数

voidscanLED();                             //显示函数

voidtimeToBuffer();                 //显示转换函数

voidkeyscan();

voidk1cl();

voidk2cl();

voidk3cl();

voidk4cl();

voidoffmsd();

voidmain()                             //主函数

{

    EA=1;                               //开中断

      TMOD=0x11;                  //设定时器0为计数,设定时器1定时

    ET0=1;                             //定时器0中断允许

    ET1=1;                             //定时器1中断允许

    TH0=0x00;

    TL0=0x00;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1