机器人系统仿真(二)——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>

 

 

posted on 2021-07-19 14:57  蔡军帅  阅读(1312)  评论(0编辑  收藏  举报