智能机器人灭火功能的实现

上传人:沈*** 文档编号:128232086 上传时间:2022-08-01 格式:DOCX 页数:30 大小:1.06MB
返回 下载 相关 举报
智能机器人灭火功能的实现_第1页
第1页 / 共30页
智能机器人灭火功能的实现_第2页
第2页 / 共30页
智能机器人灭火功能的实现_第3页
第3页 / 共30页
点击查看更多>>
资源描述
毕业设计(论文)题 目 智能机器人灭火功能的实现 系 别 专 业班 级 学生姓名 学 号 指导教师 年 月智能机器人灭火功能的实现 摘要:智能灭火机器人系统控制器模块以嵌入式微处理器ARM9为核心,传感器模块主要由红外测距传感器和远红外火焰传感器组构成,驱动器模块由大功率伺服直流电机和普通直流电机组成.依据沿墙行进规则和程序设计模块来完成机器人遍历房间、寻找火源并将其熄灭的程序编程.通过该设计完成的智能机器人系统可在8 s内完成任意房间的灭火,达到了国际先进水平,同时还提高了机器人运行的可靠性.我国科学家对机器人的定义是:机器人是一种自动化的机器,所不同的是这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。智能机器人是 21 世纪新的热点,也是一个国家整体实力的显示。智能机器人是一个多学科的综合,涉及机械设计和制造、传感器、控制与规划、电子电气、计算机与信息处理、通讯、能源、材料、系统工程。 AS-UII 是面向教育的新一代智能移动机器人。AS-UII 有一个功能强大的微处理系统和 传感器系统,而且它还能扩展听觉、视觉、和触觉,成为真正意义上的智能机器人。 关键词:智能机器人 、灭火 、AS-UIIThe realization of the function of intelligent robot fireAbstract: intelligent fire-extinguishing robot system controller module ARM9 processor with embedded microcontroller as the core, and sensor module mainly consists of infrared range-finding sensors and far-ir flame of sensor, the drive module by a high-power constitutes a servo dc motor and ordinary dc motor. According to travel along the wall design module rules and procedures to complete the robot to traverse the room, looking for fire and its out of the programming. Through the design of intelligent robot systems can be completed in August finish any room s. extinguishing, have reached the international advanced level, but also improve the operation reliability of the robot. The definition of Chinese scientists for robots is: robot is a kind of automatic machines, what is different this machine has some of people or biological similar intelligence capabilities, such as perception and planning skills, action ability and synergy, is a kind of highly flexible automation machine. Intelligent robot is the 21st century new hot spot, also is a country overall strength display. Intelligent robot is a multidisciplinary integrated, involving mechanical design and manufacturing, sensor, control and planning, electrical and electronic, computer and information processing, communications, energy, materials, systems engineering. AS the UII is an education - a new generation of intelligent mobile robot. AS UII have a powerful - the micro processing system and sensor system, and it also can expand hearing, vision and touch, became a true sense of intelligent robot.Keywords: intelligent robot、put out the fire、AS UII目录前言 .6第1章 智能机器人AS-UII.71.1 AS-UII的内部结构71.2 AS-UII的控制按键部分71.3对AS-UII进行编程9第2章 传感器、微处理器与驱动器.112.1智能机器人的三大要素112.2能力风暴的传感器及其处理电路122.2.1碰撞传感器122.2.2红外传感器152.2.3光敏传感器17 2.2.4麦克风172.2.5光电编码器18 2.2.6其他传感器19 第3章 能力风暴编程.21 3.1 让机器人动起来 . 21 3.1.1在 VJC1.5 开发版窗口中编写流程图. 21 3.1.2保存源代码程序. 22 3.1.3程序下载. 22 3.1.4运行程序. 22 3.2让机器人感知环境信息 . 22 3.2.1编写流程图. 23 3.2.2保存程序. 24 3.2.3程序下载. 24 3.2.4运行程序. 24 第4章 能力风暴编程.254.1 让机器人动起来 .254.2 让机器人动起来 .264.3 让机器人动起来 .27致谢.29参考文献.30前言最近几十年中,大量的高层、地下建筑与大型的石化企业不断涌现。由于这些建筑的特殊性,发生火灾时,不能快速高效的灭火。为了解决这一问题,尽快救助火灾中的受害者,最大限度的保证消防人员的安全,消防机器人研究被提到了议事日程。而机器人技术的发展也为这一要求的实现提供了技术上的保证,使得消防机器人应运而生。从二十世纪八十年代开始,世界许多国家都进行了消防机器人的研究。美国和苏联最早进行消防机器人的研究,而后日本、英国、法国等国家都纷纷开展了消防机器人的研究,目前已有多种不同类型的消防机器人用于各种火灾场合。从功能上划分,目前的消防机器人有下列几类:灭火机器人、侦察机器人、攀登营救机器人和救护机器人。从控制方式来分,消防机器人可分为遥控消防机器人和自主消防机器人。我国从八十年代末期开始消防机器人的研究,公安部上海消防研究所等单位在消防机器人的研究中取得了大量的成果,自行式消防炮已经投入市场,履带轮式消防灭火侦察机器人也于2000年6月通过了国家验收。但是,我国消防机器人的研究还处在初级阶段,还有许多有待研究的问题。比如,高层建筑发生火灾时,消防人员不可能在短时间内到达高处的火灾发生地点,在地下建筑中,由于环境比较潮湿,烟气不易扩散,消防人员不容易快速的判定火源位置;而在石化企业发生火灾时,将产生大量的毒气,消防人员在灭火时极易中毒。研制能够用于这些场合的侦察灭火机器人,协助消防人员进行火灾的定位和灭火,将有极大的社会意义。第1章 智能机器人AS-UII1.1 AS-UII的内部结构AS-UII 是能力风暴大学版机器人,II - 表示第二版本。AS-UII 是专门为大学进行课程教学、工程训练、科技创新以及研究服务的新型移动智能机器人。AS-UII 的内部结构参见图 1-1 。AS-UII 结构简图: 上盘 液晶显示器 主板 传感器 底盘该机器人是广茂达公司生产的能力风暴智能机器人,它是一款用于寻找火源并灭火的智能机器人。能力风暴智能机器人的执行器有:二只高性能直流电机;一只喇叭;一只2*16 字符的液晶显示器。1.2 AS-UII 的控制按键部分看见 AS-UII 背后的控制按键部分了吗?其结构如图 1-2。在这个部分有 2 个小灯,它们指示 AS-UII 所处的状态。 图 1-2 控制按键部分开关按钮控制 AS-UII 电源开关的按钮,按此按钮可以打开或关闭机器人电源。电源指示灯按下 AS-UII 的开关后,这个灯会发绿光,这时可以与机器人进行交流了!充电指示灯当你给机器人充电时,充电指示灯发红光。充电口将充电器的相应端插入此口,再将另一端插到电源上即可对机器人充电。具体使用方法见1.4 AS-UII 的充电。下载口充电口旁边的下载口用于下载程序到机器人主板上,使用时只需将串口连接线的相应端插入下载口,另一端与计算机连接好,这样机器人与计算机就连接起来了。复位/ASOS按钮这是个复合按钮,用于下载操作系统和复位。当串口通信线接插在下载口上时,按击此按钮,机器人系统默认为此操作为下载操作系统;如果你想使用其复位功能则需要将通信线拔下,按击此按钮,机器人系统认为此操作为系统复位。运行键打开电源后,按击运行键,机器人就可以运行内部已存储的程序,按照你的指令行动。通信指示灯通信指示灯位于机器人主板的前方,在给 AS-UII 下载程序时,这个黄灯会闪烁,这样就表明下载正常,程序正在进入机器人的大脑即 CPU。1.3 对AS-UII进行编程图形化交互式 C 语言(简称 VJC)是用于 AS-UII 的专用开发系统。VJC1.5 开发版运行在 Windows 95/98 和 Windows NT 4.0 以上版本的操作系统上。VJC1.5 开发版是由图形化编程界面和 JC 代码编程界面组成的,具体应用参考第三章。双击桌面上的 VJC 图标,进入流程图程序编程界面(如图 1-4)可以看到 VJC1.5 开发版的图形化编程界面是由这样几个部分组成:菜单栏、工具栏、模块库(包括执行器、传感器、控制、程序模块库)、垃圾箱、流程图生成区、JC 代码显示区。通过点击图形化编程界面工具栏中的编辑 JC 代码程序快捷按钮就可以切换到 JC 代码编程界面(如图 1-5)图 1-4 图形化编程界面图 1-5 JC 代码编程界面可以看到 VJC1.5 开发版的 JC 代码编程界面是由这样几个部分组成:菜单栏、工具栏、编辑窗口、JC 信息窗口。通过点击 JC 代码编程界面工具栏中的流程图窗口快捷按钮就可以切换到图形化编程界面。首先我们先看看图形化编程界面:新建程序: 采用模块搭建流程图的形式进行编程。要编写流程图程序,可以在点击桌面上 VJC1.5 开发版图标之后出现的初始界面中选择新建流程图,这样就进入了一个图形化编辑界面。如果编辑过之后,还想再新建一个程序,那么可以选择菜单栏中文件新建,也可以利用工具栏里的新建快捷按钮,直接新建一个新程序。打开程序:可以选菜单上文件打开(或点击工具栏中的打开按钮),来查看或编辑以前保存的程序。下载程序:写好的应用程序必须下载到 AS-UII 上运行。可以选择菜单栏中工具下载当前程序来下载当前窗口里的应用程序(或点击工具栏中的下载按钮)。VJC1.5 开发版的详细操作方法请参见VJC1.5 开发版操作手册或直接查询 VJC1.5开发版的帮助。第2章 传感器、微处理器与驱动器2.1. 智能机器人的三大要素人对周围环境的反应过程主要是感觉大脑思考作出反映,机器人的信息处理流程也是如此。能力风暴智能机器人的配有 5 种十几个传感器,另外还可以根据需要扩展其他传感器,对环境的感知能力很强。感知环境的能力是产生智能行为的前提,因此能力风暴能产生许多智能性行为。能力风暴通过微控制器(microcontroller)来思维。我们采用的是 Motorola 公司 8位单片机中功能最强、集成功能最全的高档机种。它的可靠性很高,有程序自下载功能。能力风暴连上串口线就可自动下载程序。计算机硬件决定了机器的极限潜能,去开发这种潜能是软件的工作。我们为用户提供了交互式图形化编程 C 语言VJC,它使开发能力风暴的高层行为充满了乐趣。有的低层的驱动软件与硬件相关太紧密或实时要求很高,需要用汇编语言来处理。能力风暴智能机器人的执行器有:二只高性能直流电机;一只喇叭;一只 2*16 字符的液晶显示器。 图 31 能力风暴智能机器人的系统结构2.2. 能力风暴的传感器及其处理电路2.2.1.碰撞传感器碰撞传感器是使能力风暴智能机器人有感知碰撞环上的碰撞信息能力的传感器。在能力风暴智能机器人的左前、右前、左后、右后设置有四个碰撞开关(常开),它们与碰撞环共同构成了碰撞传感器(见图 3.2)。碰撞环与底盘柔性连接,在受力后与底盘产生相对位移,触发固连在底盘上相应的碰撞开关,使之闭合。我们把来自四周的碰撞分为八个方向(见图3.3)。图 3.2 碰撞开关及碰撞环图 3.3 碰撞传感器方位我们在 VJC 环境中,编写一个碰撞检测程序,来理解如何在程序中使用碰撞开关。VJC图形编辑界面参见图 1-4:1.进入 VJC 的图形化编程界面,将控制模块库中的永远循环模块拖入到流程图生成区并与主程序相连;2.将传感器模块库中“碰撞检测” 模块连接到循环内部,见图 3-63.将执行器模块中的显示模块连接到程序中;4.设置显示模块(见图 3-5),在显示模块上点击右键,在弹出设置显示模块对话框选中引用变量,会出现变量百宝箱对话框,点击碰撞检测图标,在碰撞变量引用中点击碰撞变量一,按确定键;5.在显示模块正下方,连接任务结束模块,完成碰撞检测程序的编写。图 3-5 VJC 碰撞显示变量设置图图 3-6 碰撞检测程序流程下载并运行此程序,观察 LCD 上的显示:bmp_1=0 (表示此时没有碰撞)若前碰撞受到碰撞,LCD 上显示:bmp_1=4 (表示左后方受到碰撞)在其它方向施加碰撞,LCD 显示的值将不同,四个方向发生碰撞时返回值的意义为:1=左前方受碰,2=右前方受碰,4=左后方受碰,8=右后方受碰。上面我们使用的是 VJC 的图形编程方式编的程序,我们再用 JC 语言编写下面的程序来理解碰撞传感器是如何工作的。在 JC 语言中,碰撞传感器的库函数是 bumper(),在程序运行过程中此库函数仅在被调用到时执行一次,即采集数据一次。因此要连续查询碰撞传感器的状态就要在 VJC 交互式调试窗口一行编辑框中输入如下程序块:while(1) printf(bump=%dn,bumper();wait(0.1);按回车,JC 能立即编译这一段程序并下载运行,LCD 上显示:bump=0 (表示此时没有碰撞)按左前碰撞环,LCD 上显示:bump=5。在其他方向施加碰撞,显示的值将不同。各个方向发生碰撞时返回值对应关系如下:无 0,左前 1,右前 2,左后 4,右后 8对应于每一个方向的碰撞,用户是怎样得到一个二进制数值的呢?在能力风暴智能机器人里,四个碰撞开关接在一个电阻网络里,通过采集模拟口 PE3上电压值的变化,来识别出哪个或哪些碰撞开关闭合,从而判断出哪个方向有碰撞。同样,在 VJC 交互信息窗口上方一行编辑框中输入如下程序块:while(1) printf(pe3=%dn,analogport(3);wait(0.1);按回车,JC 能立即编译这一段程序并下载运行,LCD 上显示:pe3=1 (表示此时无碰撞)在各个方向上按压碰撞环,pe3 返回值各不相同,这些值是 pe3 上电压值通过模数转换(模拟量转化为数字量)得到的结果。它们不直观,也不方便记忆。对此在库函数中进行了变换,将模拟口上采得的电压值变为直观表示各个方位的四位二进制数(参看VJC10robotsAS-UIIlibslib_AS_MII.jc 中的子函数 int bumper(),这样就得到了在应用中的对应关系、计算方式和调用方法。 图2-9 碰撞传感器的电路图2.2.2. 红外传感器能力风暴运用了 2 只红外发射管(970nm)和一只红外接收模块构成红外传感系统,主要用来检测前方、左前方和右前方的障碍,检测距离范围为 1080cm。用户可以通过调节两个电位器来调节左右两个红外的检测距离,顺时针红外发射强,检测距离远,逆时针红外发射弱,检测距离近。注意强红外线可以穿透塑料,在机器人的上盖中传播,造成接收信号始终表现为有障碍。解决办法是在红外发射管上套上黑纸环,使其侧面不能透出红外线。同时也要避免地面的反射影响。逆时针将电位器旋转到底时将关闭红外线发射管。主板中的 XT2 为 38kHz 的晶体,它将红外光发射的调制频率固化在 38KHz 左右,这是红外接收模块中带通滤波器的中心频率。红外传感器的插针是有方向性的,用户自己拆卸、安装时应注意方向。红外线发射接口 IRR 和 IRL 的正极已经标出,插反不会损坏元件,但传感器会不工作。红外线接收模块的正确接法是将紫色线朝向主板上边中间的缺口,如果插反不会损坏器件,但错位有可能损坏红外接收模块。装好以后可用下面介绍的语句检测一下。在 JC 语言中,红外传感器的库函数是 ir_detector(),在程序运行过程中此库函数仅在被调用到时执行一次,即采集数据一次。在 JC 对话窗口中输入如下程序块:while(1) printf(ir=%bn, ir_detector();wait(0.5);按回车,JC 能立即编译这一段程序并下载运行,LCD 上显示:ir=0 (表示此时没有障碍)用一张白纸分别挡在能力风暴智能机器人的前方、左方和右方,液晶显示器上显示的 ir 的值都不一样,可总结如下:无障碍 左方 右方 前方 十进制表示 0 1 2 4原理:红外接收模块集成了红外接收管、前置放大器、限幅放大器、带通滤波器、峰值检波器、整前电路和输出放大电路,灵敏度很高。有时从红外管侧面和后面漏出的红外光也会被接受模块探测到,在能力风暴智能机器人上,两个红外发射管和一个红外接收器都是先装在套管里再固定在外壳上的,有效的避免了这种情况的发生。用户在自己扩展红外传感器时,如果遇到这种情况,只需用黑胶布把发射管的侧面和后部包住即可。2.2.3. 光敏传感器能力风暴智能机器人上有 2 只光敏传感器,它可以检测到光线的强弱。光敏传感器其实是一个光敏电阻,它的阻值受照射在它上面的光线强弱的影响。能力风暴智能机器人所用的光敏电阻的阻值在很暗的环境下为几百W,室内照度下几W,阳光或强光下几十 W。在 JC 语言中,光敏传感器的库函数是:左光敏,photo(1);右光敏,photo(2)。在程序运行过程中库函数仅在被调用到时执行一次,即采集数据一次。在 VJC 交互式调试对话窗口中输入如下程序块:while(1) printf(photoleft=%dn,photo(1);wait(0.5);(仅采集左光敏的读数)按回车,JC 能立即编译这一段程序并下载运行,LCD 上显示:photoleft=180 (表示此时照射在左光敏上的光线强弱)改变照射在左光敏电阻上的光线强弱,可观察到读数的变化。可发现光越暗,数字越大,光越强,数字越小。原理:光敏传感器在能力风暴智能机器人里表现出的光越暗,数值越大,光越强,数字越小是因为:光敏电阻和 10K 的电阻 R13,R14 相连后构成分压器。左右两个光敏电阻分别与模拟输入口 PE0,PE1 相连,在系统中采集的是光敏电阻上的电压值。光暗时,光敏电阻上的电压接近 5V,光强时,接近 0V,模数转换为 8 位数字量后的范围为 0-255。2.2.4. 麦克风能力风暴智能机器人上的麦克风(microphone)是能够识别声音声强大小的声音传感器在 JC 语言中,声音传感器的库函数是 microphone( ),在程序运行过程中此库函数仅在被调用到时执行一次,即采集数据一次。在 VJC 交互式调试对话窗口中输入如下程序块:while(1) printf(mic=%dn, microphone();wait(0.1);按回车,JC 能立即编译这一段程序并下载运行,如果周围的环境很静 LCD 上显示:mic = 12 (表示此时很安静)对着 microphone 发出一些声音,可以看到 microphone 的值不断变化。它的变化范围是 0255。原理:麦克风采集到的信号通过 LM386(U1)进行放大,放大倍数为 200(由 C25 确定),输出信号接至 PE2。没有声音时,电压为 25V 左右,转换为 8 位二进制数后得到的十进制整数为 127 左右(如图 3.18),库函数 microphone()对数据进行处理,使返回值为 0255。当有声音时,LM386 的输出电压在 2.5V 上下波动。PE2 测得的电压和 2.5 V 相减的绝对值越大,则声音越大。R5,C2 构成高频滤波,滤去线路板其他元器件产生的高频噪声。2.2.5. 光电编码器光电编码器是一种能够传递位置信息的传感器,它由光电编码模块及码盘组成(见图3.19)。能力风暴智能机器人有 2 只光电编码器,运用反射式红外发射接收模块。反射器(即码盘)是黑白相间的铝合金制成的圆片,66 等分。当码盘随轮子旋转时,黑条和白条交替经过光电编码器,反馈的信号状态不同,即构成一个脉冲。因此 360 度共产生 33 个脉冲,每个脉冲的分辨率约为 10.91 度,轮子直径为 65mm,则周长方面的分辨率约为 6.19mm。 图 3.19 码盘及光电编码模块外形检测左右编码器当前状态的库函数为:encoder(1),encoder(2);运行一下VJC10robotsAS-UII 中的 selftest.jc 程序中的 encoder_test(),看一下转一圈是否是33 个脉冲。同时注意看 R 或 L 右边的i和*变化,i表示当前无反射信号,码盘片的黑格应正对编码器。库函数 rotation(1)、rotation(2)可以读出经过左右光电编码器脉冲累计值。原理:光电编码器原理上也是靠发射与接收红外光来工作的。能力风暴智能机器人上用的光电编码器芯片集成了发射与接收功能。2.2.6.其他传感器能力风暴还能集成很多其他的传感器,下面作简单介绍。人体热释片传感器人体热释片传感器对移动的人体热源敏感,加上菲涅耳透镜后可以探测 10 米外的人体。能力风暴装上 1 个或几个人体热锋电传感器后,你可以让他一看见你,就向你迎过来,让他跟着你走。超声传感器超声传感器是机器人测距的专业传感器,测量距离一般为 20cm-6m,测量精度为 1%,是测量声波发射与收到回波之间的时间差来测量距离的。运用能力风暴本体上带的传感器在房间里找到门不容易,但运用声纳对房间扫描一周后,就能较方便找到房门。连续测距红外传感器SHARP 公司推出了创新的 GP2D02/ GP2D12 连续测距红外传感器,测量范围为 10cm-80cm,参加灭火比赛时,用它来找房间门非常棒。数字指南针自主机器人的导航至今仍是世界性难题,借助数字指南针,可以使能力风暴辨别方向。温度传感器想让机器人动态告诉你气温吗?加一个温度传感器是个好方法。视觉让能力风暴处理视觉是有些力不从心了,但你可以用它来作移动的监视平台。你可以在能力风暴上装微型摄像头,把视频信号发射出来,用 PC 机接收后进行图象处理。火焰传感器用来发现火焰,参加机器人灭火比赛最好使用火焰传感器。还有许多传感器,可以让能力风暴拥有有特殊本领。大部分传感器可以方便地运用ASBus 接在能力风暴上,并用 JC 来编驱动程序。个别传感器需要用汇编编写驱动。详细信息请看广茂达网站: 。第3章 能力风暴编程3.1 让机器人动起来在 VJC1.5 开发版执行器模块库中有一专门控制机器人移动的模块,这里我们就用它来编写一个机器人直线行走的程序。要求:先让机器人以速度 100 前进 3 秒,再让机器人以速度-60 后退 5 秒,再在原地以功率 80 旋转 1 秒。示范操作步骤如下:3.1.1 在 VJC1.5 开发版窗口中编写流程图a) 编写流程图:用鼠标将执行器模块库中的移动模块移到流程图生成区并与主程序模块连接上;b) 设置时,右击移动流程图模块,在弹出框中输入移动速度为 100、时间为 3;c) 再用鼠标将执行器模块库中的移动模块移到流程图生成区并连接;d) 在流程图的末端位置;e) 设置第二个移动流程图模块,点击右键在弹出框中输入移动速度为-60、时间为5;f) 再将执行器模块库中的转向模块连接到程序中,点击右键进入设置对话框,分别设置速率和时间为:80 和 1g) 再将程序模块库中的任务结束移入到流程图生成区并连接在程序的末尾。图 3-1 机器人移动 VJC 程序点击工具栏中的编辑 JC 程序代码按钮,切换到 JC 代码界面,可以对此界面中显示的 JC 代码进行修改,比如我们可以让机器人后退 7 秒,那么我们就可以把程序中与移动模块相对应的参数 5. 修改为 7.。3.1.2 保存源代码程序点击工具栏中的保存按钮,输入文件名,按确定。3.1.3 程序下载此时,能力风暴要处于开机状态,并且串口连接线已与计算机连接。点击工具中的下载当前程序按钮,就会出现下载对话框,等待出现下载成功!字样,说明程序已经下载到能力风暴里了。3.1.4 运行程序将串口连接线取下,将机器人带到安全的地方,按机器人身上的运行键,能力风暴智能机器人就按程序要求快速前进 3 秒,再后退 7 秒,然后再旋转 1 秒。3.2 让机器人感知环境信息在 VJC1.5 开发版的传感器模块库中,有让机器人能够感知环境信息的模块,这些功能模块的调用能够带给机器人感觉。比如说光敏检测能够让机器人感觉到外界光线的强弱;红外测障能够让机器人检测前/左/右方的障碍等等。下面我们就试着让机器人感知外界环境。让机器人对外界的光线进行检测,并在 LCD 上显示左右光敏所检测到外界光线的平均值。示范操作步骤如下:3.2.1 编写流程图a) 用鼠标将控制模块库中的永远循环模块移到流程图生成区并与主程序模块连接上;b) 用鼠标将传感器模块库中的光敏检测模块移到永远循环模块内部并连接上;c) 设置时,右击光敏检测流程图模块,在弹出框中方向一栏选择平均,按确定;d) 再用鼠标将执行器模块库中的显示模块移到流程图生成区并连接在光敏检测的后面;e) 设置显示模块,点击右键在弹出框中选择应用变量,就会出现一个变量百宝箱的界面,在此界面中点击光敏图标,在光敏变量引用中选择光敏变量一,按确定即可,这样显示模块中的显示信息就为光敏变量一;f) 再将程序模块库中的任务结束移入到流程图生成区并连接在程序的末尾。图 3-2 机器人感光 VJC 程序我们也可以点击工具栏中的编辑 JC 程序代码按钮,切换到 JC 代码界面,对JC 代码进行修改。3.2.2 保存程序点击工具栏中的保存按钮,文件名输入:感光,按确定。此时,感光.flw流程图程序文件已被保存。3.2.3 程序下载此时,能力风暴要处于开机状态,并串口连接线已与计算机连接。点击工具中的下载当前程序按钮,就会出现下载对话框,等待出现下载成功!字样,说明程序已经下载到能力风暴里了。3.2.4 运行程序将串口连接线取下,将机器人带到安全的地方,按机器人身上的运行键,在机器人的 LCD 上就会显示出外界光线的平均值。第4章 机器人灭火功能的实现4.1机器人灭火功能的实现机器人控制器是一个多任务并行执行的实时控制器。在软件实现上,灭火机器人除了要协调控制各个不同功用的电机,还需要对红外、灰度、声音等多种传感器接收的数据进行传输、处理等。采用c语言可以方便快捷的编写程序。这里对灭火机器人的每种功能进行模块化处理。总体的思路是:寻找火源。确定火源方位,接近火源,趋光灭火,回家。主程序设计流程图如图6所示。实现起来最基本的就是使机器人能够顺利的直线行走和拐弯,这一模块称为沿墙走(沿左墙前,沿左墙后,沿右墙前。沿右墙后),沿右墙前如图7所示。具体为:(1)若正前距离很大,同时右前的距离稍小时,太靠近右墙,执行左转微调;(2)若正前距离很大,同时右前的距离稍大时,太靠近左墙,执行右转微调;(3)若正前距离很大,右前距离适中,就直行;(4)若正前距离特别小,同时右前距离特别小时,使机器人稍后退可以防碰撞;(5)若正前距离比较小,右前距离也比较小时,机器人左转;(6)右前距离很大时,机器人执行右转弯。其中:(1)(3)保证了在走直线时可以走直,通过不断调整,使机器人始终运行在距离墙1015 cm的位置。(4)(6)保证了机器人顺利拐弯和进房间。沿左墙行走及反方向沿墙行进同理,具体的参数必须在不断试验中反复调节。几种沿墙走配合使用就可以实现全部房间的遍历和回家,再加上趋光和灭火的模块就完成了整个灭火任务。图4.1 AS_UII大学组比赛所用的房间平面图4.2 自能机器人的运行模式注意:模式系数(MF)与下面A和B部分描述的各种运行模式相关。模式系数,实际运行时间(AT),罚分(PP),以及房间系数,都会用来计算运行分数(OS),以此决定机器人的名次。基本运行模式(BasicLevelOperatingModes)小学和初中有5个基本运行模式:标准模式,拖线模式,声音启动模式,回家模式及灭火器模式。每一个模式都会有一个模式系数,用于计算最后得分。标准模式:在这种模式下,没有导线与机器人连接。而判断这种模式的决定因素是机器人是否带有拖线。标准模式得分系数是1.0MF=1.0)。拖线模式:在这种模式下,机器人有导线连接有外部计算机或电源。这种模式实际上是一种处罚且分数会上升。如果机器人有自身电源,且由自身计算机控制或者用由另一台计算机无线连接,则都不属于这种模式,分数不会增加。这个模式的得分系数是1.2(MF=1.2)。声音启动模式:在这种方式下,机器人在检测到接收到3.04.0KHz声音信号后自行启动,代替一般的用手工按键的方式启动机器人。所使用的频率在烟雾检测器中广泛使用,它是由压电装置发出的,这种装置可以在无线电商店和其他许多地方买到。一旦机器人电源打开,只有发出声音机器人才会启动。如果没有接收到声音时机器人就启动,如错误地检测到周围的室内噪声(甚至是其他赛场用于启动机器人的声音),那么这场测试仍然有效,但机器人将不作为声音启动模式来计分。如果机器人不能响应声音信号,那在本次测试中将不会给第二次机会(如再次按声音键)来运行声音启动模式。手拿声音发生装置,参赛者可以在机器人周围任意距离的地方有五秒钟的时间完成机器人的启动。比赛计时从声音信号发出时开始,而不是从机器人对声音信号做出响应开始。在机器人比赛现场会有官方提供的发声装置,参赛者也可以自己携带和使用自己的发生装置,只要该装置的频率在允许的频率范围内。在这种模式下,机器人的分数会减少5,比赛的得分系数时0.95(OM=0.95)。回家模式:机器人熄灭蜡烛后回到代表起始位置的圆圈内。这里不要求按原路返回及选择最优路径,主要是回去就行了,但必须回到起始的圆圈内且在回家路上不能进到其他房间里。如果机器人的任何一部分进入代表起始位置的30cm白圈内,就认为机器人回到了家中,而不必和刚开始的位置一样。如果机器人进入回家模式且找到并熄灭了蜡烛,但不能回到起始位置的圆圈中,机器人不会丧失资格,不过它就只能算作标准模式,且只能得到不是回家模式下的得分系数。实际时间(AT)分数只包括机器人找到并熄灭蜡烛的时间,不包括机器人回家时间。采用这种模式下,比赛分数将会减少20,得分系数是0.8。(OM=0.8)灭火器模式:由于使用风扇灭火在现实世界中并不实用,因此,如果参赛者不使用吹风灭火的方式将火灭掉,会有15%的减分(OM=0.85),使用任何吹风方式灭火的机器人的得分系数为1.0。4.3左手法则左手法则:看到左侧的墙壁往右转,看不到左侧的墙壁墙壁转左弧。由于右手法则和左手法则是完全对称的,左手法则的原理经过变化后也适用于右手法则,所以在这一节我们对右手法则不再展开讨论。作者希望对迷宫算法进行规律性的分析,为同学们做出又快又稳的迷宫走法提供一些思路。迷宫行走的速度和红外传感器的数量、分布位置、角度、观察距离等因素有关,速度还和迷宫法则实现的语法结构有关。上述因素都相同,迷宫行走的速度还和马达参数有关。可以说迷宫算法是千变万化,所以就出现了下面的情况,有的同学的机器人走迷宫象飞一样,而有的同学的机器人走迷宫象蜗牛爬,甚至在原地打转。由于变化的因素太多,所以迷宫调试的难度很大,关于迷宫调试没有公式可用,作者试图总结出一些规律供同学们参考。第六章我们讨论了行走效率的问题,如果调试得好,常规搜索的行走效率在50%左右,要超过60%很难。使用红外走迷宫行走效率低的原因有很多。根本原因来自迷宫法则本身,迷宫法则是一对自相矛盾的话,不管调试得好坏,从微观来说,机器人走出的都是弯弯曲曲的小折线,机器人一会儿向左转,一会儿向右转,随时调整着身体的姿态,如果把机器人走过的折线拉直,我们会发现机器人走了很多冤枉路。如果机器人经常在发抖,这说明红外的配合有问题,需要调节红外的角度,观察距离,马达参数等等。就算机器人走出肉眼看上去很平滑的曲线,行走效率也并不一定就高,曲线越平滑,折线的粒度就越小,弯折越多,行走效率反而低。一个蛇行前进的机器人,肉眼看上去它在走冤枉路,但由于折线的粒度大,减少了弯折的次数,实际上它的行走效率反而高,这一点在数学上是很容易分析的。如果想提高做出行走效率高的算法,就要使用固定路线走法,行走效率可以达到80%以上,但固定路线走法的稳定性很低,需要很高的调试水平。如果想结合固定路线走法和红外走迷宫两者的优点,我们可以使用微时间法,微时间法的效率一般在50%-70%之间,稳定性和效率成反比。关于微时间法,我们在第六章已经作了简单讨论,同学们如果水平提高了,自然能做出算法。我们还是从基本的红外走迷宫开始学习,先把常规搜索法学好,掌握使用红外传感器走迷宫的一般方法。谢辞在此论文撰写过程中,要特别感谢我的毕业设计指导老师XX老师的指导与督促,同时感谢她的谅解与包容。没有黄老师的帮助也就没有今天的这篇论文。求学历程是艰苦的,但又是快乐的。感谢我的班主任夏伏洋及我所有任课老师,谢谢他们在这三年中为我们所做的一切,他们不求回报,无私奉献的精神很让我感动,再次向他们表示由衷的感谢。在这三年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。参考文献1RichardBarnett等.嵌入式C编程与AtmelAVRM.北京:清华大学出版社,2003.2梁森等.自动检测与转换技术M.北京:机械工业出版社,2006.3ATMEL公司.ATmega32芯片手册Z.4许中大等.电机控制M.杭州:浙江大学出版社,2002.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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