是用solidworks成功導出了一次urdf,記錄一下導出時各參數(shù)的說明。
你需要做的:先定義好你的 坐標系和 基準軸??梢钥匆幌翨站這個up主的系列視頻的P4。
基于MALTAB/Simulink、Coppeliasim的六軸機械臂仿真
感覺網上關于urdf參數(shù)講得有點讓人摸不著頭腦,自己導出成功了嘛,所以還是做一下總結。
基座的設置
urdf還是很規(guī)范的, 首先它讓你定義基座:base_link??梢钥吹叫枰xLink Name
、Global Origin Coordinate System
、Link Components
、Number of child links
-
Line Name
我設置為link0(基坐標系,名字設置為自己想要的就行) -
Global Origin Coordinate System
設置為frame0(這個坐標系就是世界坐標系,沒錯我讓基座坐標系和世界坐標系重合了!),我一般建立三維裝配體的時候設置裝配體的原點和裝配體內坐標系原點重合。這樣導入三維模型就不會發(fā)現(xiàn)原點的偏移。
Global Origin Coordinate System
![]()
-
Link Components
選中你的基座標系的零件(如上圖藍色的零件),有幾個選幾個?;J為是固定動的,和世界坐標系固連。這方便機器人所有的坐標都是在正確的世界坐標系定義。 -
Number of child links
就是接下去支鏈的個數(shù)(和當前連桿連接的其他的連桿的個數(shù)),串聯(lián)機器人連接的連桿就一個,并聯(lián)機器人連接的連桿可能不止一個,看情況來,我這里是一個。
中間連桿的設置
中間關節(jié)是和末端坐標系進行區(qū)分的:中間坐標系有運動副,末端坐標系沒有運動副,末端坐標系的設置在后面也會講到。
我們點擊中間連桿(帶有運動副的),以link1為例,可以看到需要定義Link Name
、Joint Name
、Reference Coordinate System``Reference Axis
、Joint Type
、Link Components
、Number 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 - 固定副,關節(jié)不可運動,可以用來描述末端。
- floating - 六自由度關節(jié)。
- planar - 平面副。
這里我的運動副都設置成有限制轉角的revolute,還是根據實際來操作。
關于
Reference Axis
和Joint Type
我感覺很多博客沒有講清楚,為了講清楚我放張圖上來。
軸線
坐標系
-
Link Components
:和基座一樣,選中link1對應的零件。 -
Number of child links
:是支鏈的個數(shù)(和當前連桿連接的其他的連桿的個數(shù)),這里是1。
其他中間關節(jié)如法炮制。
末端坐標系的設置
我們一般還關心末端的位置和姿態(tài),這里我設置了末端的坐標系,但是這個坐標系不能繞任何軸旋轉。
和前面的中間關節(jié)有幾個地方設置得不一樣:
-
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
我放張圖上來。
- linkEnd坐標系:末端坐標系是零件的尾,
Link Components
同link6。![]()
- link6坐標系:link6坐標系是零件的頭,
Link Components
同linkEnd。![]()
-
Number of child links
:是支鏈的個數(shù)后面沒有其他連桿了,設置為0。
輸出可能有的bug,目前碰到的:
SolidWorks轉urdf導出模型錯位解決
記錄一下,以后說不定還要用。文章來源:http://www.zghlxwxcb.cn/news/detail-487405.html
其他參考文章來源地址http://www.zghlxwxcb.cn/news/detail-487405.html
- 機器人模型導入MATLAB(二):導入Simscape URDF格式
- SolidWorks導出機械臂的URDF模型各個關節(jié)坐標系設置
- 【ROS學習】Solidworks模型轉化為URDF文件格式+三連桿機械臂示例+逆運動學
- Solidworks 2016中導出URDF文件
- SolidWorks生成urdf在MATLAB中導入
- SolidWorks轉.urdf格式機器人模型導入Matlab
到了這里,關于solidworks轉urdf插件導出參數(shù)詳解的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!