ros笔记 URDF仿真- 2.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 ---> 连杆的惯性矩阵

在之前的基础上 添加urdf文件  demo01_link.urdf 

核心代码只有一句,但注意层级关系

<!-- 需求:设置不同形状的机器人部件  -->
<robot name="mycar">
    <link name="base_link">
    <!-- link下子级标签有三个 可视化 连杆的碰撞属性 连杆的惯性矩阵-->
        <!-- 可视化标签  可视化标签下还有三个子标签-->
        <visual>
            <!-- 1.形状 -->
            <geometry>
                <!-- 1.1立方体 -->
                <box size="0.3 0.2 0.1">
                <!-- 1.1圆柱 -->
                <!-- 1.3 球体-->
                <!-- 1.4 皮肤-->
            </geometry>
            <!-- 2.偏移量与倾斜弧度 -->
            <!-- 3.颜色 -->
        

        
    </link>

</robot>


urdf写完一个原型后,运行时需要集合launch文件

新建一个launch文件 demo02_link.launch

<launch>
    <!-- 设置参数 -->
    <param name="robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/demo02_link.urdf"/>    
    <!-- 设置参数 -->
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/>

</launch>

编译并运行

vscode中新建终端

source ./devel/setup.bash

roslaunch urdf01_rviz demo01_helloworld.launch 

更改demo01_link.urdf 文件 圆柱实现

<!-- 需求:设置不同形状的机器人部件  -->
<robot name="mycar">
    <link name="base_link">
    <!-- link下子级标签有三个 可视化 连杆的碰撞属性 连杆的惯性矩阵-->
        <!-- 可视化标签  可视化标签下还有三个子标签-->
        <visual>
            <!-- 1.形状 -->
            <geometry>
                <!-- 1.1立方体 -->
                <!-- <box size="0.3 0.2 0.1" /> -->
                <!-- 1.2圆柱 -->
                <cylinder radius="0.5" length="0.1" />
                <!-- 1.3 球体-->
                <!-- <sphere radius="0.3" /> -->
                <!-- 1.4 皮肤-->
                <!-- <mesh filename="package://urdf01_rviz/meshes/autolabor_mini.stl"/> -->
            </geometry>
            <!-- 2.偏移量与倾斜弧度 -->
            <!-- 3.颜色 -->
        </visual>
    </link>
</robot>


更改demo01_link.urdf 文件 球体实现

<!-- 需求:设置不同形状的机器人部件  -->
<robot name="mycar">
    <link name="base_link">
    <!-- link下子级标签有三个 可视化 连杆的碰撞属性 连杆的惯性矩阵-->
        <!-- 可视化标签  可视化标签下还有三个子标签-->
        <visual>
            <!-- 1.形状 -->
            <geometry>
                <!-- 1.1立方体 -->
                <!-- <box size="0.3 0.2 0.1" /> -->
                <!-- 1.2圆柱 -->
                <!-- <cylinder radius="0.5" length="0.1" /> -->
                <!-- 1.3 球体-->
                <sphere radius="0.3" />
                <!-- 1.4 皮肤-->
                <!-- <mesh filename="package://urdf01_rviz/meshes/autolabor_mini.stl"/> -->
            </geometry>
            <!-- 2.偏移量与倾斜弧度 -->
            <!-- 3.颜色 -->
        </visual>
    </link>
</robot>


皮肤实现

之前在此下载的

两个文件复制到demo05_ws下的meshes文件夹下

并调用

<!-- 需求:设置不同形状的机器人部件  -->
<robot name="mycar">
    <link name="base_link">
    <!-- link下子级标签有三个 可视化 连杆的碰撞属性 连杆的惯性矩阵-->
        <!-- 可视化标签  可视化标签下还有三个子标签-->
        <visual>
            <!-- 1.形状 -->
            <geometry>
                <!-- 1.1立方体 -->
                <!-- <box size="0.3 0.2 0.1" /> -->
                <!-- 1.2圆柱 -->
                <!-- <cylinder radius="0.5" length="0.1" /> -->
                <!-- 1.3 球体-->
                <!-- <sphere radius="0.3" /> -->
                <!-- 1.4 皮肤-->
                <mesh filename="package://urdf01_rviz/meshes/autolabor_mini.stl"/>
            </geometry>
            <!-- 2.偏移量与倾斜弧度 -->
            <!-- 3.颜色 -->
        </visual>
    </link>
</robot>


 

  •  origin 设置偏移量与倾斜弧度

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

    • 属性2: rpy=x翻滚 y俯仰 z偏航 (单位是弧度)

更改demo02_link.urdf

<!-- 需求:设置不同形状的机器人部件  -->
<robot name="mycar">
    <link name="base_link">
    <!-- link下子级标签有三个 可视化 连杆的碰撞属性 连杆的惯性矩阵-->
        <!-- 可视化标签  可视化标签下还有三个子标签-->
        <visual>
            <!-- 1.形状 -->
            <geometry>
                <!-- 1.1立方体 -->
                <!-- <box size="0.3 0.2 0.1" /> -->
                <!-- 1.2圆柱 -->
                <!-- <cylinder radius="0.5" length="0.1" /> -->
                <!-- 1.3 球体-->
                <!-- <sphere radius="0.3" /> -->
                <!-- 1.4 皮肤-->
                <mesh filename="package://urdf01_rviz/meshes/autolabor_mini.stl"/>
            </geometry>
            <!-- 2.偏移量与倾斜弧度 -->
            <!-- xyz 设置机器人模型在x y z 上的偏移量 
                rpy 用于设置倾斜弧度 x(翻滚)y(俯仰) z(偏航)
            -->
             <origin xyz="3 0 0" rpy="0 0 0" />
             
            <!-- 3.颜色 -->
        </visual>
    </link>
</robot>


  • metrial 设置材料属性(颜色)

    • 属性: name

    • 标签: color

      • 属性: rgba=红绿蓝权重值与透明度 (每个权重值以及透明度取值[0,1])
<!-- 需求:设置不同形状的机器人部件  -->
<robot name="mycar">
    <link name="base_link">
    <!-- link下子级标签有三个 可视化 连杆的碰撞属性 连杆的惯性矩阵-->
        <!-- 可视化标签  可视化标签下还有三个子标签-->
        <visual>
            <!-- 1.形状 -->
            <geometry>
                <!-- 1.1立方体 -->
                <!-- <box size="0.3 0.2 0.1" /> -->
                <!-- 1.2圆柱 -->
                <!-- <cylinder radius="0.5" length="0.1" /> -->
                <!-- 1.3 球体-->
                <!-- <sphere radius="0.3" /> -->
                <!-- 1.4 皮肤-->
                <mesh filename="package://urdf01_rviz/meshes/autolabor_mini.stl"/>
            </geometry>
            <!-- 2.偏移量与倾斜弧度 -->
            <!-- xyz 设置机器人模型在x y z 上的偏移量 
                rpy 用于设置倾斜弧度 x(翻滚)y(俯仰) z(偏航)
            -->
             <origin xyz="0 0 0" rpy="1.57 0 1.57" />

            <!-- 3.颜色 -->
            <!-- r=red g=green b=blue a=(透明度)alpha  四者取值[0,1]-->

            <material name="car_color">
                <color rgba="0.5 0.2 0.3 0.5" />
            </material>

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


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值