SolidWorks生成urdf在MATLAB中导入

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

一、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.

  • 30
    点赞
  • 174
    收藏
    觉得还不错? 一键收藏
  • 33
    评论
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进行进一步仿真和控制。这样,研究和开发机器人相关的算法和应用将变得更加便捷和高效。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值