3. SimMechanics/Multibody二连杆平面臂仿真

目录

1. 引言

2. 搭建仿真模型

3. 仿真结果

4. 总结


1. 引言

        前面两篇文章分别介绍了Multibody的基本使用方法以及模型驱动和信号测量的基础。接下来我们就可以搭建一些典型机构的仿真模型了。这篇文章主要介绍利用Multibody搭建二连杆平面臂的仿真模型。利用Multibody可以非常方便地实现机器人运动学及动力学相关验证工作。

2. 搭建仿真模型

        首先我们复用1. SimMechanics/Multibody入门(以下简称入门文章)这篇文章的成果先把Multibody的基本框架搭建出来。打开simulink创建一个Simscape --> Multibody的模板项目(Matlab 2018b)。接下来我们创建一个圆柱形的连杆,由于存在额外的旋转变换,因此圆柱形连杆的创建相较于入门文章显得稍微复杂一些,这里展开介绍一下,首先在框图中添加一个Solid模块,双击该模块进入属性编辑菜单,进行如下配置。

Solid模块配置
参数参数值单位
Geometry --> ShapeCylinder
Geometry --> Radiusrm
Geometry --> Lengthlm
Graphic -->Visual Properties --> Colorrgb
Inertia --> Densityrho默认
Frames --> Show Port R取消勾选

在Frames属性下的New Frames处点击创建一个新的坐标系。坐标系配置如下图1所示。

 图1 刚体上新建F1坐标系

点击Save保存这个坐标系,再次点击Save保存Solid配置,这样Solid模块的R端口被隐藏,F1端口显示在模块上。r和l等为待定义参数,请暂时忽略掉模块配置的报错。Solid配置完成后如下图2所示。

图2 Solid模块配置

 接下来添加两个Rigid Transform模块,并分别将B端与上述Solid模块F1端连接。这两个坐标系将分别固定在Solid模块的两个端点上。如下图3所示。

 图3 添加Rigid Transform模块

Rigid Transform模块的属性配置如下图4所示。

 图4 Rigid Transform配置

Rigid Transform1模块的属性配置如下图5所示。

图5 Rigid Transform1配置 

接下来仿照入门文章的介绍,利用两个Rigid Transform模块和Solid模块创建一个子系统并添加Mask,只不过这里的参数变成了圆柱体的半径r,长度l,密度rho等。这个子系统就是连杆了。因为我们要仿真的是一个二连杆,所以将子系统复制一份作为连杆2。

        接下来添加两个Revolute Joint,引出关节位置控制端以及所有的信号测量端,添加两个关节的正弦激励信号(具体方式可以参考本专栏前面两篇文章),各个模块连接起来如下图6所示。

图6 二连杆平面臂仿真模型

link1参数如下图7所示

图7 link1配置

link2参数如下图8所示

图8 link2配置

Sine Wave配置如下图9所示

图9 Sine Wave配置 

Sine Wave1配置如下图10所示

图10 Sine Wave1配置

S-PS1和S-PS2配置相同,如下图11所示

 

 图11 S-PS1和S-PS2配置

Mechanism Configuration配置如下图12所示

图12 Mechanism Configuration配置

求解器依然选择ode15s (stiff/NDF)。以上配置在入门文章中均有相应的提及,这里不再赘述。

3. 仿真结果

        完成以上一系列配置之后点击simulink窗口下的开始仿真即可显示3D模型仿真窗口,如下图13所示。

 图13 3D可视化界面

二连杆平面臂的仿真结果如下图14所示。

 图14 二连杆平面臂仿真效果

二连杆平面臂模型已经上传到github:https://github.com/hitgavin/simmechanics/tree/master/two_link_planner_robot,感兴趣的读者可以下载看一下。

4. 总结

        这篇文章主要介绍了SimMechanics搭建二连杆平面臂仿真环境的过程,这个仿真模型可以用来做很多的事情,感兴趣的可以阅读一下机器人动力学专栏下二连杆平面臂动力学验证相关文章。

        由于个人能力有限,所述内容难免存在疏漏,欢迎指出,欢迎讨论。

  • 11
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值