我是靠谱客的博主 积极导师,最近开发中收集的这篇文章主要介绍记录一下,simulink使用导入的机械臂CAD模型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先留个链接,后续用到再看
Simulink仿真入门到精通(二) Simulink模块
Simulink仿真入门到精通(五) Simulink模型的仿真
Simulink仿真入门到精通(七) Simulink的回调函数

  1. 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即可
    在这里插入图片描述

  2. 执行smimport('robotname.xml')后得到对应的simulink文件(*.slx),我把其中各实体模块的参数都根据对应的robotname_DataFile.m文件中的数据进行了修改
    在这里插入图片描述
    具体各个参数下次有时间再记录,只是临时做的,joint1添加幅值为90度的正弦输入信号,其它各关节除了添加upper limitlower limit外均为随即。
    在这里插入图片描述

  3. 继续添加输入信号控制–Slider Gain,通过滑块来控制各关节变量,遇到个问题,运行后机器人会自动从初始位置变到滑块所给的值,但是再拉动滑块,机器人不会随之运动。

  4. 在输入端添加了一个SumPID Controller模块,并且在模型配置参数(Modeling configuration parameter)将Solver selectionType改为Fixed-stepSolver改成ode14xstep改为0.001后貌似有点正常了,滑动滑块,机器人会随之调整状态。不过还有一个问题:机器人一直在自己动,这块应该还有哪块的参数不对。

  5. 只针对关节1的输入进行测试,其它关节变量统统置为0。PID参数的调节太麻烦了,很费事。
    Signal Builder模块,注意change time range,各信号的Y Snap GridT Snap Grid,按shift键可以增加节点,可以使用excel预先编辑节点(两列数据,左边一列对应Time,右边一列对应Y),然后导入。
    在这里插入图片描述
    用了个Multiport Switch来切换关节1变量的输入信号,最上面有个选择通道端口(接了一个Constant模块给输入),下面的是各个信号输入端口。选择端口输入某个端口号,那么下面的信号端口为该端口号的通过。端口号顺序从上到下排列。端口号开始数字可以为0(Zero-based)或者1(One-based),需要在属性里面设置。
    在这里插入图片描述
    使用Constant模块控制Multiport Switch的输入时,本来是想用个参数singal_choose来修改,但貌似有点问题,下一步继续测试,如果通过的话,打算做GUI窗口了,包括按钮来使机器人回零态。

  6. 目前发现一个问题,机器人的运动有很大的滞后。

最后

以上就是积极导师为你收集整理的记录一下,simulink使用导入的机械臂CAD模型的全部内容,希望文章能够帮你解决记录一下,simulink使用导入的机械臂CAD模型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部