solidworks转urdf插件导出参数详解
创始人
2025-05-30 10:15:38

是用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

相关内容

热门资讯

高一第一次月考作文(经典6篇... 高一第一次月考作文 篇一标题:青春的选择青春是一个美好而又犹豫的时期,我们面临着许多重要的选择。这些...
水浒传人物传记作文高中【精彩... 水浒传人物传记作文高中 篇一林冲——智勇双全的豪杰林冲,字森,号豹子头,是《水浒传》中的一位英雄人物...
星光闪闪高中生作文【优选3篇... 星光闪闪高中生作文 篇一:挑战自我,追求卓越作为一名星光闪闪的高中生,我们应该怀揣着追求卓越的心态,...
话说古人身高作文700字(精... 话说古人身高作文700字 篇一古人的身高一直是历史学家和考古学家们关注的热门话题。在古代,身高并不像...
高一新生军训动员讲话【优选3... 高一新生军训动员讲话 篇一尊敬的高一新生们:大家好!首先,我代表学校向大家表示热烈的欢迎!作为高中的...