一种基于运动模式判断的无人车纵向控制方法_2

文档序号:9750242阅读:来源:国知局
步骤7;否则直接执行步骤7;
[0048]步骤6.3、判断stai = S3是否成立,若成立,则执行步骤6.3.1,若不成立,则执行步骤 6.4;
[0049]步骤6.3.1、判断Iab1-1 = I是否成立,若成立,则执行步骤6.3.2,若不成立,则执行步骤6.3.3;
[0050]步骤6.3.2.、判断 v1-vdi Ovds 是否成立,若成立,则 brai = β,thri = a,Iabi = O,否则,令 brai = brai—ι、令 thri = thri—ι,并执行步骤 7 ;
[0051 ] 步骤6.3.3、判断¥广¥(^>¥(18是否成立,若成立,则令13作1 =知、1:11;1^ = €[,Iabi = I,若不成立,贝1J令thri = a、brai = P并执行步骤7 ;
[0052]步骤6.4、判断stai = s4是否成立,若成立,则令brai = P,并执行步骤6.4.1;若不成立,则执行步骤6.5;
[0053]步骤6.4.1、判断ai < amax是否成立,若成立,则令thri = thri—ι+ ω ac,并执行步骤6.4.2,若不成立,则令thri = thri—ι,并执行步骤7 ;
[°°54] 步骤6.4.2、判断thri > thrmax是否成立,若成立,则将thrmax赋值给thri,并执行步骤7;否则,直接执行步骤7;
[0055]步骤6.5、令brai = P;
[0056]步骤6.5.1、计算第i个周期Ti下PID调节算法车速反馈误差Erri = vdi_vi;
[0057]步骤6.5.2、计算第i个周期Ti下PID调节算法比例控制输出量UPi = KPXErri;
[0058]步骤6.5.3、计算第i个周期Ti下PID调节算法积分控制输出量UIi = KI XUPi+UIi;
[0059]步骤6.5.4、计算第i个周期Ti下PID调节算法微分控制输出量UDi = KD X (UP1-UP1-1 );
[0060]步骤6.5.5、计算第1个周期1\下?10调节算法控制总输出量?01^ =即1+1^+1^;[0061 ] 步骤6.5.6、判断v_vd< vf是否成立,若成立,则令thri = α,若不成立,则令thri =Pouti;
[0062]步骤7、将第i个周期Ti下所得油门控制量thri和制动控制量brai通过CAN 口发送至执行机构控制车辆速度并执行步骤8;
[0063]步骤8、将i+Ι赋值给i;并返回步骤3执行。
[0064]与已有技术相比,本发明的有益效果体现在:
[0065]1、本发明通过对车速以及期望车速相对关系的分析,结合实际驾驶经验,创造性地将无人驾驶车辆的运动模式分为起步、加速、调节、制动和低速五种模式,而五种模式则分别对应了五种不同的算法。由于将车辆的纵向控制过程进行了归类分解,就从算法结构的层面上使得控制算法的深层次分解和优化成为了可能,每个模式下的控制算法都更加具有针对性,从本质上有效地解决了采用单一控制算法时可能出现的不同行驶工况下控制效果不统一的情况,使得算法的多工况处理能力较已有方法得到了明显提升。
[0066]2、本发明通过设置合理的切换规则,保证了无人驾驶车辆可以在整个控制过程中随时根据行驶工况的改变而切换至最合适运动模式,无任何切换顺序上的限制,这样就保证了无人驾驶车辆总是可以使用最适合当前行驶工况的控制算法进行车速控制。同时,设定了较为合理的模式切换过渡区间,保证了五种模式切换时的流畅与稳定性,避免了由于边界条件不稳定而可能造成的频繁切换状态的情况。
[0067]3、本发明起步模式算法针对上坡工况加入了油门补偿算法,有效地保障了车辆在上坡以及越野路段的爬坡行驶能力,使得无人驾驶车辆的综合应用性能得到了明显提升;制动和加速阶段算法加入了加速度限制算法,首次对无人驾驶车辆的舒适性指标进行了相应的分析与处理,较之于现有只考虑控制精度的方法极大地提升了无人驾驶车辆的舒适性,制动模式算法还针对下坡工况加入了制动控制量补偿机制,有效抑制了下坡工况下可能出现的车速超调现象;调节模式算法使用PID算法在小区间内对车速进行微调,同时加入防止超调机制,保证了 PID算法各参数的设定具有更强的针对性,有效降低了超调现象的发生以及控制过程中的稳态误差;低速模式算法则加入了防止制动量频繁介入的机制,有效提高了无人驾驶车辆在低速工况下行驶的连贯性和舒适性。
【附图说明】
[0068]图1为本发明方法流程图。
【具体实施方式】
[0069]本实施例以三菱“帕杰罗”车改装的无人驾驶车辆为例,具体说明如何采用本发明方法实现对无人驾驶车辆的纵向运动过程也即车速的控制及其功能效果。
[0070]在本实施例所采用的以三菱“帕杰罗”车改装的无人驾驶车上,装有诺瓦泰(NovAtel)公司提供的产品名称为SPAN-CPT的GPS/INS组合定位系统,能够获取车辆所在位置的经玮度信号、车辆速度信号、加速度信号以及车辆所处路面的坡度信号(经玮度用于横向控制,本发明只涉及纵向控制因而不对经玮度信号的使用作说明)。为了驱动车辆油门和制动踏板到指定开度,该无人驾驶车上装备中科自控公司生产的产品名称为IPDl的自驾仪,该自驾仪通过CAN总线与车载工控机相连,可以接收来自车载工控机平台内的控制程序发送的油门和制动踏板控制机构的控制信号,并通过电机等机械连接装置驱动油门和制动踏板到相应的开度。车载工控机安装windows 7-32bit操作系统,控制程序用VC++语言编写,编译器米用visual stud1 2010。
[0071]以下对本发明一种基于运动模式判断的无人车纵向控制方法进行具体详细的说明。
[0072]由于纵向控制程序的目标是完成对期望车速的跟踪,因此当期望车速被输入至工控机内的纵向控制程序后,纵向控制程序便开始执行相应处理算法。期望车速可由工控机上的纵向控制程序自带的人机交互接口进行实时设定。当期望车速完成设定之后,采用固定控制周期对车速进行控制,完成车辆的纵向控制,控制周期为0.1s,每个控制周期按如下步骤进行,如图1所示:
[0073]步骤1、定义变量i表示控制程序所处的控制周期,初始化i= I;当i < I时,令i = I;
[0074]步骤2、设置第i个控制周期T1下无人驾驶车辆的油门控制量为thn、制动控制量为bra1、运动模式状态值为sta1、PID调节算法比例控制输出量为UP1、PID调节算法车速反馈误差量为Em、PID调节算法积分控制输出量为UI1、PID调节算法微分控制输出量为UD1、PID调节算法总控制输出量为Pout1、低速制动标志位为Iabi ;并有staie{0,l,2,3,4,5},so表示复位模式;SI表示起步模式;S2表示制动模式;S3表示低速模式;S4表示加速模式;S5表示调节模式;
[0075]定义低速模式切换阈值为vl= 5km/h、低速模式制动切换阀值为vds = lkm/h、调节模式出口阀值以及加速模式入口阀值为va = 7.2km/h,调节模式入口阀值为vs = 5.4km/h、起步模式出口阈值为vc = 5.4km/h、(这里的入口阀值指的就是进入某个运动模式的判断条件,而出口阀值则指的是跳出某个运动模式的判断条件,调节模式的出口和入口条件被设定成不同的数值主要是为了防止车辆行驶过程中在边界条件上出现运动模式频繁切换的情况,保证无人驾驶车辆从加速模式切换至调节模式时纵行控制过程的流畅性与稳定性;)调节模式防止超调阀值为vf = 0.5km/h,PID调节算法比例项系数KP = 0.06,PID调节算法积分项系数KI = 0.1,PID调节算法微分项系数KD = I;
[0076]定义有效行驶速度阈值为Vq= 0.5km/h(当车速低于vq时认为车辆为静止状态)、坡度阈值为P i t = 2^、起步模式油门控制量初始值为ω = 2 5、油门最大控制量为thrmax =100、起步模式油门控制量补偿增量为ω up = 2.5、起步模式下的时间阈值为tmax = 0.5s、加速模式油门控制量补偿增量为ω 3。= 8.5、制动模式加速度限值为amin=_2.5m/s2、加速模式加速度限值为amax=1.5m/s2(加速度限制阀值的设定参考了国标GBT_20608-2006当中关于车辆加速度舒适度的相关标准)、制动模式下坡工况制动控制补偿增量为βι?=12.6、制动模式非下坡工况制动控制补偿增量为Pgr。= 5.8、制动模式最大控制量为bramax= 100,低速模式制动控制量为Pis = 20;
[0077]初始化thri= 0、brai = 0、stai = 0、Lupi = 0、UPi = 0、Erri = 0、UIi = 0、UDi = 0、Pouti= 0、labi = 0;
[0078]步骤3、从GPS/INS定位系统获取第i个控制周期Ti下无人驾驶车辆的车速V1、加速度&1和坡度Pl;从工控机软件界面的输入端口获取第i个控制周期1\下无人驾驶车辆的期望车速vd1、第1-Ι个控制周期T1-1下无人驾驶车辆的油门控制量为thr1-1、制动控制量为bra1-1、运动模式状态值为sta1-1、比例控制输出量为Lup1-1和低速制动标志位lab1-1 ;
[0079]步骤4、判断第i个控制周期T1下无人驾驶车辆是否对运动模式状态值Sta1进行切换,本步骤通过分析无人驾驶车辆上个控制周期的运动状态值StaH以及本控制周期的车速^和期望车速^山之间的关系决定是否需要改变本控制周期车辆的运动模式状态值:
[0080]步骤4.1、判断stai—1 = 0是否成立,若成立,表示控制程序为初次执行,此时无需判断是否需要切换运动模式状态值,则执行步骤5;否则,表示控制程序至少已经执行了一个以上的控制周期,无人驾驶车辆在上个控制周期处在一个确定的运动模式之下,执行步骤4.2;
[0081]步骤4.2、判断sta1-1 = I是否成立,若成立,表示无人驾驶车辆在上个控制周期处于起步模式,则执行步骤4.3;否则,执行步骤4.4;
[0082]步骤4.3、判断vdi>vl且Vi>VC是否成立,若成立,表示此时无人驾驶车辆已经完成起步,可以退出起步模式,则令Sta1 = O,表示程序需要重新为无人驾驶车辆选择一种除起步模式以外的运动模式;否则,则意味着无人驾驶车辆仍然未完成起步动作,需要继续使用起步模式下的控制算法进行纵向车速控制,保持运动模式状态值Sta1为起步状态I;并执行步骤5 ;
[0083]步骤4.4、判断sta1-1 = 2是否成立,若成立,表示无人驾驶车辆在上个控制周期处于制动模式,则执行步骤4.5;否则,执行步骤4.7;
[0084]步骤4.5、判断vdi >vl且O < vd1-vi < vs是否成立,若成立,表示无人驾驶车辆经过前一控制周期的制动控制后,应当进入调节模式,则令s t a i = 5,本控制周期将执行调节模式下的控制算法进行纵向车速控制;并执行步骤5;否则,
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1