APP下载

电磁三轮智能小车循迹设计

2019-08-08宋年云宋元彬刘康文

电脑知识与技术 2019年18期
关键词:环岛循迹小车

宋年云 宋元彬 刘康文

摘要:在对已有的电磁智能车循迹算法进行分析与总结的基础上,最终设计出一套可行、稳定的电磁循迹三轮小车的控制策略。在方向控制方面,对已有的传感器布局方式和偏差处理方式进行分析,得到了一种可以适应新型赛道元素—环岛的循迹算法;在速度控制方面,改进了传统PID算法,提出了一种针对速度控制的动态PD算法;最后介绍了三轮车电机串级控制策略。实验证明,该循迹策略对电磁类的小车有很好的适应性。

关键字:三轮智能小车;动态PD算法;环岛;串级控制

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2019)18-0206-03

如今,智能化在汽车电子领域有着广阔前景[1]。本文是以第十三届“恩智浦智能汽车”大赛为背景,设计并制作一辆基于电磁传感器的自动循迹三轮车。电磁组竞赛的轨道中心是带有20 kHz,100mA可变交流电源的载流导线,智能车利用电磁感应原理检测其产生的交变磁场来进行路径判断,通过计算前方导线偏离车体中心的距离来做出相应的方向控制,进而控制小车沿赛道寻线行驶[2]。本文基于现有的跟踪算法,并根据自己的实际情况改进算法,使汽车对新的轨道元素-环岛具有良好的适应性。

1 方向控制策略

1.1 电磁传感器的设计及电感的摆放位置策略

智能车是根据道路中的电磁场信息完成自主导航的。在本研究中智能车导航的信号源是在轨道中心线处具有20mA交流电频率为20kHz的漆包线,通电漆包线激发的电场和磁场根据一定的规律在空间传播。根据毕奥-萨法尔定律,其周围感应磁场的分布是一系列同心圆,圆上的磁场强度是相同的,且随着半径的增加而减小。

智能车采用传统的电磁感应线圈,基于电磁感应原理作为电磁传感器,因此选择感应线圈尤为重要。标准化的“工字型”电感线圈感应面积大,灵敏度好。实践证明这种电感线圈的综合效果不错。由于电流的频率为20kHz,综合考虑选择10mH的工字型电感和6.8nF的电容相并联后检测磁场。

路径信息能否快速准确地获取和传感器的布局有很大关系。电感是电磁车的眼睛,常见的摆放类型有:一字电感、竖直电感[3]等。

综上所述,电感放置并不是单一的放置就能适应全程赛道,而是要多种方式相互补充,通过优化算法相互配合,才可以达到预期的效果。为了让小车顺利通过十字赛道,电感采用水平和竖直相结合的排布方式,即在双水平排布的基础上,两侧各增加了一个与水平电感垂直的竖直电感,结构图如图3所示,在计算时可以将两电感视为在同一空间位置上。

1.2 电感偏差的处理

1.2.1 差比和法

1.2.2 开跟法

通过分析得到水平电感的差比和之所以存在极值,是因为当距离x大于其极值点时,分子的衰减速度大于分母的衰减速度,使得偏差值在极值点之外出现递减趋势。为此可以运用开根号法来降低中分子的衰减速率,使得偏差与距离成单调函数,从而反映实际偏差值。偏差计算公式如下:

1.2.3 环岛的控制策略

环岛赛道是由赛道左侧或右侧半径在50cm至150cm的圆环组成,出入环形赛道的直线赛道与环岛相切,且电磁线为并联形式,如图7所示。采用常规算法驶过环岛时,由于左右电感的偏差很小导致不能准确及时地进行差速控制,此时小车可能会因入环状态不同而出现不入环,入环摆头而不入等几种可能。可见及时提出一种新型智能车的位置算法,是正常进行后续调试的先决条件。

首先对图7中的环岛赛道元素进行分析,发现由于B点是双线圈,导致电感在B点的最大值是其他赛道元素的两倍。经测试,发现小车在B点的水平电感的偏差很小,不足以使小车过环岛,而竖直电感存在偏差,但由于我们运用横竖电感开跟方法计算的偏差,导致偏差过小。为此我们通过合理的排布电感位置,将环岛划分为四段,在上述开跟偏差计算的基础上将水平电感和竖直电感按照一定的权重进行分配,提出设置横竖电感权重分配分段处理的算法。

2 动态PD算法的提出与实现

2.1 传统PID控制算法及其局限性

PID控制器是具有反馈功能的控制器。PID控制因其控制原理比较成熟,Kp/Ki/Kd各个参数易于调整,鲁棒性强,使用简单,所以具有很广泛的应用。

在道路情況不是特别复杂的情况下,运用传统PID算法就可以实现对智能车的精准控制,但是如果碰到如大S弯道、180度弯道、直角弯等复杂情况时,就会出现控制不稳定的情况,主要原因是传统PID控制是一种线性控制算法,只在简单的线性单变量系统中具有良好的控制效果,而在复杂多变控制系统中满足不了人们的需求。

为了提高智能车在复杂道路环境控制的鲁棒性,必须要结合道路的曲率来制定动态PID参数。

2.2 动态PD算法的分析与提出

为了改善传统PID的缺点,提出了模糊PID算法,其主要实现思路是:根据实时采集的数据,计算出偏差和偏差的变化率,然后输入到模糊PID控制器[4]中,经过模糊化和查找对应的模糊规则表,输出三个参数的修正量Kp,Ki,Kd来确定PID的参数,再根据反模糊推理得出精确值。

该方法虽然可以实现参数自动调整的功能,然而,模糊控制规则表的制定过程比较复杂,且模糊控制的输出是模糊集,需要运用相关清晰化方法来将输出转化成控制对象可以执行的特定量,而且对于刚参加比赛的新手来说难以理解。

为此我们从PID各个参数的作用入手,进行改进。

2.2.1 比例环节改进

对于比例系数Kp,当小车在直道上行驶时,小车的中心线和漆包线产生的偏差较小,给予较小的Kp值即可迅速回正,当小车在大弯道上行驶时,偏差相对较大,要给较大的Kp值才能削弱产生的偏差,但Kp值也不能过大,过大会造成车身抖动,甚至偏离跑道,当小车在小弯道上行驶时,Kp的取值介于直道和弯道之间。

为此我们在方向控制过程中可以采用基于方向偏差g_fDirError的二次动态P的方法控制。公式如下:

2.2.2 微分环节改进

对于微分系数Kd,当小车在直道上行驶时误差变化率很小,给予较小的Kd值即可得到修正,如果Kd值过大,则意味着校正过度。当小车在大弯道上行进时,误差变化率很大,要给予较大的Kd值进行超前修正,否则,会转向不到位,很容易偏离跑道。当小车在小弯道上行驶时,Kd的取值介于直道和弯道之间。

对此,我们同样基于方向偏差g_fDirError提出了二次动态D的算法,公式如下:

2.2.3 积分环节改进

积分作用的强度主要取决于积分时间Ti,Ti越大,积分作用越弱。

然而在调试的过程中,发现积分控制环节的引入在一定程度上会降低电机占空比的敏感度,还有可能会降低小车的响应速度,因此我们对偏差舍弃了积分控制,只用PD控制。故得到式7所示的动态PD算法。

为了验证应用该算法后电磁小车系统的稳定性和快速性,我们在实验室搭建了赛道,让小车分别采用传统PID算法和动态PD算法进行多次试跑。图8为小车在同一速度下,经过小弯,90度弯道,180度弯道,270度弯道上的行驶路径。

不难看出二次动态PD算法不仅可以克服小车出弯道或者直道或者过连续小曲率弯道震荡的问题,而且算法相对比较简单,具有很强的适应性。

3 电机的串级控制

电磁三轮车是双电机系统,故小车真正速度g_fRealSpeed可以用左轮速度g_fLeftRealSpeed和右轮速度g_fRighRealSpeed和的一半来表示,如式8所示。

三轮智能车主要是通过电机PWM输出不同实现后轮差速来进行转向,所以速度控制和方向控制存在耦合关系,速度控制是在方向控制的基础上进行的,所以无法用常规的速度负反馈进行叠加[5]。因此我们可以将方向控制和速度控制看作两个控制器的线性叠加,对它们进行串级控制。

其中速度控制为外环,方向控制为内环。串级外环的控制周期要大于等于内环的控制周期,我们在程序PIT定时器中断中,采用了 20ms进行一次速度处理,5ms进行一次方向处理的方案,经验证,效果良好。

最终其左右轮电机的最终输入如下:

4 总结

本文以电磁导航的智能三轮小车为对象,对小车的循迹算法进行了详细的讲解。对传统PID算法進行改进,提出了基于偏差的二次动态PD算法,并且对于环岛,提出了可行的解决方案。本文在做好所有硬件部分的基础上,根据以上思路进行了程序设计及验证,验证了该套策略的可行性。

参考文献:

[1] 蔡自兴,徐光祐. 人工智能及其应用[M]. 北京:清华大学出版社,2004.

[2] 卓晴. 学做智能车:挑战“飞思卡尔”杯[M]北京:北京航空航天大学出版社,2007.

[3] 陈国定,张晓峰,柳正扬.电磁智能车电感排布方案[A].浙江:浙江工业大学学报,2016.

[4] 王祥好. 模糊PID控制算法在智能小车中的研究与应用[D].合肥:合肥工业大学,2009.

[5] 卫剑梅. 串级控制系统的鲁棒性分析与整定[D]. 北京: 华北电力大学,2005.

【通联编辑:李雅琪】

猜你喜欢

环岛循迹小车
行走环岛高速,感受开放的魅力
基于DFT算法的电力巡检无人机循迹检测系统设计
大车拉小车
自制小车来比赛
基于单片机的智能循迹小车的设计
两轮自平衡小车的设计与实现
智能差分循迹小车设计
基于MC9S12XS128处理器的智能循迹小车分析研究
北京京密路(京承高速公路-开放环岛)工程总体设计
骑车环岛11日