<robot name="robot_with_lidar">
<!-- 定义底盘 (base_link) -->
<link name="base_link">
<!-- 底盘的几何形状可以根据需求定义,示例中我们只定义了一个简单的盒子 -->
<visual>
<geometry>
<box size="0.5 0.3 0.1"/> <!-- 底盘大小:长0.5m,宽0.3m,高0.1m -->
</geometry>
<material name="blue"/>
</visual>
<collision>
<geometry>
<box size="0.5 0.3 0.1"/>
</geometry>
</collision>
<inertial>
<mass value="5.0"/>
<inertia ixx="0.02" iyy="0.02" izz="0.02"/>
</inertial>
</link>
<!-- 定义激光雷达 (laser_link) -->
<link name="laser_link">
<!-- 激光雷达的几何形状 -->
<visual>
<geometry>
<cylinder radius="0.05" length="0.1"/> <!-- 激光雷达为圆柱形,半径0.05m,长度0.1m -->
</geometry>
<material name="red"/>
</visual>
<collision>
<geometry>
<cylinder radius="0.05" length="0.1"/>
</geometry>
</collision>
<inertial>
<mass value="0.5"/>
<inertia ixx="0.001" iyy="0.001" izz="0.001"/>
</inertial>
</link>
<!-- 连接底盘和激光雷达的固定关节 -->
<joint name="laser_joint" type="fixed">
<parent link="base_link"/> <!-- 父link是底盘 -->
<child link="laser_link"/> <!-- 子link是激光雷达 -->
<origin xyz="0 0 0.1" rpy="0 0 0"/> <!-- 激光雷达相对于底盘的位置:0.1m偏移Z轴,位于底盘正中央 -->
</joint>
</robot>
动态变换:由 元素定义,尤其是当关节的 type 为 revolute、prismatic 等类型时,表示这些变换会随着关节的运动而发生变化。
静态变换:通常由 元素的 type=“fixed” 定义,或者通过 标签指定两个链接之间的固定变换。静态变换的关系不随机器人运动状态改变。
<joint name="laser_joint" type="fixed">