导盲系统方向与速度综合控制及FPGA实现
2017-02-21靖固冯晓雪张学松
靖固 冯晓雪 张学松
摘要:以预瞄与跟随理论为基础,设计了以FPGA为控制核心的导盲小车控制系统,可实现正常盲道行进、障碍物避障行进和红绿灯识别行进控制,为盲人出行提供安全保障.系统首先建立了基于平面几何约束的角度与速度综合控制模型,在此基础上提出了一种适于FPGA实现的基于模糊规则的自校正舵机控制算法,进而实现对导盲小车的方向与速度综合控制,本设计首先在Matlab环境下进行建模与调试,调试成功后运用Quanus II对控制器进行设计与仿真,实验证明该系统具有很强的实时性与可靠性,可极大程度的保障盲人出行的安全。
关键词:导盲系统;FPGA;方向与速度综合控制模型;模糊规则的自校正舵机控制
DoI:10.15938/j.jhust.2016.06.011
中图分类号:TP391.41
文献标志码:A
文章编号:1007-2683(2016)0-0055-06
0.引言
导盲小车是盲人出行的重要辅助工具,而导盲小车控制系统的实时性与可靠性是尤为重要的,目前常用的导盲控制系统大都采用GPS定位和超声波导盲控制,使系统成本高,实时性不理想;而模糊PID算法具有超调小稳定性高的特点,但响应速度一般,本文采用了高度集成的FP-GA芯片作为导盲小车的控制核心,与预瞄跟踪理论相结合,建立了基于平面幾何约束的角度与速度综合控制模型,根据预期路径获取预瞄点位置和路径方向的相关信息,经基于模糊规则的自校正舵机控制算法,实现对导盲小车的方向与速度综合控制,进而提高盲人出行的安全性。
1.导盲小车的硬件系统
导盲小车以FPGA为控制核心,同时配备了电机和舵机以及他们的驱动装置、红外传感器检测装置、速度光电编码器、转角光电编码器以及电源和时钟模块.导盲小车的控制系统结构图如图1所示。
1.1远红外检测装置
本文采用红外测距传感器对小车行驶的盲道线边界进行检测,红外测距传感器具有一对红外信号发射和接收二极管,发射管发射特定频率的红外信号,接收管接收这种频率的红外信号,当红外检测方向遇到障碍物时,红外信号反射回来,被接收管接收,由于光的传播速度为3×108m/s,只要记录下光信号的往返时间,用光速乘以往返时间的二分之一就是所需测量的距离。
1.3其他装置
驱动装置主要包括电机驱动和舵机驱动,电机的驱动采用PWM来控制电机的正反转,改变其占空比调节电机的转速,产生的控制信号通过BTS7960驱动电路控制电机,复位、时钟以及电源模块为系统上电时提供复位信号、时钟信号和电源的供给,以确保整个系统的正常运行,整个系统的电源控制选用LM317可调稳压电源实现。
2.导盲小车方向与速度综合控制
2.1参数设定
2.1.1盲道小车的速度与预瞄周期T的确定
本设计假设在正常盲道上行进时为匀速运动,考虑盲人行进过程中的心理因素和生理因素的影响,选取速度介于正常人行进速度1.2m/s与病人的步行速0.7m/s之间;根据时间与速度计算公式t=s/v(s为导盲小车到盲道中线的最大距离),预瞄周期取最长控制时间870ms的八分之一;根据《城市道路和建设无障碍设计规范》取s=0.8m,选取的预瞄周期因速度不同而不同,在正常盲道上,选取v=0.9m/s,预瞄周期选取T1=134ms;当遇到障碍时导盲小车做加速度为α1,=-0.2m/s2的匀减速运动,预瞄周期选取T2=126ms;当行进至交叉路口时,遇到绿灯则做加速度为α2=0.2m/s2的匀加速运动,预瞄周期选取T3=167ms;遇到红灯则停止.
2.1.2车与盲道中线距离的测定
导盲小车在行进过程中的最佳控制是沿着盲道中线前行,由于红外检测只能检测小车到盲道两个边缘的距离,建立一个以小车为坐标原点的绝对坐标系f(x.y),经过任意一个预瞄周期Tp时(p为任意采样时刻),检测到小车距盲道左右边缘的坐标分别为f(xm.yn)和f(Xn,yn),由此得到导盲小车到盲道中线的距离L(lp)为:
2.2角度与速度综合控制模型设计
2.2.1基于平面几何约束的方向控制
根据预瞄与跟踪理论,对盲道小车的方向进行基于模糊规则的自动校正舵机控制.在每次预瞄控制的间隔时间Tp,根据传感器所采集的路况信息,确定最优曲率预瞄点,当检测到L(lp)>0,则小车向右转,反之,J(tp)<0,向左转.小车行进轨迹如图2所示,在建立的坐标系中,P1为某位置的预瞄点,P2为经过一个预瞄周期后的预瞄点,α1和α1分别为他们的预瞄角度。
2.2.2基于平面几何约束的综合控制模型
当导盲小车遇到障碍物或是交叉路口时,需要对小车的速度和方向同时进行控制,在原匀速运动的基础上做如下的假设:
1)遇障碍物做小曲率匀减速运动;
2)遇绿灯做小曲率匀加速运动;
控制模型的外围触发逻辑状态图如图3所示,当红灯亮、避障失败、寻径失败这3个条件中的任何一个触发时,则导盲小车停止前行;绿灯亮和避障成功触发时,系统进行匀加速或匀减速方向与速度综合控制;在寻径成功触发后,系统再回到原有小曲率匀速运动的模糊舵机自校正控制,交叉口状态和避障状态只有系统探测到交通灯和障碍物时才会触发,而寻径状态则一直伴随导盲系统整个工作过程中。
2.3基于模糊规则的自动校正舵机控制算法
在理想状态下,预瞄角度α等于小车的实际转角y'但是由于阻力等环境因素以及自身结构因素的影响,α和y存在一定的角度偏差.所以本文提出了基于模糊规则的自动校正舵机控制算法.该算法的目的就在于得到自校正角度β,使得实际转角y无限接近于预瞄角度α基于平面几何约束的自校正控制算法设计流程如图4所示。
2.3.1模糊控制方案设计
基于模糊规则的自动校正舵机控制系统如图5所示。
模糊控制器采用典型的双输入单输出的模糊控制结构,输入量分别为α与y的偏差E以及α的变化率△E,输出量u为自校正角度届.
对偏差E、偏差变化AE以及控制量U的模糊集及其论域定义如下:
假设小车做小曲率的匀速运动,所以E的论域为M,M的范围[-30,30].在论域上定义7个模糊子集{负大,负中,负小,零,正小,正中,正大},记为{NB,NM,NS,NO,Ps,PM,PB}。
小车速度为0.9m/s,则在预瞄周期内小车行进距离为0.6m,偏差变化率AE变化不会太大,因此,AE的论域N为{-10,10},在论域上定义7个模糊子集{负大,负中,负小,零,正小,正中,正大},记为{NB,NM,NS,NO,PS,PM,PB}。
u的模糊集为{SB,SM,ss,SO,Js,JM,JB}7档,分别表示{减大,减中,减小,零,加小,加中,加大}.u的论域范围为[-20,20]。
描述输入、输出变量的词汇都具有模糊的特性,可用模糊集合来表示,因此模糊概念的确定问题就直接转变为模糊集合隶属函数的问题。
模糊控制器的控制规则是以手动控制策略为基础的,手动控制策略一般都可以用if then形式的条件语句来加以描述。
根据专家经验总结出的舵机校正模糊控制规则如表1所示。
当小车预瞄角度与实际的转角的偏差正大以及α的变化率都正大时,输出一个负的较大的β;当偏差正大而偏差变化率向负方向变化很大时,说明偏差正在变小,此时输出一个负较小的β。
3.FPGA控制系统的设计与仿真
利用Matlab对控制系统进行建模和控制算法的设计与仿真.在预瞄与跟踪理论的基础上,在Matlab软件的simulink环境下搭建了基于平面几何约束的方向与速度综合控制模型,并使用Fuzzy log—ic模块设计模糊控制器及模糊规则,图6为自校正舵机控制系统的simulink仿真模型图。
将清晰化的控制量u制成表放在FPGA中,用来进行查询的对应输出值,调用在Quartus II中的LPM—ROM的IP核,通过查询该表得到每对e和Ae所对应的输出值。
根据导盲小车检测到是否在盲道上,将控制系统分为2大模块,顶层设计采用自下而上的设计思想进行模块划分,并采用了模糊规则自校正算法的并行处理方法,利用Quartus II的原理图输入法进行顶层设计的输入.控制系统的顶层设计原理图如图7所示,图8为导盲小车控制系统仿真波形图,仿真结果表明导盲小车的实际转角y与预瞄角度α非常接近,在一个控制周期内y和α的差不超过0.9°,响应时间为80ns,控制效果能满足系统要求,
4.结论
应用Quartus II完成了导盲系统控制器的设计与仿真,实验证明该系統具有很强的实时陛,能很好地实现正常盲道行进、障碍物避障行进和红绿灯识别行进过程控制,特别在小车的速度与方向综合控制的响应时间方面较文[4]所耗时节省20%(文[4]的PID模糊控制器的响应时间为97.25ns);由于本系统采用FPGA技术、并行处理算法,最大程度地节省了时间,具有省时、高效、处理效果好的优点,能满足盲道控制系统的实时性和准确性要求,不足之处是在复杂的交通环境下,路径是否为最佳选择还有待验证。