xacro
檔案學習
非常詳細的介紹兩種檔案的語法
moveitsetup assistant
教程包含詳細的**寫法
create your own urdf file
如何在
urdf
中定義乙個機械人 1
、先確定骨架,
再用origin
定義link
所在的位置,
link
和link
之間是使用
joint
進行連線
, 那麼
link
的位置,
就由連線他的
joint
確定.
所以,
該子標籤是定義在
joint內.
2、三維空間中
, 要精確描述乙個剛性體的姿態
, 僅僅使用他的
xyz座標是不夠的
, 還需要使用
rpy. rpy
角是描述船舶在海中航行時姿態的一種方法
. 將船的行駛方向取為z軸
, 繞z軸旋轉稱為滾動
(roll), 繞y
軸旋轉稱為俯仰
(pitch), 繞x
軸旋轉稱為偏轉
(yaw).
其中rpy
代表的是角度
, 用弧度表示.
3、
xyz就如同乙個平移向量
, 將下乙個
link
的原點座標移動到下乙個位置
(起點是父
link
的原點). 4
、 我們限定
joint2
只能沿著
y軸旋轉
, 則需要新增
, 類似的
, 可以指定其他關節的轉動軸
, 例如
. 比如
, 我們要限定
joint2
的移動範圍
, 則需要新增
, 從標籤中可以看到
, 上下限以及速度
, 力矩等都是可以指定的. 5
、 檢視
urdf
檔案,
可以使用
urdf_tutorial包,
命令格式roslaunch urdf_tutorial display.launchmodel:=path/to/your/***.urdf
, 會使用
rviz
進行顯示
, 如上述內容
, 進行顯示之後
, 可以得到下圖所示內容.
urdf(unified robot description format),
是一種特殊的
xml檔案格式
, 作為機械人的一種描述檔案
, 會經常見到一種類似命名的包
(package) – ***_description.
這個包裡面就是包含某個機械人的描述檔案
. 比如
pr2_decription, baxter_descrition,
以及ur_description等.
上述舉例的機械人描述包都是可以通過apt-get的方式進行安裝
. 使用命令格式如斯
: sudo apt-get installros-indigo-pr2-descrition
, 其中indigo是你所安裝的
ros版本名
, 後面就是所需要安裝的包名
, 下劃線用中畫線代替.
對機械人使用
gazebo
進行**時
, 需要載入的機械人模型就是
urdf
模型,
當然,
單純的urdf
是不能精確描述機械人以及所需要**的世界的
. gazebo
對其進行了擴充套件
, 感興趣的朋友可以檢視
gazebo
官網的一些
教程.
其中會提供一些標籤
, 對系統動態
, 重心等的設定.
使用開源庫
moveit
對機械人進行路徑規劃, 在
moveitsetup assistant教程中
, 第一步就是關於如何將機械人模型匯入進來
, 匯入的機械人模型就是
urdf(
匯入xacro
格式時也是先將其解析為
urdf).
xacro
檔案的語法說明
<?
xmlversion
="1.0"
?>
<
robot
xmlns:xacro
=""name
="irb1600_6_12"
>
<
xacro:macro
name
="abb_irb1600_6_12"
params
="prefix"
>
以上問檔案說明部分
以下為單獨的乙個
link
寫法注意有後退符
<
link
name
="$base_link"
>
>
xyz=
"0 0 0"
rpy=
"0 0 0"
/>
>
filename
="package://abb_irb1600_support/meshes/irb1600/visual/base_link.stl"
/>
geometry
>
name
="abb_orange"
>
rgba
="1 0.43 0 1"
/>
material
>
visual
>
>
>
filename
="package://abb_irb1600_support/meshes/irb1600/collision/base_link.stl"
/>
geometry
>
name
="yellow"
>
rgba
="0 1 1 1"
/>
material
>
collision
>
link
>
XML檔案學習
xml cdata 文字 所有 xml 文件中的文字均會被解析器解析。只有 cdata 區段 cdata section 中的文字會被解析器忽略。xml 解析器通常會解析 xml 文件中所有的文字。當某個 xml 元素被解析時,其標籤之間的文字也會被解析 此文字也會被解析解析器之所以這麼做是因為 x...
fstab檔案學習
孫曉明,華清遠見嵌入式學院 講師。我們在linux系統裡面的 etc 目錄下有乙個fstab檔案,那這個檔案的作用是什麼呢?其實這個檔案裡面存放的是系統中的檔案系統資訊。當正確的設定了該檔案,我們就可以通過mount 任意目錄 命令來載入乙個檔案系統,比如說我們新新增了一塊硬碟分割槽,那麼我們就可以...
fstab檔案學習
我們在 linux系統裡面的 etc 目錄下有乙個fstab檔案,那這個檔案的作用是什麼呢?其實這個檔案裡面存放的是系統中的檔案系統資訊。當正確的設定了該檔案,我們就可以通過 mount 任意目錄 命令來載入乙個檔案系統,比如說我們新新增了一塊硬碟分割槽,那麼我們就可以加入如下命令 dev sdb1...