urdf全稱為unified robot description format,中文可以翻譯為「統一機械人描述格式」。與計算機檔案中的.txt文字格式、.jpg影象格式等類似,urdf是一種基於xml規範、用於描述機械人結構的格式。根據該格式的設計者所言,設計這一格式的目的在於提供一種盡可能通用(as general as possible)的機械人描述規範。
其實最好的urdf入門教程是ros wiki裡的教程。這裡主要是按照自己實際接觸的進行總結。urdf能設定的屬性有很多,但在專案剛開始時並不需要那麼多,也沒必要浪費太多精力在外觀上,因此,本部落格將根據後續會引入的其餘特性持續更新。
最初的需求是弄出乙個四輪小車的樣子,形象來講也就是乙個立方體加四個圓柱體的組合。**如下:
<
?xml version=
"1.0"
?>
"scout_xu"
>
"base_link"
>
"0.2 0.3 0.1"
/>
<
/geometry>
"0 0 0" xyz=
"0 0 0.05"
/>
"white"
>
"1 1 1 1"
/>
<
/material>
<
/visual>
<
/link>
"wheel_rf"
>
"0.05" radius=
"0.05"
/>
<
/geometry>
"0 1.5 0" xyz=
"0.1 0.1 0"
/>
"black"
>
"0 0 0 1"
/>
<
/material>
<
/visual>
<
/link>
"wheel_lf"
>
"0.05" radius=
"0.05"
/>
<
/geometry>
"0 1.5 0" xyz=
"-0.1 0.1 0"
/>
"black"
/>
<
/visual>
<
/link>
"wheel_rb"
>
"0.05" radius=
"0.05"
/>
<
/geometry>
"0 1.5 0" xyz=
"0.1 -0.1 0"
/>
"black"
/>
<
/visual>
<
/link>
"wheel_lb"
>
"0.05" radius=
"0.05"
/>
<
/geometry>
"0 1.5 0" xyz=
"-0.1 -0.1 0"
/>
"black"
/>
<
/visual>
<
/link>
"base_to_wheel_rf" type=
"fixed"
>
"base_link"
/>
"wheel_rf"
/>
"0 0 0 "
/>
<
/joint>
"base_to_wheel_lf" type=
"fixed"
>
"base_link"
/>
"wheel_lf"
/>
"0 0 0 "
/>
<
/joint>
"base_to_wheel_rb" type=
"fixed"
>
"base_link"
/>
"wheel_rb"
/>
"0 0 0"
/>
<
/joint>
"base_to_wheel_lb" type=
"fixed"
>
"base_link"
/>
"wheel_lb"
/>
"0 0 0"
/>
<
/joint>
<
/robot>
建好後,起名為myfirst.urdf。可以使用check_urdf來檢查下是否是乙個有效的urdf檔案。
check_urdf myfirst.urdf
輸出結果應當為:
robot name is: scout_xu
---------- successfully parsed xml --------------
-root link: base_link has 4 child(
ren)
child(1): wheel_lb
child(2): wheel_lf
child(3): wheel_rb
child(4): wheel_rf
表示有乙個base_link,並有四個子零件與他相連。
想在rviz中進行視覺化則可執行下面命令:
roslaunch urdf_tutorial display.launch model:=myfirst.urdf
這個命令會報錯,提示沒有gui,這也是正常的,因為我們的urdf裡沒涉及這一塊,暫時不用理會。可以看到視覺化效果大概是下面這個樣子的。
ros模型建立 urdf
首先建立軟體包來儲存機械人模型 catkin create pkg mastering ros robot description pkg roscpp tf geometry msgs urdf rviz xacro安裝為安裝的軟體包 1 sudo apt install ros melodic ...
ROS學習 URDF學習紀要
ros的urdf間斷的學習了,老是抓不住要領,現在又重新學習了一篇終於有點眉目,問題主要集中在和的關係及其中的 標籤的作用,現在記錄下來,以防止再忘記。1 總結歸納 1 預設就是所有link的初識joint的座標系都在世界座標系的原點座標系,例如 座標原點在圓柱的中心,長方體的中心等,座標系滿足右手...
ROS學習 URDF檔案解析
urdf官方說明文件 sensor proposals 感測器描述,如相機和雷達等 link 描述連桿的運動學引數和動態引數 transmission 描述關節和驅動器之間的轉換關係 joint 描述關節的運動學引數和動態引數 gazebo 描述 內容,如阻尼和摩擦等 sensor 感測器描述,如相...