发新话题
打印

机器人灭火比赛基础算法

机器人灭火比赛基础算法

转自:robotdiy.com
作者:meirenyong_wzj
一,基本规则
  在机器人灭火比赛中,要求机器人从白圈出发,快速寻找在比赛场地的蜡烛并将其熄灭。
  在随机走模式机器人将比赛场地作为一个迷宫,发现是通道就直行,如有障碍物就躲避,左边有右转、右边有左转、碰撞就后退,如果发现火源就将其熄灭。

二,硬件需求
  1.微型机器人:2.火焰传感器 3光电编码器4数字指南针
三.调试
  a,比赛调试前必须保证机器人的硬件调整在最佳状态,将机器人红外传感器的检测距离调节到20CM左右(正对着比赛场地进行调节);将机器人碰撞传感器调节到最灵敏状态。
  b,在调试过程中,某个房间机器人如果一直进不去,可以直接调节机器人转弯的角度;如果角度不管怎么调都不行,可以将“前进模块”换成“启动电机模块”,同时将“启动电机模块”设置成左右电机速度不等。
  c,如果发现机器人总是在墙角左右摆头,将左转与右转的角度调大或左右转的角度不同就可以了。

  
Q&A
1 确定灭火前与蜡烛的距离
一般通过远红外火焰传感器寻找火源,当检测到的火焰值小于设定值时就开始灭火,但经常会发现机器人要么离蜡烛太远就开始灭火、要么撞了蜡烛还没反应。。。这是由于环境光线的变化、蜡烛火焰大小的变化引起的。
  为了提高有效灭火的成功率,我们可以用远红外火焰传感器与地面灰度检测卡共同来判断火焰。在编程时,如果机器人发现火源同时又发现地面白线,才进行灭火动作。

2 提高成绩的方法
(1)加电提速法
另外扩展一个电压更高的电源给电动机,使用扩展电池,系统电源只为主板电路提供电能
  注意扩展电池的电压不能超过电机的额定电压(一般<=12V),认真核对两个电池插口的正负符号
  扩展电源后,在使用过程中,要避免机器人电机堵转,否则会烧毁机器人芯片。
(2)门口探望法
由于远红外火焰传感器的检测距离一般可以达到1~2米,机器人在灭火过程中,只要房间门口望一下就可以判断是否有火源,有火就进去灭火,每有火,就出来到其他房间找火。
  使用时,在机器人上扩展一套地面灰度检测卡;编程时,只要在行走过程中,检测房间门口白线,发现后,判断里面是否有火,有则进入,无则退出继续寻找。

3 机器人在运行时,灭火效果不理想,如何调试?
答:灭火程序的实际演示效果受很多因素的影响,在所有传感器测试工作正常情况下,如果机器人在运行时灭火效果不理想,可参考下面几个方面因素。
  (1),远红外火焰探头安装位置。远红外火焰探头探测角度为60°,因此探头如水平安装,高度最好与蜡烛火焰高度相当。注意机器人在灭火时,灭火风扇会快速旋转,因此探头位置最好不要离风扇太近,以免被风扇碰到或挡住前方光线,影响检测结果。
  (2),亮度检测值的调整。例程中亮度检测值受现场环境影响,要根据实际测量值进行修改。
  (3),地面灰度值的检测。例程根据蜡烛前方的白纸片灰度值判断是否到蜡烛前,如机器人到白纸处还不灭火,可适当调整灰度检测值。
  (4),红外探测器的调整。红外探测器是机器人自带的探测器,主要用于机器人检测障碍物。如机器人在寻找光源时常碰到障碍物或离障碍物很远就避开,可通过主板红外调节电阻适当调整红外探测器灵敏度。
  (5),机器人运行速度。如机器人灭火时常撞灭蜡烛,可适当减小机器人速度。
  因为上面提供灭火程序比较简单,注意到以上几点,一般情况下应能灭火。继续调整优化各参数,直到灭火时间最短,效果最好。

4 实际灭火比赛策略。
机器人灭火比赛是富有挑战性的比赛,为了获得好的效果,需要对机器人机械、电子、软件等多方面进行扩展、改进。
灭火比赛可分解为以下几个方面:
  (1),灭火路径的优化
  机器人灭火比赛场地一般采用国际灭火比赛标准场地,场地大小、房间位置、蜡烛家具摆放位置都按一定规则。为了尽快找到火源,可采用各种扩展卡增强机器人导航能力,扩展卡可以购买也可自制。以下是常用的一些导航方案。
  a,红外避障引导:机器人自带红外探测器,注意灵敏度的调整。
  b,采用机器人编码器进行引导:编码器精度不高,注意左右轮补偿。
  c,红外测量距离的引导:利用PSD测距,简单可靠,但测距范围有限(10cm~80cm)
  d,指南针引导:效果好,但价格较贵约600~800RMB。
  e,混合引导:多种导航方式优缺点互补,在不同情形下采用不同方式,软件较复杂。

  5,火焰定位
  火焰定位包括寻找火焰和火焰定位两个部分。
  机器人寻找火焰一般采用远红外火焰探头作为探测工具,为了准确、快速地确定火焰位置,可采用多种方式对远红外火焰探头进行改进,以下是常用的一些改装方案。
  a,火焰探头的串联和并联:提高探头灵敏度。需要一定的硬件知识。
  b,火焰探头的分散和集中:多个火焰探头分布在机器人周围不同地方,可快速定位火焰。要占用较多的数据输入通道,要对扩展卡,甚至是机器人主板进行改造。
  要确定火焰位置即火焰定位,首先确定火焰方向,这样发现火焰后可直接朝火焰方向前进,节省灭火时间。
  确定火焰方向一般可采用以下方法。
  a,差动定位:根据左右两个远红外探头检测值,调整机器人方向,要求比赛前预先调整探头直到检测效果较一致。
  b,最小值定位:机器人发现火焰后旋转一周,定下最小值(最亮点),然后通过朝向最小值方向前进,要求采用其它辅助装置记住最小值位置(指南针等),当然也可以实时判断是否到达最小值,这样可减少火焰方向定位时间。
  确定火焰方向后,机器人朝火焰前进,这时要求确定火焰位置。确定火焰位置一般根据远红外火焰探头检测值判断,当然也可以根据比赛现场特征如蜡烛前的白线、机器人与墙壁的距离等定位。

  6,灭火方式
  机器人灭火比赛对灭火方方式没有一定之规,但不能使用任何危险的或可能破坏比赛场地的方法或物质来灭火(如通过燃放爆竹产生冲击来使蜡烛熄灭),也不能通过碰倒蜡烛的方式来灭火。它可以运用类似水、空气、二氧化碳等,由于采用风扇的方式简单可靠易行,因此大多数用户都采用灭火这种方案。
  采用风扇灭火时,在灭火时机器人可采用旋转法、摆头法、强风场法等动作灭火。风扇旋转时间可采用固定时间法、实时检测火焰法等。
  灭火比赛实际效果要受很多现场条件的影响,应根据实际情况,反复调整机器人速度或探测器安装位置、系统参数,优化软件算法,多学习、多思考、多总结,不断创新

TOP

发新话题