纳英特机器人小学灭火(辫子法).doc_第1页
纳英特机器人小学灭火(辫子法).doc_第2页
纳英特机器人小学灭火(辫子法).doc_第3页
纳英特机器人小学灭火(辫子法).doc_第4页
纳英特机器人小学灭火(辫子法).doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

密级:资料小学灭火(2008辫子法)套装设计方案 (此图仅供参考,实际图片见文档的机器搭建部分)(使用伺服电机和3.0大功率驱动模块)(仅供参考) 纳英特机器人事业部总页数正文附录生效日期:2008-6-17编制:审核:批准:目 录第一章 项目方案概述31.1配件清单31.2参数说明5第二章 机器人的搭建和程序设计122.1机器人测试和搭建122.1.1扩展板的组装122.1.2 马达和轮子的组装122.1.3 前后灰度传感器的安装142.1.4 主机的安装142.1.5 红外避障传感器的安装152.1.6 工业红外传感器的安装172.1.7 大功率的安装182.1.8 火焰传感器的安装192.1.9 灭火风扇的安装202.1.10 辫子和架高火焰及电池包的安装212.2机器人的程序设计252.2.1程序(图形化程序,解决方案里带有图形化程序原文件)252.2.2程序(C语言程序)262.3机器人的使用36第三章 常见问题分析373.1 机器人倒退,原地打转373.2 机器人在场地上不走373.3 机器人开机后速度很慢或倒退373.4 机器人撞到挡板373.5 机器人不能发现火383.6 机器人在灭火时对不准火383.7 机器人掉程序、死机等383.8 辫子无法打开或打开角度不对383.9 风扇不能启动38第一章 项目方案概述根据第九届全国中小学电脑制作活动指南设计,本套装适合小学组灭火项目使用。1.1配件清单本方案所需的配件清单: 序号所需配件个(套)数配件在本方案中的功能配件图片N-A-0101纳英特积木式机器人平台(V1.0)1机器人核心控制平台N-B-0101主板扩展1扩展模拟接口和伺服电机接口N-A-0201积木套件1用来装配机器人及固定传感器N-B-04013.0功率马达驱动模块1用来增大马达驱动能力 N-B-03011.0功率马达驱动模块1用于缩短灭火风扇的灭火时间N-B-0202电源稳压模块1提供7V25V之间的稳定直流电压 N-C-0801声控传感器1(数字)(能检测环境声音变化)(声控启动)N-C-0901底部灰度传感器2用于检测场地地面标志线(房间门口白线、灭火圈白线等) N-C-0201红外测障传感器9数字传感器,主要用于迷宫避障碍物 N-C-0601火焰传感器7用于检测火焰N-C-0101红外测物传感器1用于检测前方障碍物N-D-0601六节动力镍氢电池包1用来给主机单独供电N-D-0401五节动力镍氢电池包2用来单独给马达电路供电,动力更强N-F-0311“Z”字型减速马达(12V500转)4用于机器人在场地上运动N-F-0601灭火风扇2用于吹灭蜡烛N-F-0401伺服电机2用于辫子的打开,从而达到搜索房间的目的N-F-1201高速轮套件4硅胶质地的轮胎加大与接触面的附着力,光面的设计, 使其与接触面增大,在平滑场地上具备更好的抓地力。N-F-1601灭火结构件1用于固定主机、传感器、马达等1.2参数说明实物图相关参数外形尺寸22x28x29cm(长宽高)重量2.25KG电源参数采用两路供电,主机使用1个六节镍氢电池包,2个五节镍氢电池包单独给大功率驱动模块供电(两个大功率并联)。马达参数四个12V/500转“Z”字型轴减速齿轮箱马达,使用宽大轮套件。功能描述采用辫子策略(其中包含架高火焰探头),能够在最短的时间获得最优的房间系数,马达和主机分离供电,采用2个五节电池包串联后单独给大功率驱动模块供电, 12V/500转360电机速度更快扭距更大,宽四大轮结构直线效果更好,更稳定。1.3思路描述对于高中、初中和小学灭火项目来说,机器人需要解决的主要问题是如何去走迷宫?如何寻找火源并顺利的灭火?本方案采用两个工业级红外传感器,十个红外测障传感器,采用双头行走,两个底部灰度传感器,七个火焰传感器,四宽大轮结构(拉宽四个轮子的轴距轮距使机器人行走更稳定),外加3.0版大功率驱动模块等设计,走迷宫更快,更稳定,灭火更准确,各房间采用统一的迷宫和灭火程序.启动后机器人直行并展开辫子(四号房间的辫子是成一定角度并装有火焰探头的支臂),前行到正左手迷宫的所有红外传感器都检测不到障碍物后停止,如果在这个过程中机器发现火源,停止直行动作,开始调用4号房间的灭火程序(走左手迷宫进入4号房间灭火),否则的话调用0.4秒左右的左手迷宫,目的是调整机器人的状态,为下面机器执行正右手迷宫做准备,机器人通过正右手迷宫前行到正前面的红外传感器检测到障碍物为止,调用0.7秒左右的右手迷宫后,换正左手迷宫前行到正前面的红外传感器检测到障碍物为止,通过机器人正右侧向后看的火焰传感器检测三号房间是否有火,有火,通过正右手迷宫进入3号房间灭火,没有火,执行1号和2号房间程序,如果机器人反向左侧的火焰传感器没有检测到火焰执行倒右手迷宫,直到检测到2号房间的白线,通过倒右手迷宫进入2号房间灭火,如果反向左侧的火焰传感器检测到火源,机器前行到2号和1号的外挡板后通过正右手迷宫进入1号房间灭火. 辫子在机器进入火焰所在房间后开始收缩。(具体见路线图)(蓝色为机器人正向运动青色为反向运动)4号房间图中红色箭头为机器人前进方向,青色箭头为机器人伺服电机上的支架(上面安装有火焰探头),图中机器人由左向右前进的过程中,支架上的火焰传感器如果检测到火源,机器人调用正左手迷宫进入4号房间灭火,如果机器到达图中最右边的位置还没有发现火源,调用0.4秒的正左手迷宫.支架上的探头发现火源后,机器人进入4号房间灭火没有发现火源,机器人调用0.4秒左右的正左手迷宫3号房间机器人通过正右手迷宫前行到正前方的红外传感器检测到障碍物为止机器人调用0.7秒的正右手迷宫机器人调用左手迷宫前行至正前方红外传感器检测到障碍物为止,判断机器人正向右侧的火焰传感器是否检测到火源,有火进入3号灭火,否则调用1号2号灭火程序. 有火,机器人进入3号房间灭火2号房间 3号没火,机器人通过倒右手迷宫(机器人的正反向发生变化)进入1号2号灭火程序 1号没火,机器人进入2号房间灭火1号房间 1号有火,进入1号灭火第二章 机器人的搭建和程序设计2.1机器人测试和搭建在机器人的搭建过程中,首先需要对机器人各部件包括机器人控制主板、减速马达、传感器等进行测试(各配件的测试方法及其技术参数,请参阅各配件用户说明书,可在编程软件中下载测试程序测试),以保证在使用时部件的可靠性。同时每搭好一个主要的部件,也必须进行一个检测的过程,同样是保证机械结构的合理性。机器人的检测方法请参见用户手册(硬件部分)1112页。2.1.1扩展板的组装扩展板10毫米铜柱 扩展板的具体安装见附件2.1.2 马达和轮子的组装螺丝M3x8紧固锣帽 高速轮螺丝M3x5 螺丝M3x8紧固锣帽 高速轮螺丝M3x5 马达组装的时候,两侧的马达分别在同一条直线上面,否则,在走迷宫的时候,会不平稳。所需要的零部件如下:名称型号数量“Z”字型减速马达3604高速轮套件4螺丝M3x88螺丝M3x54锣帽紧固82.1.3 前后灰度传感器的安装前底部灰度传感器接模拟2号口,通过调解器把底部灰度在其始区域白色块上的值调到80左右后底部灰度传感器接模拟31号口,通过调解器把底部灰度在其始区域白色块上的值调到80左右螺丝M3x8紧固锣帽 名称型号数量灰度传感器2螺丝M3x822.1.4 主机的安装在安装马达的位置的时候,要结合实际,确保主机能够放入所安装的马达的空隙里面。具体做法可以参照下面的图示主机螺丝M3x5安装的时候注意主机应该正好在结构板的正中间位置名称型号数量主机1螺丝M3x54螺丝M3x5铜柱20mm铜柱15mm2.1.5 红外避障传感器的安装 安装铜柱的时候注意高度适当,传感器参数供参考铜柱20mm螺丝M3x5红外避障传感器(接数字11号口,检测距离30厘米左右)红外避障传感器(接数字10号口,检测距离20厘米左右)红外避障传感器(接模拟19号口,检测距离10厘米左右)红外避障传感器(接模拟18号口,检测距离10厘米左右)红外避障传感器(接数字7号口,检测距离30厘米左右)红外避障传感器(接数字8号口,检测距离20厘米左右)螺丝M3x5紧固锣帽 紧固锣帽螺丝M3x5螺丝M3x5铜柱15mm铜柱20mm红外避障传感器(接数字15号口,检测距离15厘米左右)红外避障传感器(接数字14号口,检测距离25厘米左右)此两红外仅仅做备用,实际安装的时候根据自身情况选择是否添加(传感器坏的时候做更换件)注意:红外传感器参数仅做参考名称型号数量九孔片3红外避障传感器反射型11(实际使用9个,2个备用)螺丝M3x519锣帽紧固12铜柱20mm8铜柱15mm62.1.6 工业红外传感器的安装五孔片螺丝M3x5 工业红外传感器(接数字9号口,为防止撞墙,检测距离在30厘米左右) 名称型号数量五孔片1工业红外传感器反射型1螺丝M3x512.1.7 大功率的安装铜柱20mm铜柱10mmV1.0大功率 V3.0大功率铜柱20mm铜柱20mm铜柱20mm x4 1.0和3.0在安装的时候,中间留出适当的空间名称型号数量大功率V1.01大功率V2.01铜柱20mm16铜柱10mm42.1.8 火焰传感器的安装螺丝M3x5紧固锣帽前方右边火焰传感器接到模拟3口前方左边火焰传感器接到模拟4口火焰传感器接到模拟6口后方右边火焰传感器接到模拟29口火焰传感器接到模拟25口后方左边火焰传感器接到模拟28口十二孔片螺丝M3x5十二孔片螺丝M3x5 根据实际情况,将12孔片的长度和宽度适当调整,例如图中,就是将2根孔片并起来名称型号数量十二孔片4火焰传感器6螺丝M3x510螺帽紧固62.1.9 灭火风扇的安装前方灭火风扇接在V1.0大功率上风扇(用扎带固定)后方灭火风扇接马达V1.0大功率上名称型号数量风扇2扎带若干2.1.10 辫子和架高火焰及电池包的安装铜柱20mm x8 十二孔绿条螺丝M3x5 右伺服电机接伺服电机五号口左伺服电机接伺服电机零号口伺服电机(用扎带固定)紧固螺丝螺丝M3x8十二孔绿条十二孔绿条 探头安装好后,注意根据实际情况调节伺服电机和探头支架的夹角电池包用扎带固定(为防止脱落,建议打少量热溶胶固定) 整机效果图2.2机器人的程序设计迷宫是整个灭火项目的关键点,建议先调整迷宫的相关参数。2.2.1程序(图形化程序,解决方案里带有图形化程序原文件)2.2.2程序(C语言程序)void main() /*声控启动*/ while( digital(12)=0) /*开启伺服电机*/ start_process(kai(); motor(0,50); motor(2,50); sleep(0.2); /*没检测到火焰并且左手迷宫至少有一个红外传感器能检测到障碍物*/ while(digital(10)=1 | digital(11)=1 | analog(19)210) motor(0,70); motor(2,70); while(1) /*发现火执行灭火程序,为了保证搜索房间系数,辫子都是在进入火焰所在房间后才开始收*/ if( analog(20)130) zlmg(); start_process(guan(); fire4(); else /*左手迷宫没有红外传感器检测到障碍物后,执行一定时间的左手迷宫后,程序中断*/ if( digital(10)=0 & digital(11)=0 & analog(19)100) reset_system_time(); while(mseconds()350L) zlmg(); break; /*如果前面的红外传感器没有检测到障碍物,执行右手迷宫*/ while( digital(9)=0) zrmg(); zhengshache(); /*调用系统函数*/ /*执行一定时间的右手迷宫,目的是调整机器的状态,保证接下来能正常的执行左手迷宫*/ while(mseconds()2200L) zrmg(); /*执行左手迷宫直到前面的红外传感器检测到障碍物为止*/ while( digital(9)=0) zlmg(); zhengshache(); /*判断三号房间的火焰*/ if( analog(6)220) mh3(); /*判断二号房间的火焰*/ if( analog(20)210) mh2(); mh1();void zlmg() /*左手迷宫*/ if( digital(9)=1 | analog(19)100) if( digital(9)=1) motor(0,80); motor(2,-80); else motor(0,40); motor(2,-40); else if( digital(10)=1 | digital(11)=1) if( digital(10)=1) motor(0,60); motor(2,50); else motor(0,80); motor(2,80); else motor(0,-90); motor(2,90); motor(0,10); motor(2,70); void kai() init_expbd_servos(1); /*开启伺服电机*/ servo0=1700; servo5=2000; sleep(0.1);void guan() init_expbd_servos(1); /*关闭伺服电机*/ servo0=4800; servo5=0; sleep(0.1);void zrmg() /*右手迷宫*/ if( digital(9)=1 | analog(18)100) if( digital(9)=1) motor(0,-60); motor(2,60); else motor(0,-60); motor(2,60); else if( digital(7)=1 | digital(8)=1) if( digital(8)=1) motor(0,50); motor(2,60); else motor(0,60); motor(2,60); else motor(0,95); motor(2,-95); motor(0,70); motor(2,15); void fire4() /*四号房间灭火*/ motor(0,-40); motor(2,40); sleep(0.1); while(1) if( analog(2)10) motor(0,100); motor(2,-100); if(analog(3)-analog(4)10) motor(0,-100); motor(2,100); motor(0,100); motor(2,100); void zm() /*正向灭火*/ motor(0,-30); motor(1,100); motor(2,-30); motor(3,-100); sleep(0.1); stop(); motor(1,100); motor(3,-100); sleep(0.5); stop();void tingzhi() while(1) stop(); void zhengshache() stop(); motor(0,-30); motor(2,-30); sleep(0.1);void zanting() stop(); sleep(2.0);void mh2() /*二号房间搜索及灭火*/ while(1) while( analog(31)130) drmg(); start_process(guan(); reset_system_time(); while(mseconds()400L) drmg(); fire2(); void mh1() /*一号房间搜索及灭火*/ while(1) reset_system_time(); while(mseconds()100) ddrmg(); fanshache(); while( analog(31)130) zrmg(); start_process(guan(); fire1(); void drmg() /*倒右迷宫(反向右手迷宫)*/ if( analog(30)100) motor(0,-70); motor(2,70); else if( digital(15)=1) motor(0,-60); motor(2,20); else if( digital(14)=1) motor(0,-40); motor(2,-40); else motor(0,70); motor(2,-70); motor(0,-5); motor(2,-70); void ddrmg() /*倒右形迷宫(反向右手迷宫)*/ if( analog(30)100) motor(0,-70); motor(2,70); else if( digital(15)=1) motor(0,-60); motor(2,20); else if( digital(14)=1) motor(0,-30); motor(2,-30); else motor(0,-30); motor(2,-40); void fire2() /*二号灭火*/ while(1) if( analog(31)10) motor(0,-80); motor(2,80); if(analog(29)-analog(28)10) motor(0,80); motor(2,-80); motor(0,-80); motor(2,-80); void fm() /*反向灭火*/ motor(0,30); motor(1,-100); motor(2,30); motor(3,100); sleep(0.1); stop(); motor(1,-100); motor(3,100); sleep(0.5); stop();void mh3() /*三号房间搜索及灭火*/ while(1) while( analog(31)130) zlmg(); start_process(guan(); fire3(); void fire3() /*三号房间灭火*/ while(1) if( analog(2)10) motor(0,80); motor(2,-80); if(analog(3)-analog(4)10) motor(0,-80); motor(2,80); motor(0,50); motor(2,50); void fanshache() stop(); motor(0,30); motor(2,30); sleep(0.1);void fire1() /*一号房间灭火*/ while(1) if( analog(2)130 &( analog(3)20 | analog(4)10) motor(0,100); motor(2,-100); if(analog(3)-analog(4)10) motor(0,-100); motor(2,100); motor(0,100); motor(2,100); 2.3机器人的使用打开机器人的电源开关后,依据本方案提供的参考程序检查传感器接口是否正确(请注意各传感器与机器人的接口一定要与程序中的接口相符)并下载到机器人中(下载过程参见机器人平台用户说明书)。声控启动。 第三章 常见问题分析3.1 机器人倒退,原地打转问题分析:机器人马达装好后下载一个向前进的程序,发现机器人没有前进 参考程序: void main()motor(0,50);motor(2,50); 解决方法:第一:确认机器人的马达输出信号左右端口是否接错。见上图,我们使用的是“0”号和“2”号马达输出端口,在使用的时候要确保小编号端口在左边大编号端口在右边(我们使用的是“0”和“2”号马达输出端口,那么在接马达的信号线的时候,要保证机器人的正向左边的马达信号线接的是主机上的“0”号马达输出接口而右边是“2”号接口,类似的,如果我们使用的是“1”和“2”号接口,

温馨提示

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

评论

0/150

提交评论