APP下载

基于BP 神经网络的智能车电磁导航控制算法

2020-08-11孙艺铭范佩升

科学技术创新 2020年25期
关键词:控制算法电感赛道

孙艺铭 林 雨 范佩升 张 丽

(河南理工大学电气工程与自动化学院,河南 焦作454000)

在智能车的运动控制中,对其控制系统的稳定性和精度有着较高的要求[1],在赛道路线复杂的情况下,对控制系统的响应速度也有着极高的要求。PID 控制算法结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法[2]。因此,在智能车的控制中得到了大量的应用。但同时PID 控制器也存在诸多的缺点,在外界输入经常变化的情况下表现出响应迟缓的现象,通常要牺牲车辆的体积,将传感器的前瞻距离提高以补充系统的滞后,但在实际应用中会受到较大限制,若为了满足应用限制而缩短前瞻,会使传感器探测距离减少使智能车的运行稳定程度大幅降低。

为此,本文提出一种基于BP 神经网络的电磁导航控制算法,通过事先训练得到的网络模型,可在满足短前瞻条件下进行精准的控制。

1 赛道模型与传感器排布分析

在本文分析的智能车所运行的赛道中,赛道的中心线位置布有一根通有交变电流的导线,其电流大小为100mA,频率为20kHz。采用高精度电感阵列来识别赛道中心布设的导线所产生的电磁场从而获得赛道信息。如图1 所示,我们在车身上设置了两组传感器,分别为由5 个电感组成的电感阵列A,由7 个电感组成的电感阵列B,其中电感阵列A 中的5 个电感均位于一条线上且水平等间距分布,距离前轮转向机构30cm,电感A1-A5 距离为18cm,电感阵列B 中的B1-B5 的排列方式与A的相同,固定在车头位置(距离前轮转向机构约5cm),B6 和B7分别置于车身中部两侧,间距18cm。在本文的方法中,在模型训练阶段电感阵列B 用于采集训练数据,电感阵列A 的作用为采集具有前瞻的赛道信息并使用传统PID 算法进行导航控制,实现自动数据采集并避免了人工操作的不确定性,因此,在使用神经网络模型作为智能车的控制系统时,可将电感阵列A 拆除仅使用电感阵列B 以达到短前瞻的要求。

图1 车模电感排布

2 神经网络控制算法的构建

2.1 算法构建思想

传统的经典PID 控制方法使用长前瞻的电磁传感器(图1中电感阵列A)进行采样,可得到向量Vlong,其维度为传感器的数量,通过PID 控制器运算得到控制器输出的控制舵机的转向角度P,可表示为:

而在条件受限只能使用短前瞻电磁传感器(即电感阵列B)进行采样时得到向量Vshort,此时我们无法使用传统的函数f 求得精准的转向角度P,那么我们可以创建一个与Vshort与Vlong之间的函数映射,表示为:

则可依旧得到

其中,g(x)是未知的,因此我们对函数f(g(x))进行映射[3],得到新的函数,表示为:

此时,f''依旧是未知的。但是对于神经网络模型而言,只要加以合适的训练,就可以使这个网络模型接近于任何函数。因此我们通过使用神经网络训练得到一个近似于f'的函数f'',即可使用短前瞻电磁传感器采样得到的向量Vshort来得到目标舵机控制角度P,从而实现在短前瞻的情况下智能车能够达到传统长前瞻情况下的效果。

2.2 算法的实现

2.2.1 算法的控制流程

本文算法控制模型采用三层的BP 神经网络[4],其中输入层包含7 个单元,用于输入电感阵列B 部分的电磁传感器采样得到的向量Vshort;中间层由一层神经元数量为140 个使用tanh作为激活函数的隐含层,和另一层神经元数量为10 个、激活函数为ReLU 函数的隐含层构成;输出仅含有一个神经元,用于输出一个取值范围在0~1 之间的值。将该值扩大至-128~127 区间,得到舵机控制角度。

基于这样的控制模型,本文中的智能车导航控制流程如下:

图2 智能车导航控制流程

2.2.2 算法的训练

将车辆放置在包含多种元素的赛道上,如直道,弯道,s 型道路等;通过使用电感阵列A 获得长前瞻时的赛道信息,使用传统PID 控制器进行引导车辆前进。在智能车运动的过程中,采集电感阵列B 的数据和PID 控制器计算得到的当前舵机控制参数作为训练样本,为了避免因环境因素的干扰,采集数据的过程中对电感采集的数据首先进行归一化处理,然后缩放至-128~+127 区间内。获取到训练数据集后设置学习率a=0.1,Dropout 率为0.25,使用均方差作为损失函数,对神经网络进行训练。本文中使用Keras 建立模型并训练,设定20000 次最大训练次数,绘制loss 曲线如图3(a)在前5000 次的训练中,BP 模型的收敛效果较优,损失迅速下降,但在5000 次之后的收敛较慢,几乎停滞,不断训练至17500 次后达到了一个较优收敛效果,此时loss 为0.001。达到收敛要求后对模型进行验证测试,如图3(b),红色曲线为训练时输入的控制角度,蓝色曲线为训练的神经网络模型输出的控制角度。

图3 Loss 曲线及训练验证结果

从模型验证测试中看出两条曲线基本重合,达到如期的训练目标。

3 实验及结果分析

实验测试环境如图4 所示,赛道宽度为45cm,全长45.4m,中心铺设通有100mA,20kHz 交变电流的导线,实验中分别测试了车辆在不同前瞻与算法时在1m/s 的速度下的控制效果和车辆在不同的速度在导航中偏移赛道中心的最大距离,测试运行赛道一圈,结果如表1、表2 所示。

图4 实际赛道与神经网络进行导航情况

表1 不同的前瞻与算法在1m/s 速度下控制结果

表2 不同的前瞻与算法在运行中偏离中心线的最大值

通过实验测试数据可以看出使用神经网络模型在短前瞻传感器情况下进行导航的效果比使用PID 控制器在长前瞻传感器条件进行导航的效果相差无几,并且缩短了传感器前瞻,提高了短前瞻状态下的导航性能。但在以2m 的速度运行时在弯道部分车身会发生偏移过度的现象,经过分析后发现其原因在于高速时转弯产生的向心力[5]造成的车辆需要更大的控制角度,大于了神经网络模型输出的控制角度,使得控制强度不足,造成转向上的偏移。

4 结论

本文采用BP 神经网络算法进行智能车的自主导航,不仅实现了替代传统PID 算法的控制效果,而且可以在保证控制精度的同时减少前瞻长度,减小车辆体积,也避免了因前瞻长易受环境电磁干扰的问题。

对于高速时转弯时产生的向心力的所导致发生偏移过度的问题,在后续的实验中,需要将速度因素考虑在内,如何使网络模型在控制车辆转向的同时控制车辆运行速度将成为下一步研究的方向。

猜你喜欢

控制算法电感赛道
跃马新姿 赛道试驾法拉利296 GTB
基于模型预测控制算法的智能密度控制系统在选煤厂的应用
彩珠赛道大迷宫
科创引领,抢跑新赛道
具有降压单元的磁集成组合Buck 变换器的研究
基于铁镍磁组合电感的Boost变换器效率的提升
基于Backstepping的非线性无人船航向控制算法
隔离型开关电感Zeta变换器磁集成研究
征服蒙特卡洛赛道
高精度位置跟踪自适应增益调度滑模控制算法