模型预测控制在路径规划中的应用 | 您所在的位置:网站首页 › 模型预测控制优点有哪些 › 模型预测控制在路径规划中的应用 |
1.模型预测控制(Model Predictive Control)
MPC的作用机理可以表述为:在每一个采样时刻,根据当前的测量信息,在线求解一个有限时间开环优化问题,并将得到的控制序列的第一个元素用于被控对象;在下一个采样时刻,用新的测量值作为此时预测系统未来动态的初试条件,刷新优化问题求解。应用于机器人的典型的模型预测控制方法: 问题模型 参数空间 上述问题的目的是找到最优的 u u u使得上式最小化。工程问题中系统输入是随意变化的量,因此需要将无限维度的系统输入转化为有限维度的参数,常用的方法有:Zero order hold(离散方法);多项式;B-spline;数值映射优化 常用优化方法包括:搜索、凸优化和非凸优化;本文中,关于线性系统主要使用凸优化中的二次规划方法(Quadratic programming)求解;关于非线性系统主要使用PSO(Particle swarm optimization)求解。控制 传统MPC控制框图为:(1)设置优化问题 (2)使用测量模块告诉我们当前的initial state (3)求解优化问题得到参数,这些参数构成系统的最优输入 u ∗ u^{*} u∗ (4)使用 u ∗ u^{*} u∗驱动系统,由于系统受到干扰无法保证求解得到的 u ∗ u^{*} u∗是我们想要的,仅此旨在很小一段时间中使用,然后利用观测的状态重新求解问题,转回步骤(2)无人机应用中,使用传统MPC对控制频率的要求较高,要求较快的求解速度,考虑到无人机实际的计算资源,其使用受限,因此提出了Tube based MPC,控制框图如下: 上述框架分为Nominal System和Real System两部分,Nominal System部分不考虑不确定性,求解优化问题得到参考信号 x ∗ x^{*} x∗,系统Real System部分的目的是使系统的真实状态与 x ∗ x^{*} x∗保持一致,Associate Controller的目的是通过处理模型不确定性和外界干扰来镇定系统使其可以跟踪系统。 Matlan中有Matlab MPC toolbox工具包,可以一键生成C/C++代码。 2.线性MPC下面以一个简单的模型为例,首先将连续模型通过时间离散化为离散模型: 将离散模型转化为矩阵形式,即构造预测模型: 根据要解决的问题构造问题模型,假设存在两个目标,目标1为将位置、速度、加速度带回原点,目标2为系统的轨迹尽量平滑,指标函数可以定义如下: 整体的目标函数可以构建为: 将前述预测模型的结果代入,我们有: 该问题可由二次规划算子(如matlab中的quadprog)求解,将上述方程表示如下: 求解结果为 J = − H − 1 F J=-H^{-1}F J=−H−1F 线性MPC的硬约束 加入一个简单的速度和加速度的硬约束,首先将其改写为矩阵形式 代入前述的预测模型,将有关 v , a v,a v,a的不等式修改为关于 J J J的不等式,然后修改为不等式形式(工具箱求解时需要): 软约束 一般是将约束直接添加到目标函数中,如下: 但是上述修改后的目标函数存在不可导的情况,无法使用二次规划求解,大部分MPC算子是二次规划的算子,为了解决上述问题,可以通过修改之前硬约束条件实现,以下式为例: − T v J < = 1 20 x 1 + B v -T_vJ |
CopyRight 2018-2019 实验室设备网 版权所有 |