前文提到了关于自动驾驶系统(Automotive Driving System,ADS)与转向执行单元EPS的交互控制逻辑,其中,对前端如何进行横向预瞄及转向控制,对于EPS执行单元如何进行回环PID控制进行了详细的阐述,同时对于EPS执行过程中的零位漂移进行了详细的分析解读。对于整个执行过程而言,具有相对稳定的评价标准,包括系统响应度与系统响应精度。前者更多的是功能层面,后者更多的是性能层面。对于自动驾驶系统与EPS从功能及架构设计层面主要表示如下图所示,对于基础的转向角度控制而言,其中发送端发送信息包含如下:

发送端

信号名


信号用途

ADS

系统激活状态信号

ADS_ActiveStatus

用于告知EPS相关扭矩或转角请求是何种系统发出的

ADS

系统错误状态信号

ADS_ErrorStatus

用于告知EPS系统当前上层系统是否处于错误状态,当该信号为Error时,即便上层有发出扭矩或转角请求,EPS也不再执行相关命令

ADS

目标转角

ADS_TargetAngle

用于告知EPS需要执行多少转向指令

ADS

转向激活信号

ADS_ActiveRequest

用于告知EPS何时开始执行转向指令

ADS

方向盘震动信号

ADS_VibrationRequest

用于在震动报警过程中,EPS执行震动信号的相关信息,该震动频率可完全由EPS自己控制

EPS

实际电机相应角度反馈

EPS_SteeringAngle

实际电机端输出转角

EPS

转向响应可用信号

EPS_ADSEnableStatus

EPS可响应上层请求状态

EPS

响应执行激活信号

EPS_ADSActiveStatus

实际响应激活状态

EPS

实际执行扭矩信号

EPS_MotorTorque

实际响应激活状态

EPS

驾驶员操作方向盘检测信号

EPS_HandsOffStatus

用于告知上层驾驶员当前是否接管方向盘

EPS

最大电机执行扭矩

EPS_MaxMotorTorque

EPS功能安全要求的最大电机扭矩

EPS

最小电机执行扭矩

EPS_MinMotorTorque

EPS功能安全要求的最小电机扭矩

EPS

异常终止反馈

EPS_AbortStatus

用于当ADS发出的转向请求被EPS终止时,EPS反馈给上层相应的中断状态。

正常的控制逻辑图如下:

自动驾驶中的横向控制问题案例分析详解_java

实际横向控制过程中容易出现各类不同的控制性能无法满足需求的情况,对于自动驾驶而言,需要结合实际工况给出相应的解决方案,本文将列举实例对该类问题进行分析和解决方案说明。

自动驾驶中的横向控制问题案例分析详解_java_02

自动驾驶横向响应过慢

如下图表示了EPS响应方向盘转向输入的过程,EPS分别接收来自外部(ADS)转向角度输入,并与内部转向扭矩进行叠加,通过转向助力及相关补偿函数计算,可以生成输出至执行端的电机扭矩。

自动驾驶中的横向控制问题案例分析详解_java_03其中包含了如下几个步骤:1)首先接收ADS发出转角,通过如下公式进行转角扭矩转化生成需要执行的扭矩请求;

自动驾驶中的横向控制问题案例分析详解_java_04

其中△θ为由输入转角在大小齿轮上产生的转向角度差,n为齿轮传动比,GJp表示轴体抗扭刚度,L为转向力臂长度。
对于计算生成的力矩采用EPS自身的基础助力曲线进行助力后,生成电机执行端扭矩,由于EPS存在响应死区,因此,很多情况下,需要在响应结果前进行死区补偿,即对于ADS发出的转角或扭矩请求通过该曲线进行基础助力后再进行实际响应,如下图表示了基础助力曲线相关示意图。为了更好的描述EPS在自动驾驶中的实际工作过程及响应性能,如下列举了相关的实际案例对EPS横向响应进行说明。

自动驾驶横向控制超调
案例描述:1)自动换道在避险回退过程中,常常出现回退过度甚至偏出本车道导致不安全,继而系统又通过较大的回调力矩将车辆拉回车道中央;2)自动驾驶车辆经过一定道路区间时,出现行驶路径蛇形走位,车辆出现相对稳定的震荡前进;原因分析:系统在回退控制过程中或在对中调整位置过程中,需要发送反向转角给EPS进行横向控制。如前文所述,EPS的转角控制采用了多层嵌套式PID控制,其中P值主要决定了实际达到期望值的快慢,该值增大会控制车辆沿着参考线方向运动具有更快的倾向性,而微分D则是对该倾向性的快慢产生适当的阻力,使得转向更加平滑。本案例原因分析是当比例系数P值设置过大D值设置过小,系统出现欠阻尼,使执行转角控制超调量增大,后续通过误差项反馈调节后,再次控制车辆回调至车道中央,出现震荡前进。解决方案:持续减小系数P值适当增大D值,促使系统从欠阻尼模式至过阻尼模式逐渐改善,评价系统不会出现较大的超调时,判定参数满足要求。

自动驾驶横向接管性能
人机模式切换控制中主要进行方向盘平滑处理,当进入智能驾驶瞬间方向盘突然转动而可能出现手力对抗现象时,对于该瞬时方向盘转动力的平滑处理可以保持车辆更好的稳定性。案例描述:1)自动驾驶系统转向控制过程中,驾驶员通过手力掌握方向盘进行接管控制时,感觉接管方向盘手感发硬,且出现较大的对抗力矩。尤其是低速控制情况下容易出现方向盘锁死。2)自动驾驶对中或驾驶员控制换道过程中,驾驶员缓慢施加手力矩进行方向盘控制时,容易出现系统抢夺方向盘。原因分析:在一般力矩横向控制过程中,允许驾驶员施加一定力矩在系统之上,系统可以通过前馈控制检测到该驾驶员力矩后,在一定允许超调范围内适当减少发出扭矩实现较为精准的横向控制。而在转角控制逻辑中,系统都是发送目标转角进行控制,且要求执行机构在响应该转角过程中执行到该目标转角一定精度范围内,且角度控制过程中不允许接管,超过阈值手力矩直接退出。如下图表示了转向控制中手力矩大小对转向的实际控制过程,从图中可看出,当手力矩大于最小接管手力矩1.5Nm并持续一定时间T1时,系统判定为驾驶员接管该系统控制,此后实现人机共驾,当驾驶员力矩持续增高至2.5Nm并持续一定时间T2时,系统判定驾驶员横向超越该系统,此时系统退出至中断待机状态,从功能安全考虑,当驾驶员手力矩超过EPS允许的最大安全手力矩后,系统直接退出。解决方案:对于角度控制逻辑采用手力矩阈值标定方式,即在不同的驾驶速度下标定不同的手力矩超越阈值,当手力矩大于该阈值且持续一定时间则退出横向控制。这里需要解决的是在同样时间下驾驶员施加的手力矩可以最快的被EPS响应到位,有两个可用的方案进行接管性能提升:其一,是针对高低速对上述时间阈值T1和T2采用不同的阈值进行控制,一般的设置低速为较小延迟时间T1=300ms,设置高速为较大延迟时间阈值T2=500ms,此时可以达到比较精准的接管控制。其二,由前文分析可知,EPS电机执行扭矩实际是由如下公式直接决定的。EPS电机扭矩 ∝ EPS电流 ∝ P * e(t)如上公式,当偏差一致时,P越大,则相同时间内电机电流越大,执行扭矩越快,因此,适当的调高P值可以很好的适配由于转角控制带来的驾驶员扭矩响应较慢的问题,更高效的实现驾驶员接管控制。

自动驾驶中的横向控制问题案例分析详解_java_05

自动驾驶系统退出性能
案例描述:1)自动换道无法正常继续进行激活控制时,自动退出横向控制,EPS扭矩响应快速自动下降为0,主观感知横向扭矩下降太快,导致高速状态下方向失控。2)自动驾驶车辆在驾驶员踩下制动踏板后,自动退出激活控制,EPS扭矩响应快速下降为0,主观感知横向扭矩下降太快,出现方向盘回振。原因分析:针对转角的横向控制,EPS响应过程是需要先通过转角-扭矩换算算法将相关转角计算为扭矩控制电机电流进行响应.当自动驾驶功能退出时,其发送的转角瞬间将为0,该过程类似阶跃响应方式。对于转角下降为0时,EPS接收的实际输入量也变为0,EPS输出的扭矩随即变为0,故电机执行端会按照该扭矩下掉的速度进行响应。解决方案:为了解决自动驾驶控制过程中转角快速降低导致的扭矩快速衰退,则需要在发送转角进行转向控制的过程中同时发送扭矩进行响应效果控制,当存在转角控制时,EPS系统参照发送转角计算相应的扭矩进行执行控制,当转角消失时,ADS系统对EPS发出换退请求及相应的缓退扭矩,该扭矩带有一定的斜率,EPS参照该扭矩进行实际跟随响应。考虑到EPS响应的功能安全及响应执行不出现超调或毛刺,ADS可以同时发送最大最小扭矩限值,EPS执行响应参照该限制进行,如下表表示新增的两个发出扭矩限值。

ADS

最大转向扭矩限制

ADS_MaxTorque

用于告知EPS执行转向指令过程中最大的扭矩执行值

ADS

最小转向扭矩限制

ADS_MinToque

用于告知EPS执行转向指令过程中最小的扭矩执行值

自动驾驶中的横向控制问题案例分析详解_java_06

如下图所示,转角不为零时,扭矩响应处于被控阶段,则ADS发送最大最小扭矩控制边带,EPS执行扭矩需要参照该控制边带进行滤波,去除超调及毛刺。当转角降为0时,ADS发送最大最小扭矩保持相等,EPS参照其中之一进行扭矩跟随,确保扭矩下掉参照一定斜率进行。

自动驾驶中的横向控制问题案例分析详解_java_07

此外,从功能安全角度上讲,EPS需要设置一个最大最小扭矩限值,当ADS发送转角计算出的扭矩超过该限值,则EPS进行限值截断,确保执行结果安全。

实际控制过程中,为了防止由于方向盘来回摆动造成的影响,设计方向盘转角死区处理。

自动驾驶中的横向控制问题案例分析详解_java_08

总结

对于开发而言,更多的希望是能够更好的从掌握系统工作原理上进行问题预防,在纯粹自动驾驶控制的横向过程中,更多的是利用回环PID调节控制+预测模型控制MPC双向进行,本文详细描述了转向执行机构EPS对自动驾驶系统的横向响应过程,并结合实例进行分析了相关的问题解决方案,后续,将通过不间断的问题补充完善整个自动驾驶开发过程。