SolidWorks生成urdf在MATLAB中导入 您所在的位置:网站首页 把坐标导入soildwork中画出直线 SolidWorks生成urdf在MATLAB中导入

SolidWorks生成urdf在MATLAB中导入

2024-07-05 14:35| 来源: 网络整理| 查看: 265

去年在CSDN上学会了怎么用SolidWorks制作urdf并且导入MATLAB中。学习过程走了不少弯路,前一段时间还有人在闲鱼让我教他怎么生成。 CSDN上的教程很丰富但也会有不少问题,当时花了两天的时间才制作出我想要的模型,因此在这里总结一些经验。

目录 一、SolidWorks软件安装 sw_urdf_exporter插件二、制作urdf文件1、建立基准轴和坐标系2、打开插件制作urdf 三、urdf文件的MATLAB的导入1、MATLAB显示urdf2、MATLAB控制urdf运动 四、总结

一、SolidWorks软件安装 sw_urdf_exporter插件

这个过程有很多教程了,都很详细,我就不赘述了。 这里放一个教程详细的连接。 链接: 给SolidWorks软件安装 sw_urdf_exporte.

二、制作urdf文件

我以PUMA 560机械臂为例,生成一遍urdf文件。最好先将每个连杆上的零件生成一个整体零件以便于后续的选择。

1、建立基准轴和坐标系

(1)如图所示,将装配体按照初始位姿调整各零件的相对位置。

固定在初始位姿 (2)如图所示,针对各个关节轴线插入基准轴。 在这里插入图片描述 (3)如图所示,3D草图画出各轴线交点。在这里插入图片描述 (4)如图所示,根据自己建立好的DH或改进DH参数表插入坐标系。 在这里插入图片描述

2、打开插件制作urdf

(1)如图所示,在此处打开插件。 在这里插入图片描述 (2)如图所示,打开插件后会进入如图所示的界面。在这里插入图片描述 (3)如图所示,先设置base_link。从上到下设置名字、选择坐标系、选择基座零件和设置后面的子杆。 在这里插入图片描述 (4)如图所示,点击此处进入1杆的设置。 在这里插入图片描述 (5)如图所示,1杆(link1)的设置和基座不一样了。从上到下为link名称、joint名称、坐标系选择、基准轴选择、关节类型、连杆零件和连杆子杆(一般为1,但在小车中四个轮子就是4)。 在这里插入图片描述 (6)如图所示,link2的设置和link1相似,一样的步骤。 在这里插入图片描述 (7)如图所示,到最后一个link时,前面的步骤一样,只需将子杆设为0。并点击箭头所指处进入urdf调整界面。 在这里插入图片描述 (8)如图所示,为urdf的调整界面。 在这里插入图片描述 (9)如图所示,点击joint1进行设置。 2方框内容为先前设置的信息,检查是否有误,可在此处更改。 3方框为关节角限制,必须添加,否则可能会出错。 在这里插入图片描述 (10)如图所示,joint2页进行如joint1的检查和修改。在这里插入图片描述 (11)如图所示,将所有的joint设置完后,点击右下角箭头所指出,进入下一界面——link内容的修改。 在这里插入图片描述 (12)如图所示,link的设置界面。 在这里插入图片描述 (13)如图所示,首先点击base_link,进行修改。 划重点 2方框的内容有时会有个不为零的数,可以不用修改。但很多情况是0,因此必须进行修改,这在许多博客里面没提到,可能他们是导入的ROS,在导入MATLAB时,不设置会显示杂乱。 可以设为很小的值,但必须要有,我设置的是0.00001。因为我只用到了运动学的模拟,没用到动力学的部分,因此没有影响。 在这里插入图片描述 (14)如图所示,link1也进行如base_link的修改。 在这里插入图片描述 (15)如图所示,将所有的link修改完后,点击右下角的箭头所示的按钮Finish。 在这里插入图片描述 (16)如图所示,点击完成后,会出来一个文件保存。 划重点 文件的命名不能带汉字最好是英文加数字。我曾经就命名为H1,其他的也行。 这一点在许多大佬的博客里面也都有强调。 在这里插入图片描述 (17)如图所示,为我修改后的名称。 在这里插入图片描述 (18)如图所示,点击保存后会弹出一个小框,点击确定就行。到此就完成了 urdf文件的生成。在这里插入图片描述

三、urdf文件的MATLAB的导入 1、MATLAB显示urdf

首先MATLAB2017以及之后的版本才支持导入urdf。 将刚刚制作的文件夹整个加入MATLAB路径。 运行如下所示代码。

robot=importrobot('puma560.urdf'); show(robot);

即可出现如图所示的可视化模型。 在这里插入图片描述

2、MATLAB控制urdf运动

运行如下所示代码

robot=importrobot('puma560.urdf'); robot.DataFormat='column';robot.DataFormat='column';%数据格式为列,row为行;为‘row'时q0要转置为q0’ show(robot,[-pi/4 pi/4 0 0 0]','PreservePlot',false);%机械臂演示

则可出现如图所示的效果。 在这里插入图片描述 想要这个urdf连续运动,可以写个for循环。还可制成GIF动图。 下面这个就是我去年做的那个模型的GIF,还挺流畅。 在这里插入图片描述

四、总结

必须注意的两个方面 1、连杆的moment of inertia(惯性矩)为零的话,必须得修改。 2、生成的文件命名不要带汉字,最好是字母和数字组合。 内容比较多,主要考虑到新手友好。 我把三维模型和制作的urdf传到下载资源里面了。 链接: puma560模型和urdf.zip.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有