solidworks转urdf插件导出参数详解

是用solidworks成功导出了一次urdf,记录一下导出时各参数的说明。


你需要做的:先定义好你的 坐标系基准轴。可以看一下B站这个up主的系列视频的P4。

基于MALTAB/Simulink、Coppeliasim的六轴机械臂仿真

感觉网上关于urdf参数讲得有点让人摸不着头脑,自己导出成功了嘛,所以还是做一下总结。

基座的设置

urdf还是很规范的, 首先它让你定义基座:base_link。可以看到需要定义Link NameGlobal Origin Coordinate SystemLink ComponentsNumber of child links
在这里插入图片描述

  • Line Name我设置为link0(基坐标系,名字设置为自己想要的就行)

  • Global Origin Coordinate System设置为frame0(这个坐标系就是世界坐标系,没错我让基座坐标系和世界坐标系重合了!),我一般建立三维装配体的时候设置装配体的原点和装配体内坐标系原点重合。这样导入三维模型就不会发现原点的偏移。

  1. Global Origin Coordinate System在这里插入图片描述
  • Link Components选中你的基座标系的零件(如上图蓝色的零件),有几个选几个。基座认为是固定动的,和世界坐标系固连。这方便机器人所有的坐标都是在正确的世界坐标系定义。

  • Number of child links就是接下去支链的个数(和当前连杆连接的其他的连杆的个数),串联机器人连接的连杆就一个,并联机器人连接的连杆可能不止一个,看情况来,我这里是一个。

中间连杆的设置

中间关节是和末端坐标系进行区分的:中间坐标系有运动副,末端坐标系没有运动副,末端坐标系的设置在后面也会讲到。

我们点击中间连杆(带有运动副的),以link1为例,可以看到需要定义Link NameJoint NameReference Coordinate System``Reference AxisJoint TypeLink ComponentsNumber of child links

在这里插入图片描述

  • Parent Link:父连杆是上一个连接的连杆link0。

  • Link Name:设置为当前连杆link1(名字设置为自己想要的就行)。

  • Joint Name:设置为joint1(名字设置为自己想要的就行)。

  • Reference Coordinate System``Reference Axis: 设置为当前连杆(这里是link1)的坐标系,我这里设置是z轴沿轴线方向(没错这里的轴线和上面的Reference Axis的轴线是同一个方向的)。设置这个坐标系的目的是为了让这个坐标系绕着下一个属性 Reference Axis设置的轴线进行旋转

  • Reference Axis设置为前一个连杆(这里是基座link0)和当前连杆(这里是link1)之间的运动副的轴线(旋转副就是转轴的轴线,移动副就是移动的方向)。

  • Joint Type:这里要设置运动副的类型,主要有:

    • revolute - 旋转副,其极限位置由 upper and lower limits 决定
    • continuous - 旋转副,无位置限制
    • prismatic - 移动副,其极限位置由 upper and lower limits 决定
    • fixed - 固定副,关节不可运动,可以用来描述末端。
    • floating - 六自由度关节。
    • planar - 平面副。

这里我的运动副都设置成有限制转角的revolute,还是根据实际来操作。

关于Reference AxisJoint Type我感觉很多博客没有讲清楚,为了讲清楚我放张图上来。

  1. 轴线在这里插入图片描述

  2. 坐标系
    在这里插入图片描述

  • Link Components:和基座一样,选中link1对应的零件
  • Number of child links:是支链的个数(和当前连杆连接的其他的连杆的个数),这里是1

其他中间关节如法炮制。

末端坐标系的设置

我们一般还关心末端的位置和姿态,这里我设置了末端的坐标系,但是这个坐标系不能绕任何轴旋转。
在这里插入图片描述
和前面的中间关节有几个地方设置得不一样:

  • Parent Link:父连杆是上一个连接的连杆link6。

  • Link Name:设置为当前连杆名linkEnd(名字设置为自己想要的就行)。

  • Joint Name:设置为jointEnd(名字设置为自己想要的就行)。

  • Reference Coordinate System``Reference Axis: 设置为末端坐标系

  • Reference Axis:不能绕任何轴旋转,设置为None

  • Joint Type:设置为 fixed - 固定副,用来描述末端。

  • Link Components:选中和link6(注意link6是它的父连杆)一样的零件,可以理解为:父连杆link6定义的坐标系是零件的头【有旋转副】,这里末端也用和link6一样的零件,它定义的坐标系是零件的尾,也就是末端

在这里插入图片描述

还是一样,为了讲清楚Link Components我放张图上来。

  1. linkEnd坐标系:末端坐标系是零件的尾Link Components同link6。在这里插入图片描述
  2. link6坐标系:link6坐标系是零件的头Link Components同linkEnd。
    在这里插入图片描述
  • Number of child links:是支链的个数后面没有其他连杆了,设置为0

输出可能有的bug,目前碰到的:

SolidWorks转urdf导出模型错位解决

记录一下,以后说不定还要用。

其他参考

  1. 机器人模型导入MATLAB(二):导入Simscape URDF格式
  2. SolidWorks导出机械臂的URDF模型各个关节坐标系设置
  3. 【ROS学习】Solidworks模型转化为URDF文件格式+三连杆机械臂示例+逆运动学
  4. Solidworks 2016中导出URDF文件
  5. SolidWorks生成urdf在MATLAB中导入
  6. SolidWorks转.urdf格式机器人模型导入Matlab
  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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中进行进一步仿真和控制。这样,研究和开发机器人相关的算法和应用将变得更加便捷和高效。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值