机器人系统仿真(二)——URDF语法详解之link
参考视频:【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili
参考文档:http://www.autolabor.com.cn/book/ROSTutorials/
link
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>