ch08综合比赛项目-“机器人智能消防”比赛_第1页
ch08综合比赛项目-“机器人智能消防”比赛_第2页
ch08综合比赛项目-“机器人智能消防”比赛_第3页
ch08综合比赛项目-“机器人智能消防”比赛_第4页
ch08综合比赛项目-“机器人智能消防”比赛_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

综合比赛项目——“机器人智能消防”比赛新工科建设之路·机器人技术与应用系列应用型人才创新能力培养机器人制作与开发(单片机技术及应用)(第2版)第八章01确定完成比赛所需的传感器和灭火装置“机器人智能消防”的比赛场地与“机器人高铁游中国”场地完全不同,循线传感器无法使用。灭火机器人要在地面没有引导线且类似走廊的狭窄空间中行走,最简单的方法是采用测距传感器,让机器人知道自己与周围障碍物的距离,通过这些距离来判断自身所处位置,并决定运动的策略,实现导航。最简单也最容易获得的测距传感器是超声波传感器。超声波传感器通过测量机器人与周围物体(如墙壁)的距离来引导机器人运动。确定完成比赛所需的传感器和灭火装置确定完成比赛所需的传感器和灭火装置本任务使用的超声波传感器的实物图如图8.2所示。它有一个发射头和一个接收头,并有1个4Pin的接口,可以方便地安装到教学机器人的面包板上,与单片机的端口连接。该传感器可进行精确、非接触式的距离测量,测量范围为2cm~5m,测量精度为3mm。确定完成比赛所需的传感器和灭火装置确定完成比赛所需的传感器和灭火装置超声波传感器的4Pin接口引脚从左到右的详细定义如表8.1所示。该超声波传感器在与单片机连接时需要两个端口来控制传感器工作,其工作原理是:单片机控制超声波发射头向前方空间内发射一束超声波信号,遇到障碍物后返回,超声波接收头在接收到返回的超声波信号后立即通过接收端给单片机一个信号。单片机根据返回的超声波信号时刻与发射超声波信号时刻的时间差计算出障碍物与超声波传感器的距离。确定完成比赛所需的传感器和灭火装置确定完成比赛所需的传感器和灭火装置超声波传感器的工作原理示意图如图8.3所示。当机器人到达房间后,需要检测房间内是否有火源,可以用一种远红外火焰传感器来解决。DM-FIR-FS远红外火焰传感器可以用来探测火源或其他一些波长在760~1100nm范围内的热源。确定完成比赛所需的传感器和灭火装置确定完成比赛所需的传感器和灭火装置其正、反两面的实物图如图8.4所示。火焰传感器使用非常简单。在使用时,Vcc接5V电源,GND接地,并将SIG1、SIG2接单片机I/O端口,SIG1、SIG2输出0~5V的电压信号。通过单片机A/D转换器采集读取两路模拟信号得到自身与火焰的距离,距离近则输出电压低,距离远则输出电压高。如果没有A/D转换器采集,端口直接获得0和1的数字信号,0表示前方有火焰,1表示前方没有火焰。确定完成比赛所需的传感器和灭火装置确定完成比赛所需的传感器和灭火装置图8.5所示的灭火装置套件。由1个高速直流电机、1个风扇、一些安装和固定用的配件及1个型号为DM-S10051的传感器开关组成。传感器开关用单片机的端口输出信号来控制灭火电机的启动和停止,高速直流电机的转动需要较大的电流,单片机的端口无法直接提供,必须通过传感器开关由电源直接提供。确定完成比赛所需的传感器和灭火装置传感器开关在与传感器相连并控制其电源通断时,J1口的SIG接单片机与传感器通信的I/O口,SEL接单片机电源通断控制信号,Vcc接5V电源,GND接地。J2口的SIG接传感器输出信号,Vcc接传感器电源,GND接传感器GND。即传感器接J2囗,单片机接J1口。传感器开关在与单纯用电模块连接,如连接灭火风扇控制其电源通断时,J1口的SEL接单片机,以控制电源通断信号I/O,Vcc接5V电源,GND接地。J2口的Vcc接灭火风扇Vcc,GND接灭火风扇GND,SIG悬空。确定完成比赛所需的传感器和灭火装置02确定超声波传感器连接端口和编写测距函数灭火机器人至少需要3个超声波传感器才能完成基本的导航任务,3个传感器分别安装在机器人的前方、左侧和右侧。在编写导航程序前,必须确定3个超声波传感器与单片机的连接端口,并据此编写超声波测距函数。确定超声波传感器连接端口和编写测距函数1个超声波传感器要用到两个单片机端口,3个超声波传感器就要用到6个单片机端口。采用C语言的宏定义将每个传感器的引脚与单片机的端口引脚关联起来,并据此完成传感器与单片机的物理连接,代码如下。确定超声波传感器连接端口和编写测距函数确定超声波传感器连接端口和编写测距函数要实现超声波测距功能,需要用到单片机的定时/计数功能,通过计数实现时间的测量。这里对该功能的设置和实现不做详细讲解,只给出具体的实现代码。AT89S52单片机有两个定时/计数器--T0和T1,这里使用T0。在使用之前必须对定时/计数器进行初始化,设置其工作方式为计数,并将计数器清零,代码如下。确定超声波传感器连接端口和编写测距函数确定超声波传感器连接端口和编写测距函数根据超声波测距原理编写超声波测距函数。可以为3个超声波传感器各编写1个测距函数,也可以只编写1个函数,用1个形式参数决定在每次调用时使用哪个传感器,函数返回传感器测得的距离,单位为mm,代码如下。确定超声波传感器连接端口和编写测距函数确定超声波传感器连接端口和编写测距函数确定超声波传感器连接端口和编写测距函数确定超声波传感器连接端口和编写测距函数该你了①按照任务8.2的接线定义,利用块扩展学习板将3个超声波传感器分别安装到灭火机器人上,并用杜邦线和跳线同单片机的相应引脚连接起来。②利用上面编写的超声波测距函数,编写主控测试程序,测试3个超声波传感器是否正常工作。确定超声波传感器连接端口和编写测距函数03安装火焰传感器和灭火风扇,编写寻找火源和灭火程序远红外火焰传感器有两个信号输出端口,传感器开关需要1个端口控制灭火风扇的启停,所以共需要3个单片机端口来检测火焰传感器信息并控制灭火风扇的启停。采用C语言的宏定义将火焰传感器的接口引脚、传感器开关的控制引脚与单片机的端口引脚关联起来,并据此完成与单片机的物理连接,代码如下。安装火焰传感器和灭火风扇,编写寻找火源和灭火程序安装火焰传感器和灭火风扇,编写寻找火源和灭火程序只有当火焰传感器的两个引脚都输出低电平时,才能确认在机器人的正前方有火源存在,此时才可以启动灭火电机进行灭火,即给MSel引脚输出高电平,启动灭火电机。安装火焰传感器和灭火风扇,编写寻找火源和灭火程序以上灭火子函数让机器人停在原地,直到火焰熄灭。如果机器人离火焰较远,吹不灭火焰,那么机器人就永远出不来了。安装火焰传感器和灭火风扇,编写寻找火源和灭火程序一种简单的解决办法是:让灭火风扇工作几秒(具体多少秒,可以通过实际测试确定),然后看看火焰有没有熄灭,如果没有,让机器人前进几步(具体前进多少步,同样可以通过实际测试确定),再等待几秒,如此循环,直到火焰熄灭。安装火焰传感器和灭火风扇,编写寻找火源和灭火程序机器人在进入房间后如何寻找火源呢?最简单的办法是根据机器人进入房间的位置缓慢旋转寻找火源。为了提高效率,编写一个带旋转方向参数的函数来搜索火焰。为了简便,用宏定义简化两种无符号数据类型的定义。安装火焰传感器和灭火风扇,编写寻找火源和灭火程序安装火焰传感器和灭火风扇,编写寻找火源和灭火程序该你了①按照任务8.3的接线定义,将火焰传感器、传感器开关和灭火风扇安装到灭火机器人上,并用杜邦线和跳线同单片机的相应引脚连接起来。②利用上面编写的灭火子函数,编写主控测试程序,测试火焰传感器和灭火风扇是否正常工作。安装火焰传感器和灭火风扇,编写寻找火源和灭火程序该你了③如果上面的灭火子函数不能将火焰熄灭,按照上面的提示改写子函数,让其能够将火焰熄灭。④解释一下为什么搜索火源的函数能够搜索到火源?安装火焰传感器和灭火风扇,编写寻找火源和灭火程序04“机器人智能消防”程序设计有了超声波传感器提供的距离信息,机器人可以确定自己当前所处的位置,一种简单的判断方法如下。①若前方的距离小于一个设定的距离阈值,而左右两侧的距离大于阈值,则机器人位于一个丁字路口,可以左转或者右转。②若前方的距离大于一个设定的距离阈值,而左右两侧的距离小于阈值,则机器人位于走廊中间,只能直行。“机器人智能消防”程序设计③若前方和左侧的距离小于一个设定的距离阈值,而右侧的距离大于阈值,则机器人位于一个右转路口,只能右转。④若前方和右侧的距离小于一个设定的距离阈值,而左侧的距离大于阈值,则机器人位于一个左转路口,只能左转。⑤若三个方向的距离都小于一个设定的距离阈值,则机器人位于一个死胡同,只能掉头。“机器人智能消防”程序设计⑥若三个方向的距离都大于一个设定的距离阈值,则机器人位于一个十字路口,既可以直行,又可以左转或者右转。⑦若前方和左侧的距离大于一个设定的距离阈值,而右侧的距离小于阈值,则机器人位于一个路口,可以前进或者左转。⑧若前方和右侧的距离大于一个设定的距离阈值,而左侧的距离小于阈值,则机器人位于一个路口,可以前进或者右转。“机器人智能消防”程序设计通过阈值的设定,将3个超声波传感器的信息转换为两种状态信息,可以判断出8种路口状况。阈值数据具体取多大,要根据实际的场地测试而定。机器人导航的一种最基本的运动策略是沿着墙壁行走。例如,小车一直沿右墙行走,根据超声波传感器提供的信息确定遇到路口的类型,决定机器人的运动方向。在某些情况下,还要根据机器人所处的位置修改机器人的前进方向,如当处于十字路口时,可能让机器人不再沿墙行走,而是直行穿过路口,此时要让它直走一段路程,在过了路口后重新沿壁检测下一个房间。“机器人智能消防”程序设计把场地内最小的房间定为1号,按逆时针方向,其他房间依次设为2、3、4号。根据比赛要求,把每两个房间有火源的6种可能组合设定为6种灭火模式,用一个模式变量进行切换。“机器人智能消防”程序设计模式1:从起始点出发,从1号房间起依次搜寻每个房间的火源,当灭完两根蜡烛后,就不再寻找其他房间,直接回到起始点,这个模式适用于蜡烛在1、2号房间的情况。模式2:蜡烛在1、3号房间,从起始点到1、3号房间灭火,灭完后回到起始点。模式3:蜡烛在1、4号房间,直接到1、4号房间灭火,灭完后回到起始点。“机器人智能消防”程序设计模式4:蜡烛在2、3号房间,直接到2、3号房间灭火,灭完后回到起始点。模式5:蜡烛在2、4号房间,直接到2、4号房间灭火,灭完后回到起始点。模式6:蜡烛在3、4号房间,直接到3、4号房间灭火,灭完后回到起始点。“机器人智能消防”程序设计经过对比赛场地和任务组合的分析,不同的模式需要选择不同的运动策略对机器人进行导航,以便机器人能够用最少的时间完成灭火任务。模式1让机器人一直沿右墙走,当前方遇到障碍物时就左转90°,遇到路口,向右转90°,在进入房间1后继续沿右墙行走搜索火源,灭火。在火焰熄灭后掉头,机器人改沿左墙行走,出房间,左转90°,又改为沿右墙行走,到达第2个房间,进去灭火,在灭完火后,掉头返回,回到起始点。其他模式参照上面的分析方法,完成机器人导航程序的设计。“机器人智能消防”程序设计“机器人智能消防”程序设计根据模式1的灭火任务,规划出机器人需要经过的路径,在模式1中机器人运动路径规划如图8.6所示。“机器人智能消防”程序设计机器人沿墙行走算法示意

温馨提示

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

评论

0/150

提交评论