马春城,郭循钊
(1.中交第一公路勘察设计研究院有限公司 隧道轨道分院,陕西 西安 710051;2.研华科技西安分公司 陕西 西安 710075)
全国大学生智能车竞赛是当今教育部的五大竞赛之一,其基本要求是智能车能在不同的赛道上快速而流畅的行驶[1]。先进的智能寻迹车既能快速穿越直道,弯道时也能保持较高的速度。而制约其快速的因素主要有对路径信息的检测精度低、舵机控制的平稳性差、电机控制的灵活性不高,而识别道路的光电传感器、舵机、电机由于其物理特性本身的限制,平稳性、灵活性有一定极限,必须用软件控制算法来弥补硬件上的不足,针对上述问题,本文提出了较为有效的解决方案。
智能车的控制软件系统主要有3个算法,其程序总流程如图1所示。
首先,通过传感器获得智能车的路径信息,本文采用光电传感器来完成对路径中心引导线(黑线)的识别,其检测的精确度和准确性直接关系到智能车的灵活性和稳定性,关系到智能车的行驶速度。但是对一般的光电传感器路径识别方法,获得的路径信息是间隔布设传感器位置的离散值,它丢掉了路径检测中的大量信息。因此,研究智能车的连续化路径识别有很重要的意义。
其次,通过检测到的路径信息,来控制舵机的转向,使智能车在赛道上高速行驶的过程中能准确无误地沿着黑线行驶,在直道上时能稳定行驶,避免智能车走蛇形弯;在转弯时能快速转弯。这要求其转向控制有较高的响应速度和低的超调量,直道上时给小的控制系数,在转弯时给大的控制系数,PID控制算法具有较高的响应速度,低的超调量和低的稳态误差,但是舵机控制要求较高的响应速度,而PID算法引入了积分环节,而对稳态误差的要求不大,因此对舵机转角的控制采取非线性的位置式PD控制算法。
最后,采用基于反馈控制的PID控制算法对车速控制,使其根据实时速度信息,在转弯时提前控制舵机和电机,做到进入弯道时适量减速,驶出弯道时提前加速。
图1 软件流程图Fig.1 Flow chart
智能车的控制策略与算法,是影响智能车动态运行性能的重要因素之一,对于实现其运行过程中的稳定快速有重要作用[2]。控制的目标就是将赛道黑线平滑地保持在智能车中央,从而达到很好的控制效果[3]。行驶的控制需要完成两部分的工作:舵机控制和直流电机控制。
PID是一种有效而简单的控制器,能够在保证基本不影响系统稳定精度的前提下提高系统的相对稳定性,很好地改善系统的动态性能[4]。常规PID控制器系统原理框图如图2所示。
图2 PID控制系统框图Fig.2 Diagram of PID control system
式中 e(t)=r(t)-y(t);Kp为比例系数;Ti为积分时间常数;Td为微分时间常数。设Ki=Kp/Ti,Kd=Kp/Td可得:
Kp、Ki、Kd分别称为比例系数、积分系数、微分系数。
对智能车进行方向控制,就是利用传感器获取出黑线位置信息,然后通过一定的控制策略,使智能车能够实时跟踪黑线走向,自动控制舵机带动前轮转向,完成寻线行驶[5]。智能车在行驶的过程中是一个参数不定的系统。一辆具有智能化的赛车必须能够根据赛道的特征将参数调整到最佳,以实现最优控制。
调整舵机的原则是:智能车处于直道时,使舵机居中摆正位置,智能车处弯道的曲率越大,则舵机的摆角也越大。舵机的反应速度比较慢,这就需要用软件来弥补硬件的不足。这里的基本要求是速度足够慢的时候,舵机是可以反应过来的。智能车在行进的过程中要不断调整舵机的转向,在路径波动强度较低的时候,不能改变太大的转向,尤其在高速行驶的时候,会使智能车走蛇形线。为了避免这个问题,弯道行驶中要加上柔性控制,车身中心越是靠近黑线,舵机角度改变的比例就越小,这样就得到了基本的转弯角度。如果把当前的控制数据当成前面控制数据处理动作反馈回来的信号,经比较发现如果没有达到或超过预想的效果,转弯角度就增加或减小,这样就形成了加速处理输出(D)和回转角度输出(P),然后再送进柔性处理程序,结合当前路径信息就可以得到更加合理的转角输出。其过程如图3所示。
图3 转向控制策略的工作原理Fig.3 The working principle of the turning control strategy
转向控制系统中最重要的部分是舵机,它是一个位置随动系统。在智能车上,舵机的输出转角通过连杆传动控制前轮转向。另外,智能车也可以利用它进行机械刹闸制动、位置传感器主动扫描等操作。
舵机的转向是由PWM(Pulse Width Modulation脉冲宽度调制)技术来进行实时控制的。控制信号是周期在20 ms左右的脉冲信号,脉冲信号的宽度决定舵机输出舵盘的角度。脉冲宽度与转角成线性关系,其计算公式为:
α为舵机转角,单位是°,l为脉冲宽度,单位是ms。
为了使智能车能够在赛道上快速、平稳、安全地行驶,除了控制舵机转向以外,还需要对车速进行控制,使小车在直道上能尽快加速并尽量避免在遇到弯道时因车速过快而产生过冲现象。对车速的控制是通过控制驱动电机转速来实现的。但车速实际上受多种因素影响,如电机电压、电机传动摩擦力、赛道的附着率等[6],因此如果只是开环控制电机转速,那么就不能灵活的根据小车的实时速度进行精确调整,降低了小车的应变能力;而加入车速检测,对小车速度实施闭环反馈控制,形成闭环,就能够最大限度的消除以上因素的影响,使小车的运行更加精确[7]。
在比赛中,智能车需要通过直道、弯道和S弯等各种复杂赛段,为保证智能车快速稳定的完成比赛,必须对智能车车速进行精确控制。智能车在通过直道时,应迅速加速,而在进入弯道时,则应根据弯道曲率变化合理减速。由于智能车在不同赛段车速不同,因此首先应该在不同的赛段设置不同的给定车速,入弯时,为了过弯时智能车能够不明显的左右摆动并采用较好的姿态通过弯路,令车速与偏差成线性关系,偏差越大速度设定值越小。具体的车速计算公式如下式给出:
其中,Setted_speed为给定车速;high_speed为直道上经测试给出的预设高速;e黑线与车体中心线的偏差;P为比例系数,当偏差越大时降速就越多。
该连续化路径识别算法主要是建立在对光电传感器特性的深入研究的基础上。经试验测试证明,红外光电传感器特性并不是只输出高低电平(白区高电压,黑线低电压),其电压大小与传感器距离黑色路径标记线的水平距离有定量关系:离黑线越近,电压越低,离黑线越远,则电压越高,(具体的对应关系与光电管型号以及离地高度有关),如图4所示[8]。因此,只要掌握了传感器电压—偏移距离特性关系,就可以根据传感器电压上的值确定各传感器与黑色标记线的距离,进而获得车身中心相对黑线的位置,得到连续分布的路径信息。
图4 归一化后的传感器电压-偏移距离特性曲线Fig.4 Feature curve after normalization
连续路径识别算法分为调试阶段的光电传感器特性测定和智能车行驶过程中控制决策周期时的路径识别两个部分。流程图如图5所示。
图5 连续路径识别算法流程图Fig.5 Flow chart of continuous path recognition algorithm
令 e(k)表示离散化的当前采样时刻的误差值,e(k-1)、e(k-2)分别表示前一个和前两个采样时刻的误差值,Δe(k)=e(k)-e(k-1)。 舵机的控制规律为:
P为比例参数,e(k)为水平偏差量,是PD控制器的P部分,直接反应了智能车偏离黑线的程度,D为微分参数,Δe(k)为水平偏差的速度,是PD控制器的D部分,有了水平偏差速度,系统对智能车状态的掌握就更加精确了。由PID控制规律可知,比例系数越大,转弯幅度也就越大,智能车摆动也就越大,越趋于不稳定,但智能车在急转弯处的转角更有效。比例系数小,智能车越稳定,没有抖动,但急转弯的过冲过大,会使智能车冲出赛道。所以在控制上要加上非线性处理,智能车在直道上时给小的控制系数,使之稳定,避免智能车走蛇形弯;在转弯时给大的控制系数使之快速转弯。这样就实现了系统在小偏差时缓慢的调节,也可以保证当遇到弯道产生大偏差时舵机能迅速动作。
对于智能车速度的控制采用了基于反馈控制的PID控制算法,实际的控制过程中,由于传感器是按一定间隔周期获取位置信息的,因此必须将连续PID控制离散化,这样得到的就是数字PID控制算法。其控制规律为[9]:
e(k)为某时刻智能车给定速度和实际速度的偏差:
Setted_speed是该赛段程序给定车速,Current_speed是测速传感器测量得到的当前车速。根据上述分析,我们在智能车的车速控制中采用了PID控制方式。
比例控制为:
积分控制为:
微分控制为:
T为速度采样周期,为了减小误差,通过3个采样时间跨度的微分平均值实现:
上述比例系数Kp、积分系数Ki、微分系数Kd[10],需要通过不断的反复实验得到最优值。
文中从控制策略及算法的角度讨论了如何提高智能车的运行性能。路径识别采用连续化算法可以使控制更加精确,效果更加明显,保证了智能车在运行过程中的流畅性与稳定性。在进行转向和速度控制时,控制策略采用了优化的PID算法,这种算法简单而有效[11],在进行转向控制时为了增加系统的稳定性,加进了非线性处理的控制部分,防止了智能车在直道行驶时过程中的抖动现象,另外在转弯时更加迅速,保证了智能车能够以较快的速度稳定行驶。
[1]卓晴,黄开胜,邵贝贝,等.学做智能车—挑战“飞思卡尔”杯[M].北京:北京航空航天出版社,2007.
[2]陈无畏.自动引导车跟踪控制策略的仿真研究[J].中国科学技术大学学报,2003,26(3):154-161.CHEN Wu-wei. Simulation study on tracking control strategy of automatic guided vehicle[J].Journal of University of Science and Technology of China,2003,26(3):154-161.
[3]韩毅,甄娜,张伟方.基于瑞萨单片机的智能模型车设计与实现[J].计算机工程,2011,37(10):243-245.HAN Yi,ZHEN Na,ZHANG Wei-fang.Design and implementation of intelligent model car based on renesas single chip microcomputer[J].Computer Engineering,2011 ,37(10):243-245.
[4]郭伟,王伟.PID型广义预测控制在过热温控中的应用[J].计算机工程,2009,35(11):251-253.GUO Wei,WANG Wei.Application of PID-type generalized predictive control in superheated temperature control system[J].Computer Engineering,2009,35(11):251-253.
[5]许宏科,马春城,郭循钊 ,等.基于光电传感器的智能寻迹车的设计与实现[C].2010全球科学工程大会,2011,40-41:8-14.
[6]吴建平,殷战国,曹思榕,等.红外反射式传感器在自主式寻迹小车导航中的应用[J].中国测试技术,2004,30(6):21-23.WU Jian-ping,YIN Zhan-guo,CAO Si-rong,et al.Usage of the reflected infrared sensor in automatic guiding car[J].China Measurement Technology,2004,30(6):21-23.
[7]韩毅,杨天.基于HCS 12单片机的智能寻迹模型车的设计与实现[J].计算机工程与设计,2008,29(18):4735-4738.HAN Yi,YANG Tian.Design and implementation of intelligent-searching track car model based on HCSl2 SCM[J].Computer Engineering and Design,2008,29(18):4735-4738.
[8]许宏科,郭循钊 ,马春城,等.光电型智能寻迹车的连续化路径检测方法[C].第八届全球智能控制与自动化大会,2010:5279-5282.
[9]李以农,郑 玲,谯艳娟.汽车纵向动力学系统的模糊PID控制[J].中国机械工程,2006,17(1):99-103.LI Yi-nong,ZHENG Ling,QIAO Yan-juan. Fuzzy-PID control method on vehicle longitudinal dynamics system[J].China Mechanical Engineering,2006,17(1):99-103.
[10]周云端,何志勇,赵瑞国.基于遗传算法的加速度控制PID参数自整定研究[J].火箭推进,2012(4):68-71.ZHOU Yun-duan,HE Zhi-yong,ZHAO Rui-guo.Study on genetic algorithm based auto-tuning of acceleration control PID parameters[J].Journal of Rocket Propulsion,2012(4):68-71.
[11]王坤.基于SVPWM的STATCOM设计及实现[J].陕西电力,2011(1):11-15.WANG Kun.SVPWM based design and realization of STATCOM[J].Shaanxi Electric Power,2011(1):11-15.