Simulink软件仿真平台之驾驶员模型
<p data-first-child="" data-pid="sjOIiySR"><span style="font-size:16px;">下面说说驾驶员模型的相关内容。</span></p><p data-first-child="" data-pid="sjOIiySR"> </p>
<figure data-size="normal">
<p> </p>
<div style="text-align: center;"><span style="font-size:16px;"></span></div>
<p> </p>
</figure>
<h2><span style="font-size:16px;"><b>驾驶员模型需求分析</b></span></h2>
<p data-pid="O5Wjij5z"><span style="font-size:16px;">驾驶员模型,从名称上大概可以猜出其含义,就是模仿驾驶员操作的数学模型。想一想驾驶员有哪些操作呢?油门、刹车、档位操作都属于纵向控制,控制车辆前进或后退;方向盘操作属于横向控制,控制车辆转弯角度。所以驾驶员模型就是要代替驾驶员,实现车辆纵向和横向运动的控制。</span></p>
<p data-pid="EzazJgBb"><span style="font-size:16px;">对于我们做整车控制策略仿真而言,关注的是车辆动力性、经济性,主要考察车辆纵向运动,所以该平台的驾驶员模型只需要考虑纵向控制,即油门踏板开度和刹车踏板开度控制(增程式电动汽车一般靠单电机驱动,无档位,这里暂不考虑档位选择)。</span></p>
<p data-pid="owgTdAoO"><span style="font-size:16px;">这样,我们驾驶员模型的需求就基本确认了:<b>基于驾驶员的期望车速和当前的实际车速,进行油门踏板或刹车踏板的控制</b>。</span></p>
<h2><span style="font-size:16px;"><b>驾驶员模型Simulink实现</b></span></h2>
<p data-pid="Cc0d8klg"><span style="font-size:16px;">基于上面的需求,发现用一个<b>PI控制器</b>即可快速实现驾驶员的踏板请求计算:驾驶员期望车速作为PI控制器输入,实际车速作为系统反馈,经PI调节后,输出一个-1到1的百分数。当期望车速大于实际车速时,PI控制器输出0~1之间的一个数值,代表油门踏板开度请求;当期望车速小于实际车速时,PI控制器输出-1~0之间的一个数值,代表刹车踏板开度请求。具体模型框图如下(方框内就是之前讲过的积分抗饱和PI控制器):</span></p>
<p data-pid="Cc0d8klg"> </p>
<figure data-size="normal">
<p> </p>
<div style="text-align: center;"><span style="font-size:16px;"></span></div>
<p> </p>
</figure>
<h2> </h2>
<h2><span style="font-size:16px;"><b>驾驶员模型初步验证</b></span></h2>
<p data-pid="Aln5FQoq"> </p>
<p data-pid="Aln5FQoq"><span style="font-size:16px;">每一个模型搭建完成之后,有时间有条件都可以做一下基本的仿真,验证一下逻辑是否合理。由于实际车速需要车辆模型进行反馈,目前使用期望车速和实际车速不太方便。所以这里直接输入一个正弦的偏差车速来观察模型输出是否正常。</span></p>
<p data-pid="s2gp-z-y"><span style="font-size:16px;">仿真模型如下:</span></p>
<p data-pid="s2gp-z-y"> </p>
<figure data-size="normal">
<p> </p>
<div style="text-align: center;"><span style="font-size:16px;"></span></div>
<p> </p>
</figure>
<p> </p>
<p data-pid="uXhjs0L4"><span style="font-size:16px;">仿真结果如下图:</span></p>
<figure data-size="normal">
<p> </p>
<div style="text-align: center;"><span style="font-size:16px;"></span></div>
<p> </p>
</figure>
<p data-pid="mtBQQ-Me"> </p>
<p data-pid="mtBQQ-Me"><span style="font-size:16px;">对比输入车速偏差信号(红色曲线)与输出踏板开度信号(黑色曲线)发现,<b>车速偏差为正值时,会请求一个正的加速踏板开度信号,试图增大实际车速使其趋向于期望车速,且偏差越大请求的踏板开度越大;车速偏差为负值时,会请求一个负的刹车踏板开度信号,试图减小实际车速使其趋向于期望车速,且偏差越大请求的踏板开度越大。以上驾驶员模型输出符合需求设计,测试通过。</b></span></p>
<p data-pid="mtBQQ-Me"> </p>
<p data-pid="hl8Z-oSG"><span style="font-size:16px;">以上就是软件仿真平台的驾驶员模型介绍,是相对简单的内容,但其包含的基础模型设计过程(需求分析->模型实现->初步测试)是一个软件开发者必须具备的基本素质,是值得思考和学习的。</span></p>
汽车电子入行新人路过,看看各位大神的帖子,积极学习进步。 <p>汽车电子新人路过,看看各位大佬的经验分享</p>
页:
[1]