1、 

在机器人学(如Denavit-Hartenberg参数法)中,一个​​通用规则​​是:

​每个关节的旋转轴,就是这个关节坐标系的 Z 轴。​

2、 

从 1 推出 , 父跟子之间的坐标系会有偏差,从而引出URDF的 origin标签定义

<joint name="shoulder_joint" type="revolute"> <!-- 1. 父连杆 --> <parent link="torso_link"/> <!-- 2. 子连杆 --> <child link="upper_arm_link"/> <!-- 3. 最关键的:子连杆坐标系相对于父连杆坐标系的位姿 --> <origin xyz="0.0 0.2 0.5" rpy="0 0 1.57"/> <!-- 4. 关节轴(如果是旋转关节) --> <axis xyz="0 0 1"/> <!-- ... 其他参数(限位等) ... --> </joint>

<origin>标签定义了:从父连杆的坐标系出发,如何变换(移动+旋转)才能得到子连杆的坐标系。​

  • xyz​:子连杆的坐标系原点,在父连杆坐标系中的坐标位置。

    • 例如 xyz="0.0 0.2 0.5":子连杆的原点在父连杆的 (X:0m, Y:0.2m, Z:0.5m) 处。

  • rpy​:子连杆的坐标系,需要绕父坐标系的轴旋转多少弧度,才能与父坐标系对齐。

    • 例如 rpy="0 0 1.57":绕父坐标系的Z轴旋转了90度(1.57弧度)。

   

3、

工具坐标系 就是 工具/夹具/焊枪末端的坐标系, 而TCP(工具中心点) 就是工具坐标原点

<!-- 用一个固定的关节连接它们 -->
<joint name="flange_to_tool_joint" type="fixed">
  <parent link="flange_link"/>
  <child link="tool0"/>
  <!-- 关键在这里:偏移量为零,表示tool0和flange_link完全重合 -->
  <origin xyz="0 0 0" rpy="0 0 0"/>
 
!!!!! 如果安装了 工具 后就有了XYZ RPY的偏差 !!!
  <!-- 下面就是你需要从供应商那里获取的核心参数! -->
  <origin xyz="0.01 0.02 0.15" rpy="0 1.57 0"/> 
</joint>

Logo

更多推荐