基于电磁场检测的智能车及归一化算法应用

2018-02-02 17:37朱敖天
电脑知识与技术 2018年1期

朱敖天

摘要:设计了一种根据电磁信号引导自主循迹行驶的智能车。介绍了根据电磁感应原理检测道路中的变化磁场强度,实现小车对位置的确定和对路径的识别。该设计选取32位微控制器MK60为控制芯片,设计优化硬件电路,尤其保证电磁采集放大电路的可靠稳定,单片机根据传感器采集的电磁信号通过A/D转换进行分析处理,同时对所得數据进行软件滤波,再利用归一化算法实现对小车精确的控制,提高了该智能车对不同复杂程度的赛道的适应性。

关键词:自主循迹;电磁场导航;硬件电路;归一化算法;软件滤波

中图分类号:TP302 文献标识码:A 文章编号:1009-3044(2018)01-0240-02

Abstract: The design of an intelligent vehicle Based on the electromagnetic signal of self-tracking driving guide. According to the principle of electromagnetic induction, the change of the magnetic field intensity in the road is determined, and the location of the car and the recognition of the path are realized. This design selects 32-bit microcontroller MK60 as the control chip, the hardware circuit design optimization, especially to ensure reliable stable electromagnetic acquisition amplifier circuit, microprogrammed control unit analyzes the electromagnetic signals collected by the sensor through A/D transformation, and the software filter on the data, then using the normalization algorithm to achieve precise control of the car, to improve the adaptability of the smart car on the track with different levels of complexity.

Key words: self-tracking; electromagnetic navigation; hardware circuit; normalization algorithm; software filtering

1 引言

在如今的汽车行业中,电子技术的应用程度已成为衡量汽车技术水平的重要标志之一,这也促进了自动循迹智能车技术的不断发展[1],智能车辆已经广泛应用于多个领域,成为世界车辆工程领域研究的热点和汽车工业增长的新动力,许多的发达国家都将其纳入到各自重点发展的智能交通系统当中[2]。

本文以全国智能车竞赛为背景。在智能车竞赛中,电磁组的智能车采用电磁场检测方式识别道路中央的引导线,控制其行驶方向。相比于其他组别的导航方式,使用磁场信号具有很好的环境适应性,在电磁屏蔽系统的保护下,电磁导航的智能车对外界环境的适应能力远远强于光线类的导航车 [3]。因此对采集到的信号的处理成了小车提速的关键。本智能车设计,通过硬件的优化和软件处理,归一化算法实现智能车的运动轨迹精确控制。

2 电路设计

2.1 小车主控电路总体设计原理图

系统整体结构如图1所示,智能车的硬件电路由单片机最小系统,电源电路,编码器速度检测电路,电磁信号采集与放大检波电路,电机驱动电路和调试用的OLED与按键等人机交互电路组成。在设计时我们将大电流驱动电路与小电流的主控及传感器电路分开制作腐蚀电路板,并用相应的隔离芯片将其隔开,减轻两者之间的互相干扰,并实现物理上和电气上的隔离。因为电磁组的信号为模拟电路,抗干扰能力较弱。所以将电磁信号放大等模拟电路与单片机最小系统电路之间尽量布置的相对较远,地线采用单点接地,并用零欧电阻互相隔开,以实现较强的电磁兼容[4]。上述措施可以防止电磁干扰,显著的提高电路的稳定性。

2.2 电磁信号放大检波电路

电磁传感器能够对赛道中间通电导线产生的变化的磁场信号做出灵敏的检测,单片机通过对获取的磁场信号处理,提取道路特征,从而控制智能车的转向[5]。根据LC谐振的原理,选取10mH的电感和6.8nF电容作为LC谐振电路,产生感应电流,再通过滤波、放大和检波,然后将电路处理的模拟信号送入单片机进行相应的处理,以判断赛道当前位置信息。如图2所示。

3 控制算法设计

3.1 路径识别算法方案分析及选定

智能车的路径识别算法的设计是智能车软件部分最为核心的模块,智能车整体硬件设计和搭建会根据核心路径算法的不同而进行相应的调整。软硬件相互调整,以寻找最为合适的软硬件方案。经过分析,利用电感采集磁场信号一般有两种不同的方法[6]:

1) 数字型寻线算法。使用多个水平放置的10mH工字电感,将整个赛道划分为多个区域,获得感应电动势最大的电感所处的位置是最靠近赛道中间电磁导线,从而可以判断智能车在赛道所处的位置。数字型寻线方式算法简单,代码易于实现。缺点是采集的赛道信息是离散的点,当智能车处于高速运行时,赛道精度丢失,可能加大赛道信息处理的误差,产生丢线等严重错误;且要用到多个电感,会加重车头重量,增大小车的转动惯量,造成小车在高速行驶时发生甩尾;此外当“一”字排布的多个电感离得太近时,相邻电感会产生互感作用,影响磁场信号的正常采集。endprint

2) 模拟型寻线算法。使用数量很少的工字电感,电感在磁场中产生的感应电动势的模拟量进行处理,利用单片机MCU里的ADC功能可以完成小车的位置解算。该方法位置定位准确,且使用了较少的电感传感器,采集数据量较少。同时我们可以在软件中处理位置对称电感的不匹配电感量存在较小差距的问题。

最终选择了方案二,即模拟型寻线算法。我们选用了两个水平电感和两个八字的电感,分别执行不同的磁场采集功能,采集更多方向的信息。两个水平电感用于计算小车偏离中线的位置[7]。两个八字电感对出入弯处磁场比较敏感,可以提前检测出入弯道,改善小车出入弯姿态,运行更加平滑。

我们利用左右对称电感的感应电动势量差和比值来解算车体相对于导线偏离的距离。这种方法代码简单易于实现,且对单片机的运算处理数据的负担较小。但利用差和比处理偏差数据,当偏差过大时,计算的偏差存在一定的误差,但是经过软件进行偏差的弥补,基本满足偏差的线性要求,所以选用此方案。

3.2 归一化算法

3.2.1 归一化原理公式

数据标准化(归一化)处理是一种无量纲的处理手段,不同指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,我们需要进行数据归一化处理,消除数据间的量纲影响。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比处理[8]。

线性函数的转换如下:

其中 max 为样本数据的最大值,min 为样本数据的最小值。x 为归一化前的值,y 为归一化后的值。 本文中使用到的为式 1 的归一化方法。运用此公式需要注意的问题是:函数必须是线性的,最大值 max 与最小值 min 必须是在车子位于一侧赛道的某处时,一个电感正好位于赛道中间引导线的正上方取得的,即电感的摆放必须要尽可能对称。

3.2.2 归一化硬件设计方案

首先,为了获得稳定可靠的信号就必须有稳定的车身结构,本文介绍的归一化算法必须要在车身结构对称的情况下使用才能得到正确的效果。在小车的机械设计中还需要注意的是尽量降低车身重心。利用三角形支架来确保车身的稳定性。以此来获得稳定的信号。

在稳定的车身结构下,我们可以得到可靠的信号,我选用INA2128作为放大电路的芯片。

根据前面所说的归一化算法的原理,选用的芯片的放大特性必须为线性的。INA2128 的放大倍数:G=1+50kΩ/RG,该芯片经过激光矫正具有很高的精度和很小的温度系数。

3.2.3 归一化软件算法

由于电流变化引起的信号变化是线性的,所以使用归一化算法可以消除电流变化引起的干扰。在获得了稳定的信号之后使用归一化算法,将大大提高智能车对赛道的适应性。智能车通过赛前的归一化可以获得理想的数据。

当电感垂直位于电磁线正上方时,此时通过电感的磁通量最大,电感的电压也是最大值。我们将式 1 的公式简化为 y=x/max;其中 x为单片机获得的实际的电压值,max 为扫到的电压的最大值。在这个地方我们近似认为对称的品质相同的电感在同一位置获得其最大值和最小值相同,并认为其最小值为0。

归一化算法在程序上的实现是较为简单的,但是却有很多值得注意的地方。比如说应该将数据归一到多大的范围[9]。如何最快最准的获得电感电压的最大值。在不需要归一时我们可以用拨码来控制是否进行归一化,并且可以用其控制将数据写到 flash 中,以此来方便我们调试。

4 软件滤波

电磁传感器在采集电磁信号的过程中,由于电路设计或者其他原因会产生采集数据的波动,使得采集数据产生误差。因此有必要进行软件滤波处理,去除或者减小噪点对正确数据的影响 [10]。在这里选择“加权递推平均滤波法”,建立一个队列的长度为N循环队列,每次采样到一个新数据放入队尾,当队列满后对首位数据出队(即始终保持队列中的N个数据为最新)。越接近队尾的数据也是越新的数据,其权值也取得越大。把队列中N个数据进行加权平均运算,就可获得新的滤波结果。该方法的特点是给予新采样值的权系数越大,则信号灵敏度越高,越能代表当前采集的信号真实情况,但其平滑度就会变差。优点是适合采样周期较短的系统,改变权重即可调整灵敏度[11]。因此后期的智能车的软件调试,需要根据车的运行轨迹,不断修改采样值的权系数,寻找合适的参数,既能保证出入弯道平稳,又能保证车行驶在直道时不出现抖动情况。

该滤波器采集某一通道数据 N 次,然后进行滤波计算,流程图如图4所示。代码如图5所示。

5 结论

综合以上的设计说明,归一化算法在智能车设计中的应用是绝对可行的,尤其是对于电磁四轮组比赛,应用归一化算法可以应对赛道中电流的变化,使智能车的适应性增强。经过机械结构的优化,選用精密,线性的放大芯片,解决了信号对称的问题。并且充分利用的单片机的功能,以减轻平时调试时的工作量。经过如此处理的赛道信号非常稳定,并且经过各种软件滤波处理噪声后,可以保证智能车在赛道信号提取这一过程中足够可靠。为智能车达到更快的速度奠定基础。

参考文献:

[1] 林涛,马腾炜,陈亚勋,等.基于MCU的自动寻迹智能车控制系统的设计[J].自动化与仪表,2012,27(11):1-4.

[2] 李涵武,崔宏耀,张娜伟,等.基于电磁场检测的智能寻迹模型车设计[J].黑龙江工程学院学报:自然科学版,2011,25(02):23-25.

[3] 卓晴,黄开胜,邵贝贝.学做智能车[M]. 北京:北航出版社,2007.3

[4] 薛程颢,陈云辉,阴志国.基于磁场检测的寻线小车传感器设计研究[J].现代商贸工业,2010,22(16):337.

[5] 《第七届“飞思卡尔”智能车竞赛电磁组直立行车参考方案》,竞赛秘书处

[6] 李仕伯,马旭,卓晴.基于磁场检测的寻线小车传感器布局研究[J].电子产品世界,2009,16(12):41-44.

[7] 刘萍,魏滢,缪斌.电磁组智能车控制策略探讨及实现[J].四川理工学院学报:自然科学版,2016,29(02):19-24.

[8] 王静,金建,陈凯,施小东.基于归一化算法智能车的设计与实现[J].电脑知识与技术,2015,11(08):72-77.

[9] 林生生,孟泽民.一种基于电磁传感器的智能车循线算法[J].计算机系统应用,2014,23(03):119-122.

[10] .浅析软件滤波在自动控制中的应用[J].电力电子,2007,(03):38-40.

[11] 彭巧君,任勇峰,王强,等.基于FPGA的软件滤波算法设计及实现[J].科学技术与工程,2014,14(03):166-169+174.endprint