1. 引言
AI技术的发展使得智能车在未来的生产生活中的广泛应用成为可能。基于车辆安全性等因素的考虑,目前,在实验环境下的测试和算法设计为未来智能车的实际应用提供了安全有效的途径和方法。
在实验室环境测试中,智能小车能在跑道上快速平稳的行驶,需要小车控制系统把路径识别、方向控制和速度控制有机的结合在一起。而目前主流的以PID控制算法为主的智能小车控制系统(以飞思卡尔智能车为例),其小车的纵向速度、横向偏摆角的PID控制相互独立,采用不同的两组PID参数分别进行控制,即分散控制。
在速度控制方面,文献 [1] 提出了一种改进的模糊自适应PID算法,提高了智能车在外界场景突变和不同路况情形下的适应度,增加了在速度控制上的效率和鲁棒性。在智能车的路径跟踪方面,出现了基于滑模自抗扰的智能车路径跟踪控制算法 [2]、基于事件触发的无人驾驶汽车路径跟踪预测控制算法 [3]、基于最优偏差控制 [4]、多对象模型预测 [5] 等多种控制方法。其中,模型预测控制(MPC)算法能够有效解决带约束的最优化问题 [6],提高了不同工况下路径跟踪控制器的精度和车辆的行驶稳定性 [7] [8],使其在自动驾驶领域的应用越来越广泛。但是,上述研究多集中于对偏航的稳定性和车辆的非完整约束方面的考虑,横向控制器设计依赖于识别路径参考点,在处理轨迹航向角突然变化方面则无能为力。事实上,熟练司机在手动控制汽车时,面对突发状况,则可以做出相应的迅速反应。能否在传统控制中融入人类经验,以提高智能车的控制性能和反应速度?2020年,Ahmed Abd Elmoniem等人 [9] 提出的一种使用预测斯坦利横向控制器的路径跟踪算法,在车辆驾驶时可以模仿人类的行为,在最小化横向偏差和确保偏航稳定性方面将性能分别提升了53%和22%。张飞铁等人 [10] 根据前馈加反馈的思想,设计了仿驾驶员模型的PID控制器,通过实车实验验证了其方法的可行性和可靠性。
以上控制方法都可以实现在车辆运动过程中,对车辆横向偏摆角或者纵向速度的独立的较为精准的控制。事实上,车辆速度与车辆横向偏摆角度两者之间有着密切的耦合关系。在实际车辆行驶过程中,速度与偏摆角度的不协调可能会造成行驶过程中车辆出现因超调产生的剧烈震荡,大大降低车辆的安全性和稳定性。在实际驾驶车辆的过程中,驾驶员依据多年驾驶经历中会形成一套自己的判别规则。假设驾驶员可以将速度分为很快、较快、中速、较慢、很慢五种层次,弯道可以分为大弯、直角弯、小弯、s弯等。当行驶的车辆速度很快且遇到大弯时,驾驶人倾向于降低车速到中速或者较慢以更安全稳定地通过转弯,避免车辆侧翻或者失控;当行驶车辆速度很快遇到小弯时,驾驶员倾向于降低到中速或者较快以便更稳定安全的通过弯道。当过大弯且速度很快时,偏摆角度的改变不宜过慢,应避免方向盘旋转过小造成转弯不及时,也不宜过于快速旋转方向盘,造成车身不稳定;当过大弯且速度很慢时,这时不需要考虑车身失控问题,只需要考虑能否完成转弯,此时司机可以适当快速旋转方向盘跟随车道线。以此类推,依据驾驶员的经验和熟练程度可以形成一套完整的控制规则。如前所述,目前已有的大多数研究工作是将人的经验应用到单变量的控制到中,而对于多个变量之间的协同控制关系,以及如何协同控制问题涉及甚少。如何将人类的经验用于智能车系统的控制决策并最终实现协同控制,使智能车的偏摆角和速度变化更加平滑稳定,是对智能控制学者提出的一个新的课题。2017年,Wang J [11] 曾经提出了一种基于模糊免疫PID的控制方法,实现了车辆转向控制与纵向车速控制的部分解耦,但缺乏理论上的严格证明。
本文对传统的单变量模糊PID控制进行改进,拟将人工驾驶的判断方法融入到模糊控制规则中,以实现智能车速度和角度的协同控制。以驾驶员对速度和弯道的判断经验为例,将速度与偏摆角度分为多个模糊集合,将速度和PID参数之间的二维模糊规则以及角度和PID参数之间的二维模糊规则拓展到速度与偏摆角度与PID参数的多维模糊规则,自适应地协同调节小车速度、偏摆角两个协同控制变量,在线修改PID参数,实现智能小车的模糊自整定控制。同时,以K60单片机智能小车为载体,进行实际实验测试。通过测试证明该方法在实际应用中的可靠性、可行性和实用稳定性。
2. 多变量协同模糊PID控制器
2.1. 单变量模糊PID控制器
(A) 输入量的模糊化处理
模糊PID控制器的输入参数为误差
和误差的变化
,其均为离散变量,k为采样时刻。
设定误差和误差的变化的基本论域均为[−3, 3](仅为举例,以便后续作图),并在论域上将
和
划分为7个模糊集合,分别设定为:NB,NM,NS,ZO,PS,PM,PB。由于实际实验测试时
、
的变化可能超过基本论域范围,导致控制系统无法正常工作。为了避免这种情况的发生,本文将在实验中对实际小车采集到的速度误差、速度误差的变化和角度误差、角度误差的变化数据做归一化处理,以确保其处在基本论域范围内。这将在后文详细阐述。
采用三角形隶属度函数,误差和误差的变化的隶属度函数如下图1:
![](//html.hanspub.org/file/21-2690535x15_hanspub.png)
![](//html.hanspub.org/file/21-2690535x16_hanspub.png)
Figure 1. The membership function of error e (Top) and the error change ec (Bottom)
图1. 误差e (上)及误差的变化ec (下)隶属度函数
(B) 模糊推理
在输出PID控制参数的调整过程中,需要同时考虑不同时刻输入参数的作用以及他们之间的协同关系,将此模糊规则用模糊语言及相应的符号表示出来:
(1)
式中,
、
、
、
和
为相应支集的模糊集合。由模糊规则推导出的P、I、D参数输出,用最大最小规则进行推理,得到:
(2)
代表了相应的参数
、
和
。设
的总的输出模糊集合为
,则输出PID控制参数的隶属度函数分别为:
(3)
(4)
(5)
由
和
的模糊集合NB,NM,NS,ZO,PS,PM,PB,得到输出参数
和
的调整规则表如下表1~2:
![](Images/Table_Tmp.jpg)
Table 1. The adjustment rule of Kp
表1. Kp调整规则表
![](Images/Table_Tmp.jpg)
Table 2. The adjustment rule of Kd
表2. Kd调整规则表
这里,我们只给出了
和
进行模糊规则表,原因在于:经多次智能小车PID控制实验,我们发现参数
仅在出现稳态误差时对其进行微调,多数情况下无需过多考虑,因此在此可忽略这个规则表,以减少计算量。
2.2. 扩展的多变量协同模糊控制器
![](//html.hanspub.org/file/21-2690535x40_hanspub.png)
Figure 2. The four dimensional fuzzy “RuleBlock” array
图2. 四维模糊“规则块”阵列
如前所述,实际驾驶汽车的过程中,车辆在直行道时,可通过调整PID参数,使偏摆角和行驶速度容易达到驾驶人期望的参数值。但是,如此时遇到弯道,按照人类的推理方式,驾驶人会根据经验做出判断,并控制车辆实时修正转弯角度,在确保能够通过弯道的情况下,同时降低或保持车辆当前的行驶速度。即兼顾循迹和速度两方面的要求。
而上述单变量的模糊PID控制系统由于没有同时考虑小车的偏摆角和速度两个变量,将无法实现人类智能的推理方式。
为了实现小车摆角和速度的协同控制,需要考虑小车摆角和速度之间的协同关系,且两者间的关系不是简单的线性关系。这里我们借助模糊控制方法来仿照熟练司机的推理方式,以期自适应地实时整定参数。
设计模糊控制器,选择4个输入参数,分别为:
舵机摆角误差
舵机摆角误差的变化
电机速度误差
电机速度误差的变化
其多输入多规则模糊推理规则如下:
(6)
同理,
、
、
、
为相应支集的模糊集合。采用最大最小规则进行推理,得到:
(7)
设
的输出模糊集合为
,则输出PID控制参数的隶属度函数分别为:
(8)
(9)
(10)
在一般的智能小车单变量模糊PID控制器中,由于模糊规则为二维列表,模糊PID控制器一般为两输入三输出的系统。即:以舵机为例,输入舵机摆角误差和摆角误差的变化,模糊PID控制器输出相应的舵机PID三个控制参数。
由于舵机和电机的多变量协同控制系统的模糊PID控制器具有4个输入参数,在划分模糊调整规则表时,其模糊规则需要相应的变化为四维模糊规则表,如图2所示。
这里的四维模糊规则表是在原有的二维速度误差和速度误差的变化规则表基础上,将二维规则表进行相应维度扩展,如图2所示。即先设定角度误差
为定值,再加入不同的角度误差的变化,构建由速度误差
,速度误差的变化
,角度误差的变化
构建三维坐标的模糊“规则块”。然后根据不同的角度误差
依次构建多个不同的模糊“规则块”(模糊“规则块”的数目依赖于对角度误差
的模糊子集选择数目),即角度误差
作为决定不同模糊“规则块”的第四维坐标,形成四维模糊“规则块”阵列。
为了将人类驾驶员的经验引入上述四维模糊PID控制系统,在设计四维模糊“规则块”阵列时,可以根据引言中介绍的驾驶员对角度和速度的判断和决策,设置阵列中角度误差
和角度误差的变化
对不同“规则块”中每个二维模糊规则层的对应关系,从而使得系统在遭遇不同的道路情况时,可以根据该情况下的模糊规则表做出相应的PID控制决策。
以保持车辆当前行驶速度为例,若智能小车当前传感器检测到横向偏摆角误差较大(
),即智能小车判定前方为弯道,同时横向偏摆角误差的变化不大(
),即此时前方虽遭遇弯道,但弯道角度不大,即“小弯”情况,若此时小车速度拟合良好无需修正也可以顺利过弯时(
),小车控制系统给予的PID参数仍应较大,以适当修正横向偏摆角的误差。
针对本文设计的多变量模糊控制系统,整理上述过程的相关参数为:
(11)
按照四维模糊规则,假设只调节
,此时的多输入多规则模糊推理为:
(12)
推理过程如图2中红色虚线与规则表所示。
结合实际道路情况进行四维模糊“规则块”阵列的设计与微调,即在小车模糊控制规则中融入与当前道路的实际路况相匹配的人类驾驶员的驾驶经验。
2.3. 去模糊化
使用最大值法进行去模糊处理,设输出参数为
,沿用上述表达方式,重心法去模糊化的基本原理为:
(13)
其中,l是取点的个数,
是
为最大时的输出值。
3. 小车控制系统结构
建立模糊PID控制系统如图3所示。针对小车行进中速度和偏摆角两个协同变量,角度PID控制器和速度PID控制器根据传感器回传的小车当前状态,结合智能小车当前的期望角度和期望速度同时为模糊控制器输入两套误差参数,即纵向速度误差和速度误差的变化,横向偏摆角误差和偏摆角误差的变化,采用同一套模糊规则进行参数整定,输出P、I、D参数(
,
,
)同时调节纵向速度、横向偏摆角两个控制变量,以达到协同控制的目的。
![](//html.hanspub.org/file/21-2690535x78_hanspub.png)
Figure 3. Overall structure block diagram of fuzzy control system
图3. 模糊控制系统总体结构框图
图中,参数
、
、
、
是对多变量模糊PID控制器输出的PID控制参数进行线性调整的相关系数(公式(24)~(25)),其将由实际实验调试确定其最优解,从而得到最终角度和速度PID控制器的实际参数。
为期望速度值,
为实际速度值。
为偏摆角期望值,
为实际角度值。
、
分别为由角度、速度PID控制参数转化为舵机、电机执行机构的控制输入参数(高电平占空比)。
速度误差
,速度误差的变化
,偏摆角误差
,偏摆角误差的变化
的表达式为:
(14)
(15)
(16)
(17)
实际实验测试的过程中,犹豫环境光线、路面情况等实验条件的变化与不确定性,导致纵向速度误差的瞬时值可能过大,而超出模型设定的论域范围。为了避免这种情况导致控制系统无法正常工作或者导致模糊控制器的处理数值长时间位于隶属度函数的边界,根据论域范围[−3, 3],对输入的纵向速度误差瞬时值做归一化处理,纵向速度误差瞬时值
为:
(18)
由于实际实验条件的不确定性,取:
其为多次实验测量后得到的估计值。
对纵向速度误差瞬时值进行归一化处理,使其可以取到论域范围内的任意值,可提升多变量协同模糊PID控制系统的控制性能。
根据实际横向偏摆角误差和误差的变化、纵向速度误差和误差的变化输入求取相关参数。由隶属度函数建立四维隶属度函数表(Form)。
其建立规则为:
(19)
其中,fand表示求其中参数的交集。
则去模糊化参数:
(20)
代表隶属度函数表中,最大输出参数的位置。
综上所述,根据各个输出变量的四维模糊调整规则表,得最终多变量协同模PID控制器由P、I、D参数相应的四维模糊规则表输出的P、I、D控制参数为:
(21)
(22)
(23)
实际智能小车的摆角控制参数和速度控制参数的数量级可能不同,需要针对各系统的特点对输出参数再进行线性调整,之后分别赋予角度和速度PID系统进行整体控制。其中输出参数调整规则为:
(24)
(25)
其中,
、
为线性调整后的PID控制参数。参数
、
、
、
为针对实际控制的线性调整参数。其中
、
通过比例的调整将PID控制参数分别修正到实际小车的角度、速度PID控制器所需要的控制参数范围;
、
针对实际控制系统需要的PID控制参数可能不能为负数的问题,进行参数输出范围中心点的修正。
和
代表线性调整后为舵机PID控制器和电机PID控制器输入的PID参数。每次定时中断传感器回传数据后,角度PID控制器和速度PID控制器各自计算为模糊控制器输入的参数,模糊控制器将根据设定的四维模糊规则计算相应的
值,对小车系统进行控制,从而完成智能小车模糊控制系统整体协同控制的功能。将上述模糊控制器输出的PID参数,赋予横向偏摆角和纵向速度的常规PID控制器。
对于舵机,角度PID为舵机执行机构输出控制参数(高电平占空比)为:
(26)
对于电机,速度PID为电机执行机构输出电机控制参数(高电平占空比)为:
(27)
4. 实验研究
4.1. 实验条件
本文采用以K60单片机为主体的飞思卡尔智能小车进行实验测试。
实验用智能小车的硬件参数见表3,车体参数见表4。
![](Images/Table_Tmp.jpg)
Table 3. The hardware parameters of intelligent car
表3. 智能小车硬件参数
![](Images/Table_Tmp.jpg)
Table 4. The body parameters of intelligent car
表4.智能小车车体参数
算法以IAR为开发平台,在Windows操作系统中采用C++设计。智能小车周边环境信息是通过安装在智能小车上的摄像头来实时获取。按照软件架构各部分功能的差异,可以将其划分为不同的子系统,软件功能模块框图如图4所示:
![](//html.hanspub.org/file/21-2690535x123_hanspub.png)
Figure 4. Design of software function module
图4. 软件功能模块设计
相关实车实验场地选在北京交通大学先进控制系统所实验场地。采用智能小车省赛赛道材料铺设实验用赛道及场地,铺设的实验路径涵盖了典型的S弯道、直行道以及大角度弯道。小车的实验数据通过蓝牙模块上传到电脑,通过Matlab软件加载实验数据并处理实验结果。
图5为实验用的智能小车图,图6为实验用跑道的扫描全景图,其中白色为循迹跑道。
![](//html.hanspub.org/file/21-2690535x124_hanspub.png)
Figure 5. Intelligent car for experiment
图5. 实验用智能小车
![](//html.hanspub.org/file/21-2690535x125_hanspub.png)
Figure 6. Panoramic scanning image of experimental runway
图6. 实验用跑道全景扫描图
4.2. 实车实验结果
![](//html.hanspub.org/file/21-2690535x126_hanspub.png)
Figure 7. Variation chart of longitudinal velocity error (a), variation chart of yaw angle error (b)
图7. 纵向速度误差变化图(a),横向偏摆角误差变化图(b)
![](//html.hanspub.org/file/21-2690535x127_hanspub.png)
Figure 8. Scanning diagram of actual track (black dotted line) and expected track (red solid line) of the car
图8. 小车实际轨迹(黑虚线)与期望轨迹(红实线)扫描图
实验中,在同等条件下采用传统PID控制与多变量协同模糊PID控制算法分别进行实验。图7为两种算法下纵向速度误差和横向偏摆角误差随采样时间的变化曲线。图8为小车在多变量协同模糊PID控制算法下实际轨迹与期望轨迹的跟踪效果扫描图。
在角度跟踪方面,从图7(b)可以得到,多变量协同模糊PID协同控制算法的舵机偏摆角的平均误差为2.2912˚,而传统单变量PID控制的舵机偏摆角的平均误差为2.3941˚,本文的算法其控制效果提升约4.3%。且从图8中可明显观测到,协同控制下,小车舵机的实时转角变化较为平顺,小车行进的轨迹(黑色虚线)可以基本拟合跑道的期望轨迹(红色实线),变化较为顺滑,符合预期。
在速度跟踪方面,由于实际实验中存在路况凹凸不平(即图8中蓝色框标注的阴影区域)、传感器在行进中震荡等不确定性因素,为了便于对电机速度误差数据的观察,本文将电机速度误差数据做归一化处理,得到多变量协同模糊PID算法下电机归一化速度的误差平均值为0.3313,传统单变量PID控制的电机归一化速度的误差平均值为0.5251,同等条件下速度跟踪效果提升约36.9%,其变化情况见图7(a)。实验结果表明,即便外界传感器数据波动和实验环境等因素的存在使得车辆的实时车速误差数据存在一定的噪声,但是新的协同控制算法仍能够基本稳定在期望速度左右。
综上,小车的偏摆角和速度并没有因为路况的变化而产生较大的抖动,验证了本文提出多变量协同模糊PID协同控制算法的可行性和有效性。
5. 结论
本文针对传统智能小车的分散控制方法中存在的问题展开研究,提出了将人类的推理思维融入到4维立体的模糊控制规则中,实现了智能小车协同系统的多变量模糊PID协同控制。
本文的创新点如下:
提出一种新的四维模糊调整“规则块”阵列方法;
构建了多变量协同模糊PID控制器;
通过智能小车实车实验,验证了该协同控制方法的有效性。
在智能车省赛同等规格的实验用赛道上的实验表明,针对四维模糊调整“规则块”阵列进行调节后,多变量模糊PID协同控制方法对不同赛道均具有很好的适应性,即在非结构化道路上该控制算法具有较好的鲁棒性。本文提出的多变量协同PID控制算法为未来智能车的实际应用提供了策略的参考。
此外,在调整四维模糊规则表的过程中,如何结合外界环境如光线、路面情况等实验条件的变化与不确定性来实时调整模糊规则是未来值得深入探讨的问题。同时,也可结合其他智能化手段,增加小车模糊控制器的自适应特性,使智能小车的控制能够更好的实现人类的推理方式,达到协同控制的目的。
基金项目
此项工作得到国家自然科学基金资助,项目批准号:61673050。