1. 程式人生 > >(譯):將SolidWorks模型轉URDF

(譯):將SolidWorks模型轉URDF

參考網站:wiki

0.1 屬性管理器

視窗首先會出現一個屬性管理器頁面,用來配置你要匯出的urdf檔案。 您需要配置每個link並手動構建link樹。 第一次配置完成後,軟體會自動儲存配置。 以後你應該可以跳過這一步。


對於每個link,需要給它一個唯一的名稱,同時給link一個獨一的joint名稱,在SolidWorks中選擇要與該link關聯的元件(裝配體或者零件),並新增子link的數量。 如果你有參考座標系或座標軸,你會更想用使用該工具,你可以從列表中選擇這些座標系或座標軸。 你也可以手動指定每種joint型別。 每個URDF有且僅有一個base_link。 對於這一個link,因為沒有更高等級的link相連線。所以是沒有joint的配置的。您只需要給它命名(如果您不想將其稱為base_link),請選擇其配置並建立其子link。

在SolidWorks中,如果你是從裝配體中直接選取而不是從設計樹中選取,那麼你只能選擇零部件。 更有可能的是,你更願意選擇代表整個link的元件,在這種情況下,你可以從設計樹中選擇它們,如上圖所示。


配置樹會顯示您新增的所有link。 對於每個子link,將為其父link建立一個joint(關節)。 你可以選擇你已新增的任何link來更改其屬性。 右鍵點選link可以讓你新增或刪除link。 您也可以拖動link來重新進行排序。 將父link拖到子link上會導致子link與父link切換位置。 父link的其他孩子仍然保留與原來的父link的連線。

點選綠色標記將儲存您的配置並退出。 點選紅色x將允許您退出而不儲存對配置所做的更改。

當你準備建立你的URDF時,點選“Preview and Export..”。 如果您已指定自動生成座標系或座標軸,則將在此階段生成座標系或座標軸。

0.1Jiont(關節)屬性

如果您發現這些joint原點通常不是在最理想的位置建立的,你可以更改參考座標系和座標軸以適應輸出埠以外的需求。 但是,該模型將按原樣正常工作。 3D草圖僅用於臨時構建,你可以用來調整參考幾何體的位置。 在“Joint Properties”頁面上按"cancle"會將座標系和軸的名稱儲存到您的配置中。 然後您可以繼續調整座標系和座標軸。 點選“File> Export to URDF”重新啟動匯出過程。 確保為每個link儲存了正確的座標系和座標軸名稱。 該工具將不再構建它們,而是參考已經存在的參考幾何圖形。


Joint頁面包含一個不可配置的joint樹,點選每個JOINT將在右側顯示其屬性。 您可以在匯出之前自定義任何關節(joint)的屬性。 這些屬性不會儲存在配置中。 他們將需要每次重新輸入。

g根據urdf規範要求,最初的欄位不能為空。 如果它們留空,則不會寫入URDF檔案。 如果您更改了包含其他必填欄位的屬性,但忘記填寫具體的數值,則它們將填入0。

點選“next”配置link屬性

0.1 link 屬性

本頁面展示了與之前討論的零件輸出埠(Part Exporter)類似的頁面。 您可以更改樹中任何link的屬性。 您可以新增紋理,更改顏色,更改不同部分的原點,更改慣性張量矩,質量等。這些更改也不會與您的配置一起儲存。


點選“finish”按鍵完成你的配置

0.1 構建功能包

該package(包)將包含網格(meshes),紋理(textures)和機器人(robots)的目錄。 它還將包含ROS清單檔案(manifest),因此您可以將其作為ROS功能包,只需將其複製到ROS系統即可。 URDF中的路徑位置與功能包包本身相關。 如果你沒有 rospack,則需要手動更改路徑,以便它們使用URDF檔案引用電腦上的位置。 如果您使用 rospack,則需要將該包新增到$ ROS_PACKAGE_PATH中的某個位置。 如果你發現你的網格(meshes)太複雜了,你可以參考教程 tutorial for improving complicated assembly exports來簡化你的複雜模型,或者你可以通過使用像MeshLab or Blender.r這樣的程式來簡化複雜的網格。