当前位置:   article > 正文

MIT开源项目Cheetah3-MPC控制部分原理解析_mit mpc

mit mpc

MPC控制

我们的 MPC 的目标是找到反作用力,使质点遵循给定的轨迹。在 MPC 的优化过程中,步态调度器和步长规划器预先定义了接触序列。 这让公式保持凸性,使得优化问题求解速度快,并且可以始终求解到唯一的全局最小值。 而在非线性优化中并不总是可以得到的。

1、线性模型

由于力臂的交叉积项和转向动力学,即使是简单的质点模型也不是完全线性的。为了实现线性MPC公式,我们应用了三个简化。

a、假设滚动和俯仰角很小。

基于这个假设,我们可以简化坐标变换如下:

Θ ˙ ≈ R z ( ψ ) ω (4) \dot{\Theta} \approx R_z(\psi)\omega \tag{4} Θ˙Rz(ψ)ω(4)

g I ≈ R z ( ψ ) B I R z ( ψ ) T (5) _gI \approx R_z(\psi)_BIR_z(\psi)^T \tag{5} gIRz(ψ)BIRz(ψ)T(5)

其中

  • Θ ˙ = [ ϕ ˙ θ ˙ ψ ˙ ] T \dot{\Theta} = [\dot{\phi } \quad \dot{\theta} \quad \dot{\psi}] ^T Θ˙=[ϕ˙θ˙ψ˙]T:为机体的角速度(分别对应roll,pitch,yaw)
  • R z ( ψ ) R_z(\psi) Rz(ψ):旋转矩阵,将角速度映射到世界坐标系
  • ω \omega ω:机身坐标系下的角速度
  • g I _gI gI:世界坐标系下的惯性张量
  • B I _BI BI:机身坐标系下的惯性张量
b、状态与指定轨迹接近

我们利用旋转矩阵中的指令 ψ \psi ψ,创建了时变线性动力学方程,并且利用命令的轨迹和当前步位置所计算出的预定轨迹设置等式(2)中的力臂。

c、俯仰和滚转速度都很小, 惯性张量的非对角线项也很小。

基于上两个假设,等式2近似于:

d d t ( I ω ) = I ω ˙ + ω × ( I ω ) ≈ I ω ˙ (6) \frac{d}{d_t}(I\omega) = I\dot{\omega} + \omega \times(I\omega) \approx I\dot{\omega} \tag{6} dtd(Iω)=Iω˙+ω×(Iω)Iω˙(6)

2、构建优化问题

将1中的简化结果整理成以下三条公式:
Θ = R z T ( ψ ) ω (a) \Theta = R_z^T(\psi)\omega \tag{a} Θ=RzT(ψ)ω(a)

∑ i = 1 n r i × f i = I ω ˙ (b) \sum_{i=1}^{n}r_i \times f_i = I\dot{\omega} \tag{b} i=1nri×fi=Iω˙(b)

p ¨ = ∑ i = 1 n f i m − g (c) \ddot{p} = \frac{\sum_{i=1}^{n}f_i}{m} - g \tag{c} p¨=m

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/414784
推荐阅读
相关标签
  

闽ICP备14008679号