基于MPC、PTC及AFS技术的车辆路径跟踪控制策略仿真研究-以72km/h高速度、不同附着系数双移线工况为例,在MATLAB 2020b及CarSim 2020环境下仿真验证,"基于MPC与PTC
资源内容介绍
基于MPC、PTC及AFS技术的车辆路径跟踪控制策略仿真研究——以72km/h高速度、不同附着系数双移线工况为例,在MATLAB 2020b及CarSim 2020环境下仿真验证,"基于MPC与PTC的车辆路径跟踪控制策略研究:侧偏角软约束与主动前轮转向AFS的协同作用",模型预测控制MPC+路径跟踪PTC+侧偏角软约束+主动前轮转向AFS,范例是72km h,附着系数0.3的单移线,附着系数0.85双移线。仿真MATLAB2020b版本和carsim2020。MPC: 一为增量式方法编写,采用s-function实现,输入为跟踪误差、横摆角误差、侧向速度和横摆角速度,输出量为前轮转角,仅考虑横向控制。考虑了前后轮的侧偏角软约束,在侧偏角到约束边界时减小控制律,保证侧偏角的稳定。 二为采用Apollo中的模型,基于MATLAB function编写,不包括侧偏角软约束,作为对比参考使用。包含carsim的cpar文件、模型mdl文件、绘图m文件(运行后一键出图)、说明文档和中文文献。,核心关键词:MPC; 路径跟踪PTC; 侧偏角软约束; 主动前轮转向A <link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/css/base.min.css" rel="stylesheet"/><link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css" rel="stylesheet"/><link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/90373411/2/raw.css" rel="stylesheet"/><div id="sidebar" style="display: none"><div id="outline"></div></div><div class="pf w0 h0" data-page-no="1" id="pf1"><div class="pc pc1 w0 h0"><img alt="" class="bi x0 y0 w1 h1" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/90373411/bg1.jpg"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">**<span class="ff2">基于<span class="_ _0"> </span></span>MPC<span class="_ _1"> </span><span class="ff2">与<span class="_ _0"> </span></span>AFS<span class="_ _1"> </span><span class="ff2">的车辆路径跟踪控制系统设计与仿真</span>**</div><div class="t m0 x1 h2 y2 ff2 fs0 fc0 sc0 ls0 ws0">一<span class="ff3">、</span>引言</div><div class="t m0 x1 h2 y3 ff2 fs0 fc0 sc0 ls0 ws0">随着自动驾驶技术的不断发展<span class="ff4">,</span>车辆路径跟踪和稳定性控制成为了研究的重要方向<span class="ff3">。</span>本篇文章将介绍</div><div class="t m0 x1 h2 y4 ff2 fs0 fc0 sc0 ls0 ws0">一种基于模型预测控制<span class="ff4">(<span class="ff1">MPC</span>)</span>和主动前轮转向<span class="ff4">(<span class="ff1">AFS</span>)</span>的路径跟踪控制系统<span class="ff4">,</span>以<span class="_ _0"> </span><span class="ff1">72km/h<span class="_ _1"> </span></span>速度<span class="ff3">、</span>不</div><div class="t m0 x1 h2 y5 ff2 fs0 fc0 sc0 ls0 ws0">同附着系数<span class="ff4">(<span class="ff1">0.3<span class="_ _1"> </span></span></span>单移线<span class="ff3">、<span class="ff1">0.85<span class="_ _1"> </span></span></span>双移线<span class="ff4">)</span>为范例<span class="ff4">,</span>在<span class="_ _0"> </span><span class="ff1">MATLAB 2020b<span class="_ _1"> </span></span>版本和<span class="_ _0"> </span><span class="ff1">CarSim 2020<span class="_ _1"> </span></span>软件</div><div class="t m0 x1 h2 y6 ff2 fs0 fc0 sc0 ls0 ws0">环境下进行仿真<span class="ff3">。</span></div><div class="t m0 x1 h2 y7 ff2 fs0 fc0 sc0 ls0 ws0">二<span class="ff3">、</span>系统模型与<span class="_ _0"> </span><span class="ff1">MPC<span class="_ _1"> </span></span>算法设计</div><div class="t m0 x1 h2 y8 ff1 fs0 fc0 sc0 ls0 ws0">1.<span class="_ _2"> </span><span class="ff2">增量式<span class="_ _0"> </span></span>MPC<span class="_ _1"> </span><span class="ff2">算法实现</span></div><div class="t m0 x1 h2 y9 ff2 fs0 fc0 sc0 ls0 ws0">本系统采用<span class="_ _0"> </span><span class="ff1">s-function<span class="_ _1"> </span></span>实现增量式<span class="_ _0"> </span><span class="ff1">MPC<span class="_ _1"> </span></span>算法<span class="ff3">。</span>输入包括跟踪误差<span class="ff3">、</span>横摆角误差<span class="ff3">、</span>侧向速度和横摆</div><div class="t m0 x1 h2 ya ff2 fs0 fc0 sc0 ls0 ws0">角速度<span class="ff4">,</span>输出为前轮转角<span class="ff4">,</span>仅考虑车辆的横向控制<span class="ff3">。</span>通过优化算法<span class="ff4">,<span class="ff1">MPC<span class="_ _1"> </span></span></span>能够预测未来时刻的车辆状</div><div class="t m0 x1 h2 yb ff2 fs0 fc0 sc0 ls0 ws0">态<span class="ff4">,</span>并计算出使代价函数最小的前轮转角<span class="ff4">,</span>从而实现路径跟踪<span class="ff3">。</span></div><div class="t m0 x1 h2 yc ff1 fs0 fc0 sc0 ls0 ws0">2.<span class="_ _2"> </span><span class="ff2">侧偏角软约束设计</span></div><div class="t m0 x1 h2 yd ff2 fs0 fc0 sc0 ls0 ws0">考虑到前后轮的侧偏角稳定性<span class="ff4">,</span>我们在<span class="_ _0"> </span><span class="ff1">MPC<span class="_ _1"> </span></span>算法中引入了侧偏角的软约束<span class="ff3">。</span>当侧偏角接近约束边界时</div><div class="t m0 x1 h2 ye ff4 fs0 fc0 sc0 ls0 ws0">,<span class="ff2">通过减小控制律的力度</span>,<span class="ff2">保证侧偏角的稳定<span class="ff3">。</span>这种设计可以有效提高车辆在复杂路况下的操控性和</span></div><div class="t m0 x1 h2 yf ff2 fs0 fc0 sc0 ls0 ws0">稳定性<span class="ff3">。</span></div><div class="t m0 x1 h2 y10 ff1 fs0 fc0 sc0 ls0 ws0">3.<span class="_ _2"> </span>Apollo<span class="_ _1"> </span><span class="ff2">模型对比实现</span></div><div class="t m0 x1 h2 y11 ff2 fs0 fc0 sc0 ls0 ws0">为了对比不同<span class="_ _0"> </span><span class="ff1">MPC<span class="_ _1"> </span></span>算法的效果<span class="ff4">,</span>我们还采用了<span class="_ _0"> </span><span class="ff1">Apollo<span class="_ _1"> </span></span>中的车辆模型<span class="ff4">,</span>基于<span class="_ _0"> </span><span class="ff1">MATLAB function<span class="_ _1"> </span></span>编</div><div class="t m0 x1 h2 y12 ff2 fs0 fc0 sc0 ls0 ws0">写<span class="_ _0"> </span><span class="ff1">MPC<span class="_ _1"> </span></span>算法<span class="ff3">。</span>该算法不包含侧偏角软约束<span class="ff4">,</span>可以用于评估无约束条件下的路径跟踪性能<span class="ff3">。</span></div><div class="t m0 x1 h2 y13 ff2 fs0 fc0 sc0 ls0 ws0">三<span class="ff3">、</span>仿真环境与设置</div><div class="t m0 x1 h2 y14 ff1 fs0 fc0 sc0 ls0 ws0">1.<span class="_ _2"> </span>Carsim<span class="_ _1"> </span><span class="ff2">环境配置</span></div><div class="t m0 x1 h2 y15 ff2 fs0 fc0 sc0 ls0 ws0">仿真采用<span class="_ _0"> </span><span class="ff1">CarSim<span class="_ _1"> </span></span>软件<span class="ff4">,</span>通过<span class="_ _0"> </span><span class="ff1">cpar<span class="_ _1"> </span></span>文件和模型<span class="_ _0"> </span><span class="ff1">mdl<span class="_ _1"> </span></span>文件设置车辆参数<span class="ff3">、</span>道路信息和仿真环境<span class="ff3">。</span>其中</div><div class="t m0 x1 h2 y16 ff4 fs0 fc0 sc0 ls0 ws0">,<span class="ff2">道路信息包括不同附着系数的单移线和双移线路况<span class="ff3">。</span></span></div><div class="t m0 x1 h2 y17 ff1 fs0 fc0 sc0 ls0 ws0">2.<span class="_ _2"> </span>MATLAB<span class="_ _1"> </span><span class="ff2">脚本编写</span></div><div class="t m0 x1 h2 y18 ff2 fs0 fc0 sc0 ls0 ws0">仿真过程中需要编写运行脚本<span class="ff4">,</span>包括数据采集<span class="ff3">、</span>处理<span class="ff3">、</span>以及绘图等<span class="ff3">。</span>通过<span class="_ _0"> </span><span class="ff1">MATLAB<span class="_ _1"> </span></span>的脚本功能<span class="ff4">,</span>可以</div><div class="t m0 x1 h2 y19 ff2 fs0 fc0 sc0 ls0 ws0">实现一键出图<span class="ff4">,</span>方便结果分析和对比<span class="ff3">。</span></div></div><div class="pi" data-data='{"ctm":[1.568627,0.000000,0.000000,1.568627,0.000000,0.000000]}'></div></div>