2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > SolidWorks转.urdf格式机器人模型导入Matlab

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

时间:2021-01-13 23:04:04

相关推荐

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

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

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

一 SolidWorks导出urdf格式

1.1 安装sw_urdf_exporter插件

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

下载地址:/sw_urdf_exporter

下载SolidWorks to URDF Exporter插件后按照网站上的步骤进行安装(笔者该插件已经在Win 7 64位系统+Solidworks 上验证过。打开Solidworks 的插件对话框,可以看到SW2URDF插件已经加载并启动:

1.2 导出单个零件到urdf文件

在Solidworks中定义好零件的材质等参数后,在工具→File→Export as URDF中打开导出对话框进行确认。

详细操作课参考:/21207-iHome/p/7821269.html

1.3 导出装配体到urdf文件

SW2URDF插件并没有智能到能自动识别Solidworks装配体中的约束,然后正确导出URDF文件,还需要我们自己在装配体中建立参考坐标系参考轴以及指定轴的类型。详细操作可参考:

文章: /21207-iHome/p/7821269.html

视频: /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的参考坐标

笔者此步操作与视频: /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中的参数即可:

此例中调整为:

到此,所有工作完成,结果如下:

后记:

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。