機器人系統仿真(二)——URDF語法詳解之link


參考視頻:【奧特學園】ROS機器人入門課程《ROS理論與實踐》零基礎教程_嗶哩嗶哩_bilibili

參考文檔:http://www.autolabor.com.cn/book/ROSTutorials/

urdf 中的 link 標簽用於描述機器人某個部件(也即剛體部分)的外觀和物理屬性,比如: 機器人底座、輪子、激光雷達、攝像頭...每一個部件都對應一個 link, 在 link 標簽內,可以設計該部件的形狀、尺寸、顏色、慣性矩陣、碰撞參數等一系列屬性

1.屬性

  • name ---> 為連桿命名

2.子標簽

  • visual ---> 描述外觀(對應的數據是可視的)

    • geometry 設置連桿的形狀

      • 標簽1: box(盒狀)

        • 屬性:size=長(x) 寬(y) 高(z)
      • 標簽2: cylinder(圓柱)

        • 屬性:radius=半徑 length=高度
      • 標簽3: sphere(球體)

        • 屬性:radius=半徑
      • 標簽4: mesh(為連桿添加皮膚)

        • 屬性: filename=資源路徑(格式:package://<packagename>/<path>/文件)
    • origin 設置偏移量與傾斜弧度

      • 屬性1: xyz=x偏移 y便宜 z偏移

      • 屬性2: rpy=x翻滾 y俯仰 z偏航 (單位是弧度)

    • metrial 設置材料屬性(顏色)

      • 屬性: name

      • 標簽: color

        • 屬性: rgba=紅綠藍權重值與透明度 (每個權重值以及透明度取值[0,1])
  • collision ---> 連桿的碰撞屬性

  • Inertial ---> 連桿的慣性矩陣

0.准備工作

素材下載鏈接:https://github.com/zx595306686/sim_demo.git

 

 

 demo02_link.launch 內容:

<launch>
    <!--1.在參數服務器載入 urdf 文件-->
    <param name="robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/demo02_link.urdf" />
    <!--2.啟動 rviz-->
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/>
</launch>

1.偏移量和幅度

<!-- 需求:設置不同形狀的機器人部件-->
<robot name="mycar">
    <link name="base_link">
        <!--可視化標簽-->
        <visual>
            <!--1.形狀-->
            <geometry>
                <!--1.1 立方體-->
                <!-- <box size="0.3 0.2 0.1"/> -->
                <!--1.2 圓柱-->
                <!-- <cylinder radius="0.1" length="2"/> -->
                <!--1.3 球體-->
                <!-- <sphere radius="1"/> -->
                <!--1.4 皮膚-->
                <mesh filename="package://urdf01_rviz/meshes/autolabor_mini.stl"/>
            </geometry>
            <!--2.偏移量與傾斜弧度-->
            <!--

                    xyz 設置機器人模型在 x y z 上的偏移量
                    rpy 用於設置傾斜弧度 x(翻滾) y(俯仰) z(偏航)

            -->
                <origin xyz="3 2 1" rpy="0.5 1 0.8" />

            <!--3。顏色-->
        </visual>
    </link>
</robot>

                <origin xyz="0 0 0" rpy="1.57 0 1.57" />

 

 

 2.顏色

<!-- 需求:設置不同形狀的機器人部件-->
<robot name="mycar">
    <link name="base_link">
        <!--可視化標簽-->
        <visual>
            <!--1.形狀-->
            <geometry>
                <!--1.1 立方體-->
                <!-- <box size="0.3 0.2 0.1"/> -->
                <!--1.2 圓柱-->
                <!-- <cylinder radius="0.1" length="2"/> -->
                <!--1.3 球體-->
                <!-- <sphere radius="1"/> -->
                <!--1.4 皮膚-->
                <mesh filename="package://urdf01_rviz/meshes/autolabor_mini.stl"/>
            </geometry>
            <!--2.偏移量與傾斜弧度-->
            <!--z
                    xyz 設置機器人模型在 x y z 上的偏移量
                    rpy 用於設置傾斜弧度 x(翻滾) y(俯仰) z(偏航)
            -->
            <origin xyz="0 0 0" rpy="1.57 0 1.57" />

            <!--3。顏色-->
            <!--
                rgba:
                    r = red
                    g = green
                    b = blue
                    a = 透明度
                四者去取值 [0,1]
            -->
            <material name="car_color">
                <color rgba="0.3 0.5 0.2 0.5" />
            </material>

        </visual>
    </link>
</robot>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM