机器人的控制程序策划探析_第1页
机器人的控制程序策划探析_第2页
机器人的控制程序策划探析_第3页
机器人的控制程序策划探析_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、机器人的控制程序策划探析 作者:李茜 杜刚 魏利卓 袁银 单位:中国地质大学信息工程学院 机器人行走时具有较好的姿态稳定性、合适的速度、较高的定位精度和较小的转弯半径等。通常情况下,动力系统采用比较简单的单电源供电电路。因电动机起动瞬间电流很大,会造成电源电压不稳,影响单片机和输入电路工作的稳定性和可靠性,因此本文中的智能灭火机器人采用电机电源和单片机电源完全隔离的多电源供电方案。 硬件设计 选择控制器的原则是外围电路简单、内部资源丰富、控制功能强大。因此,采用了北京达盛科技有限公司生产的基于avr的单片机expatmega128,将来自红外传感器探测障碍物的信号集成在控制器中。智能灭火机器人

2、的控制原理框图如图1所示。expatmega128适配器板是以atmel公司的atmega128为核心器件的开发板。为方便程序下载和调试提供isp和jtag接口,总线接口部分分为p1、p2、p3、p4。电源模块lm1117-3.3将+5.0v电源降压为+3.3v.+5.0v电源为单片机提供电源,选择d1发光二极管作为电源的指示。atmega128是基于avr的risc结构的较低功耗、cmos8位的一款单片机。通过在1个时钟周期内执行一条指令,能获得接近1mips/mhz的性能,优化了功耗和执行速度。atmega128具备如下特点:8k字节的flash.512字节的eeprom,512字节的sr

3、am,53个通用i/o口。32个通用的工作寄存器,具有比较模式的、灵活的定时器/计数器,8通道10位adc,内外中断源,可编程的uart,可编程的看门狗定时器,spi口以及6种可通过软件选择的省电模式。工作于空闲模式时,cpu将停止运行,而寄存器、定时器/计数器、看门狗和中断系统继续工作;掉电模式时振荡器停止工作,所有的功能都被禁止,即寄存器内容得到保留9。expatmega128作为控制处理器,外围的控制电路包括电源的稳压电路、4个lmd18200直流电机驱动电路、l298n风扇驱动电路、传感器接口电路等自主设计制作的电路板。单片机expatmega128和传感器的工作电压为5v,风扇电机工

4、作电压为7v,直流电机使用2个12v电池组成的24v电池组供电。使用稳压电路将7v电压变换到5v,保证单片机、传感器在额定电压下工作。l298n为sgs-thomsonmicroelectronics所生产的双全桥步进电机专用驱动芯片。智能灭火机器人可以通过火焰传感器来判断前方是否存在火源。火焰传感器主要由5个红外接收管和若干电阻、电容组成,电路原理图如图3所示。火焰传感器可以检测火焰或者波长在7601100nm范围内的光源,水平探测范围约为60o.火焰传感器直接与单片机的i/o口相连,当机器人前方有火源时,红外接收管阻值变小,i/o口返回的电压变低,将测量结果显示到数码管上,数值在11024

5、.智能灭火机器人采用自动控制运行模式。智能灭火机器人通过传感装置自动识别,自主采取动作避开前进方向的障碍物,持续地探测火源相对机器人的方位,并及时调整机器人运动的方向。智能灭火机器人能沿着正对火源方向运动,最终顺利到达火源附近位置并进行灭火。 软件设计 智能灭火机器人具有自由巡视走廊,能安全地由走廊进入室内探测是否存在火源,并能确定房间内的火源的确切位置并成功扑灭等功能。考虑到智能机器人的功能要求,在机器人身体左右两侧各安装了1个避障传感器,前方安装了3个避障传感器。左右两侧的避障传感器主要是用作机器人在走廊巡视时避免与左右墙壁相距太近而发生碰撞;前方安装的避障传感器主要是用作配合左右传感器判

6、断走廊拐角处,并且在机器人转弯时检测墙壁以确保机器人顺利地转入另一条走廊。避障算法:根据传感器环路安装的结构,以机器人左右方向作为x轴,5个光电传感器分别位于0、45、90、135、180的位置。程序开始执行后,与5个光电传感器相连接的i/o口均初始化为输入状态,并将其设置为高电平。当障碍物进入到光电传感器的探测范围时,传感器指示灯发光,并返回相对应的i/o口低电平。单片机通过执行循环语句,判断i/o口返回值为低电平时,表明遇到障碍物,执行相应的避障语句,从而成功地躲避障碍物,否则继续检测。多通道的红外接收器组成的火焰传感器主要用来判断房间内是否存在火源、火源的强弱,根据火源的强弱可以判定机器

7、人与火源的距离,使用安装在机器人身上的7段数码管显示模块将火源最强的通道号显示出来,并且使机器人转到正对火源方向,并沿着该方向接近火源后停止,然后启动风扇进行灭火;将火源扑灭后,机器人按照其进入房间的路线原路返回,即灭火前旋转的角度以及进入房间后的一系列动作均会被记住并反向执行。寻找火源的算法:根据火焰传感器半圆形的设计结构,以机器人左右方向作为x轴,5个红外接收器分别位于0、45、90、135、180的位置,相应的通道序号为0、1、2、3、4。当灭火机器人进入到房间后,火焰传感器的5个通道分别检测火焰的强度,并将其转换成11024中的一个数值,同时保存在预先声明过的数组中。比较数组中保存的5个数值,找到最小值并得到相应的通道序号;若最小值对应的通道序号不为2时,灭火机器人转动;当最小值对应的通道序号为2时,灭火机器人停止转动,此时机器人刚好正对着火源方向,向前移动并接近火源灭火。与汇编语言相比,虽然高级语言具有生成代码长、执行速度慢等缺点,但是为了提高程序的可读性和可移植性,使用c语言开发智能灭火机器人的控制系统。灭火机器人的控制系统的主程序由下面几个主要的子程序构成:前进子程序模块、转向子程序模块、后退子程序模块、传感器子程序模块和停止子程序模块。灭火机器人的主程序流程图如图4所示。 结束语 智能灭火机器人系统控制核心采用高性能、低功耗的avr的expatmega128,对光

温馨提示

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

评论

0/150

提交评论