概述
先留个链接,后续用到再看
Simulink仿真入门到精通(二) Simulink模块
Simulink仿真入门到精通(五) Simulink模型的仿真
Simulink仿真入门到精通(七) Simulink的回调函数
-
Simscape —— 给关节加驱动信号
使用Sine Wave模块
,该模块输出为Simulink信号(缺省连续),需使用Simulink-PS Converter模块
转换成物理信号输出给关节变量,出现:
此错误第一条源自于使用了simMechanics库,按照提示需要在模型配置参数(Modeling configuration parameter
)将solver
改成ode23t
第二条源于连续信号和离散信号,需将simulink-PS converter模块里面的Input Handling参数分别改成:
Filter input
,
derivatives calculated Second-order filtering
,
Input filtering time constant (in seconds)
缺省值0.001即可
-
执行
smimport('robotname.xml')
后得到对应的simulink文件(*.slx),我把其中各实体模块的参数都根据对应的robotname_DataFile.m
文件中的数据进行了修改
具体各个参数下次有时间再记录,只是临时做的,joint1添加幅值为90度的正弦输入信号,其它各关节除了添加upper limit
和lower limit
外均为随即。
-
继续添加输入信号控制–
Slider Gain
,通过滑块来控制各关节变量,遇到个问题,运行后机器人会自动从初始位置变到滑块所给的值,但是再拉动滑块,机器人不会随之运动。 -
在输入端添加了一个
Sum
和PID Controller
模块,并且在模型配置参数(Modeling configuration parameter
)将Solver selection
的Type
改为Fixed-step
,Solver
改成ode14x
,step
改为0.001
后貌似有点正常了,滑动滑块,机器人会随之调整状态。不过还有一个问题:机器人一直在自己动,这块应该还有哪块的参数不对。 -
只针对关节1的输入进行测试,其它关节变量统统置为0。PID参数的调节太麻烦了,很费事。
Signal Builder
模块,注意change time range
,各信号的Y Snap Grid
和T Snap Grid
,按shift
键可以增加节点,可以使用excel预先编辑节点(两列数据,左边一列对应Time
,右边一列对应Y
),然后导入。
用了个Multiport Switch
来切换关节1变量的输入信号,最上面有个选择通道端口(接了一个Constant模块给输入),下面的是各个信号输入端口。选择端口输入某个端口号,那么下面的信号端口为该端口号的通过。端口号顺序从上到下排列。端口号开始数字可以为0(Zero-based
)或者1(One-based
),需要在属性里面设置。
使用Constant模块控制Multiport Switch
的输入时,本来是想用个参数singal_choose
来修改,但貌似有点问题,下一步继续测试,如果通过的话,打算做GUI窗口了,包括按钮来使机器人回零态。 -
目前发现一个问题,机器人的运动有很大的滞后。
最后
以上就是积极导师为你收集整理的记录一下,simulink使用导入的机械臂CAD模型的全部内容,希望文章能够帮你解决记录一下,simulink使用导入的机械臂CAD模型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复