前言:之前海子哥用SimMechanics来建立机械臂仿真,自己也开始慢慢的使用,发现SimMechanics比Adams仿真机械臂好用多了,由于Matlab/simulink能与SimMechanics形成交互界面,数据处理非常的方便,且SimMechanics自带的模块功能也很强大,用起来实属方便。

Simscape Multibody/simmechanics官方文档

一. smnew命令

这里我使用的matlab版本是R2019b,在命令行窗口输入smnew,即可启动SimMechanics基本模块组成的模型。其中包括:

Solver Configuration :求解器
World Frame : 世界坐标系
Mechanism Configuration:设置重力和数值计算
Brick Solid :刚体构件
Simulink-PS Convert :转换模块
Rigid Transform :平移变换系

Simscape Multibody library 即为模块库。

二. 各模块说明

2.1 Solid模块

在这里插入图片描述

Geometey设置刚体的形状,也可以从外部文件导入。
Inertia设置刚体的质量/密度
Graphic设置图形颜色
Frames建立刚体的坐标系。

:在建立Solid的frames之前需要先规划好整个机械臂的坐标系,这里我的坐标系建立是按照改进型DH参数来建立。

2.2 Rigid Transform模块

在这里插入图片描述
在这里插入图片描述

  设置坐标系的旋转和平移,Standard Axis表示绕port B的坐标系的轴旋转平移变化得到的port F坐标系,None表示不平移或者不旋转。

2.3 Revolute Joint模块

Limit设置旋转关节的最大最小限位角,Actuation设置力矩输入或驱动输入。
①.当力矩输入时则旋转关节的角度和角速度自动计算。
②.当设置驱动输入时,则驱动力矩由系统自动计算
Sensing传感器根据实际情况选择,表示输出角度角速度或者力矩。

三. 搭建机械臂模型

  从外部文件导入机械臂solid。按照 solid – transform – revolute joint – solid进行连接,前一个模块的Follower接后一个模块的Base,依次进行连接。

在这里插入图片描述

启动仿真即可出现机械臂的基本模型,视图左边部分可以查看各个部件的坐标系

四. 总结

至此,机械臂基本模型就完成了,需要注意的是坐标系的变换关系要正确。利用此模型后继可以完成轨迹规划,负载识别等工作。还可以加上转动惯量传感器,坐标系传感器测量转动惯量或测距。

Inertia Sensor模块 :
mass
Center of mass
Inertia Matrix (惯性矩阵 绕选中坐标系的惯性矩阵)
Centered Inertia Matrix (中心惯性矩阵 = 质心惯性矩阵)
Principal Inertia Matrix (主惯性矩阵)