自动驾驶车辆转向控制(通过支持转角控制的EPS实现角速度控制)

通常情况下,线控EPS可以支持转角控制,或者扭矩控制。现在,本文以支持转角控制的线控EPS为例,解释如何通过仅支持EPS转角控制的执行器实现转角速度控制。

方法很简单,首先我们要实现的角速度控制不超过EPS本身能够支持的最大转角速度,这个速度和EPS支持的电机最大扭矩直接相关,比如我们现在假设控制的EPS最大支持的转角速度是180度/s. 那么通过我们的EPS控制器实现的转角速度控制最大也只能达到180度/s. 而实现角速度控制的方式就是通过rate limit限幅模块对输出进行限制,即可立刻实现EPS转角速度控制,而不需要通过串级PID调节复杂参数。这也是支持角度控制的EPS实现角速度控制的优势。这也是为什么在我的另一篇博文中,要做讲支持扭矩控制的EPS,通过控制扭矩,转为支持角度控制的EPS, 这个转变需要使用PID control.

下面看一下Simulink model, @Mathworks对此拥有完全解释权。
自动驾驶车辆转向控制(通过支持转角控制的EPS实现角速度控制)_第1张图片
模块分为三分,第一是从车辆总线接受信号,最后一部分是向车辆总线发送控制命令,中间部分则是实现计算期望速度的相对应角度控制命令。

打开第一部分模块:
自动驾驶车辆转向控制(通过支持转角控制的EPS实现角速度控制)_第2张图片
从车辆总线接受的信号为EPS实际转角,以及通过离散求导获得的车辆转角速度。

打开第三部分:
自动驾驶车辆转向控制(通过支持转角控制的EPS实现角速度控制)_第3张图片
是发送期望转角命令来实现角速度控制,而下面的trigger只是一个开关命令,不用在意。

打开第二部分:
自动驾驶车辆转向控制(通过支持转角控制的EPS实现角速度控制)_第4张图片
模型很简单,核心就是中间的限幅模块,这个模块可以对期望转角按照限制的rate 发出,比如,选择desiredAngularVelocity 为20度, DesiredAngle为100度,那么这个输出会按照每秒20度的梯度五秒内增加到100度,通过这个方式我们就间接地实现了角速度控制。

当然还可以使用常规的串级PID实现控制角度的同时,控制角速度,但是有六个PID参数需要整定,有点麻烦。有空我可以在介绍一下串级PID控制的设计原则和整定方式,这个在电机控制中很常见,你们做普通的自动驾驶不需要了解这么多。

最后可以下载对应simulink模型参考一下。
https://download.csdn.net/download/gophae/11831872

你可能感兴趣的:(车辆控制,自动驾驶,EPS控制)