DIY编程器网

标题: 基于ARM9嵌入式系统智能灭火机器人控制器设计 [打印本页]

作者: liyf    时间: 2012-1-16 18:47
标题: 基于ARM9嵌入式系统智能灭火机器人控制器设计

                      0? 引? 言
  控制器是智能机器人处理和控制信息的主体,它直接决定了机器人的行为和性能。近几年来随着高性能微控制器和嵌入式系统技术的不断进步,为各类实时控制应用提供了解决方案。
  嵌入式系统(ES)是计算机技术、通信技术、半导体技术、微电子技术、语音图像数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的系统,其是硬件和软件紧密捆绑在一起的系统。将嵌入式系统应用于灭火机器人的设计中,对机器人的性能智能化、网络化、小型化都有了明显提高。
  比赛用灭火机器人需要机器人有智能较高的自动控制性能与可靠的机械控制性能的同时保证,才能在短时间内准确寻找到火源并灭火回家。在此以ARM9处理器为核心,对基于嵌入式系统的智能灭火机器人进行了设计。本文将从硬件和软件方面讲述智能灭火机器人控制器的实现方法,并且给出了机器人灭火的具体实验,验证了方案的可行性,为智能灭火机器人的进一步研究提供了平台。
  1 灭火机器人的描述
  灭火机器人的外形结构如图1所示,它的主要构件有:红外发射传感器(6个),红外接收传感器(6个),声音传感器(1个),灭火风扇(前后各1个),远红外火焰传感器等(前后各7个)。其中红外发射和接受传感器的配合使用可以使机器人自动避障行走。远红外火焰传感器可以检测光的强弱,用于判断房间是否有火以及趋光灭火。声音传感器用于启动。基于实践,风扇灭火更为可靠,所以选用风扇灭火。












  在此选用Atmel公司生产的AVR ATmega 8微处理器作为辅助单片机。ATmega 8是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于它先进的指令集以及单时钟周期指令执行时间,ATmega 8的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR内核具有丰富的指令集和32个通用工作寄存器。同时ATmega 8具有一整套的编程与系统开发工具,包括:C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及*估板。这样就大大方便了在硬件基础上进行软件设计。
  ARM9处理器含有20路标准数据采集通道通过Atmega816-PC辅助单片机连接到主芯片上,用以读取远红外传感器组及检测端口的数值,每秒可采集1 000次。这种设计提高了端口数值读取速度,使机器人能对周围环境信息做出迅速判断。ARM9微处理器与辅助单片机如图4所示。






  4 灭火机器人嵌入式系统软件设计
  机器人控制器是一个多任务并行执行的实时控制器。在软件实现上,灭火机器人除了要协调控制各个不同功用的电机,还需要对红外、灰度、声音等多种传感器接收的数据进行传输、处理等。采用c语言可以方便快捷的编写程序。这里对灭火机器人的每种功能进行模块化处理。总体的思路是:寻找火源.确定火源方位,接近火源,趋光灭火,回家。主程序设计流程图如图6所示。实现起来最基本的就是使机器人能够顺利的直线行走和拐弯,这一模块称为沿墙走(沿左墙前,沿左墙后,沿右墙前。沿右墙后),沿右墙前如图7所示。具体为:
  (1)若正前距离很大,同时右前的距离稍小时,太靠近右墙,执行左转微调;
  (2)若正前距离很大,同时右前的距离稍大时,太靠近左墙,执行右转微调;
  (3)若正前距离很大,右前距离适中,就直行;
  (4)若正前距离特别小,同时右前距离特别小时,使机器人稍后退可以防碰撞;
  (5)若正前距离比较小,右前距离也比较小时,机器人左转;
  (6)右前距离很大时,机器人执行右转弯。
  其中:(1)~(3)保证了在走直线时可以走直,通过不断调整,使机器人始终运行在距离墙10~15 cm的位置。(4)~(6)保证了机器人顺利拐弯和进房间。沿左墙行走及反方向沿墙行进同理,具体的参数必须在不断试验中反复调节。几种沿墙走配合使用就可以实现全部房间的遍历和回家,再加上趋光和灭火的模块就完成了整个灭火任务。
  5? 灭火实验
  在硬件的设计和实现的基础上,用C语言编写了让器人智能搜索房间,发现火源并灭火回家的程序。在不断对各种参数的调节后,该机器人可以在8 s内完成任意房间灭火,灭完火后,机器人自动回家。统计了30组数据,如表2所示。灭火照片如图8所示。






  6 结语
  实际测试证明该设计的灭火机器人能够较好完成灭火任务,具有一定参考和使用价值。该设计的创新之处为:以AM09为核心的嵌入式系统的控制器运行速度高,能够高速采集和处理传感器系统信号,并发出相应的控制信号,实现8 s内完成任意房间灭火;该设计采用了嵌入式系统内核,大大提高了机器人处理信号的能力;STR911FAM46和AVR-ATMEGA8-16PC的选用在实现了功能强大的同时,保证了良好的扩展性,并且成本较低,有利于智能机器人早日实现市场化;双电源供电系统的引入,使机器人的运行更加稳定可靠;通过沿墙行进规则的设计,机器人的灵敏度和适应外界变化的特性明显提高,且程序简捷,有利于模块化编程。
            




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2