利索能及
我要发布
收藏
专利号: 2022107385724
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于增强现实技术的装配检测方法,包括如下步骤:

步骤一,对物理世界装配对象进行3D建模得到3D模型及其源点云,并且通过unity3D引擎附加装配动画;

步骤二,通过HoloLens2研究者模式采集物理世界深度信息获得三维点云,并且对目标点云进行预处理;

步骤三,对源点云和目标点云进行点云配准得到位姿变换矩阵,虚拟模型与物理模型通过变换矩阵进行匹配,并设置空间锚点;

步骤四,基于Unity3D制作UI界面,对虚拟模型装配动画进行控制以及装配详细信息的提示;

步骤五,采用Octree结构搜索重叠点云并计算点云重叠度,通过重叠点数计算相对误差,从而评估装配完成度;具体包括:在步骤四的动画以及文本步骤提示下,对待装配体进行装配,在每完成一个步骤后需要对装配完成度进行评估,评估采用的是Octree寻找两个点云之间重合度进行计算评估,具体评估方法如下:首先虚拟装配零件的源点云已经在步骤一生成,目标点云需要按照步骤二采集已经装配上的物理模型的深度数据进行获取,接着调用PCL库用Octree结构搜索源点云与目标点云重叠部分,再计算源点云与目标点云重合点数相对误差,最后通过设定阈值来判断装配完成度;

其中Octree结构搜索的具体步骤为先对源点云建立八叉树,接着遍历目标点云中所有点,查询其对应源点云的体素是否存在相同点云,若存在,则为重叠点云;

对于重叠部分的点与总共点云运算处理具体步骤为从装配完成的零件进行N个角度采集深度数据,从而得到N个不同角度的点云,再采用Octree结构搜索这些点云分别与源点云重叠部分,将重叠部分点与源点云做相对误差值计算,最后取这N个结果的平均值作为实验结果;计算公式如公式(2)所示,其中 为重叠部分点数,P为源点云点数,为相对误差结果;

对于阈值的选取是在装配实验前做相应实验数据采集计算,对于装配的检测是检测其装配零件是否达到装配步骤的要求,选取对K个步骤N个不同角度装配成功的目标点云与源点云进行计算重合度相对误差的平均值,最终选取这个均值为装配完成度评估值的上限;

计算公式如公式(3)所示:

最终对于装配完成度的评判标准如公式(4)所示,其中 为装配过程中相对误差, 为预备实验得出的相对误差,如果 时UI界面显示completed,如果 时UI界面显示uncompleted;

2.根据权利要求1所述的方法,其特征在于,所述步骤一具体包括:

首先获取待装配物体的装配步骤说明书,接着采用SolidWorks软件对待装配模型进行等比例3D建模,并将建好的STEP文件格式的模型文件导入3DMax软件中进行贴图、渲染的处理,再将处理好的模型文件保存为FBX格式文件,得到的FBX模型首先需要导入Python调用Open3D库转成PCD格式的点云模型,并保存到数据库方便调用,其次需要导入Unity进行装配动画的制作以及步骤信息;

Unity3D装配动画的制作采用引擎自带的Animation动画系统,首先选择待装配物体的初始状态模型,接着在初始状态模型的基础上添加零件装配的动画信息,零件装配过程需要符合装配说明书中的步骤信息,对装配对象的子对象需要添加Rigidbody,并取消Use Gravity选项,选择Is Kinematic选项,对Animation动画对象勾选Loop Time选项,使装配对象动画能够在装配过程中起到实时提醒的作用。

3.根据权利要求1所述的方法,其特征在于,所述步骤二具体包括:

在进行步骤二之前需要启用HoloLens2的研究者模式,研究者模式是HoloLens用于访问关键传感器的应用程序,Hololens2在Hololens1的基础上添加了对可见光环境跟踪摄像机、深度摄像机等的数据访问;打开研究者模式之后通过Hololens2深度相机获取深度数据,并将深度数据传输到PC端进行处理;

深度数据的处理是采用相机标定原理,即从世界坐标系到相机坐标系,再到图像坐标系来求最终投影矩阵P的过程;从世界坐标系到相机坐标系是求解外参矩阵的过程,外参矩阵由HL2ResearchMode中的PrintDepthExtrinsics类获取,从相机坐标系到图像坐标系是求解内参矩阵的过程,内参矩阵通过张正友棋盘格标定方法获取,最终通过公式(1)的矩阵运算获得三维点云;

其中u,v为在图像坐标系下的任意坐标点,u0,v0分别为图像的中心坐标,xw,yw,zw表示在世界坐标系下的三维坐标点;zc表示相机坐标的z轴值,即目标到相机的距离;R,T分别为外参矩阵中3x3的旋转矩阵和3x1的平移矩阵。

4.根据权利要求1所述的方法,其特征在于,所述步骤三具体包括:

首先对步骤二获得的目标点云进行预处理,由于待装配物体周围有墙面和杂物信息,因此需要将目标点云进行点云切割,这里采用Python中的Open3D库中的selectionpolygonVolume类对点云中的有用区域进行裁剪,得到目标点云;接着需要将处理好的目标点云与源点云通过Open3D库中的registration_icp类来进行ICP配准,并且输出源点云到目标点云位姿变换矩阵;

将位姿变换矩阵通过TCP/IP通讯发送到HoloLens2上,HoloLens2调用相关模型并在其世界坐标系下用位姿变换矩阵对其位置进行变换,达到虚实融合的效果,由于虚拟模型会在相机抖动的情况下会发生偏移,因此对融合好的虚拟模型添加空间锚点,HoloLens2中的空间锚点是一种能够将物体保留在特定位置和旋转状态上的方法,通过空间锚点技术将虚拟模型固定在物理模型上,方便之后进行装配动画演示。