基于红外传感器的机器人避障控制的研究

上传人:bei****lei 文档编号:135636478 上传时间:2022-08-15 格式:DOC 页数:28 大小:894.80KB
收藏 版权申诉 举报 下载
基于红外传感器的机器人避障控制的研究_第1页
第1页 / 共28页
基于红外传感器的机器人避障控制的研究_第2页
第2页 / 共28页
基于红外传感器的机器人避障控制的研究_第3页
第3页 / 共28页
资源描述:

《基于红外传感器的机器人避障控制的研究》由会员分享,可在线阅读,更多相关《基于红外传感器的机器人避障控制的研究(28页珍藏版)》请在装配图网上搜索。

1、 本科毕业论文(设计、创作)题目:基于红外传感器的机器人避障控制的研究 学生姓名: xxx 学号: xxxxxx 所在院系: 信息与通信技术系 专业: 电气工程及其自动化 入学时间: 2010 年 09 月导师姓名: xxx 职称/学位: xxxx/xxx导师所在单位: xxxxxxxxxxxxx 完成时间: 2014 年 5 月安徽三联学院教务处 制安徽三联学院毕业论文基于红外传感器的机器人避障控制的研究摘要: 自主避障功能是移动机器人的重要且必要的功能之一。本文基于红外传感器研究并实现了机器人的自主避障设计。以 AT89C51单片机为控制核心,采用红外发射管发射红外光,红外接收管将接受到的

2、障碍物信息,即反射回的红外光通过 ADC0808 将其转化为数字信号送入单片机,在单片机中通过汇编程序实现对数字信号进行变换和判断此判断结果反映了该红外传感器探测方向上的障碍物情况,单片机内置程序对各个红外传感器返回后的障碍物情况进行编码此编码则反映了避障机器人周围环境情况,根据此编码选择合适的避障策略,然后单片机会发出 PWM 波,经 L298 芯片驱动左右电机的转动,从而控制机器人的行进,同时为了能够精确控制车轮的行进速度,采用光电码盘的方法测取车轮速度并返回到单片机中,由单片机中的数字 PI 控制器将返回速度和给定速度相比较,输出增量值对电机速度校正,从而能很好的保持机器人速度的稳定。本

3、设计结构简单,较容易实现,比较成功的实现自主避障功能要求。关键词:自主避障; 单片机; 红外光1安徽三联学院毕业论文Based on infrared sensor robot obstacle avoidance controlAbstract: Autonomous obstacle avoidance function is one of the mobile robot important and necessary functions. This paper describes the infrared sensor -based autonomous obstacle avoida

4、nce robot design. By this method AT89C51 SCM core , the use of infrared emission tube emits infrared light , infrared receiver will receive the obstacle information , namely infrared light reflected back by ADC0808 convert it to a digital signal into the SCM , the SCM the procedure for converting th

5、e digital signal and judgment - this judgment results reflect the situation of the infrared sensor to detect obstacles in the direction of the SCM built-in program on the circumstances of each obstacle infrared sensor and returned to encode - this code reflects the avoidance impaired environmental c

6、onditions around the robot , and then select the appropriate coding based on this avoidance strategy , MCU will issue a PWM wave, turning around after L298 motor driver to control the travel of the robot , and in order to be able to precisely control the traveling speed of the wheel , using photoele

7、ctric method code disc wheel speed measurements taken and returned to the MCU , the MCU digital PI controller will return to the speed and the given speed compared to the output of the incremental value of the motor speed correction , so that it can maintain a good speed robot stable. The design of

8、the structure is simple, relatively easy to achieve, the more successful completion of the request.Keywords: self obstacle avoidance; SCM; infrared light目录第一章 前言11.1 移动机器人的发展历程及定义11.2 移动机器人的国内外研究现状与意义11.3自主避障小车的主要内容2第二章 自主避障机器人的结构设计方案42.1 自主避障机器人的走行结构设计42.2 电机驱动单元设计42.2.1 驱动电机的选型42.2.2 电机驱动方式的选择42.2

9、.3 光电测速方式槽式光电开关52.3 红外传感器检测单元设计52.3.1 红外传感器52.3.2 红外测距原理52.4 软件设计部分52.5 主控单元的设计6第三章 自主避障机器人的硬件设计73.1 稳压电路设计73.2 自主避障机器人的单片机控制电路设计7第四章 自主避障机器人软件设计124.1 主程序流程124.2 检测子程序流程134.3 策略选择程序流程154.4 电机驱动程序流程164.4.1 电机驱动程序流程174.4.2 测速中断程序流程18第五章 总结与展望205.1 工作总结205.2 工作展望20致谢22参考文献23I安徽三联学院论文第一章 前言1.1 移动机器人的发展历

10、程及定义机器人技术涉及到了了很多学科的发展成果,是现代高新技术的发展前沿,是当前科学研究讨论的热门话题。而移动机器人又是机器人学中的一个大的分支,也是机器人学发展的不可或缺的一部分。随着传感技术、计算机科学、人工智能及其他有关学科的广泛应用,移动机器人正在朝着智能化和功能多样化的方向进行深入,它的应用亦然愈来愈普遍,几乎融入到各个领域 。移动机器人的最初建议开始于 20 世纪 60 年代末期的一个简单的想法,随后各种类型的机器人接踵而至出现并迅速在工业生产中呈现出实用化应用,抬高了许多相关产品质量。紧跟着机器人的不断发展,人们发觉到,这些机器人不能满足很多方面产品的需求 。20 世纪 80 年

11、代末期,许多国家有策略地展开了移动机器人技术的研发,主要方针是人工智能技术的应用,在一定的环境下完成机器人体系的自主化,解决了目前所有机器人只能固定化的难题。自主是移动机器人探测目的物时且不对操作环境作任何的改变和移动并且在无人为干预的前提下,有目标的运动和完成所要求的避障操作任务。自主化运转是移动机器人的重要前提,也是当前研究的难题。移动机器人是一种可通过传感器信息和自己的状态,实现在有障碍的环境下自主运动,从而完成某一任务的机器人。1.2 移动机器人的国内外研究现状与意义80 年代初期,美国国防高级研究计划局(DARPA)特意立项声明,订立对地无人作战设备平台的战略战术规划。自那时以来,世

12、界各地开设了一个前奏,一个室外移动机器人的综合研究。不仅在算法的研究进展,对移动机器人的避障研究工作的仿真工作,和一些已经成功地付诸实践,科研项目,2004由美国宇航局发射的“勇气”和“机遇”探测器登陆火星,相应的传感器获取环境信息来决定绕过障碍物。它们的自主性和智能性再次向前迈了一大步。而我国清华大学开发的 THMR-,THMR-型机器人,其行动决策与规划技术已达国际先进水平。移动机器人的避障是一个伟大的成就,随着传感器技术,控制理论和人工智能技术的成熟,在移动机器人的应用领域不断扩大的同时,机器人所处环境也越来越复杂,避障技术要求越来越高。1.3自主避障小车的主要内容目前,移动机器人现在正

13、朝着功能智能化和功能多样化等方向迈进,其应用也越来越普遍,成为时代发展的制高点。例如,在工业生产中,越来越多的移动机器人已广泛应用于工业生产,从事多种生产研发应用,工业生产实现自动化程度高。因此,更多的代替人类完成那些沉重的,重复的,有害的工业生产劳动避开危险因素。在宇宙的危险环境的探索和发展,海洋和地下未知的环境,机器人可以完整的替代和资源开发利用等,降低了对人类的危险性我国的“蛟龙”号就是这方面的一个例子。机器人技术的发展水平是一个国家高科技水平和工业自动化程度的一个重要的风向标和表现。在移动机器人上的研究成果必将能提高我国的科技水平,使我国在21世纪科技浪潮中占据技术制高点。本文中自主避

14、障机器人采用主要模块化设计方案,主要分为三个模块:控制模块,驱动模块和检测模块;然后分别对三个模块进行硬件设计,以期最后能很好的完成对整个避障机器人硬件的整体设计。其次运用 C语言编程完成机器人的软件设计部分。机器人主要采用光电红外管为检测传感器,自主的探测周围环境,在探测到障碍物后,根据障碍物的分布情况,选择一个比较合理的避障策略,然后驱动电机,使机器人能主动的避开障碍物。检测模块主要用于驱动发光二极管发出红外光,同时驱动红外接收管接收发射出的红外光的发射光,由于在空间中,红外光的能量会有所消耗,这样接受光接收到的红外光的光强就会由于障碍物远近不同而不同,由此接受光输出的电流值就会不同,采用

15、放大,整形,滤波和 V/I 变换就能将电流值装换成与光强成一定关系的模拟电压,通过 A/D 转化数字电压,就可以根据数字电压计算出电压值。驱动模块主要作用是应用于驱动电机带动驱动轮行走。自主避障机器人采用四轮移动的方式,通过两驱动轮的差速调节方式来实现控制机器人的前进,后退和转弯的功能,所以单片机要发出两路可调占空比的 PWM 波,然后通过驱动芯片分别控制左、右轮电机速度,分别带动驱动轮运动,以方向和速度控制机器人来避障。同时,为了精确控制左右轮的转速和机器人的位置,采用在左右电机上加入光电码盘,以精确测出左右轮转速和行进距离,信息返回到单片机中,进入数字 PI 调节器中,从而可以调节单片机输

16、出的 PWM 的占空比,接着调节电机转速,即构成测速负反馈系统。主控模块以单片机为处理核心,通过采集红外接收管信号,将信号转换为一定的距离值,通过分析判断,由外部障碍物分布情况,作出合理的避障决策,然后向电机发出指令,控制其车轮转速和机器人的速度和转向,从而避开障碍物。下图是本次研究的主题框架,以单片机为核心的自主避障机器人的实现。图 1.1 以单片机为核心的原理框图22第二章 自主避障机器人的结构设计方案2.1 自主避障机器人的走行结构设计四轮式移动方式:典型的四轮式移动机器人通常采用两个万向轮和两个驱动轮装置,车辆配置相对简单,在碰撞或遇到地面较粗糙时通常会影响到其稳定性,自主避障机器人主

17、要的运动场合是室内,而室内环境较简单,不需要很强的驱动能力,在行进过程中难免会碰到障碍物,在碰到障碍物时,有可能会导致机器人倾倒,而四轮式的稳定性较好,不太可能会出现倾倒的状况。故选用四轮移动方式是较为合理的。2.2 电机驱动单元设计2.2.1 驱动电机的选型(1)直流电机转矩大,能很好的克服摩擦力矩和负载转矩,转速范围较宽、稳定的运行速度,响应速度快,负载特性硬,可以保证运行速度不受负载的影响。(2)步进电机简单耐用,可以用微处理器直接驱动或驱动电路驱动;可以直接接受计算机控制方向和速度,抗干扰能力强,控制信号较为简单,易于数字化,定位准确,快速便捷的优势,误差不积累。但由于转动惯量,负载转

18、矩和距频特性等因素影响,电机的调速需要按照一定的调速曲线平缓的进行;这种调速过程是不利于电机控制的。自主避障机器人在实际运动过程中难免会碰到各种类型的探测物,主要有动态的和静态两种,对于动态障碍物需要快速的改变避障机器人的速度,快速地避开障碍物。这就需要驱动电机具有很好的快速响应能力,便于调速和较大的转矩,而步进电机明显符合以上要求,所以避障机器人选择步进电机作为驱动电机比较好。2.2.2 电机驱动方式的选择(1)线性放大驱动方式:它有一个简单的控制原理,在输出波动小,线性度好,不会影响相邻的电路等。这些优点对相邻器件干扰小,但会产生更多的热量,效率低,散热问题严重。(2)开关驱动方式:运用脉

19、宽调制 PWM 来控制电动机电枢电压,使半导体器件工作在开关状态,便于用微控制器来完成,实现调速。并且自主避障机器人的电源部分采用的是容量有限的蓄电池,所以选择开关驱动方式是较为可行的。2.2.3 光电测速方式槽式光电开关槽型光电开关:U形结构是通常采用的标准,当对象是U槽和挡住光轴后检测,两个发射器和接收器位于U型槽,形成光轴,光电开关就产生了开关量信号。槽式光电开关能识别透明与半透明物体,相对会适合检测高速运动的物体,使用起来安全可靠。这是较为可行的测速选择。2.3 红外传感器检测单元设计2.3.1 红外传感器光子传感器:一些半导体材料在入射光的照射下,使得材料的电性能发生变化,同时产生光

20、子效应。光子效应所制成的红外传感器通过测量电学性质的变化,得出红外辐射光线的强弱。这样的传感器我们统称光子传感器。光子传感器的主要特点是灵敏度高,响应速度快,以及具备较高的响应频率。但一般须在低温下工作,探测波段较窄。自主避障机器人的红外探测器主要是用来探测障碍物的距离,根据反馈回的障碍物距离的信息引导避障机器人进行电机驱动的准确避障。2.3.2 红外测距原理反射能量的方法:仪器发出的光束(通常是近红外光)照射到被测物体表面,仪器接收到反射测量物体的光能量,来判断被测物体的距离是否是安全距离。2.4 软件设计部分软件编写同样采用多模块编程方法,将软件部分分为四个模块,其中包含检测模块、策略选择

21、模块、电机驱动模块和主函数模块。检测模块用于检测周围环境中的障碍物,策略选择模块根据周围障碍物的情况选择合适的避障策略,电机驱动模块用于驱动左右轮电机正反转与加减速,从而使机器人前进,后退和左右转弯,而主函数模块则调用上述模块中函数使机器人能按照程序自主的探测障碍物。在软件编程语言上选择使用 C 语言。汇编语言虽然在执行效率等方面高于 C 语言,但其在可读性和移植性上远远低于 C 语言。用汇编语言编程过程较长,比较繁琐,同时对编程人员要求较高,需要了解硬件内部的结构,而 C 语言的编程过程则简单明了,对编程人员要求也比较低,易于快速开发,同时其执行效率也高。所以本项目选择 C 语言作为主要编程

22、语言。2.5 主控单元的设计(1) 51 系类单片机产品的硬件结构十分合理,指令系统正规,使用十分普遍。从内部的硬件或软件,一套完整的位操作系统,可以处理一些特殊功能寄存器,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用方便;且具有专门的乘法,除法和二进制至十进制的调整指令。该系类单片机的 I/O 口操作较为简单,但驱动能力不足,并且运行速度较慢,满足不了运行需求。而新式单片机完全改善了这样的缺点。(2)PIC 单片机采用精简指令集,指令使用较为简单,运行速度较快;I / O是一个双向互补推免输出电路,驱动能力,内置的10位A / D,能力已调试和在线编程,但数据传输和

23、逻辑工作寄存器的瓶颈现象较为严重,需反复选择存储体。对于移动机器人则不太适合。(3)AVR 单片机运行速度较快,部分通用寄存器不能直接与函数操作,在程序复杂情况下,通用寄存器不能满足多方面的要求。I/O 口同为双向电路,驱动能力相比较 PIC 弱,比51 单片机相比更强。AVR 单片机和 PIC 单片机的功能较 51 系类强,内部集成模块较多,使用起来可以减少外部元器件的使用和连接,但价格较高,指令集较复杂,编程复杂,而老式 51 单片机功能较弱,运算较慢,内部集成模块很少,难以适应处理快速的信号,所以综合以上各式单片机优缺点,选择新式 51 单片机,比较适合避障机器人的使用。图2.1 51单

24、片机89C51第三章 自主避障机器人的硬件设计3.1 稳压电路设计我选择使用铅酸电池的机器人自主避障,额定电压为12V,额定电流为1A,和电源电压的直流5V单片机,直接相连则会机器人导致单片机及其他芯片的损坏,需要改良,所以采用 7805 三端集成稳压电路对蓄电池电压进行降压处理,以保护电路元器件的正常使用。7805的三端稳压集成电路形成一个稳压电源的内部电路的保护电路,只需要很少的外围元件,包括流量,过热和调整管的保护电路,使用起来安全,可靠,方便,而且价格相对便宜。7805 有三条引脚输出,分别是输入端、接地端和输出端。采用标准的TO - 220封装,样子就像普通的三极管。下图为7805

25、稳压管实物图图3.1 7805稳压管3.2 自主避障机器人的单片机控制电路设计针对机器人的主控单元本文采取使用新式51系类单片机,片内含有通用八位的中央处理器(CPU)Flash存储单元,此单片机可以灵活应用于各种控制领域并兼容标准MCS-51指令系统。由于老式的51单片机功能过于简单,功能很难满足移动机器人的要求,所以选择采用AT89C51单片机。AT89C51单片机主要性能参数如下:与MCS-51产品指令系统完全兼容4k字节可重擦写 Flash 闪速存储器1000次擦写周期全静态操作:0Hz24MHz1288字节内部RAM32 个可编程IO口线2个16位定时计数器6个中断源可编程串行UAR

26、T通道低功耗空闲和掉电模式AT89C51有如下的标准功能:两个十六位定时计数器的功能,一个5向量两级中断构造的功能,一个全双工串行通信口功能,字节内部RAM的功能,4k12832个IO口线的功能,4k字节Flash闪速存储器功能,片内振荡器功能及时钟电路的功能。掉电方式存载RAM中的数据,但振荡器停止工作并停止其余部件工作直到下一个元器件复位。空闲模式时允许串行通信口,定时计数器,中断体系继续工作以及RAM的运转,但停止CPU的运转。同时,AT89C51 可降至 0Hz 的静态逻辑操作,并兼容两种软件的省电工作形式。图 3.2 AT89C51 实物图图 3.3 AT89C51 管脚图引脚功能说

27、明:V cc:电源电压GND:接地端P0口:P0口是地址数据总线的复用端口,也是八位漏极开路型的一组双方向IO口,即。P0 口接收指令字节是在Flash编程时,而输出指令字节则是在程序进行检验时。检验时,要求外接上拉电阻。在访问外部数据存储器或程序存储器时,激活内部上拉电阻。此时,这组口线分时转换地址(低八位)和数据总线复用。当作输出口使用时,每位以吸收电流的方式,对端口写“1”可作为高阻抗输入端使用,来带动八个TTL逻辑门电路的运行。P1口:P1是一个八位双向IO口并且内部带有上拉电阻,P1的输出缓冲级可驱动(吸收或输出电流)四个TTL逻辑门电路。程序检验和Flash编程期间,P1口会收到低

28、八位的地址指令。对端口输入“1”指令,内部的上拉电阻会把端口拉到高电平,此时端口可以作为输入口。作为输入口用时,由于内部存在上拉电阻,引脚被外部信号拉低会产生电流(IIL)。P2 口:P2是一个八位双向IO口并带有上拉电阻,4个TTL逻辑门电路需要P2的输出缓冲级来驱动(吸收或输出电流)。对P2端口输入“1”指令,P2端口通过上拉电阻被拉到单片机高电平的位置,此时P2端口可作输入口。因为在单片机的内部存在一个上拉电阻,其中一个引脚被外部信号拉低产生一个输出电流。在访问八位地址的外部数据存储器时,口线上的P2(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间内容没有变化。Fla

29、sh编程以及进行系统校验时,P2口亦可收到高位地址和其它端口的控制信号。在访问十六位地址的外部程序存储器或外部数据存储器时,P2口输出一组高八位地址数据。P3口:P3口的主要组成是一组八位双向IO端口,并且内部带有一个上拉电阻。4个TTL逻辑门电路会被P3口所输出的缓冲级所驱动(吸收或输出电流)。对P3口输入“1”指令时,内部上拉电阻拉高所输入的指令作为输入端口。当P3口作为输入端时,P3口被外部原件拉低来用作上拉电阻的输出电流(IIL)。P3口不仅仅是一般的IO口线,它在这里最重要的作用是它的第二功能,如下表所示:端口引脚 第二功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口

30、) P3.2 INT0(外中断为0) P3.3 INT1(外中断为1) P3.4 T0(定时计数器0的外部输入) P3.5 T1(定时计数器1的外部输入) P3.6 WR(外部存储器写选通) P3.7 RD(外部存储器读选通)P3口用于Flash闪速存储器的编程程序和程序校验时候使用到的控制信号。RST:复位输入。当振荡器开始运转时,RST引脚出现两个机器周期以上,那么高电平会使单片机进行复位操作的一种状态。XTAL1:为反相放大器及内部时钟发生器的输入端。(振荡器)XTAL2:为反相放大器的输出端。(振荡器)复位是单片机的硬件初始化的一种不可缺少的电机操作。单片机系统经复位操作后才能开始正常

31、运转。AT89C51的复位操作方法有两种,即加电复位和手动复位。加电复位是在开机加电时产生,指通过专门的复位电路产生复位信号,此时系统会自动完成的一个操作。加电复位是原始的复位方式。在单片机系统中,机器人调试或在运行的时候,遇到程序“跑飞”、死机或死循环等情况下手动复位是解决问题最常用的方法。手动复位也是通过专用的复位电路实现。所以,将加电复位和手动复位结合起来,形成一个公用复位电路。单片机自身又是一个庞大的同步时序系统,为保证同步工作方式的完成,单片机需要添加时钟信号,以使系统在添加的时钟信号的控制下按时序完成所要求工作。采用 12MHz的晶振电路作为单片机的振荡电路,这样,单片机每个机器周

32、期时间为 1 微秒。单片机外接振荡电路和复位电路构成了单片机最小系统电路最简单工作电路。如下图3.4所示:图 3.4 单片机控制电路最小系统原理图第四章 自主避障机器人软件设计4.1 主程序流程为了便于从整体上把握自主避障机器人的结构,功能和软件部分,采用自控原理的方法,对机器人建立系统,自主避障机器人为双闭环系统。可以分为内环和外环两个环节:内环采用测速负反馈控制机器人速度,外环采用负反馈控制机器人寻找目标,并且在其中加入了一个 PID 控制器 。图4.1 自主避障小车系统结构功能图主程序流程图如下:由主程序流程图可以看到,自主避障机器人的软件部分基本上可以分为五大部分:初始化,检测环境,选

33、择行进策略,驱动电机和寻找目标。而主程序流程图中的开总中断和开5ms 定时器中断是为电机驱动做服务的。初始化部分主要包括对单片各端口复位和定义,定义程序中要用到的各个变量和数组等。检测环境部分主要是驱动红外二极管发出红外光,延时开启 AD 转换器,将接收管中接收到的红外光的模拟信号转换为数字信号输入到单片机中,同时完成一定的红外信息处理。选择行进策略部分主要是将检测环境部分送入的数据做进一步的处理,并将处理后的数据与环境数据比较,得到代表某种环境状况的编码值,由此编码值选择适合的行进策略。驱动电机部分主要是单片机发出 PWM 波经放大后,输出到直流电机,控制左右电机的运转,并且测速反馈返回左右

34、车轮的速度之后,经 PI控制器后输出到电机中,进行速度调节,稳定小车速度。寻找目标部分主要是单片机通过传感器检测特定目标,通过外部中断返回到单片机。如果寻找到目标则驱动电机反转停车,没有找到则进入下一循环。主程序流程图如下:图4.2 主程序流程图4.2 检测子程序流程检测环境是采用红外线测距的方法;红外发光管发射一定强度的光线,经过障碍物的折射后的信息被接收管接受,这将产生一定大小的电流值,转换为对应大小的模拟电压值。软件部分主要是启动 A/D 转换器将对应接收管接收到的模拟电压转换为与之相应的数字电压,将数据输入到单片机。单片机执行程序开始预处理反馈的信息数据。即通过线性拟合计算出数字电压与

35、障碍物距离的关系,得出所探测到的障碍物与避障机器人之间的位移值,然后判断障碍物是否处在安全距离(机器人制动后不会发生碰撞或者能及时避开障碍物的距离),在则此传感器标志位1,不在则置0。检测主程序流程图如下:图4.3 主程序流程图4.3 策略选择程序流程策略选择子程序将检测环境部分送入的四个标志位值进行下一步处理,转换为一个十六进制数 BM,将数与初始化中定义的数组中的数进行比较,得到一个代表所检测到的环境状况的标志数 K flag,,由此即可判断选择避障机器人的行进策略,给出左右轮车速,控制机器人的行进。 编码真值表:四标志位 BM 环境状况 行进策略0000 0x00 无障碍 小车向前000

36、1 0x01 正前障碍 小车微调左右0010 0x02 右前障碍 小车微调左转0100 0x04 左前障碍 小车微调右转1000 0x08 深坑障碍 小车后退1001 0x09 1010 0x0A1011 0x0B 1100 0x0C 1101 0x0D1111 0x0E0011 0x03 正前右前障碍 小车大角度转0101 0x05 正前左前障碍 小车大角度右转0110 0x06 右前左前障碍 小车向前0111 0x06 正前左前右前障碍 小车后退 环境状况数组:QK=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x

37、0C,0x0D,0x0E,0x03 策略选择子程序流程图如下:图4.4 策略选择子程序流程图4.4 电机驱动程序流程电机驱动程序主要是控制左直流电机和右直流电机的运行;单片机根据策略选择程序给出的行进指令,分别向左右电机发出可调占空比的 PWM 波,控制两轮转速,从而控制避障机器人的行进方向和行进速度。为了很好地控制车轮速度,保持其稳定性和正常的工作,在程序中加入了数字增量式 PI 控制器,PI 控制器将给定的速度与测速中断程序返回的现在速度值相比较,然后得出增量值。单片机再将增量值转换成与之对应的 PWM波,波形图信息输出到电机,改变机器人的行进速度,使电机转速一直在给定速度值的上下进行波动

38、,使机器人正常完成避障操作。4.4.1 电机驱动程序流程数字 PID 增量式控制算法的闭环系统图:图4.5 数字PID增量式控制算法的闭环系统图数字 PID 增量型控制算法的流程图如下:图4.6 数字 PID 增量型控制算法的流程图电机驱动子程序流程图如下:图4.7 电机驱动子程序流程图4.4.2 测速中断程序流程 测速中断部分将会采用20ms 定时器中断程序来执行。在20ms 时间内,测取这段时间内左右电机的脉冲数,在中断服务程序执行后,采用M法计算出自主避障机器人的平均速度值,存入速度数组,形成数据库供程序来调用。 M 法测速:旋转编码盘输出的脉冲数M是在规定的时间T内计算这段时间内的平均

39、转速。因此频率法的计算方式为f=M/T,f即旋转编码器输出脉冲的频率。每转动一圈电动机就会产生脉冲个数Z(Z=倍频系数*编码器光栅数),用 f 除以Z即可获得次电动机的转速。n= (60M)/ (Z*T)图4.8 电机测速中断子程序流程图第五章 总结与展望5.1 工作总结本设计采用八位单片机 AT89C51 对直流电机进行控制,通过 I/O 口输出的PWM 冲作为直流电机的控制信号,同时采用红外传感器检测周围的障碍物,再由AT89C51 做出判断,选择出正确的路线完成避障操作功能。通过光电开关,机器人在运行过程中速度可通过一段时间内转动的圈数精确计算。C 语言是现在针对单片机编程的非常流行的编

40、程语言,主要的优点是能够用简短的程序语句实现更多的功能。在硬件上,智能机器人体系采用反射式红外传感器,四个光电传感器探测周围障碍物,从I / O输入到避障信号,红外探测,再经过自带的软件分析反射回的信号,通过 I/O输出相应的电机驱动信号以控制机器人的运动,实现相应的动作来达到避开障碍物的操作;另外一个传感器是测速传感器,它检测到的脉冲数据送入计数器,再由单片机读取,通过程序计算出机器人的速度,速度送到数字 PI 控制器中与给定速度比较,得出相应增量,控制电机运转。在编写程序时,使用C语言。相比较汇编语言而言,用C语言编程,实现同一个功能时,只需要更少的语句就可以完成更多的程序功能。设计完成,

41、经过测试,自主避障机器人能很好的完成目标,实现很好的避障功能。同时在机器人行进过程中,采用PI控制器的方法使避障机器人速度比较稳定,有着很好的控制性能。但机器人在面对以下几种类型的障碍物:中高速动态障碍物,有角障碍物和细小障碍物等,表现的就不太理想。这样的设计让我学会了如何使用直流电机,红外传感器,光电传感器,单片机C语言仿真软件,同时学会独立解决问题,养成独立思考的好习惯。这才是最重要的。5.2 工作展望本次设计虽然圆满的完成了目标要求实现了机器人在规定的环境下完成避障操作,但由于时间,能力和知识所限,在能够有效避障的障碍物类型上的范围过小,只对静态或低速障碍物和目标体积较大以及外形较规则的

42、障碍物的避障效果明显。而对上节所提到的三类障碍物,避障效果就较差,甚至会剧烈撞击。为此,本节专门对此三种障碍物进行讨论,分别提出能很好避开上述障碍物的自主避障机器人的设计方法。中高速动态障碍物:分别采用常规层和应激层的双层避障方法,常规层用于检测静态障碍物,指导电机驱动,优先级最低;应激层用于检测动态障碍物,指导底层结构运动,优先级最高。由于应激层要检测中高速障碍物,其探测范围较大,采样周期较短,并且要判断障碍物的速度,处理的信息较多,单纯的用一个单片机很难满足机器人应急反应的要求,无法完成效果良好的避障操作,所以在避障机器人结构上采取双层单片机模式。底层单片机用于探测静态障碍物,判断环境类型

43、和驱动电机运转;高层单片机专门用来主动探测动态障碍物,处理信息,在判断动态障碍物可能与避障机器人相撞时,直接向底层单片机发命令,打断其他进程,控制车轮转向和左右轮的转速驱动电机紧急避障。有角障碍物:有角障碍物的主体体积较大,易被探测到,但其表面生出的尖角部分则难以被自主避障机器人的传感器探测到;自主机器人在避开此类障碍物时,车身可能会刮擦到或碰撞到,这样就会改变机器人的行驶方向和速度,影响后续运动。要解决此类避障难题,可以采取以下三种方法:a选用高精度的传感器能有效解决但其单价十分昂贵。b增加传感器的密度,这样也能解决但密度过大,各个相邻传感器易发生干扰,产生错误信息。这样就需要对各个传感器调

44、制发射光,硬件组织起来较为复杂,同时多传感器同时送入单片机中的信息过多,处理起来繁琐。c车身上加入压力传感器或角度传感器,避障机器人在受到刮擦和碰撞时,车身会受到一定程度上的压力效应,车子行驶方向会发生突变,通过检测这两个变量,可以很好发现机器人是否遇到障碍物,从而驱动电机进行避障操作,但这是在机器人与障碍物发生刮擦和碰撞的前提下(没有完全避障)。如果发生剧烈碰撞,避障机器人极有可能损坏。细小障碍物:细小障碍物类似于有角障碍物,都属不易探测障碍物,所要采取的避障方法与有角障碍物相同。致谢历时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,幸运的是在同学和老师的帮助

45、下度过了。尤其要强烈感谢我的论文指导老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此向帮助和指导过我的各位老师表示最忠心的感谢! 感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中给予我了很多素材,还在论文的撰写和排版等过程中提供热情的帮助。由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!参考文献1宋永端.移动机器人及其自主化技术M.北京:机械工

46、业出版社,2010.15-35.2张毅,罗元,郑太雄. 移动机器人技术及其应用M.北京:电子工业出版社,2007.344-412.3周荷琴 吴秀清.微型计算机原理与接口技术,第四版M.合肥:中国科学技术大学出版社,1998.335-465.4于海生.微型计算机控制技术M.北京:清华大学出版社,2008.214-256.5陈伯时.电力拖动自动控制系统运动控制系统M.北京:机械工业出版社,2008,105-147.6戴仙金51单片机及其C语言程序开发实例M.北京:清华大学出版社,2007,278-459.7康华光.电子技术基础(第五版)M.北京:高等教育出版社,2009,231-324.8李广弟 朱月秀 冷祖祁.单片机基础第三版M.北京:北京航空航天大学出版社,2007,56-127.9李朝青单片微机原理及接口技术(第三版)。M北京航空航天大学出版社10阎石数字电子技术基础(清华大学电子学教研组编第五版)高等教育出版社11康华光电子技术基础(第五版)高等教育出版社12宋泽清无线电2009年第2期关于灵活避障快速循迹13杨加国单片机原理与应用及C51程序设计清华大学出版社14宋章军,陈恳,杨向东,等.通风管道智能清污机器人MDCRI的研制与开发J.机器人,2005,27(2):142-146.15韩晓明,车立新,等。中央空调管道清扫机器人的设计J.机械,2005,1:39-41

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

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

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


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