文章提示:如果利用simulink内部模块建模,精度和复杂度较低,后期可能无法匹配MPC(模型预测控制算法) 此类对特定问题需要较高模型精细度的算法。
步骤一
在matlab 命令行窗口中输入smnew新建一个simscape多体模型,如图所示。
matlab的上下平台 建模过程 使用simscape工具 ,按照下图所示进行路径选择
选择“Simscape/Multibody/Body Elements”路径来访问多体动力学模拟的体元素选项。这个路径位于Simulink的库浏览器中
用户可以通过展开Simscape、Multibody,然后找到Body Elements来访问这些选项。每个选项都代表了一种可以在多体动力学模拟中使用的不同类型的体元素或工具,如砖块固体、圆柱体固体、柔性体等。用户可以根据需要选择相应的选项来构建和模拟他们的多体动力学系统。
选择圆柱形固体
圆柱平台数据暂时 调用自文章 https://mp.csdn.net/mp_blog/creation/editor/140673085
涉及半径、高度,进行动力学建模时,使用inertia惯性
一般不使用solid设置惯性。可以使用interia设置惯性,参考坐标系为连接处的参考点
如果要进行file文件精确建模 可以导入step等格式的三维模型,如上图所示是一种中空结构的上平台
tips:如果准备利用MPC算法解决 推杆内部动力传导和 cylinder与铰点接触面的非线性问题,则上平台(圆饼结构)建模无需过于复杂。
步骤二:接下来关于坐标系连接
学到哪一步不懂的 直接查官方手册会方便很多 | Rotational Measurements - MATLAB & Simulink - MathWorks 中国 |
- 模型控制
2.1 传统pid
将下列四个量作为输入参考量
vel | real_vel | pos | real_pos |
将期望des_pose与实际值actual_pose作差作为比例、积分增益输入
将vel作差作为微分增益输入
2.2 鲁棒
网上找了一个现成的模版修改