摘要:设计出一个基于包容式结构的智能循迹小车,该小车采用单片机AT89S51作为控制器。该系统主要有避障行为模块、轨线跟踪行为模块、远程控制行为以及紧急停车模块。采用红外传感器设计检测轨线模块,超声波传感器设计避障模块。对于避障行为模块,提出采用模糊控制算法进行避障。经大量实验验证该小车不仅能稳定跟踪轨线,而且能绕障碍物行走。
智能小车是一种集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统,是一种功能简化的移动机器人,广泛用于智能吸尘器、搬运小型物件、清理垃圾等。所谓智能,即是没有人为干预下能自动完成给定的任务。然而,环境未知,执行任务复杂,单一的传感器不能实现其功能,多传感器信息技术被用来感知周围环境与任务执行是一种有效的措施,通过多传感器信息的综合判断处理,获得对环境的正确理解,使小车系统具有容错性,保证系统信息的快速性和正确性,其可靠度高于单个传感器所能达到的目标。常用机器人的体系结构有分层体系结构、包容式体系结构和混合式体系结构。在20世纪80年代Brooks提出了机器人的行为主义和包容结构,将复杂的任务分解成多个简单的可以并发执行的单元,每个单元有自己的感知器和执行器。多个行为相耦合构成层次模型,重点强调在不同层间的联系以及不同行为功能分配。智能小车也就是简化的移动机器人,其运动控制就是通过调节智能小车的运动速度和运动方向,使智能小车沿期望的路径运动。机器人的行为可以分为两大类:反应型和慎思型。反应型行为是一种激励一响应行为,不需要计算过程,响应时间短。Brook等提出的包容结构就是典型的反应范式,行为按照能力的等级进行分层,位于较高层次的行为可以覆盖相邻低层次的行为输出。慎思行为是可学习的,有意识的行为。它是将规划加入到反应式中,使得机器人具有记忆和推理能力。传统的基于感知-建模-规划-动作的方法不易建立准确的环境模型,而且较难实现动态的、未知环境下的路径跟踪。反应式是一种从感知到动作的直接映射,智能小车能够对外界环境作出快速响应。基于本文的研究目的,在未知的、动态的室内环境设计一个智能循迹小车,不仅要求稳定实时跟踪给定轨线运动,且跟踪过程自动绕开障碍物,采用一种基于包容式结构的轨线跟踪控制方法设计智能循迹小车。
1 智能循迹小车设计原理
智能循迹小车在没有人干预的环境中,能沿给定路线行走并在突然有障碍物出现时能绕开障碍物或者紧急停车。本次设计的小车主要实现智能循迹,采用单片机AT89S51作为控制器,采用反射式红外线光电传感器用于检测路面的引导轨迹,采用压电式超声波传感器来实现对小车的智能避障,用NT-T10A发射模块和XY-R04A接收模块作为无线远程控制模块,实现对智能小车的远程控制,同时在LCD屏幕上显示小车的运行状态,速度等情况,两直流电动机即左右轮各一个,采用L298N来驱动电动小车的两台直流电动机实现小车的直行与转弯。该系统的主要实现硬件结构框架图如图1所示。
智能小车的主要任务实现轨迹跟踪,首先根据红外传感器获得路面信息,检测跟踪轨迹线,通过获得的轨迹信息进行计算,判断驱动左轮还是右轮,向左或向右转动角度,同时启动避障功能,检测是否有障碍,如果有,结束轨迹跟踪,进行避障。判断是否有远程人为控制命令,如果有,就结束轨迹跟踪或者避障功能,响应远程控制命令。同时检测是否有结束程序命令,如果有,就结束所有任务。该系统基本行为模块如图2所示,采用水平分解任务结构模式,每个行为都在运行,通过单片机中断设置实现。
2 行为模块设计
2.1 避障模块设计
采用两个超声波传感器,分别设计在小车左侧与右侧。图3为左侧超声波传感器与单片机相连。VCC接5 V电源,Trig与AT89S51单片机的P1.0相连,Echo与AT89S51单片机P1.1相连,GND与地相连即可。右侧传感器连接方式与左侧相同,但是与单片机连接分别为P1.2与P1.3。
障碍物距离信息是超声波从发射声波接收到反射回来声波的时问间隔与速度乘积得到。设时间间隔为t,超声波在空气中的传播速度为v,则传感器与障碍物的距离d为:
避障不仅能够使智能小车顺利执行任务,而且能够阻止智能小车对环境的损伤。目前移动机器人用于避障的方法较多,就环境信息已知的研究来看,主要有矢量力场法、栅格法、人工神经网络法、模拟退火算法、蚂蚁算法等。对于环境未知的避障研究有人工势场法、模糊逻辑法等,模糊逻辑法将模糊控制本身所具有的鲁棒性与基于生理学的“感知-动作”行为结合起来,为移动机器人在复杂环境中的避障导航提出了新的思路。模糊逻辑法避开了对环境信息依赖的特点,对处理未知的、实时的复杂环境具有较强的优越性。对于障碍物避障采用模糊控制算法进行避障,对于智能小车与左右侧障碍物之间的距离分为三个语意变量即大、中、小,输出的速度也分为三个语意变量即快、中、慢本设计采用PWM波控制电机转速,模糊控制器输出直接控制脉冲宽度。
2.2 轨迹跟踪模块
本系统共设计三个红外线传感器,分别放置在电动车的左、中、右三个方向,用来读取地上的黑色轨迹线。当行车方向偏离轨迹的时候,通过这三个红外线感应装置就可以判断出行车偏离的方向,将实时信息以高低电平的方式传送回单片机,然后通过单片机的处理,相应的控制直流芯片就可以修正行车路线,最终完成自动寻迹的任务。红外线传感器的工作过程如下:当行车方向向右偏离轨迹线的时候,会有两种情况发生:1)中间和左侧红外线传感器同时接触到地面黑线,右侧传感器接触白色地面;2)左侧一个传感器接触黑线,中间和右侧传感器接触地面白色部分。这两种情况都是行车方向右偏移的情况。相似的小车发生左偏移的时候也有两种情况。这三个传感器作为行车数据的输入信号由单片机的I/O口输入,那么就需要一个TFL的电压,而且要根据需求可以对传感器的灵敏度进行微调,满足灵敏度的需要。所以可以把这三路信号引入由LM324组成的电压比较器进行电平的整形,最终给单片机使用。
图4是一路红外光传感器电路的原理图。VCC接入5 V电源,D1是红外线发射管,上接一个限流保护电阻R1,D2是红外线接收管,上接一个上拉电阻。当接触的是白色地面的时候,红外线被反射回接收管,接收管就导通,这路传感器就输出低电平信号给LM324的反相端口,此时由变阻器引出的是一高电平信号给LM324的同向端口,那么经过LM324的比较,便输出一个高电平信号给排针,而和排针串联的发光二极管阴极是LM324的高电平无法导通也就不能发光。若是传感器接触到的是黑色导线的话,那么红外线就被吸收,而接收二极管便截止,此时传感器就输出高电平给LM324的反相端口,LM324同向端口的电平没有反相端口的高,LM324就输出低电平给排针,串接上排针的发光二极管就导通,提示这路传感器正接触黑色导线。电机转速根据左、中、右红外传感器检测结果,经LM324整形后给单片机,单片机输出不同PWM波控制左右轮电机转速。
3 行为控制模块设计
基于行为的系统作为一个混杂系统,既要稳定地控制智能小车的连续动力学行为,同时又要系统地、策略地面对突如其来的随机事件(例如环境中的障碍)。首要问题就是如何设计多种可能的有效行为,其次是如何有效地协调或融合不同类型的行为之间的冲突或竞争,从而达到一个令人满意的效果。为了能够同时实现多个目标,有时候智能小车需要执行多个基本行为。在某个时刻仅有一个行为被触发,系统一般都能够比较平稳地运行。然而,当两个甚至更多的行为同时触发,并且每个行为都需要智能小车执行不同的操作时,智能小车该怎么办呢?
本设计为解决智能小车实时性问题,选择采用包容式结构进行任务决策,包容式结构将复杂的轨迹跟踪任务分解为水平的若干个子任务,每个子任务功能层具有独立完成任务的功能。高层功能层抑制较底层功能层,如图5所示,轨迹跟踪系统层为高层功能层。根据行为控制方法,首先确定功能层的优先级,功能层越低优先级越高。如图5所示,功能层结束命令最低,但是优先级最高,当运动过程中需要执行结束命令时,小车在执行其它三个功能之一,首先响应结束命令,轨迹跟踪功能层最低,当有障碍时候,智能小车首先执行避障,然后执行轨迹跟踪。本次设计共有4个功能层:
1)遇到紧急行为需要停止运行程序;
2)远程控制行为;
3)避障行为;
4)轨迹跟踪行为。
根据行为控制方法,首先确定功能层的优先级,功能层越低优先级越高,即Leve10优先级最高,在发生意外情况时,人工可以通过结束程序运行来结束进程。人为远程控制作为第一层,可以实现操作员的愿望。突然碰到障碍物时,避开障碍物作为第二层,循迹过程中绕开障碍,才继续循迹。
红外传感器产生的轨迹跟踪行为设置为最高层,因为在跟踪过程中,智能小车以及人的安全性第一,所以它的优先级最低。图5中圆圈中的S为“suppress”的意思,即高优先级的行为抑制低优先级的行为控制,当在轨迹跟踪过程中,突然有障碍出现,智能小车首先启动避障行为,暂停跟踪行为,避障行为结束立即执行跟踪行为。
4 实验结果分析
设计的循迹小车具有较好的跟踪效果,分别在地面与白纸上做了轨迹跟踪实验。小车跟踪轨线如图6所示。对于本文设计的智能循迹小车不仅直线能稳定跟踪,即使不规则弯曲的线也能较好地跟踪。
由于在软件中设置了用于防干扰的盲走程序。所以,可以通过使用轨迹线不均匀的误差跑道和过弯测试的方法来检验系统的抗干扰性能。经过测试,当路面的轨迹线不均匀的时候,小车可以根据前一个状态指令进行盲走,可以通过轨迹不均匀的轨迹线段。小车程序段中设置了原地自转的程序,理论上小车可以通过接近180度的弯道。所以小车具有一定的过弯性能。经过测试,在弯道处小车可以通过。但是由于小车的行驶速度控制不均匀,在直线和弯道接触段是有一定冲出跑道的几率的。
小车在循迹过程中出现偶然状态时,即突然遇到一个障碍物时,小车能沿障碍物行走,直到遇到轨线没有障碍物在前面时继续循迹。当障碍物靠得很近或者是在一个封闭的小范围内时,小车可能有时来不及直走就直接右转行驶了,导致小车在这个范围内一直保持右转行驶,在同时检测到没有障碍物与轨线时,说明小车轨线跟踪失败,自动结束程序,小车停止。
5 结论
本文设计出一种基于包容式行为控制的智能循迹小车,采用单片机AT89S51作为控制器,红外传感器检测轨迹线,将检测结果经LM324整形后传给单片机,设计程序输出适合的PWM波控制智能小车左右轮转速。超声波传感器检测障碍物信息,设计模糊避障控制器,将控制器输出结果用于电机转速控制,使智能小车实现自动避障,且绕障碍物行走。在室内外做了大量的实验,本文设计的小车不仅能稳定地跟踪黑色轨迹线,而且遇到障碍物时候能绕障碍物行走。