智能车的诞生为人类提供了一种全新的缓解城市交通拥堵、提高车辆安全性的交通工具。在众多的智能车导航方案中,视觉导航由于与人类的驾驶方式最为接近,成为智能车研究热点之一。目前,视觉导航方法在高速公路环境中已经获得了初步成功,这类环境结构化程度较高,道路曲率有限、路况相对简单。然而,随着城市环境智能车研究的兴起,视觉导航面临了新的挑战。城市环境中的道路不仅种类多,而且转弯半径大,常常会因视野有限而导致道路跟踪失败。本文将从该智能车总体方案、路径识别方案选择、转向和驱动控制及路径记忆算法等方面进行介绍。
智能车总体方案
智能车系统以飞思卡尔公司的MC68S912DP256为核心,由电源模块、传感器模块、直流电机驱动模块、转向电机控制模块、控制参数选择模块、单片机 模块等组成,如图1所示。智能车系统工作电压由+1.6V、+5V、7.2V三个系统混合组成,其中7.2V用于给驱动电机和转向舵机供电,5V给车速传 感器、MCU以及光电传感器接收管供电,1.6V给发光管供电。为了在线控制参数的调整方便,还设置了一个控制参数选择模块,可以通过几个按键的设置,调 用不同的程序或控制参数,以适应不同场地条件的要求。
图1 智能车总体结构
智能车的工作模式是:光电传感器探测赛道信息,转速传感器检测当前车速,电池电压监测电路检测电池电压,并将这些信息输入单片机进行处理。通过控制算法对赛车发出控制命令,通过转向舵机和驱动电机对赛车的运动轨迹和速度进行实时控制。
路径识别方案选择与电路设计
路径识别方案是首先需要确定的,主要有以下几个问题。
*光电识别还是摄像头识别;
*传感器如何排列?间隔多大、形状如何、单排还是双排;
*传感器可向前探测的远度;
*传感器信号采用数字式还是模拟式;
*电路上如何实现。
由于光电识别方案简单可靠,因此本文采用了光电识别方案。
数字式光电识别与模拟式光电识别
光电式传感器是以光电器件作为转换元件的传感器。它可用于检测直接引起光量变化的非电量,如光强、光照度、辐射测温、气体成分分析等;也可用来检测能转换成光量变化的其他非电量,如零件直径、表面粗糙度、应变、位移、振动、速度、加速度,以及物体的形状、工作状态的识别等。光电式传感器具有非接触、响应快、性能可靠等特点,因此在工业自动化装置和机器人中获得广泛应用。近年来,新的光电器件不断涌现,特别是CCD图像传感器的诞生,为光电传感器的进一步应用开创了新的一页。
模拟式光电传感器从理论上可以大大提高路径探测精度。模拟式光电传感器的发光和接收都是锥角一定的圆锥形空间,其电压大小与传感器距离黑色路径标记线的水 平距离有定量关系:离黑线越近,电压越低,离黑线越远,则电压越高(具体的对应关系与光电管型号以及离地高度有关),如图2所示。
图2 传感器电压与偏移距离关系示意图
因此,只要掌握了传感器电压-偏移距离特性关系,就可以根据传感器电压大小确定各传感器与黑色标记线的距离(而不是仅仅粗略判断该传感器是否在线上),进而获得车身纵轴线相对路径标记线的位置,得到连续分布的路径信息。
根据实车试验,可以将路径探测的精度提高到1mm.这样传感器采集的信息就能保证了单片机可以获得精确的赛道信息,从而为提高赛车的精确控制提供了保证。双排排列与前瞻设计
本文开发了智能车性能仿真平台[2],对传感器的布局进行了深入研究[3].由于转向舵机、电机和车都是高阶惯性延迟环节,从输入到输出需要一定的时间, 越早知道前方道路的信息,就越能减小从输入到输出的滞后。检测车前方一定距离的赛道就叫前瞻,在一定的前瞻范围内,前瞻越大的传感器方案,其极限速度就会 越高,其高速行驶过程中对引导线的跟随精度也相对较高,系统的整体响应性能较好。因此路径识别模块设计成抬起与地面形成一个夹角,前排传感器用于前瞻,后 排传感器对赛道始点进行识别、计算车身纵轴线与赛道中心线的偏差斜率,以利于更好地调整车辆的姿态。
为了保证在离地间隙尽可能大的情况下光电传感器仍然有足够大的发光强度,本文采用了大电流脉冲触发发光的控制方式。
根据实验测试,发光管在发光时,经过的电流约为0.5A.如果用15个传感器,则瞬时电流为7.5A.这样大的电流肯定会对电池电压造成一定的 冲击,不利于整个系统的正常运行。因此将前后排传感器的发光时间错开,通过两套触发电路来控制发光。这样就有效减小了红外发光管发光时对电池电压的冲击。
转向和驱动控制与路径记忆算法
驱动电机控制
本文在电机输出轴上加一齿盘,电机输出轴的转动带动齿盘的转动。将对射光偶发光和接受管放在码盘两侧。码盘转动时,由于码盘上的齿经过发光管发出的光线时,会阻碍光线传播。所以接收管两端的电阻会有很大的变化,这样,在电路中采样电阻两端的电压就会有很大的变化。
用处理器上的脉冲捕捉端口采集电压脉冲单位时间内的个数,就会获得电机转速,从而获得车速。
电机驱动采用的是飞思卡尔公司的MC33886.所不同的是本文采用了三片MC33886 并联,一方面可以减小导通电阻,提高电机驱动能力,并且MC33886的发热情况也有了很大的好转;另一方面减小MC33886 内部的过流保护电路对电机启动及制动时的影响。
电机采用PID闭环控制,可以根据不同负载状况及时调整PWM的占空比,使车辆迅速地跟踪目标速度。
为了尽量提高车速,采用在直道上设定最高目标车速,定速控制,接近弯道处开始降速,正式转入弯道时,将车速调整到过弯极限车速,将要出弯道时提前加速。
转向控制
根据目前采用的双排模拟式光电传感器布局,可以得到车身纵轴线距离赛道中心线的偏移量,还可以得到中心线相对于车身纵轴线的斜率,从而得知当前状态下车身的姿态,进而进行转向控制。
这里设定根据前排传感器信号得到的转角为θ1,根据前后排传感器信号得到的纵轴线斜率信息而得到的转角为θ2,最终的转向角度的确定公式为:
θ=k1θ1+k2θ2
采用这样的控制策略,可以实现对车实际姿态的加权控制,大大提高过弯速度,减少由于探测精度问题带来的决策累积误差。另外,大前瞻与双排的双重组合,达到了对正常弯道提前转弯,对于S弯道迟滞转向的特性。
为了使舵机更好地对给定的转角值做出响应,采用了PID调节,通过道路试验进行参数整定,使得车辆在高速时保持了很高的稳定性。
路径记忆算法
由于比赛规则要求车辆在跑道上行驶两圈,因此车辆第一圈时通过记录转速传感器采集到的脉冲数、转向舵机的转角等信息,来判断区分直道、弯道、S 弯道以及转弯的方向与转弯半径等等信息。根据第一圈记录的数据信息,可以对第二圈的各个道路点进行分段处理。直道上采用最高速加速,在进入弯道之前提前进 行减速,减至过弯的极限最高车速,对于不同半径的弯道,选择不同的车速。路径记忆算法的优势在于对于复杂的S弯道,可以实现类似CCD探测头达到的效果, 选用小的转向角度通过,这样可以大大缩短时间。具体算法请见[4].
经验及结论
本文的智能车开发工作经过6轮开发迭代,从最初的小前瞻单排数字式传感器,发展成脉冲发光、大前瞻、双排排列、模拟式传感器方案;控制策略从单纯的PID控制升级到路径记忆控制,使得车辆的导航性能有了很大提高。通过智能车开发过程,得出一些经验。
*开发之初需要对光电传感器特性、转向舵机特性、驱动电机特性、车辆机械性能、转向侧滑特性、电池特性等进行实际的检测。
*根据汽车理论对车辆进行规则容许范围之内的结构调整,使之达到较佳的机械性能。
*组委会开发了仿真平台,应该充分利用该仿真工具对基于光电传感器的路径识别方案进行研究,结合硬件的选型和自身在控制及电子方面的经验,确定路径识别方案。前瞻距离较远的方案有助于提高车辆的通过速度。
*车辆的控制采用PID即可满足要求,参数的整定需要结合道路试验进行。车速的加快和减慢不要太剧烈,平稳的控制也可以取得很好的效果。