当前位置:首页 > 哈尔滨工业大学华德应用技术学院 Delta三角洲技术报告 - 图文
第四章 软件结构设计
距离基准位置最近那个连续黑点的中心位置作为这一行黑色引导线的位置并且更新下一行的参考位置。此法交叉线将轻松的过滤,三角也会看成从中间穿过的线。
提取时,加入预测机制,程序要根据上下行的连续型判定下一个引导线出现的位置,如果他早已经偏离出画面,此时搜索工作将立即停止。
在提取的过程中,某些特定行一行中出现的黑点数大于了一定值但又不是十字线就考虑它可能是起跑线。起跑线识别,这些行出现了3段连续黑点,黑点中间相隔白点数量基本相等,连续黑点的中心位置基本相等,跑道又出现直道,基本可以判定是起跑线。但为提高识别准确性,还要看他的上一行下一行是不也出现了如此特征。
当所有的提取工作完成了,我们的程序会根据连续型修正提取的跑道数据,若三行中间有一行无效,可以根据上下的位置补充一个进来。若连续出现了4行没有出现有效信息那么之后再出现的也都直接放弃。
当一副画面搜索工作完成后,跑道的趋势预测将开始。我们将跑道大体分成:直道,弯道,直道入弯道,弯道入弯道,大环形,小环型,和可以直接冲过的小s型。
具体实现办法,已经取得的跑道数据使用工程上常用的最小二乘法进行拟合,将一个有离散性的跑道数据拟合成y=ax+b的形式。对一副画面求取三个斜率。这三个斜率分别为:整幅画面斜率,图像前半幅斜率,图像后半幅斜率。为了更好区分小s型弯道,又引入残差作为判定依据,即拟合直线上的点和实际的点偏离值的平方。通过以上的条件和有效行数基本可以区分所有的道路。
当所有斜率和残差都很小,那车模前方一定是直道。行驶过程中如果斜率急剧增加,并且有效行减少可以判定在弯道。依据以上条件的排列和组合就能完美识别所有跑道形式,当然这些参数需要不断的调整和测试才能经受不同环境的考验。
4.3 电动机PID和舵机PD控制原理
我们的车模使用了数字化PID算法对车辆的速度和方向进行控制。说到PID算法原理不得不回到经典模拟PID控制原理。
19
第四届全国大学生智能汽车邀请赛技术报告
模拟PID控制系统组成原理如图4.1所示。PID调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。
图4.1 PID控制系统组成
模拟PID调节器的微分方程:
?1u(t)?KP?e(t)?TI??t0e(t)dt?TDde(t)?? 公式1 dt?式中:e(t)?r(t)?c(t)。
模拟PID调节器各环节的作用:
比例环节:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI,TI越大,积分作用越弱,反之则越强。微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。
相对于模拟PID,控制器只能处理数字信号,因此需要将模拟PID进行离散化处理。模拟PID控制规律的离散化见表4.1所示。
数字PID控制器的微分方程:
??TTnu(n)?KP?e(n)??e(i)?D?e(n)?e(n?1)???u0 公式2 TIi?0T???uP(n)?uI(n)?uD(n)?u0 20
第四章 软件结构设计
T式中:uP(n)?KPe(n)为比例项,uI(n)?KPTI?e(i)i?0n为积分项,
uD(n)?KPTD?e(n)?e(n?1)?为微分项。 T表4.1 模拟PID控制规律的离散化 模拟形式 离散化形式 e(t)?r(t)?c(t) e(n)?r(n)?c(n) de(t) dTe(n)?e(n?1) T?e(t)dt 0t?e(i)T?T?e(i) i?0i?0nn
常用的控制方式分为如下几种: 1、P控制 2、PI控制
u(n)?uP(n)?u0
u(n)?uP(n)?uI(n)?u03、PD控制 4、PID控制
u(n)?uP(n)?uD(n)?u0u(n)?uP(n)?uI(n)?uD(n)?u0我们车模的的电动机控制采用了增量式PID控制算法,舵机控制采用了位置式PD算法。
电动机的控制方法,在处理器对图像进行了处理后就会得到相应的速度设定值,此时PID运算程序会立即得出输出的脉宽调制的宽度,并通过速度反馈即使获得实时速度。当然我们的PID算法并不是原始的,而是改进的,既当速度差距很多时也会引入BangBang控制,而当需要刹车时又采用了非线性的刹车办法,将刹车误差人为放大。由于加速和减速都采用了PID控制,因此加速和制动的时间都由程序根据实际需要自行处理,测试中发现这种算法速度上升很快并且适应性很强。
舵机的控制,舵机的反映速度完全滞后于处理速度,车模在高速行驶时候要保证舵机的快速跟踪性,我们引入了PD控制加斜率修正的控制方法,人为的
21
第四届全国大学生智能汽车邀请赛技术报告
将舵机的控制进行了非线性的划分。当偏差很小时候几乎忽略掉P和D,这时在通过直道区域的时候车子不会发生摆头现象。当偏差大到一定数值会加大P,并且引入D控制。这时在前瞻很靠前的时候,车子不会过度的内切弯道或者在大环形弯道上冲出跑道,同时此法还能及时的做好转弯的提前量,确保有足够时间转向。当偏差继续增加,这时会引入更大的P和D同时加入斜率。更大的P和D能有助于车模的维持方向,在弯道上斜率会显著增加,这样又能保证在小圆环内不至于偏离出跑道太多以至于丢失跑道。
在车模速度很高的情况下,任何一个错误的操作都会使得车辆冲出跑道造成比赛的失败,为了更好的降低错误判断,尽可能的提高车模的稳定性,这里对舵机的控制数据进行记录,每一次更新控制信息都要比较两次信息的误差,依据我们的车速,车模在连续的跑道上上下间隔数据偏差不会大过4cm,一旦出现了过大的偏差就会舍弃这一次的控制信息,维持原来的控制结果。实践中这样不但增加了车模的稳定性,还能有效避免图像处理错误信息对车模影响。
4.4 车模控制方案及实现
车模的行驶除了要获得良好的传感器数据,执行机构还要有相应的控制策略和战术,对于不同路况和环境还要能及时进行调整,这些调整是我们预先设置的很多预案,并且这些预案的调整要完全摆脱开上位机的控制。
车辆的速度限制采用拨码开关设置,这些速度又被细化为直道速度,弯道速度和保护速度。直道,这意味着车可以加足油门很快的加到限制速度上。弯道在尽量不会冲出跑道基础上尽可能高。保护速度,一个明显低于弯道速度的速度,当车从直道进入到弯道时候要及时减速,这个速度要明显低于弯道速度。直道进入弯道经历了加速,减速再加速的过程。当车模丢失跑道,进入三角,出三角,上坡道等事故多发路段时,都要进行速度的保护。凡是跑道有明显变化时候都要小心谨慎的通过。
舵机控制信号的提取,如何让车在弯道上内切弯道,又不过度,转向有利。经过研究发现车子在弯道时候很多情况下难以捕捉到跑道。这时如果我们仅仅盯住一副图像的某几行黑色引导带的位置是远远不足的。当进入弯道时,方向直接打死,之后黑色引导带在图像上会经历迅速变少又增加的过程,某一时刻,黑带位置可能又出现在规定的几行内,但这时因为成像几何失真,成像角度和
22
共分享92篇相关文档