离散控制Matlab代码系留飞行物的非线性模型预测控制和状态估计
动机
是否可以在三维空间中两点之间的预定轨迹上移动飞行物体?
考虑了以前的建模尝试,并应用了Lagrange形式主义,以便找到更合适的模型以进行更快的仿真和控制。
然后使用几个优化例程估算其参数。
像往常一样,对模型进行线性化和离散化处理,并使用离散线性二次调节器来控制球的仰角,作为对转盘上不同种类输入激励的响应。
仅在设计和实现卡尔曼滤波器之后才能实现全状态控制器。
然后使用所谓的内部模型原理对这两个组件进行改进,以使球的仰角响应尽可能保持不变。
然后开发了非线性模型预测控制以及移动视点估计器(状态观测器),并测试了两个非平凡的最优控制问题。
代码
该代码在模块化主题检查点中分开,对于其中的一些主题检查点(基本上出于建模目的)仅可用Matlab实现,而对于状态估计或预测控制实时C
++(OROCOS)版本也需要这些实现。
造型部分
代码中的点1-6对应于遵循的建模链:
1,2:摩擦参数识别:找到并调整了从下部电机到轴的简单摩擦模型。
调整了二阶模型,并将其用作进一步模型链的基础。
3:用Matlab符号工具进行Lagr
2021-10-29 15:05:06
11.14MB
系统开源
1