【摘要】:基于MPC的轨迹规划器的输出是规划好的期望轨迹方程的参数,因为选择了5次曲线进行曲线拟合,所以这里的输出量为10个。图6.8各个模块的输入与输出示意本节主要介绍如何通过Simulink的S函数设计基于MPC的轨迹规划器。读者直接调用“chapter6_2_4.m”文件生成S函数形式的轨迹规划器。第四部分为计算输出的子函数,是基于MPC轨迹规划器的主体。第五部分为求代价函数的功能子函数。
在用S函数实现基于MPC的轨迹规划器时首先需要确定S函数的输入与输出量,如图6.8所示。基于MPC的轨迹规划器将CarSim的部分输出作为输入,CarSim输出的参数为[˙y,,φ,,Y,X],分别代表车辆在Y和X坐标方向上的速度、航向角及航向角速度,在Y和X坐标轴下的坐标等,共6个参数。基于MPC的轨迹规划器的输出是规划好的期望轨迹方程的参数,因为选择了5次曲线进行曲线拟合,所以这里的输出量为10个。
图6.8 各个模块的输入与输出示意
本节主要介绍如何通过Simulink的S函数设计基于MPC的轨迹规划器。读者直接调用“chapter6_2_4.m”文件生成S函数形式的轨迹规划器。
为便于代码解析,将仿真程序文件“chapter6_2_4.m”分为若干模块分别介绍。程序后面有备注,以方便读者阅读。
第一部分为主函数。通过此函数完成程序的初始化,并设置S函数模块的输入、输出和状态变量的个数等。sys变量在不同的阶段表示不同的意义。
第二部分为初始化子函数。通过之前的描述可知,该模块有5个离散状态变量、6个输入变量,以及10个输出变量。其实现过程如下所示:
第三部分为更新离散状态量的子函数。(www.xing528.com)
第四部分为计算输出的子函数,是基于MPC轨迹规划器的主体。
第五部分为求代价函数的功能子函数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。