simscape仿真总结2-机器人拖拽控制仿真实现
创始人
2025-05-29 05:13:09

最近用simscape进行机器人的仿真,记录和总结一下学习心得和踩过的坑。
在这里插入图片描述
参照B站一位up主的视频做的仿真:

4自由度机械臂从Solidworks to Simscape 实现运动仿真

我也做了一个自己的简单小demo:
请添加图片描述

注意几点

  1. simscape的数据是物理信号(PS:Physics Signal),和simulink信号之间需要进行转换。
  • 从simulink到simscape需要用Simulink-PS Converter模块
    在这里插入图片描述
  • 从simscape到simulink需要用PS-Simulink Converter模块

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

  1. 仿真可以设置我们要使用的求解器和仿真步长(可变或者不可变)。点击模型设置
    在这里插入图片描述
    求解器我们就可以选择开始时间停止时间求解器是否变步长求解器类型等等。我选择的是停止时间是无穷大inf,定步长,求解器自动,求解步长0.001。
    在这里插入图片描述
  2. 为了实现下面的实时拖动效果,需要添加一个增益模块Slider Gain和常数模块Constant拖动增益模块的进度条就可以进行控制

在这里插入图片描述
①仿真时把速度调到最大 256×\times× 可以实现实时拖动实时显示。
②仿真时坐标系角度不对,原因是导出的坐标系可能定义和我们的定义不一样,比如实际转角为0度,simulink里却转动了90度。为了统一定义采用相对角度的思路,是通过子系统来实现的。

在这里插入图片描述
打开内部其实就是和90度做个加减法运算:

在这里插入图片描述
子系统封装可以参考文章

Simulink仿真教程3—子系统的创建与封装

这就不用我们去想怎么把坐标系和我们定义的坐标系统一起来,同样可以得到正确的仿真运动。

另外这个90度是怎么来的呢,我们打开旋转副Revolute,

在这里插入图片描述
关注这个初始角:

在这里插入图片描述
在我的上一篇文章simscape仿真总结1-坐标系查看和自定义坐标系说的,这个数据在同文件目录下的***_DataFile.m下定义。

找到这个smiData.RevoluteJoint(2).Rz.Pos的角度,我们看到确实是90度。
在这里插入图片描述
smiData.RevoluteJoint(2).Rz.Pos

③各个旋转副要注意使用位置输入,力矩Torque设置为Automatically Computed,位置Motion设置为Provided by Input,不能都设置成Provided by Input,会报错的。

关于具体的设置建议还是看matlab的官方文档,很详细,每个控件的定义都很详细,不过都是英文,要锻炼自己看英文的能力!

④把文件夹移动到了其他地方打开初始化出现了错误Cannot reload workspace from non-existing data source file,原因是找不到原来的Data_File文件了,解决办法:

关于打开Simulink文件报Cannot reload workspace from non-existing data source file警告的解决方案

相关内容

热门资讯

小红书博主吧啦赋能家居博主转型... 在山东威海的商业街上,吧啦270平米家居馆陈列着精致的餐具与小家电,为顾客提供一站式的服务。 然而...
中国独角兽企业总估值超1.2万... 新华社深圳7月19日电(记者印朋)2025中国(深圳)独角兽企业大会18日在深圳举行,会上发布的研究...
A City to reme... A City to RememberEssay 1: Exploring the Historica...
“二通一达”H1量增价跌 业内... 财联社7月19日讯(记者 胡皓琼)快递行业再陷“低价阴霾”,A股“二通一达”H1同比量增价跌。财联社...
深圳中考英语必备作文范文(精... 深圳中考英语必备作文范文 篇一How to Maintain a Healthy Lifestyle...