1 简介
URDF是统一机器人描述格式,用于在ROS中指定机器人的几何形状和组织。
2 语法
2.1 简介语法
material color
link
geometry
origin
material
joint
parent
child
origin
limit
axis
2.2 完整语法
<robot>
# 描述:
# 参数:name=""
# 子节点:
<link>
# 描述:
# 参数:name=""
# 子节点:
<visual>
# 描述:
# 参数:
# 子节点:
<geometry>
# 描述
# 参数
# 子节点:
<cylinder />
# 描述:
# 参数:
# length="0.6"
# radius="0.2"
<box />
# 描述
# 参数:size="0.6 0.1 0.2"
<mesh />
# 描述
# 参数:filename="package://urdf_tutorial/meshes/l_finger_tip.dae"
<collision>
# 描述:碰撞元素,优先处理
# 参数
# 子节点
<geometry>
<inertial>
# 描述
# 参数
# 子节点:
<mass />
# 描述:质量
# 参数:value=10
<inertia />
# 描述:惯性
# 参数:i+"xyz的笛卡尔积"(共9个)="0.4"
<origin />
# 描述:
# 参数:
# rpy="0 1.5 0"
# xyz="0 0 -0.3"
<material />
# 描述
# 参数:name="blue"
<joint>
# 描述
# 参数:
# name=""
# type=""
# fixed
# prismatic
# 子节点
<parent />
# 描述
# 参数:link=""
<child />
# 描述:
# 参数:link=""
<origin />
# 描述:
# 参数:xyz="0 -0.2 0.25"
<limit />
# 描述
# 参数:
# effort="1000.0" 最大力
# lower="-0.38" 关节上限(弧度)
# upper="0" 关节下限(弧度)
# velocity="0.5" 最大速度
<axis />
# 描述:按?轴旋转
# 参数:xyz="0 0 1",沿Z轴旋转
<material>
# 描述:
# 参数:name="blue"
# 子节点:
<color />
# 描述:
# 参数:rgba="0 0 0.8 1"
3 示例
3.1 安装依赖库
sudo apt install ros-foxy-joint-state-publisher-gui ros-foxy-joint-state-publisher
sudo apt install ros-foxy-xacro
3.2 下载源代码
cd ~/dev_ws
git clone -b ros2 https://github.com/ros/urdf_tutorial.git src/urdf_tutorial
3.3 编译源代码
colcon build --packages-select urdf_tutorial
3.4 运行示例
ros2 launch urdf_tutorial display.launch.py model:=urdf/01-myfirst.urdf