杨子义, 陈梦婷
(贵阳学院 电子与通信工程学院,贵阳 550005)
根据恩智浦杯全国大学生智能车大赛电磁组的规则,赛道中心铺设有电磁引导线。引导线为一条铺设在赛道中心线上的漆包线,其中通有20 kHz、100 mA的交变电流[1]。智能车必须通过电磁传感器检测磁场的变化情况,并设计相应的算法来判断引导线的空间位置,基于此来调整智能车的行车方向和速度,最终实现循线行驶。传统的差比和算法单调,工作区间过小,智能车会出现窜道的情况。由于感应线圈产生的感应电动势是位置x的偶函数[1],智能车只安装一个电感是无法定位小车的。如果智能车安装了双电感,两个电感感应电动势的差值与电感坐标的函数仅在很有限的区间呈现为单调函数[1],如果小车的位置越过该范围就无法实现智能车的准确控制。孙书咏[2]提出的三电感方案对双电感的方案进行了改进,但也并没有解决单调区间过小的问题。朱昌平等[3]对赛道周围的磁场分布及摄像头的布局做了分析,对车模做了机械改装。林生生等[4]在双电感的基础上对归一化式子进行了求导,把和项的幂升高,得到了较大的单调区间,不足之处是检测的精度下降了,算法也比较复杂,不利于编程实现。陈国定等[5]对电感的双T型及八字形排布方案进行了讨论。陈泓宇等[6]采用3个电感差比和的处理方法也未能得到一个较大区间的单调函数[6]。周玉媚等[7]采用的归一化算法就是传统的差比和算法,然后对PD算法做了研究。杨建明等[8]将传统的双电感方案进行了改进,扩展了单调区间,然而计算偏差的公式不统一。唐昊等[9]采用的是四电感方案,然后采用多项式拟合算法没有解决这个单调区间过窄的问题。杨建姣等[10]只是对PID算法进行了讨论。王静等对一般的算法进行了综述[11]。张利民等[12-13]讨论的是函数拟合的方法。张晓峰等[14]基于双电感方案提出将左电感和右电感感应电动势开方之后做差再除以它们的感应电动势之和得到偏差值,得到了一个单调的函数,然而这在计算机编程时会降低智能车的处理速度。朱敖天[15]讨论的就是传统的归一化算法,没有对这个算法做改进。王靖宇等[16]设计了电感的分布并改进了算法,但是比较复杂,改进后效果如何没有讨论。基于此,本文设计了一个基于3个电磁传感器的有效算法,轨道检测系统的单调工作区间能够大大地扩大至整个实数空间。智能车在偏离引导线较大的情况下也能从新返回赛道,从而实现智能车的有效控制。
漆包线中通的是20 kHz的交流电,电磁传感器设置如图1所示[2]。电磁轨道位于地面,线圈距离地面的高度为h,建立如图所示坐标轴,O为坐标原点,向左为正方向。以左线圈为研究对象,其坐标为x,传感器线圈位于竖直平面且平行于电磁轨道。根据安培环路定理,直导线电磁轨道在周围会产生磁场B,磁场的水平分量B1会决定线圈内的磁通量,根据法拉第电磁感应定律,智能车在运动的过程中磁通量会发生变化而产生感应电动势。
图1 电磁传感器设置
线圈感应电动势E与左线圈坐标x的关系:
(1)
式中,C为系数,工程上不妨直接认为感应电动势[1]
(2)
感应电动势与x的关系如图2所示,当电感坐标为0时,电感位于电磁轨道正上方时感应电动势最大,此函数为关于x的偶函数,同一个感应电动势值有2个坐标值与之对应,无法实现小车的准确定位。
电感相当于智能车的眼睛,控制算法建立在电感分布的基础上。双电感方案是在一个电感的基础上再增加一个电感,如图2所示。左电感的坐标为x,右电感通过两电感的感应电动势之差判断出智能车的位置,同时也可预测电磁轨道的走向。
图2 单电感感应电动势
如图2所示,左电感与右电感的感应电动势之差为
(3)
若取L=30 cm,可以做出双电感电影电动势与左电感坐标的的函数图像如图3所示,当左电感的坐标为15 cm时,双电感的中心恰好处于跑道中央,感应电动势差值为0。显然,当左电感的坐标为0~30 cm时,感应电动势差值与左电感的坐标呈现为单调函数,可以采集感应电动势信号实现智能车的定位。不足之处是此区间大小有限,函数曲线变化剧烈。而且当智能车从直线轨道过度到坡道路段时,电感与电磁轨道的距离h会发生变化,使得感应电动势之差发生大幅度的变化。差比和的算法可以消除这个干扰。
图3 感应电动势之差
定义左电感与右电感的感应电动势之差比和为PID控制的偏移量
(4)
仿真得到的差比和值与左电感的坐标的函数图像如图4所示。当左电感的坐标为0~30 cm时,此区间几乎是线性单调区间,更利于智能车的PID控制。差比和的算法可以消除感应电动势之差发生大幅度的变化而造成的信号处理的不便。不足之处是单调区间仍是有限。
图4 感应电动势差比和
在双电感之间再增加一个电感,如图5所示。假设左右电感的距离L=30 cm,则电感A、B、C的坐标分别为x+15,x,x-15。
图5 3电感排布
当智能车位于赛道正中央时,电感B位于导线正上方,记录下此时中间电感的感应电动势的值
(5)
由图5可知,当电感B的坐标x为正时,电感A的感应电动势小于C的感应电动势,智能车在赛道偏左的位置;反之,当电感B的坐标x为负时,电感A的感应电动势大于C的感应电动势,智能车在赛道偏右的位置。因此,可以先比较左电感A与右电感C的感应电动势的大小来判断智能车的位置是在赛道偏左还是偏右的位置,然后用EM与电感B的感应电动势EB做差比合算法,
(6)
将感应电动势的式(2)及(5)式代入式(6)可得:
(7)
改进后的差比和e设置为PID算法的偏移量。如图6所示,横坐标电感B的坐标值x,纵坐标为电感B的感应电动势差比和e。
图6 电感B感应电动势差比和
由图6可看出,3电感方案改进的算法可以彻底解决了双电感检测单调区间过窄的问题。经实际检测该算法可以使智能车以3 m/s的速度流畅行驶。
传统基于电磁传感器的双电感智能车循线算法存在检测范围不够广的弊端,原因是单调区间过窄受到限制。本文基于三电感方案提出的新算法彻底解决了PID控制智能车单调区间过窄的问题,理论上在整个实数空间范围内单调。该算法处理数据简单,新的算法使得智能车的稳定性和有可靠性都有明显提升。