APP下载

电磁组智能车控制策略探讨及实现

2016-09-09刘萍魏滢缪斌

关键词:十字舵机电感

刘萍,魏滢,缪斌

(厦门大学嘉庚学院信息科学与技术学院, 福建漳州363105)



电磁组智能车控制策略探讨及实现

刘萍,魏滢,缪斌

(厦门大学嘉庚学院信息科学与技术学院, 福建漳州363105)

在对电磁组智能车理论研究的基础上,通过反复实践,提出了一套稳定、可行的控制策略。为系统且全面阐述控制策略,从赛道类型入手,分析得出十字弯道是软件处理的难点;从电感检测特性入手,提出电感摆放位置策略;重点阐述舵机打角控制策略:按照软件控制流程,分别阐述采集数据的归一化算法、数据的差比和算法、丢线判断算法、一字电感和竖直电感权重融合的原因和算法、偏差补偿的原因和算法、偏差合成算法、舵机控制信号算法;最后简述速度PID控制策略。实践表明,各控制策略有效结合,能实现对智能车的高效控制。

电磁;PID;智能车;控制

引言

“飞思卡尔”杯电磁组智能车的硬件系统设计相对比较成熟[1],因此,车子能否跑出好的成绩关键在软件部分的设计。目前,对软件部分做全面、细致分析的文献很少[2],本文将对经反复实践及不断优化的可行性的控制策略进行深入剖析:(1)首先对最困难的十字赛道进行一针见血的分析;(2)接着对硬件系统中比较灵活的电感摆放位置进行阐述,浅显地指出一字、八字、垂直电感的各自应用场合;(3)紧接着着重分析舵机打角控制策略:从数据采集到舵机输入控制信号,各个环节都做了有效阐述;(4)最后简要分析速度控制策略。整套控制策略稳定度高,逻辑思路简单,适合对智能车感兴趣的朋友揣摩,也能对他们提供一些帮助。

1 赛道分析

图1与图2是离地面20 cm的磁场强度方向的模拟图,从图中可以清晰地看出比赛规定的赛道的磁场强度及方向,其中,图1包含的赛道类型较多,但赛道较简单,类似于最后比赛的预赛赛道,很有参考价值;图2以直角和十字为主,适合平时训练,以便更深入地掌握电磁车的循迹规律。

图1 赛道模拟图1

图2 赛道模拟图2

在各种赛道类型控制中,难度最大的是十字赛道控制[3]。从图1、图2可看出,在十字处,电磁场的强度变大,方向更是以十字45°对称,而不是以车模实际前进方向(即进入十字前的直道)对称。根据实际调试,得到如下结论:

(1)直入十字情况:若是用一字电感或是竖直电感,因两个电感受磁场的影响一样[4],最后算出来的偏差非常小,不会影响车模进入十字;若此时用八字电感,得到的电感测量值会出现一边特别大,一边特别小的情况,与实际不符;若此时车模前进速度大,进入十字很正,会看到车模向一边抖一下,影响车模的整体速度[5]。

(2)弯入十字:若还是使用八字电感,当弯入十字且不是正对十字进入时,车模会直接把十字判定为大弯或是直角,不能按照比赛要求循迹,会直接犯规出局;若此时使用竖直电感,因为两边受的影响几乎一样,车模在弯入十字的时会误判为直道,一样也不能完成比赛;只有一字电感在此时的测量值更为接近真实值。所以,在弯入十字时要想好策略,要么判别赛道类型,要么找到通用的方法,这部分是电磁车软件部分的一大难题[6]。

2 电感的摆放位置策略

电感作为电磁车的眼睛,其摆放位置值得深究。常见的电感摆放类型有:一字电感(水平放置)、八字电感(两电感按八字对称摆放)、竖直电感(垂直放置)。这些摆放方式在车队平常的训练过程中反复测试,发现一字电感稳定性最好、不易窜道,但感应距离短,打角来不及;竖直电感感应距离远,但容易感应到周围赛道的磁场从而发生窜道,在直道上几乎不起作用;八字电感灵敏度介于前两者之间,适合打角[7],但在十字会出现与事实赛道不符的测量值,需要更进一步处理才能使用。综上所述,电感的摆放不是单一的摆放方式就能适应全程赛道,而是要多种方式取长补短,经过算法的优化来相互配合,才达到理想的效果。图3为2015年校内赛电磁车,每辆车的电感布局和设计都有不同,但只要与算法合理配合,都能达到较好的效果。如图4所示,为了让赛车顺利通过十字赛道,电感仅采用水平和垂直电感,本文以此来探讨控制策略的实现。

图3 校内赛电磁车

图4 电感摆放示意图

如图4所示,标号4、5的电感具有前瞻性,可实现预测功能;标号1的电感能用来辅助判断赛车的位置,具有标定的作用,这里称为参考电感;标号2、3的电感可以结合参考电感进而确定赛车的实际位置。不同的电感位置对应不同的算法,有些时候,即使算法非常精确,却因为摆放位置的限制而达不到理想的效果[8],比如两个电感摆放不能太近,会有干扰等,如出现这种情况就要考虑对电感摆放进行优化。

3 舵机打角控制策略

舵机打角控制就是赛车的方向控制,通过控制赛车的前轮转向始终使赛车中心线逼近赛道的中线。系统采用稳定的开环控制策略[9],即通过判定赛车与赛道的相对位置,来确定舵机的打角。其控制策流程如图5所示。

图5 舵机打角控制流程图

控制系统采用K60作为主控芯片,引入实用、简单、可靠的“差比和”计算方法,即利用两个电感“做差、做和、再相除”的思路对归一化后的数据进行处理。舵机打角控制策略没有采用赛道判别的方法,还是采用对各类赛道通用的控制策略。

3.1数据采集

通过五路电感、电容组成的谐振电路采集赛道信号,放大之后送至单片机K60的输入端口,对数据的处理如下:

(1)定义采集数据量的上、下限

floatad_max[5]={450.0,450.0,450.0,450.0,450.0,450.0,450.0};

floatad_max[5]={3600.0,3600.0,3600.0,3600.0,3600.0,3600.0,3600.0};

其中,ad_max是给定的下限值,ad_max是实测的上限值。

(2)对各通道数据归一化处理

float ad1;//参考电感

float ad2;//一字左

float ad3;//一字右

float ad4;//竖直左

float ad5;//竖直右

ad1 = 1000.0*(ad1-ad_min[0])/(ad_max[0] -ad_min[0]);

if(ad1 <= 1.0)

ad1 = 1.0;

其它数据通道同上,数据归一化处理是为了使智能车的整体性能不因赛道和外界环境的改变而发生显著的变化,增强其鲁棒性[10]。

3.2差比和计算

采集的数据分别水平和竖直电感的差比和算法,具体程序段如下:

parallel= ((ad1-ad2)/(ad1+ad2))-((ad1-ad3)/(ad1+ad3));

//一字电感差比和

vertical= ((ad1-ad4)/(ad1+ad4))-((ad1-ad5)/(ad1+ad5));

//竖直电感差比和

根据差比和结果可以较为准确地判断智能车与电磁线的相对位置。

3.3丢线判断及偏差计算

丢线问题是控制部分的难点[11],其丢线阈值的确定是关键,阈值大小可以通过实践的测试确定。具体程序段如下:

float dev = 0;//偏差值(一定要有符号)

floatdev_old= 0;

floatdev_dev= 0;

float miss = 1000;//丢线阈值

if (ad1

{

LPLD_GPIO_Output_b(PTC, 10, 0);

if(ad4+ad2>ad5+ad1)

{dev = -20;}

else if(ad4+ad2

{dev = 20;}

else

{

if(dev_old>0)

{dev = 20;}

else if(dev_old<0)

}

}

3.4一字电感、竖直电感权重确定

为能正确处理一字电感和竖直电感采集的数据关系,在实践过程中,通过不断采集和记录数据,并用Excel绘制如图6、图7的曲线。

图6 单一差和比偏差值与小车离赛道中心的关系

图7 权重融合下偏差值与小车离赛道中心的关系

图6是计算的左右一字电感ad2、ad3的差和比,近似是一条线性的直线,即小车离赛道中心较近的时候偏差值小,离赛道中心较远的时候偏差值大。而在实际小车前进的过程中,我们希望在小弯的时候打角小一点甚至不打角(小S弯当直线过),而在大弯的时候要及时打角,打大角,使小车在过大弯时能贴近内侧赛道,少跑距离,从而达到节省时间的目的。很显然,单一的差和比做不到这一点;竖直电感灵敏度大,其在直道上的采集值大小几乎为0,但一旦有弯道,其采集值便会出现明显的变化,这一点与控制预期相符,因此,在数据处理时,可以辅助考虑竖直电感的差和比。将一字电感和竖直电感的差和比按照权重相加,融合得到的偏差结果近乎是一条二次曲线,如图7所示,与控制期望的直道几乎不打角、大弯打大角相符。因此,本系统采用权重融合的控制策略,权重计算的程序段如下:

float weight = 0;

weight = fabs(vertical);//竖直电感权重值计算

3.5补偿计算

从图6、图7可以清晰地看出,在小车离赛道中心线的距离变化相同的情况下,偏差的变化量不同,且满足小车偏离赛道越远,偏差变化量越小的规律。因为不管是采用单一差和比还是采用权重融合的差和比,本质采用的都是差和比算法,电感在偏离中心磁导线的情况下,其感应值会减小直到失去意义,所以单纯的差和比只能解决小车偏离赛道不是很远的情况,如偏离赛道较远,还要另作补偿计算[12]。为能有效地编写补偿算法,实测如图8所示的中间电感与其离赛道中心的关系曲线。

图8 中间电感采样值与其离赛道中心距离的关系

从图8可以看出,在车离赛道中心线的距离变化相同的情况下,小车偏离赛道越远,中间电感的采样值减小量越小,恰好可以对差和比的值进行补偿。因此,结合ad1的值即中间电感值编制补偿算法。具体程序段如下:

float magnetic = 6000;//磁场强度

float ad1_max= 1;

float ad2_max= 1;

float ad3_max= 1;

float ad4_max= 1;

float ad5_max= 1;

float compensate = 0;//丢线补偿值

float bazi = 0.5;//补偿比例值

magnetic = ad1_max+ad2_max+ad3_max;

if((ad1+ad2+ad3)<(0.8*magnetic))

{

compensate = (magnetic/(ad1+ad2+ad3))*bazi-0.7;

}

else

{

compensate=0;

}

if(compensate>20)

{

compensate = 20;

}

else if(compensate<0)

{

compensate = 0;

}

else

{

compensate=compensate;

}

if((parallel*(1-weight)+vertical*weight)<0)

{

compensate = -compensate;

}

else

{

compensate = compensate;

}

3.6偏差合成

将5个电感采集的信息合成,同时分配权重和累加补偿信号,得到舵机控制信号的直接控制变量:偏差dev。具体程序段如下:

dev = parallel*(1-weight)+vertical*weight+compensate。

3.7舵机打角控制信号

偏差处理完成后,舵机打角控制采用常规PID控制。智能车特点是快,允许有微小偏差[13],因此,控制算法选定为PD。程序段如下:

dev_dev= dev-dev_old;

pwm_ste=ste_mid+p_ste*dev+d_ste*dev_dev;

//变更FTM2模块舵机输出占空比

if(pwm_ste

{

LPLD_FTM_PWM_ChangeDuty(FTM2,TM_Ch0, (int)ste_min);

}

else if(pwm_ste>ste_max)

{

LPLD_FTM_PWM_ChangeDuty(FTM2,FTM_Ch0, (int)ste_max);

}

else

{

LPLD_FTM_PWM_ChangeDuty(FTM2,FTM_Ch0, (int)pwm_ste);

}

//保留上一次的偏差和输出

dev_old= dev;

pwm_ste_old=pwm_ste;

4 速度控制策略分析

舵机的打角问题解决后,速度控制基本无技术难点,常见的速度控制方案有:入弯减速,出弯加速;直道高速、遇弯减速、弯道中等速度,出弯加速等。无论何种控制方案,速度控制都不应像舵机打角控制那样选择开环控制,而应选择闭环控制。闭环控制方框图如图9所示。K60控制算法可采用PD控制,也可引入积分作用相对微弱的PID控制[14]。

图9 速度控制方框图

5 实验结果

将上述的控制策略用于实际系统,小车的速度可稳定达到2.8 m/s,若赛道简单,如十字较少,速度可稳定达到3 m/s以上,且小车在行进过程中不犯规,更换赛道仍能达到较优性能[15],说明该套控制算法具有较强的适应能力。

6 结束语

本文提出的控制策略来源于反复的实践,是一套行之有效的控制策略。控制策略的核心处理问题是一字电感、竖直电感权重确定和补偿计算,希望本文能对读者起到抛砖引玉的作用。

[1] 吴祥,王冠凌.基于电磁导航智能车的控制研究及实现[J].四川理工学院学报:自然科学版,2015,12(6):42-46.

[2] 李晓帆,许畅.小车远程控制及自主寻路系统的设计与实现[J].计算机科学,2015,42(12):98-101.

[3] 朱昌平,李永强,单鸣雷."飞思卡尔"智能车常见技术问题与解决方案[J].实验室研究与探索,2012,31(4):45-49.

[4] 刘雪扬,张文斌,尹志宏.电磁传感器的循迹特性分析[J].传感器与微系统,2014,33(7):35-41.

[5] 鲁云,赵亮,陈晓东,等.基于磁导航的两轮智能车系统设计[J].湖南师范大学:自然科学学报,2013,36(1):17-21.

[6] 陈梅,陈艳燕.两轮智能车跟踪控制系统的研究[J].合肥工业大学学报:自然科学版,2015,38(3):319-324.

[7] 竞赛秘书处.电磁组竞赛车模路径检测设计参考方案[Z].北京:竞赛秘书处,2010.

[8] 刘涛,吕勇,刘立双.智能车路径识别与控制性能提高方法研究及实现[J].电子技术应用,2016,42(1):54-57.

[9] 姜岩,王琦,龚建伟.无人驾驶车辆局部路径规划的时间一致性与鲁棒性研究[J].自动化学报,2015,41(3):518-527.

[10] 段建明,杨晨,李龙杰.智能车转向系统的研究及设计[J].计算机测量与控制,2015,23(5)1780-1782.

[11] 玄建永,陆耿,王京春.基于缩微智能车的车辆跟随控制系统[J].信息与控制,2014,43(2):165-170.

[12] 李爱娟,李舜铭,赵万忠.基于最优控制理论的智能车辆轨迹生成方法[J].吉林大学学报:工学版,2014,44(5):1276-1282.

[13] 向丹,迟永滨,李武波,等.电动助力转向系统控制策略及其仿真研究[J].控制工程,2013,20(2):254-258.

[14] 卢京潮.自动控制原理[M].西安:西北工业大学出版社,2009.

[15] 杨颜鸿,牛亚洲.智能循迹车硬件电路设计与优化[J].甘肃科技,2015,31(21):25-27.

Control Strategy and Implementation of Intelligent Vehicle Based on Electromagnetic

LIU Ping, WEI Ying, MIAO Bin

(School of Information Science & Technology, Xiamen University Tan Kah Kee College, Zhangzhou 363105, China)

On theoretical research about Intelligent Vehicle based on Electromagnetic, through repeated practice, a set of stable and feasible control strategies is put forward. For comprehensive exposition of the control strategy, from the track type analyzes, drawn cross curve is the difficulty in processing software. From the inductor detection feature, the inductor placement strategies is put foward. This paper focuses on steering angle control strategy:data collection normalization algorithm; algorithm for data reduction, division, addition; throw line determination algorithm; horizontal and vertical inductance weights causes and fusion algorithms; deviation compensation reason and algorithms; deviation synthesis algorithm and servo control signal algorithm are respectively elaborated according to the software flow control. Finally, velocities PID control strategy is briefed. Practice shows that the effective combination of various control strategies can achieve efficient control of the intelligent vehicle.

electromagnetic; PID; intelligent vehicle; control

2016-01-31

福建省高等学校教学改革研究项目(JAS14803)

刘 萍(1981-),女,江西丰城人,副教授,硕士,主要从事控制类和电源类方面的研究,(E-mail)152638961@qq.com

1673-1549(2016)02-0019-06

10.11863/j.suse.2016.02.05

TP273

A

猜你喜欢

十字舵机电感
张竹君与中国赤十字会
十字棋
含齿隙弹载舵机的全局反步模糊自适应控制
2018车企进阶十字诀
基于NCP1608B的PFC电感设计
巧用十字相乘法解题
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
隔离型开关电感准Z源逆变器
基于云模型的舵机同步控制