ROS學習 URDF學習紀要

2021-07-24 02:16:49 字數 1228 閱讀 6918

ros的urdf間斷的學習了,老是抓不住要領,現在又重新學習了一篇終於有點眉目,問題主要集中在和的關係及其中的 標籤的作用,現在記錄下來,以防止再忘記。

1、總結歸納:

(1)預設就是所有link的初識joint的座標系都在世界座標系的原點座標系,例如:座標原點在圓柱的中心,長方體的中心等,座標系滿足右手法則,x軸指向螢幕左邊、y軸從螢幕向外,z軸指向上方, xyz座標軸,紅色為x, 綠色為y,藍色為z。

(2)link和joint定義robot骨架,如果我們僅僅新增更多的link元素到urdf中的話,解析器不知道該如何放置它們,所以,我們必須新增關節結點來制定link間的連線關係;

(3)link和joint中都有結點,其意義是不同的中表明了視覺化link結點原點在關聯的joint原點座標系的位置和朝向;而結點中的結點表明了該joint原點在其父joint座標系中的位置和方向;

(4)定義urdf檔案時,一般有乙個類似base_link的固定座標系,其中沒有任何引數,預設就在世界座標系原點,此時也同時有乙個預設的joint結點與世界座標系的位置和方向相同,該joint座標系 就是base_link結點關聯的joint座標系,而後新增l乙個ink結點和joint結點後,首先用joint結點中的資訊,先旋轉後平移,確定新新增的link關聯的joint的座標系(此座標系與參考座標系就有了一定的位置和旋轉關係),此時新新增的link的中心原點就移動到該joint座標系原點所在位置(此時link中沒有origin結點),而後在link結點中新增結點,此時的變換參考座標系是新生成的joint座標系(此時link中心和joint原點重合),而後在參考座標系下利用origin引數完成旋轉和平移,此時可以利用rviz中的視覺化處理(xyz分別是不同的顏色,此時的變換不改變joint座標系的位置和方向),如果在新增下乙個link和joint的話,新的joint的位置是相對與父link關聯的joint的座標系的變換,然後用同樣的方法新增link就可以了。(可以認為joint與joint結點中定義的子link關聯)。

(5)關於joint間的相對位置和角度關係,一般不存在旋轉預設就是一樣的或者存在90度等特殊角度的選擇,至於xyz由於是可變的,可以找乙個容易計算的特殊角度,先確定xyz,完成urdf的定義,當機械人運動起來後可以通過tf發布實時的位置關係,也就是說urdf中定義的joint關係只是莫個瞬間的joint位置關係。

(6)所有變換都是先旋轉再平移.

(7)urdf檔案載入後通過tf發布的是joint之間的座標關係和link沒有關係。

詳細資訊可以學習:

ROS學習 URDF檔案解析

urdf官方說明文件 sensor proposals 感測器描述,如相機和雷達等 link 描述連桿的運動學引數和動態引數 transmission 描述關節和驅動器之間的轉換關係 joint 描述關節的運動學引數和動態引數 gazebo 描述 內容,如阻尼和摩擦等 sensor 感測器描述,如相...

ROS使用介紹 URDF

urdf全稱為unified robot description format,中文可以翻譯為 統一機械人描述格式 與計算機檔案中的.txt文字格式 jpg影象格式等類似,urdf是一種基於xml規範 用於描述機械人結構的格式。根據該格式的設計者所言,設計這一格式的目的在於提供一種盡可能通用 as ...

ros模型建立 urdf

首先建立軟體包來儲存機械人模型 catkin create pkg mastering ros robot description pkg roscpp tf geometry msgs urdf rviz xacro安裝為安裝的軟體包 1 sudo apt install ros melodic ...