




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、小组成绩小组成员个人成绩姓名学号0910200303091020030910200309102003评语一 清楚描述轮式灭火机器人应用的场合,以及机器人的主要功能:近年来,随着城市进程大大加快,城市越来越拥挤,不可避免的因为一些消防意识的淡薄而引发火灾,火灾危险性较大,发生火灾有毒气浓度高,火灾扑灭难度大等困难,尤其在可燃物,易燃物集中,客流量大的商场,发生火灾时,火势蔓延快,人员疏散困难,如果不能及时控制火势,后果将不堪设想。所以灭火机器人应运而生。灭火机器人基本功能主要包括以下几点:(1) 移动功能。这是移动机器人的基本功能,要求机器人能够靠近火灾现场。(2) 消防功能。这是机器人的主要功
2、能。机器人在进入灭火射程时,根据遥控指令或者自身传感器的信息能够喷射灭火剂进行灭火。(3) 观察功能。这是消防人员了解火灾现场集体情况,有效组织消防对策,利用灭火机器人进行灭火的辅助功能。在接近货源和进行灭火作业的过程中,凭借防止在灭火器本体前部和消防水枪伺服平台上的两台摄像机,消防人员可以根据火灾现场的实际情况最佳灭火方法。(4) 自我保护功能。这是灭火机器人可靠完成其灭火功能的附加功能。一般来说,火灾现场较为复杂,灭火机器人在进行灭火作业时会遇到意想不到的情况。地下商场机器人可以根据内部温度启动冷却功能,并对冷却强度进行调整,机器人外壳能够承受住某些坚硬物体的撞击,当碰到影响灭火和危机自身
3、安全的意外情况时能够发出相应的报警信号。(5) 探测功能。消防机器人可以根据需要采集火灾现场的各项数据(如火场温度,辐射强度,有毒气体的种类及浓度)并能够对数据进行记录或者处理。(6) 通讯功能。为使灭火机器人可靠完成上述功能而设置的必要功能。主要用于发布遥控指令,回传摄像机的视屏信号和现场采集的数据。 二根据灭火机器人的作业场合,结合我们所能达到的技术,所设计的灭火机器人需要达到的性能指标如下表所示。最大移动速度>30m/min最大可靠通讯距离>250m灭火级别(自备灭火剂)21a灭火剂最大充装量25kg控制燃烧面积(单支水枪)100m2最大连续工作时间>1h最大灭火半径自
4、带灭火剂喷枪8m外接消防水枪25m喷枪工作角水平0360俯仰-10+45最大外形尺寸(长*宽*高)1200mm*800mm*600mm最大重量180kg所需传感器及其用途包括:红外发射传感器(6个),红外接受传感(6个),声音传感器(1个),远红外火焰传感器(前后各7个),地面灰度传感器(1个)。除此之外,还需要一个灭火风扇,其中红外发射和接收传感器的配合使用可以使机器人自动避障行走。远红外火焰传感器可以检测光的强弱,用于判断房间是否有火以及趋光灭火。声音传感器用于启动。基于实践,风扇灭火更为可靠,所以选用风扇灭火。三总体结构及工作原理在灭火机器人系统中,首先要解决的是定位问题,故需要一个好的
5、定位方案。所以核心需要给传感器留足够的输入接口,同时也要有足够的输入接口用于控制外设。而速度对灭火机器人至关重要,在高速运动的情况下,需要cpu具有比较强的浮点数运算能力。基于上述考虑,arm9作为灭火机器人控制核心是很好的选择。这个控制器硬件功能几齐全,功耗小,周边设备集成度高,是先进的智能机器人计算平台。它与其他的主要部件如下所示,系统总体框架如下。图1-1 灭火机器人结构图表1-1器件名称英文名厂家说明同步收发快速辅助存储器-主芯片str911fam44starm966e-stm 16/32位flash mcu,带有以太网,usb,can,ac电机控制,4个计时器,adc,rtc,dma
6、微处理器avr-atmeg a8-16pcatmel32个8位通用工作寄存器,可编程flash,512b的e2prom,23个可编程的i/o口串口电平转换芯片max232aesemaxim5v的供电,多通道rs232接口驱动器、接收器液晶显示器lcduniohm15a,硅整流三 灭火机器人的总体结构灭火机器人根据各部分完成的功能的不同,可以分为以下几个子系统:移动载体,传感系统,能源供给系统,灭火系统,冷却系统和控制系统,各个子系统完成的功能和组成如下:(1) 移动载体 在轨迹受约束的行走方式中,导轨在同层地下商城基本上呈水平状态灭火机器人在移动过程中不存在越障问题,采用轮式移动机器人具有较大
7、的优势。外壳应保证消防和冷却用水不能进入载体内部。(2) 传感系统 包括温度传感器,摄像机及其附件,红外扫描系统等。传感器负责火情监测和自身状态监测,机器人根据传感器采集的信息确定下一步的动作。 灭火机器人两个侧面和内部各放一个温度传感器以检测载体内部和外部的温度,保证机器人在合适的温度下工作,通常为50度以下。 灭火过程中子直观的信息来自于火灾现场的图像信号,我们把摄像机安装在机器人前端和喷枪上,前端摄像机用于观察路况,喷枪摄像机随喷枪一起运动,用以观察水枪的位置调整和灭火过程。(3) 能源供给系统为灭火机器人各部件提供电能。火灾现场环境恶劣,采用外部供电会很不安全。因此采用蓄电池供电方式,
8、且使用48v的直流电源可以满足要求(4) 灭火系统主要包括喷枪伺服平台,消防水枪,内置灭火剂及喷枪,这些是灭火机器人的作业装置(5) 冷却系统主要有水箱,冷却电路,冷却泵组成,对外置摄像机和载体进行冷却作业。四机器人的控制方案1.控制器系统设计由于嵌入式微处理器对实时任务具有很强的支持能力,可以完成多任务并且具有较短的中断响应。因此再设计过程中,采用嵌入式arm9为核心的控制器,实现了以极少的周边芯片获得齐全的功能。arm9处理器具有体积小,功耗低,性能高的特点。它集成了28路模拟信号采集通道,可以兼容数字信号和模拟信号,每路精度为10位,因此可以分辨3mv的输入电压变化。8路高速数据采集通道
9、每秒可采集50万次信号。该处理器内部采用哈弗结构,每秒可执行1.1亿条机器指令,这样强大的功能可以实现机器人高速精确地按照规定路径行走,并且机器人的cpu能够实时迅速的读取多个传感器端口数值,在较短的时间内完成对各端口数值的存储,运算和输出等多种任务。在主控制器核心cpu的基础上,将各种功能模块,执行机构等连接到cpu的引脚上。2.控制器电源供电设计 电源直接影响到机器人运行特性。考虑到电动机启动瞬间电流很大,会造成电源电压不稳定,影响控制器和输入电路工作的稳定性和可靠性,因此采用双电源供电方案。电机电源采用锂电池,工作电压为24v,控制器电源采用8.4v锂电池,并提供电压采样端口,以供电池检
10、测。五 嵌入式控制系统软件设计 机器人控制器是一个多任务并行执行的实时控制器。在软件实现上 ,灭火机器人除了要协调控制各个不同功用的电机 ,还需要对红外、度、音等多种传感器接收的数据进行传输、处理等。采用 c语言可以方便快捷的编写程序。这里对灭火机器人的每种功能进行模块化处理。总体的思路是 :寻找火源 ,确定火源方位 ,接近火源 ,趋光灭火 ,回家。主程序设计流程图如图 1-2所示。实现起来最基本的就是使机器人能够顺利的直线行走和拐弯 ,这一模块称为沿墙走 (沿左墙前 ,沿左墙后 ,沿右墙前 ,沿右墙后) ,沿右墙前如图 1-3所示。 具体为 :(1) 若正前距离很大 ,同时右前的距离稍小时
11、,太靠近右墙 ,执行左转微调 ; (2)若正前距离很大 ,同时右前的距离稍大时 ,太靠近左墙 ,执行右转微调 ; (3)若正前距离很大 ,右前距离适中 ,就直行 ; (4)若正前距离特别小 ,同时右前距离特别小时 ,使机器人稍后退可以防碰撞 ; (5)若正前距离比较小 ,右前距离也比较小时 ,机器人左转 ; (6)右前距离很大时 ,机器人执行右转弯。 其中 : (1) (3)保证了在走直线时可以走直 ,通过不断调整 ,使机器人始终运行在距离墙 1015 cm的位置。(4) (6)保证了机器人顺利拐弯和进房间。沿左墙行走及反方向沿墙行进同理 ,具体的参数必须在不断试验中反复调节。几种沿墙走配合使
12、用就可以实现全部房间的遍历和回家 ,再加上趋光和灭火的模块就完成了整个灭火任务。图1-2 主程序设计图1-3 沿右墙前六 程序设计 传感器接法 红外传感器接法 前红外: 数字9 左红外: 数字15 左45度角红外: 数字10 右45度角红外: 数字8 右红外: 数字14 火焰传感器接法 左火焰: 模拟3 中火焰: 模拟5 右火焰: 模拟4 (底部)灰度传感器: 模拟2 声控传感器: 模拟6 程序说明 #define p 120 /定义火焰传感器检测到火焰的返回值 int k,j,i=0,n,b=1,c=1; /程序控制变量,不必更改 int m=i; int pro,end=1; void m
13、ain() /主程序 while(analog(6)>100) /声控启动 while(!(analog(2)>100) /走出白色超始区 motor(0,80); motor(1,80); pro=start_process(test(); /启动地面标志线检测进程 while(1) /灭火与迷宫程序切换 if (analog(3) fire(); else /没有发现火焰,进入迷宫子程序 migong(); void migong() /迷宫子程序 if(digital(8)=0 ii digital(9)=0) /如果前方 或 右45度角红外检测到障碍物,左转 motor(0
14、,-70); /根据情况,调节功率参数,以下雷同 motor(1,70); else if(digital(14)=0 && digital(9)=1 && digital(8)=1) /如果只右方有障碍物,直行 motor(0,100); motor(1,100); else /如果没有障碍物,右转 motor(0,100); motor(1,-100); motor(1,10); motor(0,90); if(i>2)&&(i>m) /如果标志线数大于2且标志线有变化(针对1、2、3号房间) stop(); while(anal
15、og(3)>150 && analog(5)>150 && analog(4)>150) /如果没有检测到火焰 motor(0,70); /右转 motor(1,-70); if(digital(14)=0) /右红外检测到障碍物,停止转动 break; m=i+1; /更改标志线的对比变量 if(i=1 && b && (analog(3)>150 && analog(5)>150 && analog(4)>150) /4号房间,检测到第1条标志线,且没有火焰
16、while(digital(9)=0 ii digital(8)=0 ii digital(14)=0) /任意右手红外传感器有障碍物,右转 motor(0,70); motor(1,-70); while(digital(9)=1) /前方传感器没有障碍物,右前进 motor(0,100); motor(1,70); b=0; /控制变量 void fire() /灭火子程序 if(i>4 ii i<8) && c) /如果在2号房间 while(analog(3) motor(0,-60); motor(1,60); motor(0,60); /强制直行一段 m
17、otor(1,60); /主要是解决2号房间右手法则灭火时的碰墙的情况 sleep(0.6); c=0; while(analog(5)<10 && analog(2)<60) /如果火焰距离合适 且 检测到地面标志线,灭火 motor(0,-10); /后退一段 motor(1,-10); sleep(0.15); stop(); motor(2,100); /灭火 sleep(2.000); stop(); motor(0,-70); /灭完火,后退一段 motor(1,-100); sleep(0.2); kill_process(pro); /关掉地面标志线
18、检测进程 select(); /进入回家子程序选择子程序 while(analog(3)-analog(4)> 3) /向右调整,如果调整较频繁,修改最后的3 motor(0,50); motor(1,-50); while(analog(4)-analog(3)> 3) /向左调整,同上 motor(0,-50); motor(1,50); motor(0,40); /直行 motor(1,40); void test() /地面标志线检测子程序 while(1) k=analog(2); if(k<30 ii k>150) /30 和 150 分别为底部传感器检测到
19、的的标志线和黑地面 j=k; /的值,请根据实际测试值适当修改 if(j<30) && (n>150) /如果更改,此处也一并更改 i+; beep(); n=j; void select() /回家程序选择子程序 if(i<3) /如果地面标志线条数小于3(即在4号房间) gohome_4(); /进入4号房间回家子程序,下同 else if(i<5) gohome_3(); else if(i<8) gohome_2(); else gohome_1(); void gohome_4() /4号房间回家子程序 start_process(end
20、stop(); /开启终(起)点停止进程序,下同 mg_right(); /右手法则回家 stop(); /停止 sleep(100.0); void gohome_3() /3号房间回家子程序 start_process(endstop(); mg_left(); /左手法则回家 stop(); sleep(100.0); void gohome_2() /2号房间的特殊回家程序 motor(0,60); /灭完火后右转一段 motor(1,-60); sleep(0.2); reset_system_time(); /系统时间复位 while(mseconds()<2100l) /运
21、行左手法则走迷宫2.1秒(时间长短为可以走出房间门口且不到3号房间的走廊) while(digital(9)=0 ii digital(10)=0) motor(0,60); motor(1,-50); while(digital(15)=0 && digital(9)=1 && digital(10)=1) motor(0,50); motor(1,50); while(digital(15)=1 && digital(9)=1 && digital(10)=1) motor(0,-80); motor(1,80); motor
22、(0,45); motor(1,80); stop(); sleep(0.1); while(digital(9)=0) /如果前方有障碍物,右转(调整姿势) motor(0,60); motor(1,-60); while(digital(9) = 1) /如果前方没有障碍物,左、右手法则并进,基本上直行到另一端(3号房间旁) if(digital(8)=0 ) /右边45度有障碍物,左转 motor(0,-50); motor(1,50); if(digital(14)=0 && digital(8)=1) /右边有障碍物且右45度角无障碍物,直行 motor(0,50);
23、 motor(1,50); if(digital(10)=0) /左边45度有障碍物,右转 motor(0,50); motor(1,-50); if(digital(15)=0 && digital(10)=1) /左边有障碍物且左45度角无障碍物,直行 motor(0,50); motor(1,50); motor(0,50); /直行 motor(1,50); start_process(endstop(); /前方有障碍物时,退出循环,开启终点停止进程 while(end) /左手法则走迷宫 if(digital(9)=0 ii digital(10)=0) motor
24、(0,60); motor(1,-50); else if (digital(15)=0 && digital(9)=1 && digital(10)=1) motor(0,70); motor(1,70); else motor(0,-80); motor(1,80); motor(0,40); motor(1,100); motor(0,-100); /终点刹车 motor(1,-100); sleep(0.1); stop(); /停止 sleep(100.0); void gohome_1() /1号房间回家 start_process(endstop(
25、); /开启终点停止进程 mg_right(); /右手法则走迷宫 stop(); sleep(100.0); void mg_right() /右手法则走迷宫子程序 while(end) if(digital(8)=0 ii digital(9)=0) motor(0,-70); motor(1,70); else if(digital(14)=0 && digital(9)=1 && digital(8)=1) motor(0,100); motor(1,100); else motor(0,100); motor(1,-100); motor(1,20);
26、 motor(0,100); void mg_left() /左手法则走迷宫子程序 while(end) if(digital(9)=0 ii digital(10)=0 ) motor(0,60); motor(1,-50); else if(digital(15)=0 && digital(9)=1 && digital(10)=1) motor(0,70); motor(1,70); else motor(0,-100); motor(1,100); motor(0,30); motor(1,100); void endstop() /终点停止进程子程序
27、while(1) k=analog(2); /检测1次 sleep(0.02); /间隔0.02秒,再检测 /可适当缩短或延长时间 if(k<50 && analog(2)<50) /如果2次都是白色,终点到,停止 end=0; stop(); sleep(1.0); /全部程序结束 #include <iom48v.h> #include <macros.h> #define motion_time1 4 #define motion_time2 6 #define time1 100 /转弯时间 #define time2 200 /直行
28、时间 #define adjusttime 10 /灭火中,姿势调整时,动作时间 #define checktime 5 /在传感器检测当中,设置的容错时间 /设定灭火时间 /设定重复灭火次数 #define delay_time1 10 #define delay_time2 20 #define fire_time 100 /设定灭火时间 #define fire_times 3 /设定重复灭火次数 unsigned int size=0; unsigned int i=0; unsigned int j=0; unsigned int h=0; unsigned int g=0; uns
29、igned int k=0; unsigned int cny_times ; unsigned int cny_in; unsigned int cny_in1; unsigned int cny_in2; unsigned int cny_in3; unsigned int cny_in4; unsigned int cny_delayms =0; unsigned int workstate=1; /工作状态 可作为检测是否进入灭火等 unsigned int cny=0; void port_init(void) portb = 0x00;/ ddrb = 0xff; portc =
30、0xff; /m103 output only ddrc = 0x00; portd = 0x0f; ddrd = 0xf0; /呼叫这一个常式设定所有的外围设备初值 void init_devices(void) /停止周游的中断直到再设置 cli(); /使所有的中断失去能力 port_init(); mcucr = 0x00; eicra = 0x00; /extended ext ints eimsk = 0x00; timsk0 = 0x00; /timer 0 interrupt sources timsk1 = 0x00; /timer 1 interrupt sources t
31、imsk2 = 0x00; /timer 2 interrupt sources pcmsk0 = 0x00; /pin change mask 0 pcmsk1 = 0x00; /pin change mask 1 pcmsk2 = 0x00; /pin change mask 2 pcicr = 0x00; /pin change enable prr = 0x00; /开关控制 /sei(); /re-enable interrupts /所有的外围设备现在被设定初值 /*前行*/ void forward(void) portd = 0x60;/0110 0000 /*停止*/ voi
32、d stop(void) portd = 0x00; void turn_right_s(void)/右转 portd = 0x20; /右转/0010 0000 void turn_left_s(void)/左转 portd = 0x40; /左转/0100 0000 void turn_right(void) /右转 portd = 0xa0; /右转/1010 0000 void turn_left(void) /左转 portd = 0x50; /左转/0101 0000 void backward(void)/后退 portd = 0x90; /后退/1001 0000 /* 声控启
33、动程序运行 */ void mic_startup(void) unsigned int mic_in; while(1) /无键按下等待 mic_in=pinc & 0x20; /pc5=0有声音 if(mic_in= 0) break; / 微秒级延时程序 void delay_us(unsigned int time) do time-; while (time>1); /* 毫秒级延时程序 */ void delay_ms(unsigned int time) while(time!=0) delay_us(1000); time-; /*传感器检测程序*/ void check () cny_in1=pinc & 0x03; /0000 0011 c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津城市建设管理职业技术学院《键盘艺术赏析与实践》2023-2024学年第二学期期末试卷
- 武汉城市职业学院《饲料学》2023-2024学年第二学期期末试卷
- 新疆应用职业技术学院《高级口语》2023-2024学年第一学期期末试卷
- 浙江音乐学院《装饰与图案》2023-2024学年第二学期期末试卷
- 塑料制品购销合同样板
- 房屋基装装修合同
- 2025年2月办公楼租赁合同增补的辐射防护检测条款
- 场地租赁合同与场地租赁安全协议
- 全新家政保姆家政合同
- 技术咨询与服务合同
- 鼠疫防控知识宣传课件
- 山东省国控设计集团有限公司招聘真题2024
- 公路工程资料管理办法
- 记者证考试心理素质试题及答案
- GB/T 45417-2025汽车再生制动功能缺陷分析指南
- 2021年5月四级江苏省人力资源管理师考试《理论知识》真题及答案
- 导学案:5.5 跨学科实践:制作望远镜(学生版)
- 污水处理日常运营管理与维护方案
- 2025年河南机电职业学院单招职业技能测试题库及参考答案
- 稀土磁性材料项目可行性研究报告申请备案
- 物业民法典知识培训课件
评论
0/150
提交评论