果园喷雾机器人自动避障设计.docx
《果园喷雾机器人自动避障设计.docx》由会员分享,可在线阅读,更多相关《果园喷雾机器人自动避障设计.docx(28页珍藏版)》请在冰豆网上搜索。
![果园喷雾机器人自动避障设计.docx](https://file1.bdocx.com/fileroot1/2023-2/2/01c6fd37-dc63-4ddd-b878-9f5b6ba3f71d/01c6fd37-dc63-4ddd-b878-9f5b6ba3f71d1.gif)
果园喷雾机器人自动避障设计
********学院
毕业论文(设计)
题目:
果园喷雾机器人自动避障设计
申请学位******
系别电子信息工程学院
专业********
学生姓名*******
学号**********
导师姓名****************
摘要
果园喷雾机器人在工作的时候不可避免地受到障碍物的干扰,障碍物会严重影响机器人的工作效率,严重会使机器人损坏,机器人还会对身边工作人员造成安全威胁,所以实现机器人的自动避障非常重要,由于果园机器人体型比较大,需要检测到远距离的障碍物,因此设计方法非常重要,
本论文采用单片机80C51为核心,用T/R-40-12型超声波测距的方法检测障碍物,通过单片机对信号的处理,驱动电机的转向,前进与后退,从而达到自动避障的功能。
通过实践得出超声波的测距误差在5%之内,该设计的性能稳定,果园喷雾机器人能够绕开障碍物去实现对果树喷雾的目的。
关键词80C51单片机,果园喷雾机器人,超声波传感器,超声波测距
Abstract
Orchardspraywhentherobotatworkinevitablybeinterferencefromobstructions,obstacleswillseriouslyaffecttheefficiencyoftherobot,therobotwouldseriouslydamage,therobotwillbeonstaffaroundasecuritythreat,sotoachieveautomaticobstacleavoidancerobotisveryimportant,becauserelativelylargesizefruitrobotneedstodetectthedistanceofthebarrier,sodesignisimportant
Inthisthesis,80C51microcontrollercore,withT/R-40-12ultrasonicrangefindertodetectobstacles,thesignalprocessingthroughtheMCUtodrivethemotorturning,forwardandbackward,soastoachieveautomaticobstacleavoidancefunction.
Obtainedthroughthepracticeofultrasonicrangeerrorwithin5%ofthedesignofstable,orchardsprayingrobotcanbypasstheobstaclestoachievingthepurposefruitspray.
Keywords80C51microcontroller,orchardsprayrobot,ultrasonicsensors,ultrasonicranging
目录
1绪论1
1.1激光传感器1
1.2视觉避障1
1.3超声传感器1
1.4避障系统设计思想2
2系统设计3
2.1总系统设计3
2.2单片机输出电路的设计3
2.3障碍物的信息的采集4
3超声波测距设计5
3.1超声波测距工作原理5
3.2超声波测距系统硬件设计5
3.3测距算法设计9
3.4程序流程10
3.5避障的实现11
4总结12
致谢13
参考文献14
附录15
1绪论
移动机器人是机器人的重要研究领域,人们很早就开始移动机器人的研究。
斯坦福研究院(SRI)的NilsNilssen和CharlesRosen等人[1],在1996年至1972年中研制了Shakey的自主移动机器人[2],目的是应用人工智能技术研究机器人在复杂环境下的自主推理、规划和控制。
20世纪70年代末,随着计算机的应用和传感技术的发展,移动机器人的研究又出现了新的高潮。
20世纪90年代以来,以研制高水平的环境信息传感器和信息处理技术,高适应性的移动机器人控制技术,真实环境下的规划技术为标准,开展了移动机器人更高层次的研究。
避障是智能移动机器人基本的功能,具体的实现方法多种多样。
避障使用的传感器主要有超声传感器、视觉传感器、红外传感器、激光传感器、接近觉传感器等传感器
1.1激光传感器
激光测距传感器的方向性特别好,对一般应用可以认为是理想的直线。
激光测距传感器的波束很窄,所以方向性好,
因此可得到障碍物的准确位置。
激光测距的精确度很高,但是激光测距的技术复杂,实现难度较大,而且一些激光传感器发射的激光,对人的眼睛有伤害[3]。
1.2视觉避障
视觉避障的优点是探测范围广,可以获得物体的形状、速度等信息[4]。
实际应用中使用多个摄像机,或是利用一个摄像机的序列图像来计算目标的距离和速度,还可采用SSD算法,根据一个摄像机的运动图像来计算机器人与目标的相对位移,并用自适应滤波对测量数据进行处理,以减小因环境不稳定性造成的测量误差。
在图像处理中,边缘锐化、特征提取等图像处理方法计算量大,实时性差,对中央处理机要求高,不适合在较小的自主移动机器人上使用。
视觉测距法检测不能检测到玻璃等透明障碍物的存在,另外受视场光线强弱、烟雾的影响很大[5]。
1.3超声传感器
超声传感器的成本低,实现方法简单,技术成熟,是机器人避障的常用传感器。
机器人是利用超声测距来探测障碍的位置,超声波测距采用时间差测距法,即超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时,根据超声波在空气中的传播速度和计时器记录的时间[6],就可以计算出发射点距障碍物的距离。
由于超声波在空气中的速度和空气的温度湿度有关,在比较精确的测量中,可以把温度的变化和其它因素考虑进去。
因为单超声传感器避障存在由于超声波的方向性不好造成对障碍物的定位不精确,存在探测盲区等缺点。
1.4避障系统设计思想
要想实现移动机器人避障行走的自主控制,所面临的基本问题是一方面要求有充分的环境信息,另一方面要求能处理所获得的环境信息使其转化成控制信息。
环境信息的获得移动机器人的避障行走,首先是解决静态障碍物的避障,此时环境信息主要是距离信息[7]。
通过对激光、红外线、超声波等现有测距方法的比较可知,超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,利用声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求[8]。
本系统采用超声波测距方法,为果园喷雾机器人识别其运动的前方环境提供一个准确的运动距离信息。
2系统设计
2.1总系统设计
自动避障系统的硬件电路主要由超声波发射电路、超声波接收电路、单片机启及外围电路、从转换电路和机器人行走控制电路组成[9],原理方框图如图2.1所示
图2.1系统硬件图
单片机P1.0端口接超声波发射电路的输人端,通过单片机执行定时中断服务子程序,以一定的时间间隔在P1.0端口输出一个40KHz的方波[10],驱动超声波传感器UCM40T,发出40K的脉冲超声波。
在启动发射电路的同时启动单片机内的定时器T0利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。
超声波接收电路输出端接单片机外部中断INT0[11],当收到超声波反射波时,接收电路输出端产生一个负跳变,则INT0端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取超声波自发射至接收的往返时间,计算出机器人距障碍物的距离。
2.2单片机输出电路的设计
单片机对所获得的距离信息经过避障算法运算,转换出的控制信息经D/A输出。
D/A换单元选用DAC0832,工作于双缓冲器的方式,同步输出二路模拟量,分别为转角控制量Va和速度控制量Vv[12],送给机器人控制电路输人端,转角控制电路以电压Va实时控制机器人的转向角,速度控制电路以电压Vv实时控制机器人的行走速度.
2.3障碍物的信息的采集
障碍物的信息包括超声波传感器中心到障碍物的最短距离和障碍物相对于车体的方位[12]。
移动机器人运行过程中,实时采集每个方向上超声波传感器中心到障碍物的边界距离,进行比较划分找到其中最短的距离及方位作为车体到障碍物的最短距离和方位。
避障算法如下移动机器人以某一速度前进,如果某一传感器检测到的距离小于dc,这个距离是预定义编程的临界距离,那么机器人以某一角度偏转[13],从而绕开障碍物;否则继续前进。
避障软件实现的步骤包括主程序、测距程序、显示程序、电机转向控制程序[14]如图2.2所示
图2.2避障步骤图
3超声波测距设计
超声波测距部分是机器人避障的核心部分。
3.1超声波测距工作原理
利用超声波作为定位技术是蝙蝠等一些无目视能力的生物作为防御及捕捉猎物生存的手段,也就是由引言生物体发射不被人们听到的超声波以上的机械波〕,借助空气媒质传播,由被待捕捉的猎物或障随着机器人技术的发展,自主移动机器人以其灵碍物反射回来的时间间隔长短与被反射的超声波的强活性和智能性等特点,在人们的生产、生活中的应用越弱判断猎物性质或障碍物位置的方法。
由于超声波的来越广泛。
自主移动机器人通过各种传感器系统感知速度相对于光速要小得多,超声波与光波不同,它是一外界环境和自身状态,在复杂的已知或者未知环境中种弹性机械波,可以在气体、液体和固体中传播。
我们自主移动并完成相应的任务。
而在多种探测手段知道,电磁波的传播速度为“,而超声波在空中,超声波传感器系统由于具有成本低,安装方便,不气中的传播速度为,其速度相对电磁波是非常易受电磁、光线、被测对象颜色、烟雾等影响,时间信息慢的。
超声波在相同的传播媒体里大气条件传播速直观等特点,对于被测物处于黑暗、有灰尘、烟雾、电磁度相同,即在相当大的频率范围内声速不随频率变化,干扰、有毒等恶劣的环境下有一定的适应能力,因此在波动的传播方向与振动方向一致,是纵向振动的弹性移动机器人领域有着广泛的应用。
机械波,它是借助于传播介质的分子运动而传播的,其传播时间就比较容易检测,并且易于定向发射,方向性超声波工作原理好,强度好控制,因而人类采用仿真技能利用超声波测距,它是一种利用声波特性、电子计数、光电开关相结[15]。
3.2超声波测距系统硬件设计
本设计采用AT89C51或AT89S51单片机,晶振:
12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断0口监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,断码用74LS244,位码用8550驱动.采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。
单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。
计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。
本设计包括超声波接收电路、超声波发送电路、距离显示电路组成[16],如图3.1
图3.1
超声波发送电路图
图3.2
超声波接收电路部分:
图3.3超声波接受电路图
使用CX20106A集成电路对接收探头受到的信号进行放大、滤波。
其总放大增益80db。
表1是CX20106A的主要引脚注释[17]。
表1
引脚
功能
1
超声信号输入端,该脚的输入阻抗约为40kΩ
2
该脚与地之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。
增大电阻R1或减小C1,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。
但C的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R1=4.7Ω,C1=1μF
3
该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μf
4
接地端
5
该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。
例如,取R=200kΩR=200kΩ时,f0≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz
6
该脚与地之间接一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短
7
遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22kΩ,没有接受信号是该端输出为高电平,有信号时则产生下降
测距显示电路:
单片机采用89S51或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。
单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。
显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。
单片机系统及显示电路[18]如图3.4所示.
3.3测距算法设计
超声波在空气中传播速度为每秒钟340米(15℃时)[19]。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m×0.03S=10.2m。
由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离,
图3.4算法演示图
3.4程序流程
系统开始由超声波发送电路发出超声波,当超声波接收电路接收到回波时,单片机根据算法算出障碍物距离,显示在数码管上面。
图3.5测距程序流程图
超声波测距系统的测试结果:
表2
障碍物距离(cm)
显示距离(cm)
25
27.8
26
27.7
27
27.6
290
29.1
300
300.4
400
400.2
4500
400.1
1000
400.2
由表可见,超声波测试的距离范围在27cm到4m之间,经计算,误差在5%之内
3.5避障的实现
机器人在行使过程中如果遇到障碍物,它的超声波测距系统马上计算出机器人与障碍物的距离d,若d
4总结
本文实现了利用超声波测距信息来实现移动机器人的顺利行走,是因为超声波测距仪信息处理简单、速度快,但它也具有一定的局限性,主要表现在探测波束角过大、方向性差、只能获得目标的距离信息,而不能准确地提供目标的边界信息等,故需要对数据的融合算法进行进一步的研究,以消除它的缺陷。
致谢
历时三个月的毕业设计已经告一段落。
经过自己不断的搜索努力以及***耐心指导和热情帮助,本设计已经基本完成。
通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。
虽然在这次设计中对于知识的运用和衔接还不够熟练。
但是我将在以后的工作和学习中继续努力、不断完善。
这三个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。
由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。
参考文献
[1]IntilleSS.Designingahomeofthefuture[J].IEEEPervasiveComputing,2002,1
(2):
80-86.
[2]ChrisChambers.Smarthome:
Howhomeautomationworksandwhatitcando[J].22-23
[3]杨东鹤,刘喜昂.智能移动机器人的超声避障研究[J]。
机器人,2003,1
(2):
80-86.
[4宗光华·机器人的创意设计与实践[M]·北京航空航天大学出版社,2004.45-56
[5]何立民,单片机应用系统设计.北京:
航天航空大学出版社,2005.30-67
[6]张毅刚,彭喜元.新编MCS-51单片机应用设计.第一版,哈尔滨工业大学出版社,2003,25~27,411~417
[7]徐颖.Protel99SEEDA技术及应用.机械工业出版社[M]2005.23-45
[8]何希才.传感器及其应用.国防工业出版社[M]2001.22-45
[9]高钟毓.机电控制工程.清华大学出版社[M]2003.68-98
[10] HarveyL,ColesGSV,WatsonJ.Thedevelopmentofanenvi2ronmentchamberforthecharacterizationofgassensors[J].Sen2sorsandActuators,1989,16:
393-405.
[11]路锦正,王建勤,杨绍国,赵 珂,赵太飞.超声波测距仪的设计[J].2006.1-5
[12]张凡.微机原理与接口技术.北京交通大学出版社[M]2003.20-25
[13]戴胜华.单片机原理与应用.北京交通大学出版社[M]2005.36-44
[14]侯建军.数字电子技术基础.北京:
高等教育出版社[M]2003.22-38
[15]沈进棋,诸静.移动机器人多路超声波数据采集系统的[J].2005.12-18
[16]刘喜昂.基于多超声波的安全避障[J].2004.2-7
[17]谭进怀,冯地耘,陈立万.超声波语音测距系统在车辆避障中的应用[J].2004.34-38
[18]宋立中.基于单片机的超声波测距仪LED显示电路的设计[J]2006.2-8
[19]刘玉芹‘刘敬文.超声波测距仪在移动机器人避障中的应用[J]2005.10-20
[20]侯丽春,孙志强,陆荣.红外线再机器人避障中的应用[J]2007.2-5
附录
超声波测试程序:
;USEBY:
超声波测距器
;IC:
AT89C51
;TEL:
;OSCCAL:
XT(12M)
;display:
共阳LED显示
;Updata:
2008/03/12
;NAME:
;///////////////////////////////////////////////////////
;测距范围7CM-11M,堆栈在4FH以上,20H用于标志
;显示缓冲单元在40H-43H,使用内存44H、45H、46H用于计算距离
;
VOUTEQUP1.0;红外脉冲输出端口
speakequp1.1
;********************************************
;*中断入口程序*
;********************************************
;
ORG0000H
LJMPSTART
ORG0003H
LJMPPINT0
ORG000BH
reti
ORG0013H
RETI
ORG001BH
LJMPINTT1
ORG0023H
RETI
ORG002BH
RETI
;
;********************************************
;*主程序*
;********************************************
;
START:
MOVSP,#4FH
MOVR0,#40H;40H-43H为显示数据存放单元(40H为最高位)
MOVR7,#0BH
CLEARDISP:
MOV@R0,#00H
INCR0
DJNZR7,CLEARDISP
MOV20H,#00H
MOVTMOD,#11H;T1为T0为16位定时器
MOVTH0,#00H;65毫秒初值
MOVTL0,#00H
MOVTH1,#00H
MOVTL1,#00H
MOVP0,#0FFH
MOVP1,#0FFH
MOVP2,#0FFH
MOVP3,#0FFH
MOVR4,#04H;超声波肪冲个数控制(为赋值的一半)
SETBPX0
SETBET1
SETBEA
SETBTR1;开启测距定时器
start1:
LCALLDISPLAY
JNB00H,START1;收到反射信号时标志位为1
CLREA
LCALLWORK;计算距离子程序
clrEA
MOVR2,#32h;#64H;测量间隔控制(约4*100=400MS)
LOOP:
LCALLDISPLAY
DJNZR2,LOOP
CLR00H
setbet0
movth0,00h
movtl0,00h
SETBTR1;重新开启测距定时器
SETBEA
SJMPStart1
;
;****************************************************
;*中断程序**
;****************************************************
;T1中断,发超声波用;T1中断,65毫秒中断一次
INTT1:
CLREA
CLRTR0
clrex0
MOVTH0,#00H
MOVTL0,#00H
MOVTH1,#00H
MOVTL1,#00H
SETBET0
SETBEA
SETBTR0;启动计数器T0,用以计
intt11:
CPLVOUT;40KHZ
nop
nop
nop
nop
nop
nop
nop
nop
nop
DJNZR4,intt11
;超声波发送完毕,
MOVR4,#04H
lcalldelay_250;延时,避开发射的直达声波信号
SETBEX0;开启接收回波中断
RETIOUT:
RETI
;外中断0,收到回波时进入
PINT0:
nop
jbp3.2,pint0_exit
CLRTR0;关计数器
CLREA;
CLREX0;
MOV44H,TL0;将计数值移入处理单元
MOV45H,TH0;
movth0,#00h
movtl0,#00h
jnbp3.2,$
SETB00H;接收成功标志
pint0_exit:
RETI
;
;*************