• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Matlab – Solidworks 机器人建模(5)—— 给模型添加摩擦力

人工智能 chuchu 1328次浏览 0个评论

Matlab – Solidworks 机器人建模(5)—— 给模型添加摩擦力

 

0. 前言

  建好模型并成功进行一次仿真之后,我们发现虽然模型可以像模像样的产生由重力带来的运动,但是也发现零件可以穿过其他零件,也叫“穿模”,另外如果我们仿真时间设置得足够长的话,模型似乎会一直运动下去。 原因很简单,因为此时的仿真是处在一个极其理想的状态下的。   也就是说:

  1. 我们没有定义障碍物
  2. 没有定义摩擦
  3. 所有零件是刚体,不会变形

 

1. 两种摩擦力

  这里我们首先介绍怎么添加摩擦力。首先我们需要了解两种基本的摩擦力  

  1. 粘性摩擦力: 摩擦力的大小与两个接触体的相对速度成正比
  2. 库伦摩擦力:在速度在0周围时摩擦力有一个不连续的变化

  对于简单的物理模型,用粘性摩擦模型就足够了。  

2. 添加粘性摩擦力(方法1)

  现在我这边有一个倒立摆模型,初始位置如下  
Matlab - Solidworks 机器人建模(5)—— 给模型添加摩擦力   其中1是倒立摆,与2通过一个旋转轴承连接,2和3固定不动。如果我们什么都不加的话,这个倒立摆会由于重力向下摆,然后永远摆下去。   我想在1和2之间加一个摩擦力项,使得该模型的仿真效果更加真实。回想上面说的粘性摩擦力的定义,我们发现只需要知道倒立摆的旋转速度,然后经过一个负反馈乘一个摩擦系数输入到该旋转关节就可以了   因此

  1. 双击simscape模型里面连接1和2的旋转关节
  2. 在Actuation栏下面把Torque改成输入提供
  3. 在Sensing栏下把Velocity打勾——应用
  4. 接着加一个Gain模块,用来表示粘性摩擦系数(如果你不知道你模型之间真实的摩擦系数,这里可以先设置一个合适的值看看效果,请注意,摩擦系数设置大了倒立摆不转动,小了没效果,因此需要多次尝试选择一个合适的值)
  5. 加PS-S模块和S-PS模块(在Simscape-Utilities下面),用来进行simulink信号和物理信号之间的转换。
  6. 并按照下图红框部分那样连接

 
Matlab - Solidworks 机器人建模(5)—— 给模型添加摩擦力 velocity口输出的是物理信号,要进行数学运算的话要先转成simulink信号,关节输入力是一个物理信号,所以运算结束之后要再转回物理信号。  

3. 添加粘性摩擦力(方法2)

  Simulink的旋转关节模块里面可以配置阻尼系数,因此另一种方法不需要加模块连线,直接双击模块改里面的阻尼系数即可。  
Matlab - Solidworks 机器人建模(5)—— 给模型添加摩擦力   模型修改完成之后再次运行仿真,发现倒立摆摆动了一会成功停下来了,hemm,仿真开始有点内味了。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Matlab – Solidworks 机器人建模(5)—— 给模型添加摩擦力
喜欢 (0)

您必须 登录 才能发表评论!

加载中……