SolidWorks转.urdf格式机器人模型导入Matlab

SolidWorks转.urdf格式机器人模型导入Matlab

本文讲述了利用solidworks将机器人模型转换为urdf格式导入Matlab中,以便后续法开发等操作。同时针对测试时遇到模型导出不完整问题提出了解决方案。

一 SolidWorks导出urdf格式

1.1 安装sw_urdf_exporter插件

首先在solidworks安装sw2urdf插件,安装方法如下:

下载地址:http://wiki.ros.org/sw_urdf_exporter
在这里插入图片描述
下载SolidWorks to URDF Exporter插件后按照网站上的步骤进行安装(笔者该插件已经在Win 7 64位系统+Solidworks 2017上验证过。打开Solidworks 2017的插件对话框,可以看到SW2URDF插件已经加载并启动:
在这里插入图片描述

1.2 导出单个零件到urdf文件

在Solidworks中定义好零件的材质等参数后,在工具→File→Export as URDF中打开导出对话框进行确认。
详细操作课参考:https://www.cnblogs.com/21207-iHome/p/7821269.html

1.3 导出装配体到urdf文件

SW2URDF插件并没有智能到能自动识别Solidworks装配体中的约束,然后正确导出URDF文件,还需要我们自己在装配体中建立参考坐标系参考轴以及指定轴的类型。详细操作可参考:
文章: https://www.cnblogs.com/21207-iHome/p/7821269.html
视频: https://haokan.baidu.com/v?pd=wisenatural&vid=7496597534145694019

其主要核心在于参考的合适的坐标系、中心转动轴等,设置装配体的Joint 与 Link 。
如:(笔者用IRB2600ID-8-200 (倒置式安装)工业机器人为例)
在这里插入图片描述
(参考坐标、中心轴较多,看上去不太清晰)

设置好各轴属性参数后导出即可:
在这里插入图片描述

二 Matlab导入urdf文件实现可视化

经solidworks导出的urdf文件内容如下:
在这里插入图片描述
导入具有.stl文件(meshes文件夹中)的机器人与统一的机器人描述格式 (URDF) 文件相关联, 以描述机器人的视觉几何。每个刚体都有一个单独的视觉几何特征。importrobot函数对 URDF 文件进行解析, 得到机器人模型和视觉几何。使用show功能可视化的机器人模型显示在一个figure图框中。然后, 可以通过单击组件来检查它们并右键单击以切换可见性来与模型进行交互。
将机器人模型作为 URDF 文件导入,此 URDF 中必须正确指定.STL文件位置。
详情课参考博文:MATLAB机器人可视化
(该博主RobSim对机器人仿真方面作了大量的分享)

然后运行代码:

robot = importrobot('IRB2600ID_8_200.SLDASM.urdf');
show(robot)

结果如下:
在这里插入图片描述

三 问题解决

笔者在测试时遇到以下错误:
从solidworks导出的urdf文件包里面Link2的Link2.STL文件模型不完整,Link2.STL 格式模型如下:
在这里插入图片描述
可见第二个关节导出模型不完整,(笔者不知其解,可能是SolidWorks插件BUG?也可能是笔者理解不够透彻,存在参数设置不正确,也希望有读者遇到过同样问题,望指点),使得Matlab导入模型不完整,如下:
在这里插入图片描述
针对此问题,受到博客Solidworks转URDF零件错位的解决 的启发,用如下方法进行修改解决:

3.1 用零件图导出规定坐标系的STL文件

将出错的Link2零件的零件图中设置一个参考坐标系,这个坐标系设置在这个零件的Joint的位置。(本例中在两个转动副处分别建立了坐标系与基准轴)
在这里插入图片描述
然后另存为导出为STL文件。选择画图用到的单位,勾选“不要转换…”和“在单一文件…”,设置输出坐标系为选定的坐标,如图所示:
在这里插入图片描述

3.2 在装配图中重新设置Joint的参考坐标

笔者此步操作与 视频https://haokan.baidu.com/v?pd=wisenatural&vid=7496597534145694019博客Solidworks转URDF零件错位的解决 的操作不同,笔者是分别先将每个零件Link中Joint处建立基准轴与参考坐标系(如3.1),然后进行装配体导出URDF文件包时每个Joint的基准轴与参考坐标系选择零件Link中的基准轴与参考坐标系,如图所示:
在这里插入图片描述

3.2 修改urdf文件

进行上述操作导出零件Link2的STL文件与装配体的urdf文件包后,用3.1操作的Link2.STL替换掉装配体urdf文件包中meshes目录下的Link2.STL,然后用Matlab打开运行上述 中的代码,查看结果:
在这里插入图片描述
说明零件Link2的参考坐标系与装配体中的位姿未完全重合,此时只需要修改urdf中的参数即可:
在这里插入图片描述
此例中调整为:
在这里插入图片描述

到此,所有工作完成,结果如下:
在这里插入图片描述

后记:
笔者才疏学浅,如有错误,望指出。

  • 9
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
SolidWorks是一款强大的三维计算机辅助设计软件,URDF(Unified Robot Description Format)是一种用于描述机器人模型的XML格式。将SolidWorks机器人模型换成URDF格式,并导入MATLAB进行进一步的仿真和控制可以通过以下步骤实现。 首先,使用SolidWorks打开机器人模型文件。然后,通过SolidWorks的“导出”功能将机器人模型以STL(或其他支持的格式)导出。 接下来,使用URDF编写工具(如URDF Exporter)将STL文件换为URDF格式。确保在换过程正确设置机器人模型的连接关系、关节类型和参数等。 换完成后,获得URDF格式机器人模型文件。然后,打开MATLAB导入URDF文件。使用MATLAB机器人模型工具箱,可以读取并解析URDF文件,生成MATLAB机器人模型对象。 通过MATLAB机器人模型对象,可以进行各种仿真和控制操作。例如,可以使用MATLAB编写控制算法,并通过机器人模型对象模拟机器人的动态响应。还可以进行路径规划、碰撞检测、动力学分析等。 此外,MATLAB还提供了用于可视化机器人模型的工具。可以使用MATLAB的3D绘图功能,在MATLAB显示和操纵机器人模型。 通过以上步骤,可以将SolidWorks机器人模型换成URDF格式,并导入MATLAB进行进一步仿真和控制。这样,研究和开发机器人相关的算法和应用将变得更加便捷和高效。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值