坐标系变换
本文介绍“位姿变换(高级)”步骤中的“坐标系变换”功能及其使用流程。
使用流程
下文将分别介绍该功能在位姿和点云坐标系变换中的具体用法。
变换位姿坐标系
在进行位姿坐标系变换前,需要先完成步骤端口的配置。
配置步骤端口
-
单击配置向导按钮,打开位姿变换工具,选择坐标系变换。
-
在右侧参数区,选择变换类型为位姿。
-
单击确定按钮完成配置。
配置后的输入与输出端口如下所示:
输入
| 输入端口 | 数据类型 | 说明 |
|---|---|---|
原始位姿 |
Pose [] |
此端口输入的位姿会将被变换坐标系。 |
自定义坐标系 |
Pose [] |
输入的位姿将变换到此端口输入的自定义坐标系下。 |
输出
| 输出端口 | 数据类型 | 说明 |
|---|---|---|
变换后的位姿 |
Pose [] |
坐标系变换后的位姿。 |
|
需注意要变换的位姿与自定义的参考位姿必须位于同一坐标系下。 |
变换位姿坐标系
通过输入原始位姿和自定义坐标系,可以将原始位姿变换到自定义坐标系下。下文将介绍如何使用“位姿变换(高级)”步骤进行位姿坐标系的变换,并结合实际工程中的典型应用场景进行说明。
场景一:料筐倾斜时,按料筐Z向排序工件
在实际生产中,料筐可能存在整体倾斜,导致工件在相机坐标系下的 Z 值无法真实反映其在料筐内的实际高低顺序。此时,需要将工件的位姿变换到料筐自身的坐标系下,按料筐的Z轴进行排序,实现料筐内排序或分层抓取等功能。具体操作如下:
-
将相机坐标系下的工件位姿作为“原始位姿”,并将获取的料筐位姿作为“自定义坐标系”,使用“位姿变换(高级)”步骤,将工件位姿变换到料筐坐标系下。
-
在料筐坐标系下,使用位姿排序等步骤按 Z 轴对工件进行排序。
|
对工件位姿排序完成后,通常需要将排序后的位姿还原回原始坐标系。可通过位姿变换步骤实现。将排序后的位姿作为“原始位姿”,并将“位姿变换(高级)”步骤中的自定义坐标系作为“参考位姿”输入,即可实现从自定义坐标系到原始坐标系的逆向变换。 |
场景二:基准平面倾斜时,计算工件相对高度
在某些场景下,工件放置在一个非水平的基准平面上(如倾斜的传送带、夹具等),此时直接读取工件在相机坐标系下的 Z 值,无法准确反映工件相对于基准面的真实高度。
为获得工件的相对高度,需要将工件的位姿变换到以基准平面为XY面的自定义坐标系下,使Z轴垂直于基准面,从而准确计算工件相对高度。具体操作如下:
-
使用计算平面点云的位姿和尺寸等步骤,基于相机坐标系下的基准平面点云计算出一个参考位姿(即自定义坐标系)。
-
通过“位姿变换(高级)”步骤,将原始工件位姿变换到该自定义坐标系下。
-
对变换后的位姿进行分解,提取平移向量中的 Z 分量,作为工件相对基准面的高度。
变换后的 Z 值即为工件相对于基准平面的实际高度。若后续需在原始坐标系下继续使用该位姿,可通过“位姿变换”步骤将其还原。 |
变换点云坐标系
在进行点云坐标系变换前,需要先完成步骤端口的配置。
配置步骤端口
-
单击配置向导按钮,打开位姿变换工具,选择坐标系变换。
-
在右侧参数区,选择变换类型为点云。
-
单击确定按钮完成配置。
配置后的输入与输出端口如下所示:
输入
| 输入端口 | 数据类型 | 说明 |
|---|---|---|
原始点云 |
PointCloud [] |
此端口输入的点云将被变换坐标系。 |
自定义坐标系 |
Pose [] |
输入的点云将变换到此端口输入的自定义坐标系下。 |
输出
| 输出端口 | 数据类型 | 说明 |
|---|---|---|
变换后的点云 |
PointCloud [] |
坐标系变换后的点云。 |
|
需注意要变换的点云与自定义的参考位姿必须位于同一坐标系下。 |
变换点云坐标系
通过输入原始点云和自定义坐标系,可以将原始点云变换到自定义坐标系下。下文将介绍如何使用“位姿变换(高级)”步骤进行点云坐标系的变换,并结合实际工程中的典型应用场景进行说明。
场景一:相机拍摄方向与工件平面不一致
在实际应用中,由于工件反光等因素,3D相机往往无法垂直对准工件表面,而是以一定的倾斜角度进行安装,导致采集到的点云在相机坐标系下呈倾斜分布。如果直接在此坐标系下进行点过滤等点云处理,容易误剔除有效点或保留噪声点,影响后续的平面拟合、特征提取和测量精度。
为提升处理效果,可基于工件主平面点云构建自定义坐标系(Z 轴垂直于工件平面),通过“位姿变换(高级)”步骤,将原始点云从相机坐标系变换到工件局部坐标系后进行点云预处理,处理完成后再将点云还原回相机坐标系。具体操作如下:
-
使用计算平面点云的位姿和尺寸等步骤,基于相机坐标系下的工件平面点云计算出一个参考位姿(即自定义坐标系)。
-
通过“位姿变换(高级)”步骤,将原始工件点云变换到该自定义坐标系下进行点云处理。
|
点云预处理完成后,通常需要将处理后的点云还原回原始坐标系。可在点云变换步骤中选择“UseCorrespondenceInput”变换类型,将处理后的点云作为“原始点云”,并将“位姿变换(高级)”步骤中的自定义坐标系作为“参考位姿”输入,即可实现从工件坐标系到相机坐标系的逆向变换。 |
场景二:获取精确圆心(基于正交投影)
在某些高精度应用中,直接通过3D匹配难以准确获取圆心等几何特征的位置。为提升检测精度,可结合点云坐标系变换与正交投影的方法,将点云转换到工件坐标系后进行2D特征提取,再将结果还原回相机坐标系,从而获得更高精度的圆心位姿。该方法常用于对装配孔位或弧形边缘的高精度定位。具体操作如下:
-
使用计算平面点云的位姿和尺寸等步骤,基于相机坐标系下的工件平面点云计算出一个参考位姿(即自定义坐标系)。
-
通过“位姿变换(高级)”步骤,将原始工件点云变换到该自定义坐标系下。
-
对变换后的点云,使用正交投影 等步骤,进行 2D 特征提取,计算圆心位姿。
|
获得精确的圆心位姿后,通常需要将其还原回相机坐标系。可通过位姿变换步骤实现:将计算出的圆心位姿作为“原始位姿”,并将“位姿变换(高级)”步骤中的自定义坐标系作为“参考位姿”输入,即可实现从工件坐标系到相机坐标系的逆向变换。 |