MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(1) SolidWorks模型的导入

MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(1) Solidworks模型的导入

以前做四旋翼无人机仿真的时候动力学模型会直接用人家推好的公式,然后设计控制器也是基于这样的公式模型,和实际有非常大的差别,这样的仿真对于算法可行性和逻辑验证还能使用,因此希望得到更接近于真实的仿真,刚好最近学习到了MATLAB Simulink里面的多刚体仿真,在高版本的MATLB的Simulink里面放到了Simscope里面,还自带可视化。
在仿真学习和使用的时候出现了很多困难,因此将准备写一系列博客记录自己的学习过程,将从SolidWorks的CAD模型开始到Simulink控制仿真。

1 SolidWorks模型

首先需要用Solidworks搭建一个简单的四旋翼无人机模型,也可以去网上下载,但是不建议,笔者曾经使用过DJI M100无人机的官方模型,但是导入到MATLAB里面后发现零件数量太多,而且很多连接关系有问题,需要在导入到MATLAB后自己调节,很不适合初学者学习,因此推荐自己简单制作一个,最简单的无人机模型可以只使用9个零件组件装配体(1个身体+4个机臂+4个桨叶),桨叶可以直接用方形木块代替,因为仿真里面的空气动力是需要自己添加的。
在自己制作模型装配的时候需要注意好除了机翼可以绕一个轴旋转外,其他的连接都是不能旋转的,也就是至少需要3个约束才能固定,这些零件连接关系很重要,因为这些连接关系奖后影响导入到MATLAB后各个部分的连接结构,很多网上的模型就是因为外形虽然没错,但是连接关系有问题所以不能直接用。
笔者简单用18个零件搭建了一个装配体模型,注意z轴朝下,坐标系如下图所示,机身中心(或者机身零件)需要在原点,这些需要在SolidWorks中调节好,因为导入到MATLAB里面后坐标系将不好调节,这里使用的是X型布局,X型和十字型布局将影响仿真的动力分配,最好按照和笔者相同的方法配置,材质需要在SolidWorks中指定,否则仿真时会因为没有质量报错。建议材料选取碳纤维,机臂,机身最好中空,否则质量会过大,和实际无人机差别较大。
MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(1) SolidWorks模型的导入
MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(1) SolidWorks模型的导入

2 SolidWorks模型导入

笔者使用的是SolidWorks2018,MATLAB 2016a,理论上版本不是太老都可以,使用MATLAB的SimMechanics Link可以将SolidWorks模型转化为可以导入Simulink的文件,推荐以下博客:
https://blog.csdn.net/qq_29159273/article/details/80553726.

2.1 安装SimMechanics Link

根据MATLAB版本和SolidWorks版本下载对应的SimMechanics Link
www.mathworks.com/products/simmechanics/download_smlink.html.

下载好了用管理员打开MATLAB,转到下载目录(不需要解压),依次使用以下命令
install_addon(‘smlink.r2016a.win64.zip’)
smlink_linksw
regmatlabserver
就安装好了

2.2 SolidWorks导出模型

首先要设置启动SimMechanics Link插件
MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(1) SolidWorks模型的导入
MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(1) SolidWorks模型的导入
然后导出,记得选择第二个(高版本SolidWorks和低版本SolidWorks这个插件的选项的位置不一样,多找一找,笔者当时找的快崩溃了)
MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(1) SolidWorks模型的导入
这样一来就得到了xml文件,假设叫quadrotor.xml

2.3 Matlab导入模型

新建一个文件夹放下刚才SolidWorks导出的所有文件,然后MATLAB转到相同路径,输入
smimport(‘quadrotor.xml’);
MATLAB Simmechanics/Simscope四旋翼无人机控制仿真(1) SolidWorks模型的导入
这样导入的模型还不能直接使用,需要很多微调,将在后面的博客写出。
目前还在仿真调试,没有大的问题会将xml公开