SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)

注意
1.所写内容主要是根据博主某门课程的课设,对adept机器人进行SimMechanics 的建模仿真,默认你已经对其正、逆运动学以及轨迹规划,关节控制内容有所了解,主要偏向内容为SimMechanics仿真的学习。
2.对于一些模块的深层次功能和详细属性,可以通过Matlab的官方文档进行查询,这里我只阐述其基本用法,适用于初学者和小白。

Matlab官方文档链接:

https://ww2.mathworks.cn/help/physmod/sm/index.html?s_tid=CRUX_lftnav

一.adept机械臂的建模

SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第1张图片
1.matlab命令行输入框输入 smnew,创建一个空的模板,其内容如下:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第2张图片

基本上所有的模块的添加是在SIMULATION菜单栏下的Library Browser中的,需要你熟悉里面需要用到的模块的位置。


补充:如果用smnew命令创建模板失败,或者创建的模板里面的零件参数修改有问题,选择:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第3张图片
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第4张图片


2.机械臂连杆的建模
在进行机械臂本体的建模时,我们暂时不考虑关节连接处的建模。把机械臂想成由无数个连杆组成的整体,对每个连杆进行建模,再将他们连接在一起即可。
在adept机械臂中,关节一与关节二的连杆是由两段组成的,在这里,我们对每一段分别建模。
1.打开Library Browser,进入Multibody目录,在body Elements中,选择我们需要的连杆模型,在这里,我们选用Brick Solid模块。


补充:如果只有Solid模块,只选择Solid模块也是可以的。


SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第5张图片
2.继续在Multibody目录中,进入Frames and Transforms,选择Rigid Transform模块。
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第6张图片
3.连杆空间建模

  1. 1.在Brick Solid模块中,他本身带有一个坐标系,其原点在他的几何中心,下文我们暂且叫他为连杆坐标系。我们要描述、建立他在笛卡尔空间坐标系中的位置,需要两个坐标系的刚体变换来确定,第一个是输入坐标系的刚体变换,将输入的坐标系进行刚体变换,使其变换后的坐标系为连杆坐标系。第二个是输出坐标系的刚体变换,将连杆坐标系进行刚体变换,使其变换后的坐标系为下一个关节的空间坐标系。(一般变换后的位置为
    和下一个连杆相连接的位置,变换后的姿态为下一个关节的空间姿态,其Z轴必须为下一个关节的旋转轴!原因后面会解释到。)

    SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第7张图片

  2. 2.Rigid Transform的B和F分别是Base Frame 和 Follow Frame,代表上一个空间和下一个空间。Solid的R代表该刚体的连杆空间(常在其几何中心)。
    我们将这三个模块的组成的系统封装为一个子系统,鼠标左键同时选中三个模块,在菜单栏的MULTIPLE中,点击Create
    Subsystem即可。

SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第8张图片
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第9张图片

4.刚体变换设置和刚体设置

  1. 1 双击Rigid Transform ,Rotation代表旋转,Translation代表平移,Method代表方法。在旋转中,我们选用Standard
    Axis,下面的选项为旋转轴和旋转角度,同理,在平移中,代表平移方向和平移距离

SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第10张图片

  1. 2 双击Brick Solid,Geometry为几何属性,Dimensions为长宽高。在这里,我们只需要用到,其他的属性含义及其作用,通过官方文档可以查询。

https://ww2.mathworks.cn/help/physmod/sm/multibody-modeling.html

SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第11张图片

5.对adept的连杆进行建模
其标准DH参数如下:
为了方便起见,我们将0.350m换为100cm,0.4605m换位150cm,0.250换位50cm,-0.0855换为-10cm
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第12张图片

  1. 1 第一节连杆
    世界坐标系为[0,0,0],假设第一节连杆的底部固连世界坐标系,连杆坐标系为其连杆的几何中心,则对于第一节连杆的第一段刚体变换,为世界坐标系-连杆坐标系的变换,第二段刚体变化,则是连杆坐标系-连杆末端位置空间的变换(因为第二段连杆连接在其连杆末端)。

    刚体几何参数:(长度和宽度默认为10cm)
    SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第13张图片
    第一段刚体变换:

    补充:Translation栏延Z轴移动75cmSimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第14张图片
    第二段刚体变化:
    补充:Translation栏延Z轴移动75cmSimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第15张图片

  2. 2 第二节连杆
    观察第二节连杆,在世界坐标系内,是先绕y轴(或者x轴,视角不同,选择的轴不同,结果是一样的)旋转90°,在通过平移得到。在这里,我们选择第一节连杆的末端作为基坐标系,使其通过第一段刚体变换,变换为第二节连杆坐标系,第二节两岸坐标系再通过刚体变换转化为第二个关节的空间坐标系,其z轴为关节变量。

刚体几何参数:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第16张图片
第一段刚体变换:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第17张图片
第二段刚体变换:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第18张图片
注意:第二节连杆的末端为关节,因此其末端的空间为关节空间。

  1. 3 第三节连杆
    为了和第二节连杆区分开来,将长度和宽带设置为20cm,同第二节连杆,在世界坐标系内,为先绕y轴旋转90°,在平移,我们选择第二节两岸的末端为基坐标系。
    刚体几何参数:
    SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第19张图片

第一段刚体变换:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第20张图片
第二段刚体变换:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第21张图片
注意,在DH参数中,在第三关节,相对于第二关节,x轴有-10cm的偏移,如果直接输出,则与第三关节的空间坐标系不重合,因此,我们再添加一个Rigid Transform,使其输出刚好为第三关节的空间坐标系。

第三段刚体变换:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第22张图片
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第23张图片

5. 机械臂建立模型

将各个模块按照顺序首尾连接,如图所示,并点击运行Run:

SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第24张图片

得到仿真模型:
SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一)_第25张图片
至此,我们建立了机械臂的模型,在下一节中,我们将关节添加到模型中。

你可能感兴趣的:(SimMechanics机械臂建模与仿真:利用Matlab的SimMechanics进行机械臂的模型搭建及动力学仿真(一))