关于URDF文件中坐标动态变换和静态变换的区别

<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"> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值