首页 > 范文大全 > 正文

一种红外避障算法的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种红外避障算法的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:随着网络技术的发展,智能家居系统会逐渐进入家庭,本文中的智能家居监控车就是智能家居的典型应用。智能家居监控车自身安装了各种精密的电子模块,需要通过传感器进行避障系统的设计,红外传感器以其实时性强、操作简单,在避障方面的使用比较广泛的,本文根据家居监控车的特点进行了算法的改进,在避障方面起到了较好的效果。

关键词:红外传感器 避障算法 家居监控车

中图分类号:TP242 文献标识码:A 文章编号:1007-9416(2016)11-0127-02

家居监控车运行的环境是在家庭中,因为其运行环境相对障碍物多,为了增加运行的灵活性,采用了四轮驱动的方式,左右各两个电机,共计四个电机,每个电机独立的控制一个轮子,每个电机通过变速齿轮和联轴器和轮子连接起来。家居监控车的运动是通过轮子的转速来实现的,比如完成左转,则是左边的轮子转速减慢,右边的电机加快速度,完成右转则是右边的电机减慢速度,左边的电机加快速度,智能家居监控车的原地旋转,则是通过一边的电机正转,另一边的电机反转来实现的,电机的控制是通过芯片L298来实现的。

1 电机驱动模块设计原理

通过分析L298的功能表,可以看出电机的正转和反转是通过IN1和IN2的组合来实现的,然而转速是通过ENA来控制的。转速的精确控制是通过PWM载波调制来实现的,PWM的原理是通过单片机的定时器功能产生一定占空比的脉冲信号,脉冲信号进行积分形成了一定的电压值。设脉冲宽度为t,脉冲周期为T,则电机的平均转速为V=Vmax*D,其中D=t/T,其中D称为占空比,占空比的值越大,则电机的转速越高。平均转速出其并非完全线性的,但是在我们这里的应用中可以近似看成线性。L298与单片机AT89S52系统的连接方案如下:通过AT89S52的P3.4口和P23.5口分别连接到了ENA和ENB端,通过AT89S52产生的PWM波形来控制电机的输出电压,通过P2.0、P2.1、P2.3、P2.3分别连接到了L298的IN1和IN2端,这样就形成了L298来控制两组电机的模式。

2 红外传感器的安装方式和避障算法设计

直行式安装,就是将传感器垂直的安装在家居监控车的前后如图1的a图所示。4个交叉式安装,就是将传感器与家居监控车的前后形成45度的夹角如图1的b图所示,而传感器为了防止彼此的干扰,前面的两个不在一个平面上,后面的两个传感器不在一个平面上。

红外传感器避障的原理是:通过发射端发射出红外线的光束,在没有遮挡的情况下或者说在一定范围内没有遇到障碍物的情况下,是没有反射光回来的,这个时候接收端没有接收到红外线,这个时候接收端处于一个状态,真个状态我们经过单片机的处理可以认为是“0”状态。当前面一定的范围内有障碍物,这时候红外线被反射回来,这个时候接收端通过单片机处理后的状态就变为“1”,单片机通过对于输入端口的不断扫描,判断出了端口电平的变化,这个时候单片通知L298,从而控制电机完成相应的转动,完成相应的避障策略。

侧面避障:侧面避障指的是智能家居监控车有一侧的传感器遇到了障碍物,这个时候可以让遇到障碍物的这一次的电机转动加快,而没有遇到障碍物的一侧的电机的速度变慢,这样采用缓慢的转弯的形式完成了障碍物的避障,当两个传感器都没发现障碍物了,就开始直行,我们这种避障模式就是侧面避障。因为侧面避障的障碍物在一侧,我们在设计时的转弯速度较慢,采用慢转弯模式。

正面避障:当两侧的红外传感器同时发现了障碍物,则说明前方出现了障碍物,这个时候我们采用左边轮子慢转,右边轮子快转的方式,这样让智能家居监控车向左转的方式完成了障碍物的躲避,防止智能家居监控车撞倒障碍物,我们这里的转弯速度要相应的加快,采用急转弯的方式。

墙角避障:当智能家居监控车刚完成了侧面避障的时候又来个正面避障,这种模式就是墙角避障。墙角避障的解决策略则是侧面避障当发现了两个传感器均发现障碍物时采用正面避障,当发现一侧的障碍物没有了则变为侧面避障模式,通过避障模式的转换则智能家居监控车的转弯模式也由慢转弯变为了快转弯然后变为了慢转弯。最终通过两种避障模式的解决策略还是能完成墙角避障的。

贴墙陷阱:假如智能家居监控车在运行的过程中需要转弯,这时候两个传感器均没有检测到障碍物,智能家居监控车这时候自然要变为执行模式,这个时候贴墙陷阱的现象出现了,当下车发现另外一侧出现了障碍物,这个时候其通过侧面避障模式就会向相反的方向转向,因为转向的方向有墙的存在这个时候就出现了智能家居监控车和墙发生了碰撞。

3 针对于贴墙陷阱的解决方案

对于贴墙陷阱的解决办法主要考虑了两种解决方案,第一种解决方案是延时判断法,第二种方案是结合AT89S52的定时器中断方案。

3.1 延时判断法

这种方法实现起来比较容易。当传感器检测到了障碍物之后智能家居监控车进入慢转弯模式,这个时候我将单片机的红外传感器的状态扫描的功能关闭,这个时期单片机不再对于外部的红外传感器的状态的变化做出相应。这样单片机就不再立即进入了直行模式,而是要继续在延时的时间内完成慢转弯过程,这样就不会出现刚才提到的贴墙的现象了。但是这种解决的策略带来了两个问题:一个是延时的时间不好把握,这样就不能完全避免贴墙现象,第二个是在延时期间单片机对于传感器的扫描功能是关闭的,那如果在延时期间再次遇到了障碍物,那岂不是会发生碰撞了,基于此我们考虑了第二套解决方案。

3.2 4路交叉红外探测智能避障算法

当智能家居监控车完成了侧面的障碍物的躲避之后,这个时候这个时期内两个传感器都没有检测到障碍物,主控制板的单片机进入中断模式,在中断模式下,智能家居监控车继续按照上一个侧面避障的模式进行慢转弯,在此期间,如果智能家居监控车遇到了障碍物,则结束定时器中断,进入避障算法模式进行相应的避障策略,如果在定时器中断期间没有发现障碍物,这个时候就可以采用直行策略了。

4 4路交叉红外探测智能避障算法实现和优化结果分析

定义变量如下:左转:Left;右转:Right;向前:Forward

转弯模式:慢:Slow;快:Quick ,具体的实现流程图如图2所示。

当小车处于运行状态,开始判断其是否处于保护期,确实处于保护期,这时小车要退出保护期,同时关闭中断,判断出其不是处于保护期,则此时进入保护期,同时其打开中断。

当家居监控车进入中断保护期,定时器打开,小车完成转弯,然后退出保护期,退出中断。

为进行算法对比采用的场地主要是由挡板和圆柱体组成,面积为5米*2.5米,挡板的宽度和圆柱的直径都是要大于小车的宽度的。

在这样的场所里进行测试,通过5次的每次用时的对比,优化的避障用时5分钟,而传统避障用时10分钟;与障碍物碰撞的次数上,在规定的时间内优化的避障次数是为3次,传统避障次数为5次。对比如下表1所示。

通过对比,5次通过的时间上改进后算法的用时是原来算法用时的一半,碰撞次数比没有改进之前减少了40%。通过以上二个指标能够明显发现采用了优化的避障算法的避障效果得到了明显的增强。

5 结语

本文主要讨论了家居监控车的结构以及驱动的模式,然后提出了红外传感器的安装方式,分析了红外避障的原理和几种避障的情况,提出了解决贴墙陷阱的两种设计思路,提出了4路交叉红外探测智能避障算法,完成了避障算法的实现,经过实际的场地测试取得了比较理想的效果。

参考文献

[1]戚伟.网络监控机器人客户端交互软件的设计与实现[J].电子制作,2014(21).

[2]高月华.基于红外光电传感器的智能车自动寻迹系统设[J].半导体光电,2009(01).

[3]宋雪丽,王虎林,.基于单片机的寻迹机器人的系统设计[J].仪表技术,2009(04).

[4]戚伟.一种基于硬盘录像机的可移动家居监控系统设计[J].数字技术与应用,2015(10).