hom_mat3d_translate_local 和 hom_mat3d_translate 区别

✅ 核心区别总结

算子 平移参考系 说明
hom_mat3d_translate(HomMat3DIn, Tx, Ty, Tz, HomMat3DOut) 全局坐标系(世界坐标系) 沿固定的世界坐标轴方向平移
hom_mat3d_translate_local(HomMat3DIn, Tx, Ty, Tz, HomMat3DOut) 局部坐标系(当前物体自身坐标系) 沿当前变换后坐标系的轴方向平移

💡 类比:

  • translate = 在地图上"向东走10米"(绝对方向)
  • translate_local = "向前走10米"(相对于你当前朝向)

详细解释

1. hom_mat3d_translate
  • 作用 :在原始世界坐标系下进行平移。(沿着全局坐标轴平移,对应于矩阵左乘)
  • 数学本质

其中 TT 是以世界坐标系为基准的平移矩阵。

  • 效果:无论当前物体如何旋转,平移方向始终是 X/Y/Z 轴的固定方向。

适用场景

  • 将物体整体在工作台上沿固定方向移动(如传送带方向);
  • 在已知世界坐标的网格中定位。

2. hom_mat3d_translate_local(沿着局部坐标轴平移,对应于矩阵右乘)
  • 作用 :在当前变换后的局部坐标系下进行平移。
  • 数学本质

平移是在当前姿态的"前方、左侧、上方"进行的。

  • 效果 :平移方向随物体当前朝向而变化。例如,若物体已绕 Z 轴旋转 90°,则 Tx=1 不再是沿世界 X 轴,而是沿其自身新 X 轴(原 Y 轴方向)。

适用场景

  • 机器人末端工具沿自身朝向"前进"或"侧移";
  • 相对于物体表面法向方向进行偏移(如从抓取点向上抬升);
  • 构建相对于某位姿的相对运动路径(如接近 → 抓取 → 抬起)。

示例说明

假设有一个位姿 H 表示一个朝向 Y 轴的夹爪(即绕 Z 轴旋转了 90°)。

复制代码
* 初始位姿:位于原点,朝向 +Y 方向
pose_to_hom_mat3d ([0,0,0, 0,0,90], H)
  • 使用 hom_mat3d_translate(H, 0.1, 0, 0, H1)
    → 夹爪在世界 X 方向移动 0.1m,但朝向不变(仍朝 Y)。
  • 使用 hom_mat3d_translate_local(H, 0.1, 0, 0, H2)
    → 夹爪沿自身 X 轴(即世界 -X 方向,因它朝 Y)移动 0.1m,相当于"向左平移"。

在机器人抓取中,"从物体上方下降"通常用 translate_local

复制代码
hom_mat3d_translate_local(ObjectPose, 0, 0, -0.05, ApproachPose)

表示沿物体自身 Z 轴(通常指向相机或垂直向上)向下 5cm。

🧩 记忆技巧

算子 关键词 联想
hom_mat3d_translate Global / Absolute "在地图上移动"
hom_mat3d_translate_local Local / Relative "在自己脚下移动"

✅ 总结

特性 hom_mat3d_translate hom_mat3d_translate_local
坐标系 世界坐标系(固定) 当前局部坐标系(随姿态变化)
平移顺序 左乘(先平移后应用原变换) 右乘(先应用原变换再平移)
机器人应用 移动到绝对位置 相对于当前姿态做微调
常见用途 定位、对齐 接近、避障、工具偏移

在 HALCON 的手眼标定、机器人抓取、多视角拼接等应用中,_local 版本更常用于构建相对于目标物体的运动路径,而普通版本用于全局布局调整。

相关推荐
2401_8638014617 小时前
OBJ、FBX 与 GLTF 选择用于设计导入的最佳 3D 模型格式:实用的比较可帮助设计人员选择正确的 3D 格式,同时保持几何形状、纹理和性能不变。
3d
IT观测17 小时前
从设备到课堂:3D打印教育迈入新阶段
3d
threelab21 小时前
Three.js 3D 热力图效果 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
yeflx21 小时前
Colmap增加轨迹过滤等参数
3d
千殇华来1 天前
3D材料选择
百度·3d
yeflx1 天前
COTR算法demo测试
3d
云飞云共享云桌面1 天前
SolidWorks 服务器通过云飞云共享云桌面10人研发共享方案
运维·服务器·3d·设计模式·电脑
木斯佳1 天前
HarmonyOS 6 ArkGraphics 3D精讲:坐标、向量与矩阵——初识3D数学的“空间建模”
线性代数·3d·矩阵
meilindehuzi_a1 天前
Vibe Coding 实战:我用一条 Prompt 指挥 AI “盲盒式”生成 3D 积木物理世界
3d·prompt
小飞侠是个胖子1 天前
在 WebGL 中构建高性能 3D 沉浸式系统的三套高阶方案
前端·3d