线性时变模型预测控制推导详解

预测方程的推导的核心思想是通过建立基于误差量的状态空间方程来推导。我们采用的是非线性系统线性化方法中的第一种:存在参考系统的线性化方法。(详见会员专享资料)

以自行车模型为例,在推导过程中下角标 r (reference),即参考的意思

图1中,我们首先建立运动学模型,选取3个状态量(横、纵坐标以及车辆横摆角)和两个控制量(速度和前轮转角);其次进行系统线性化。

这里阐述一下车辆位姿的概念:位姿就是位置+姿态,位置我们用横纵坐标来表示,姿态就是车辆在这个横纵坐标下的车头朝向。

注:在推导过程中下角标 r (reference),即参考的意思

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUwODg4Mzk0,size_16,color_FFFFFF,t_70

图1

图2中,在由上述推导得到的线性化方程后,该状态方程是连续的,不能直接用于模型预测控制器的设计,所以有必要对其进行离散化处理。经过离散化后我们就能实现了由当前的状态量误差和当前时刻的控制量误差推导得到下一时刻的状态量误差。但是要注意在每一次程序设计的过程中 ,我们不一定要把所有的状态量误差都要输出来,比方说我可能只需要输出横向位置的误差,纵向位置和横摆角没必要输出,所以我们定义c矩阵来实现这个功能,从而有了输出方程的定义。

注:B以及B飘矩阵第三行第一列参考横摆角书写错误,应改为参考前轮转角。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUwODg4Mzk0,size_16,color_FFFFFF,t_70

图2

以下我们通过构建一个新的状态空间,这个空间包含k时刻的状态量误差以及k-1时刻的控制量误差,我们可以进行下一时刻状态空间的预测推导。推导完后我们一定要清楚矩阵A、B、C的维数,A为5*5的矩阵,B为5*2的矩阵,C为3*5的矩阵。k+1时刻的状态空间推导出来以后,继续进行k+2、k+3....一直到k+Np时刻的状态空间的预测,在此过程中通过找规律可以发现等号左边和等号右边的联系。从而拼凑出我们想要的矩阵。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUwODg4Mzk0,size_16,color_FFFFFF,t_70

图3

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUwODg4Mzk0,size_16,color_FFFFFF,t_70

图4

转化为二次规划问题

二次规划详见:MPC的终结——二次规划求解约束极值问题_更适合青年研究者的资源库!公众号:杰哥的无人驾驶便利店-CSDN博客_mpc 二次规划

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUwODg4Mzk0,size_16,color_FFFFFF,t_70

图5

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUwODg4Mzk0,size_16,color_FFFFFF,t_70

有效集法和内点法

在预测控制模型中一般选用 ASM (Active Set Method)有效集法来对目标函数进行优化,但是IPM(Interior Point Method)内点法具有广泛的应用范围,既可以解决带约束的线性规划问题,又可以求解带约束的二次规划问题。有效集法适用于解决只有不等式约束的二次规划问题,而内点法是用于解决任何形式的二次规划问题。因此我们之后的每一章选用内点法来求解。

 点击下方卡片,加入会员全年无限制学习后台(MPC各矩阵的底层逻辑、MPC纵向控制、模型验证、MPC自适应巡航控制、非线性系统如何线性化及MPC动力学跟踪任何轨迹、约束添加及新求解器的求解、轨迹规划、纵向规划等80个系列)会员专享爆品课程及资源,同时获得分佣资格,可赚回自己的学费! 

 得分佣资格,可赚回自己的学费! 

  • 31
    点赞
  • 207
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值