首页 理论教育 无人驾驶车辆模型预测控制第2版:非线性二次规划计算

无人驾驶车辆模型预测控制第2版:非线性二次规划计算

时间:2023-10-07 理论教育 版权反馈
【摘要】:基于MPC的轨迹规划器的输出是规划好的期望轨迹方程的参数,因为选择了5次曲线进行曲线拟合,所以这里的输出量为10个。图6.8各个模块的输入与输出示意本节主要介绍如何通过Simulink的S函数设计基于MPC的轨迹规划器。读者直接调用“chapter6_2_4.m”文件生成S函数形式的轨迹规划器。第四部分为计算输出的子函数,是基于MPC轨迹规划器的主体。第五部分为求代价函数的功能子函数。

无人驾驶车辆模型预测控制第2版:非线性二次规划计算

在用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轨迹规划器的主体。

第五部分为求代价函数的功能子函数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈