一种机械臂三维重建方法、装置、电子设备和存储介质与流程

文档序号:31350318发布日期:2022-08-31 12:36阅读:95来源:国知局
一种机械臂三维重建方法、装置、电子设备和存储介质与流程

1.本发明涉及虚拟工厂的数字孪生模型搭建领域,具体涉及一种机械臂三维重建方法、装置、电子设备和存储介质。


背景技术:

2.随着数字孪生技术的蓬勃发展,各个企业纷纷打造数字孪生解决方案,赋能制造业数字化转型。数字孪生其本质是在数字空间构建物理对象模型,而后利用实时iot数据驱动模型运转。但是物理世界中的对象种类杂多,需要通过工具对这些对象建模(例如采用unity3d对工厂进行建模),工作量巨大,也在制约着工业数字孪生的发展。
3.现有技术中三维重建技术作为一种快速建模方法,可以迅速地将周围环境重建出来,被频繁地使用到医学、建筑物、地图的重建中,然而三维重建技术重建得到的物体都是静止的,并不能动态显示其运动状态,而实际的工业数字孪生(虚拟工厂)场景中,往往需要的是动态模型,这种静态模型无法模拟出整个真实运转的工厂,所以现有的三维重建技术并不能有效地应用到虚拟工厂中。
4.因此,现有技术有待改进和发展。


技术实现要素:

5.本发明的目的在于提供一种机械臂三维重建方法、装置、电子设备和存储介质,提供一种基于现有三维重建技术搭建出动态模型的方法,得到的动态模型适用于虚拟工厂的应用场景。
6.第一方面,本技术提供一种机械臂三维重建方法,用于搭建出机械臂的数字孪生动态模型,所述机械臂三维重建方法包括以下步骤:s1.基于已装配的机械臂,获取所述机械臂各个手臂的零件模型;s2.获取多张不同位姿下所述机械臂的第一图像;s3.根据所述第一图像,获取所述机械臂各个手臂之间的关节的关节点坐标;s4.根据所述关节点坐标识别出所述机械臂各个手臂之间的关节的自由度;s5.根据所述自由度对所述零件模型添加运动约束,得到所述机械臂的数字孪生动态模型。
7.对已装配的机械臂的各个手臂单独识别并重建模型,通过对关节的自由度判断为各个手臂添加运动约束,进而构建出数字孪生动态模型,其过程识别准确度高,得到动态模型能够真实还原机械臂的各种运动状态。
8.进一步的,步骤s1中的具体步骤包括:s11.获取所述机械臂从多个采集层拍摄所得的第二图像,所述采集层从上往下间隔排布,且每个所述采集层均包括多个拍摄点,所述机械臂被所有所述拍摄点所包围;s12.利用solov2语义分割模型对所有所述第二图像进行分割处理,得到所述机械臂各个手臂在不同视角下的多个零件图片;
s13.根据所述零件图片,利用colmap算法重建出所述机械臂各个手臂的零件模型。
9.能够有效减少各个手臂的结构特征缺失从而有利于重建出较准确且完整的零件模型。
10.进一步的,步骤s2中的具体步骤包括:s21.获取所述机械臂的运动视频;s22.从所述运动视频中以第一预设时间为间隔截取所述第一图像。
11.有利于降低人力成本,同时通过更简单的处理方式使得处理效率大大提高。
12.进一步的,步骤s3中的具体步骤包括:s31.将所述第一图像输入到预先训练好的基于das算法的3d位姿估计模型中,得到所述关节点坐标。
13.利用现有的基于das算法的3d位姿估计模型从第一图像中识别关节并获取关节点坐标。
14.进一步的,所述3d位姿估计模型通过以下训练步骤训练得到:a1.获取不同位姿下所述机械臂的第三图像;a2.获取各个所述第三图像中所述机械臂各个手臂之间的关节的真实坐标;a3.根据所述第三图像和所述真实坐标,获取多组训练数据,每组所述训练数据均包括一张所述第三图像和对应的所述真实坐标;a4.将所述训练数据输入到待训练的3d位姿估计模型中进行训练,得到完成训练的3d位姿估计模型。
15.进一步的,步骤a2中的具体步骤包括:a21.利用激光追踪仪获取所述机械臂的末端执行器在激光追踪仪坐标系下的第一坐标;a22.将所述第一坐标换算至所述机械臂的基座坐标系中,得到第二坐标;a23.基于所述第二坐标,通过逆运动学计算获得所述机械臂上各个手臂之间的关节的所述真实坐标。
16.进一步的,步骤s4中的具体步骤包括:s41.获取目标时刻下目标关节的关节点坐标,所述目标时刻为任一个所述第一图像在所述运动视频中对应的截取时刻,所述目标关节为所述机械臂各个手臂之间的关节中的任一个关节;s42.获取所述目标时刻的下一个时刻的目标关节的关节点坐标;s43.对比所述目标时刻下目标关节的关节点坐标和所述目标时刻的下一个时刻的目标关节的关节点坐标,得到坐标轴数值未发生变化的坐标轴并作为目标坐标轴;s44.根据所述目标坐标轴,判断所述目标关节的自由度。
17.第二方面,本发明还提供了一种机械臂三维重建装置,用于搭建出机械臂的数字孪生动态模型,所述机械臂三维重建装置包括:第一获取模块,用于基于已装配的机械臂,获取所述机械臂各个手臂的零件模型;第二获取模块,用于获取多张不同位姿下所述机械臂的第一图像;第三获取模块,用于根据所述第一图像,获取所述机械臂各个手臂之间的关节的
关节点坐标;识别模块,用于根据所述关节点坐标识别出所述机械臂各个手臂之间的关节的自由度;约束模块,用于根据所述自由度对所述零件模型添加运动约束,得到所述机械臂的数字孪生动态模型。
18.采取部分重建、整体装配的思想,先获取各个手臂的零件模型,然后对其添加运动约束以实现零件装配同时限定其运动行为,从而构建出能够仿真出真实机械臂的运动状态的数字孪生动态模型。
19.第三方面,本发明提供了一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述机械臂三维重建方法中的步骤。
20.第四方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述机械臂三维重建方法中的步骤。
21.由上可知,基于现有的三维重建技术,对机械臂各个手臂分别重建出相互独立的零件模型,再通过分析各个关节的自由度从而对各个零件添加运动约束(运动约束确定即相当于各个零件完成装配),从而搭建出机械臂的数字孪生动态模型,应用至虚拟工厂的场景中,能够重现整个工厂真实的运转情况。
附图说明
22.图1为本技术实施例提供的机械臂三维重建方法的一种流程图。
23.图2为本技术实施例中对机械臂各个手臂重建后的零件模型的示意图。
24.图3为本技术实施例中布置在机械臂周围的采集层和拍摄点的示意图。
25.图4为本技术实施例提供的机械臂三维重建装置的一种结构示意图。
26.图5为本技术实施例提供的电子设备的结构示意图。
具体实施方式
27.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
29.在某些实施例中,参考附图1和附图2,一种机械臂三维重建方法,用于搭建出机械臂的数字孪生动态模型,包括步骤:s1.基于已装配的机械臂,获取机械臂各个手臂的零件模型;s2.获取多张不同位姿下机械臂的第一图像;
s3.根据第一图像,获取机械臂各个手臂之间的关节的关节点坐标;s4.根据关节点坐标识别出机械臂各个手臂之间的关节的自由度;s5.根据自由度对零件模型添加运动约束,得到机械臂的数字孪生动态模型。
30.在已运行的工厂中,机械臂都已经完成整体装配,并不可能将机械臂的各个手臂单独拆卸并对其进行三维重建,因此本实施中提供的机械臂三维重建方法是基于对机械臂装配体搭建出对应的数字孪生动态模型,利用现有的三维重建算法创建出机械臂各个手臂的零件模型(三维模型),此步骤创建出的各个手臂维持在装配状态(参考附图2,附图2中对经重建的各个手臂均标注成不同灰度,附图中的机械臂为6轴机械臂,因此重建出6个手臂,对应图中标注的6种不同灰度),然而因为采用现有的三维重建算法得到的三维模型均为静态模型,所以当前所获得机械臂装配体也是静态的,并不能直接应用于虚拟工厂中。
31.为了构建出动态装配体(即动态模型),需要控制机械臂的每一个轴都被驱动过,并在每次控制轴运动后,获取第一图像,第一图像中反映出机械臂在每次运动结束后的位姿。
32.在每一个轴都被驱动过并获得对应的所有第一图像后,利用现有的图像识别技术识别出每张第一图像中机械臂各个手臂之间的关节的关节点坐标,通过进一步对比同一个关节在不同第一图像中的坐标值从而获得该关节的自由度(对各个关节均进行相同的识别分析处理),在获得机械臂所有关节的自由度后,向上述获取的各个手臂的零件模型对应的关节点位置添加运动约束,例如限定手臂只绕z轴旋转,又例如限定手臂只沿y轴方向旋转,又例如限定手臂只沿z轴方向旋转,以此完成机械臂的数字孪生动态模型的搭建。
33.在某些实施例中,参考附图3,步骤s1中的具体步骤包括:s11.获取机械臂从多个采集层拍摄所得的第二图像,采集层从上往下间隔排布,且每个采集层均包括多个拍摄点,机械臂被所有拍摄点所包围;s12.利用solov2语义分割模型对所有第二图像进行分割处理,得到机械臂各个手臂在不同视角下的多个零件图片;s13.根据零件图片,利用colmap算法重建出机械臂各个手臂的零件模型。
34.本实施例中,通过在现实的机械臂上从上往下设置多个采集层,例如一共设置5层采集层,且每层采集层均设置多个拍摄点,例如每层采集层均设置12个采集点,每个采集点相距30
°
,以此采集架构获取多张第二图像,这种采集架构能够全方位获取机械臂各个位置的图像,使得在通过现有的solov2语义分割模型分割机械臂的各个手臂时能够减少各个手臂的结构特征的缺失,有利于通过现有的colmap算法重建出较准确且完整的零件模型。
35.在某些实施例中,步骤s2中的具体步骤包括:s21.获取机械臂的运动视频;s22.从运动视频中以第一预设时间为间隔截取第一图像。
36.通过直接拍摄照片的方式,若后期处理发现拍摄所得的第一图像并不能提取出足够的信息以供后续判断各个关节的自由度,例如部分关节被遮挡无法识别出关节点,又例如缺失控制某个轴运动后的照片等,则用户还需要再次到现场进行拍摄,相比于此,本实施例以拍摄视频的方式获取机械臂的运动视频,并从视频中间隔截取第一图像,若出现上述情况,用户仅需要从视频中再次截取第一图像即可,无需再次前往现场,更符合在现实生活中的应用需求,且有利于降低人力成本,同时通过更简单的处理方式使得处理效率大大提
高。
37.在某些实施例中,步骤s3中的具体步骤包括:s31.将第一图像输入到预先训练好的基于das算法的3d位姿估计模型中,得到关节点坐标。利用现有的基于das算法的3d位姿估计模型从第一图像中识别关节并获取关节点坐标。
38.在某些实施例中,3d位姿估计模型通过以下训练步骤训练得到:a1.获取不同位姿下机械臂的第三图像;a2.获取各个第三图像中机械臂各个手臂之间的关节的真实坐标;a3.根据第三图像和真实坐标,获取多组训练数据,每组训练数据均包括一张第三图像和对应的真实坐标;a4.将训练数据输入到待训练的3d位姿估计模型中进行训练,得到完成训练的3d位姿估计模型。
39.本实施例中,真实坐标将作为训练数据中的标签使用,第三图像输入到待训练的3d位姿估计模型中后会获得各个关节的关节点坐标,获得的各个关节的关节点坐标将与各个关节的真实坐标进行一一对比,通过迭代训练更新模型的参数使得经过模型获得的关节点坐标逼近于真实坐标,待获得的关节点坐标与真实坐标之间的误差小于预设值时,或训练至一定次数后则认为完成训练,获得完成训练的3d位姿估计模型。
40.在某些实施例中,步骤a2中的具体步骤包括:a21.利用激光追踪仪获取机械臂的末端执行器在激光追踪仪坐标系下的第一坐标;a22.将第一坐标换算至机械臂的基座坐标系中,得到第二坐标;a23.基于第二坐标,通过逆运动学计算获得机械臂上各个手臂之间的关节的真实坐标。
41.本实施例中,通过高精度的激光追踪仪能够获得较准确的末端执行器的第一坐标,该第一坐标认为是末端执行器的真实坐标,通过坐标系换算和逆运动学计算即可以获得各个关节的真实坐标。
42.需要说明的是,坐标系换算和逆运动学计算均为现有技术在此不再赘述;其中各个关节的关节点坐标和真实坐标均基于基座坐标系。
43.在某些实施例中,步骤s4中的具体步骤包括:s41.获取目标时刻下目标关节的关节点坐标,目标时刻为任一个第一图像在运动视频中对应的截取时刻,目标关节为机械臂各个手臂之间的关节中的任一个关节;s42.获取目标时刻的下一个时刻的目标关节的关节点坐标;s43.对比目标时刻下目标关节的关节点坐标和目标时刻的下一个时刻的目标关节的关节点坐标,得到坐标轴数值未发生变化的坐标轴并作为目标坐标轴;s44.根据目标坐标轴,判断目标关节的自由度。
44.本实施例中,通过对比不同时刻下同一个关节的坐标值变化以判断该关节的自由度;例如第一关节在某个时刻的坐标为(1,1,1),该关节在下一个时刻的坐标为(2,2,1),即可以判断出只有z轴坐标值没有发生变化,则说明第一关节绕z轴旋转;又例如第二关节在某个时刻的坐标为(2,1,1),该关节在下一个时刻的坐标为(2,3,4),即可以判断出只有x轴
坐标值没有发生变化,则说明第二关节绕x轴旋转。
45.请参照图4,图4是本技术一些实施例中的一种机械臂三维重建装置,用于搭建出机械臂的数字孪生动态模型,该机械臂三维重建装置以计算机程序的形式集成在该机械臂三维重建装置的后端控制设备中,该机械臂三维重建装置包括:第一获取模块100,用于基于已装配的机械臂,获取机械臂各个手臂的零件模型;第二获取模块200,用于获取多张不同位姿下机械臂的第一图像;第三获取模块300,用于根据第一图像,获取机械臂各个手臂之间的关节的关节点坐标;识别模块400,用于根据关节点坐标识别出机械臂各个手臂之间的关节的自由度;约束模块500,用于根据自由度对零件模型添加运动约束,得到机械臂的数字孪生动态模型。
46.在某些实施例中,第一获取模块100在用于基于已装配的机械臂,获取机械臂各个手臂的零件模型的时候执行:s11.获取机械臂从多个采集层拍摄所得的第二图像,采集层从上往下间隔排布,且每个采集层均包括多个拍摄点,机械臂被所有拍摄点所包围;s12.利用solov2语义分割模型对所有第二图像进行分割处理,得到机械臂各个手臂在不同视角下的多个零件图片;s13.根据零件图片,利用colmap算法重建出机械臂各个手臂的零件模型。
47.在某些实施例中,第二获取模块200在用于获取多张不同位姿下机械臂的第一图像的时候执行:s21.获取机械臂的运动视频;s22.从运动视频中以第一预设时间为间隔截取第一图像。
48.在某些实施例中,第三获取模块300在用于根据第一图像,获取机械臂各个手臂之间的关节的关节点坐标的时候执行:s31.将第一图像输入到预先训练好的基于das算法的3d位姿估计模型中,得到关节点坐标。
49.在某些实施例中,第三获取模块300中所使用的基于das算法的3d位姿估计模型通过以下训练步骤训练得到:a1.获取不同位姿下机械臂的第三图像;a2.获取各个第三图像中机械臂各个手臂之间的关节的真实坐标;a3.根据第三图像和真实坐标,获取多组训练数据,每组训练数据均包括一张第三图像和对应的真实坐标;a4.将训练数据输入到待训练的3d位姿估计模型中进行训练,得到完成训练的3d位姿估计模型。
50.在某些实施例中,在执行获取各个第三图像中机械臂各个手臂之间的关节的真实坐标的步骤以训练第三获取模块300中所使用的基于das算法的3d位姿估计模型的时候执行:a21.利用激光追踪仪获取机械臂的末端执行器在激光追踪仪坐标系下的第一坐标;
a22.将第一坐标换算至机械臂的基座坐标系中,得到第二坐标;a23.基于第二坐标,通过逆运动学计算获得机械臂上各个手臂之间的关节的真实坐标。
51.请参照图5,图5为本技术实施例提供的一种电子设备的结构示意图,本技术提供一种电子设备,包括:处理器1301和存储器1302,处理器1301和存储器1302通过通信总线1303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器1302存储有处理器1301可执行的计算机程序,当计算设备运行时,处理器1301执行该计算机程序,以执行上述第一方面的实施例的任一可选的实现方式中的机械臂三维重建方法,以实现以下功能:基于已装配的机械臂,获取机械臂各个手臂的零件模型;获取多张不同位姿下机械臂的第一图像;根据第一图像,获取机械臂各个手臂之间的关节的关节点坐标;根据关节点坐标识别出机械臂各个手臂之间的关节的自由度;根据自由度对零件模型添加运动约束,得到机械臂的数字孪生动态模型。
52.本技术实施例提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述第一方面的实施例的任一可选的实现方式中的机械臂三维重建方法,以实现以下功能:基于已装配的机械臂,获取机械臂各个手臂的零件模型;获取多张不同位姿下机械臂的第一图像;根据第一图像,获取机械臂各个手臂之间的关节的关节点坐标;根据关节点坐标识别出机械臂各个手臂之间的关节的自由度;根据自由度对零件模型添加运动约束,得到机械臂的数字孪生动态模型。
53.其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory, 简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory, 简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory, 简称eprom),可编程只读存储器(programmable red-only memory, 简称prom),只读存储器(read-only memory, 简称rom),磁存储器,快闪存储器,磁盘或光盘。
54.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
55.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
56.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
57.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
58.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1