You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

平面位姿估计中图像帧坐标转换为Azure Kinect相机坐标方法咨询

坐标与朝向转换方案

1. 像素坐标转相机坐标系3D位置

你可以直接通过针孔相机投影模型完成转换,步骤如下:

  • 首先通过ROS话题获取Azure Kinect的内参矩阵K,矩阵格式为:
    K = [[fx, 0, cx],
         [0, fy, cy],
         [0,  0,  1]]
    
    其中fx、fy为相机焦距(单位:像素),cx、cy为图像主点的像素坐标。
  • 你已经明确相机到目标平面的高度差,也就是目标点在相机坐标系下的Z轴数值Z_cam是已知值(注意单位要和内参的尺度对齐,通常为米)。
  • 代入公式反推3D坐标:
    x_norm = (u - cx) / fx
    y_norm = (v - cy) / fy
    X_cam = x_norm * Z_cam
    Y_cam = y_norm * Z_cam
    
    其中(u,v)是你计算得到的目标中心像素坐标,(X_cam, Y_cam, Z_cam)就是目标在相机坐标系下的3D位置。

注意:计算前需要先用Kinect的畸变参数对目标像素坐标做去畸变处理,避免投影误差。

2. 图像朝向角转相机坐标系朝向

你在图像帧得到的目标绕Z轴的旋转角,可以直接映射到相机坐标系下,只需做简单的符号/角度偏移校准:

  • 确认坐标系约定:Azure Kinect默认相机坐标系为X轴向右、Y轴向下、Z轴向前指向拍摄方向,和常规图像坐标系的轴向一致。如果你的角度计算也是基于相同的轴向约定,旋转角可以直接复用;如果轴向相反,对角度取反即可。
  • 最终你可以得到目标在相机坐标系下的完整位姿:位置(X_cam, Y_cam, Z_cam),绕Z轴旋转角θ。

3. 对接抓取的后续补充

因为你是将相机安装在UR10e的TCP端,属于眼在手上的部署方案,要把相机坐标系下的目标位姿转到机器人基坐标系执行抓取,还需要提前完成手眼标定,得到相机坐标系到TCP坐标系的变换矩阵,结合机器人实时正向运动学结果,就能转换得到机器人可直接执行的目标位姿指令。

内容的提问来源于stack exchange,提问作者Amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:54:05