ros创建urdf或xarco文件时,模型坐标点的理解


使用ros少不了要创建机器人模型文件,文件格式是xml,能创建几何模型,也能引用3d的模型文件,说白了就是将模型组织在一块儿,搭积木一样堆个机器人出来。
所以对几何模型坐标的理解不能含糊。


坐标系遵循右手法则食指x中指y拇指z。


连杆模型示例

<link name="shoulder_link">
      <visual>
        <geometry>
          <cylinder length="0.05" radius="0.025"/>
        </geometry>
        <origin xyz="0.0 0.0 0.025"/>
        <material name="white"/>
      </visual>
</link>

创建了一个圆柱几何模型高度为0.05,半径为0.025,单位是m,原点在其质心。

<origin xyz="0.0 0.0 0.025"/>一句进行模型xyz方向的偏移设置
即z方向往上偏移0.025

现在原点在几何模型的底部。






再一个连杆
<link name="upper_arm_link">
      <visual>
        <geometry>
          <box size="0.1 0,01 0.01"/>
        </geometry>
        <origin rpy="0.0 1.5705 0.0" xyz="0.0 0.0 -0.05"/>
        <material name="white"/>
      </visual>
</link>
创建了一个x 10cm y 1cm z 1cm的长方条。横放10cm长。


<origin rpy="0.0 1.5705 0.0" xyz="0.0 0.0 -0.05"/>
rpy 设置旋转 沿着y轴转1.5705弧度{90度},变竖放10cm高,
此时原点没变,还在质点,

xyz 设置模型z方向向下5cm,
此时原点在竖长条顶部。


两个连杆之间的关节

<joint name="upper_arm_joint" type="revolute">
      <parent link="shoulder_link"/>
      <child link="upper_arm_link"/>
      <origin xyz="0.0 0.0 0.05"/>
      <axis xyz="0 0 1"/>
      <limit effort="${arm_effort}"
             lower="${-45.0 * deg_to_rad}" upper="${45.0 * deg_to_rad}"
             velocity="${arm_velocity}"/>
      <dynamics friction="${arm_friction}" damping="${arm_damping}"/>

      <safety_controller k_position="20"
                         k_velocity="20"
                         soft_lower_limit="${-45.0 * deg_to_rad + arm_eps}"
                         soft_upper_limit="${ 45.0 * deg_to_rad - arm_eps}"/>
    </joint>
关节体现了几何模型之间的位置和链接关系

<origin xyz="0.0 0.0 0.05"/>
是指关节位置相对于parent坐标系进行的偏移量。


shoulder的坐标系在模型底部,其高度为0.05,
由于偏移设置为沿着z方向往上0.05的位置,
所以这个关节在模型shoulder_link顶部的位置。

type=revolute设置为旋转关节。

<axis xyz="0 0 1"/>表示以z轴为旋转轴。


想象此时圆柱shoulder_link和细长条upper_arm_link应该顶部对齐。
长条可以像钻头一样在一定范围内+-45度旋转。












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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值