循迹小车及其算法策略

2017-06-03 00:33黄定翠
电子技术与软件工程 2017年9期
关键词:算法

黄定翠

摘 要随着科技的发展和汽车工业的进步,智能汽车的研究兴起了一股热潮,与之相对应的模型研究智能循迹小车也不断的在更新,无论是各大高校还是企业公司对循迹小车的研究一直在进行着。而算法的研究是其中最主要的核心,它几乎决定了小车的控制的好坏,好的算法将会使得小车的循迹变得十分的精确和可靠。

【关键词】循迹小车 智能汽车 算法

1 引言

近些年来,在各大高校对循迹小车的研究一直在进行着,同时也会有一些关于循迹小车的比赛,例如飞思卡尔智能车竞赛,有时候电子设计大赛也会有涉及到循迹小车。一般循迹小车有传感器用于对外界赛道的采集,赛道都是有一定的特征,比如通有交变电流的漆包线作为引导线的赛道,LC传感器可以采集赛道的磁场,通过磁场的强弱和分布规律来判断小车的相对位置。为了达到转弯的灵活性,本设计前轮采用舵机来控制转弯打角的角度,利用PD算法将小车的相对位置转换成控制量。后轮使用直流电机,辅以PID算法,以达到小车的高速及其稳定行驶。

2 设计

我们以STM32作为主控芯片,使用LCD1000和电感线圈组成的传感器对铺有铝膜的赛道进行信息采集。因为我们赛道中存在的坡道,所以还使用了MPU6050陀螺仪来完成坡道的识别,编码器对速度进行采集,如图1所示。

3 传感器的原理分析与布局

3.1 原理

本传感器是利用了电容三点震荡的原理,利用LDC1000和电感线圈构成电容式三点震荡,震荡后产生正弦波,并且随着电感线圈靠近铝膜磁场不同,由此得出的正弦波的频率也是不一样的,利用这个特点可以分辨出线圈和铝膜的相对位置。得出的正弦波进行比较器整形后得出方波,送到主控芯片进行计数。

3.2 传感器的布局

传感器的布局是十分重要的,而且也有讲究,布局的不一样所使用会影响到算法,所以在在传感器的排布上面一定得和软件算法想结合。本设计上采用了3个传感器两个旁边一个中间。前瞻的选定:一般的设计前瞻的选择有三种第一是:30cm以内,这个前瞻的长度在低速的时候对赛道的采集比较稳定,但是速度比较快的时候就有可能不稳定,特别是过弯的时候不能及时的检测到弯道信息,从而使得速度不能及时的减下来,小车容易冲出赛道;第二种是30-50cm:这时候采集的赛道信息也比较稳定,弯道检测比较及时。第三种:大于50cm,这时候前瞻比较长,虽然弯道能及时检测到,但是這会有其他的负面影响就是直道的时候车身的晃动十分的厉害,过弯内切的厉害特别是s弯道很容易出意外。综合考虑,我们采用了40cm的前瞻,这样既不会因为太短不能及时减速,也不会因为太长造成其他的不稳定。

4 赛道识别与分析

赛道元素有直道,大S弯,小S弯,还有棒棒弯,十字路口,连续弯道等,通过传感器传回来的信息来判断小车目前所处的位置和赛道类型,并以此来设定不同的目标值,从而达到小车最稳定和最快速的行进。直道:左右两传感器的值几乎一样,它们的差值很小,这时候可以给比较快的速度;大S弯(左右):有一边的传感器的值很小,而另一边的比较大,中间传感器的也是比较小:小S弯是比较难以区分的,只能给一个比较慢的速度的。十字当成直道来行进。

5 算法研究

5.1 位置式PD算法

比例(P)控制既输出与输入误差信号成比例关系,当仅有比例控制时系统输出存在稳态误差。微分调节就是偏差值的变化率。当输入偏差值线性变化,则调节器输出侧叠加一个恒定的调节量。因为我们这个小车系统会有时间的滞后,所以要用到这个参数,但是一般的系统不需要调节微分参数。但是对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。为此本设计的使用PD来控制舵机的打角:

PWM(舵机打角)=kp(sensor1-sensor2)+kd(last_error)

kp为比例系数,kd为积分系数,这两个的值需要大量的实验才能调出一个比较合适的值。

5.2 增量式PID

考虑到速度控制通道的时间滞后比较小,因为采用PID控制方案,并引入“棒棒控制”,即入弯减速,过弯时中俗,出弯后加速。

5.3 策略

首先在舵机控制上,如果只是单单的位置式PD算法,这对速度的提升十分的困难。为此,笔者在PD算法的基础上加上了一些策略,第一是锁值处理:当电机过弯时(弯道比较大),如果仅仅使用PD算法,小车抖动的很厉害,主要是因为它刚回到直道又偏离直道使得舵机在不停的来回打角从而导致车身的晃动,影响速度。但是当我们识别到过弯,直接给定一个指定值和一定的速度,小车就可以直接转过去。补差处理:直道上因为其他的干扰也偶尔造成小车对赛道的误判,进入假锁状态。这时候使用补差的算法可以减小这种情况。直流电机:速度控制处理“棒棒控制”,预先设定值,直道最大速度,入弯减速,过弯中速,出弯加速。

6 结束语

本设计中的智能循迹小车能快速的行驶,且能识别坡道并且稳定通过。在各种弯道中能以较合适的速度通过。在算法和策略上面也比较完善,总体上小车的适应性比较强。但是,本设计也有不足的地方,比如传感器检测的高度难以提高,大概只有2-3cm,因为检测高度而导致其他的负面影响,比如在直道上因为车神的抖动使得传感器采集值突变,误判为弯道,笔者能想到的解决方案就是本次值和上次值的对比,如果变化太大,则判为检测误差,但是效果不是很理想,所以本设计还存在可改进的方面。

参考文献

[1]吴祥.基于电磁导航智能车的控制研究及实现[D].安徽:安徽工程大学,2016.

作者单位

西南民族大学 四川省成都市 610041

猜你喜欢
算法
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
基于CC2530的改进TPSN算法
基于BCH和HOG的Mean Shift跟踪算法
基于增强随机搜索的OECI-ELM算法
一种改进的整周模糊度去相关算法
一种抗CPS控制层欺骗攻击的算法
Wiener核的快速提取算法
带跳的非线性随机延迟微分方程的Split-step算法