CN119784839A - 机械臂位姿确定方法、设备、存储介质及程序产品 - Google Patents
机械臂位姿确定方法、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN119784839A CN119784839A CN202411850607.9A CN202411850607A CN119784839A CN 119784839 A CN119784839 A CN 119784839A CN 202411850607 A CN202411850607 A CN 202411850607A CN 119784839 A CN119784839 A CN 119784839A
- Authority
- CN
- China
- Prior art keywords
- pose
- mechanical arm
- determining
- dimensional path
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Manipulator (AREA)
Abstract
本发明揭示了一种机械臂位姿确定方法、设备、存储介质及程序产品,包括:通过成像传感器获取人体全局图像以及人体局部图像,人体全局图像与人体局部图像均包含目标检测区域,成像传感器固定于机械臂末端;对人体全局图像进行目标检测区域分割,确定目标检测区域轮廓;将人体全局图像中的目标检测区域轮廓映射至人体局部图像,得到人体局部图像中的二维路径;将二维路径的像素投影至三维点云,得到三维路径;基于三维路径,确定目标机械臂位姿,目标机械臂位姿是指基于三维路径对目标检测区域进行检测时对应的机械臂末端的执行器位姿。采用本申请提供的方案,能够进行自动化的待检测区域识别,并根据待检测区域进行自动化确定机械臂末端执行器位姿。
Description
技术领域
本发明涉及机器人技术领域,特别涉及一种机械臂位姿确定方法、设备、存储介质及程序产品。
背景技术
现如今,超声扫描广泛应用于临床医学领域,尤其是进行体内器官的检测与诊断中,利用超声声束扫描人体,通过对反射信号的接收、处理从而获得体内器官的图像。
相关技术中,在进行超声扫描时,通常需要由医生手动操作超声设备对待检测区域进行超声扫描。然而,在由医生手动操作时,往往依赖于医生的经验和专业技能,对于经验欠缺的医护人员,通常无法独立进行超声扫描。因此,亟需一种进行自动化超声扫描的方案,在准确定位待检测区域之后,确定固定有超声设备的机械臂末端执行器位姿,从而实现对待检测区域的自动化超声扫描。
发明内容
本发明的目的在于提供一种机械臂位姿确定方法、设备、存储介质及程序产品,目的在于实现人体待检测区域的自动识别后,准确的确定机械臂对待检测区域进行检测的机械臂末端执行器位姿,有利于实现对待检测区域的自动检测。
为实现上述目的,一方面,本申请提供了一种机械臂位姿确定方法,所述方法包括:
通过成像传感器获取人体全局图像以及人体局部图像,所述人体全局图像与所述人体局部图像均包含目标检测区域,所述成像传感器固定于机械臂末端;
对所述人体全局图像进行目标检测区域分割,确定所述目标检测区域轮廓;
将人体全局图像中的所述目标检测区域轮廓映射至所述人体局部图像,得到所述人体局部图像中的二维路径;
将所述二维路径的像素投影至三维点云,得到三维路径;
基于所述三维路径,确定目标机械臂位姿,所述目标机械臂位姿是指基于所述三维路径对所述目标检测区域进行检测时对应的机械臂末端的执行器位姿。
作为本申请的进一步改进,所述将人体全局图像中的所述目标检测区域轮廓映射至所述人体局部图像,得到所述人体局部图像中的二维路径,包括:
基于拍摄所述人体全局图像时的第一机械臂位姿、拍摄所述人体局部图像时的第二机械臂位姿以及手眼标定结果,确定传感器姿态变换矩阵,机械臂位姿用于描述所述机械臂与机械臂基座之间的相对位置及姿态关系,所述机械臂的根部固定于所述机械臂基座;
基于所述传感器姿态变换矩阵,确定所述目标检测区域轮廓转换至所述人体局部图像的中间轮廓数据,所述中间轮廓数据在相机坐标系下表征所述目标检测区域轮廓;
基于所述成像传感器的内部参数,确定所述中间轮廓数据在所述人体局部图像中对应的所述二维路径,所述二维路径在u-v坐标系下表征所述目标检测区域轮廓。
作为本申请的进一步改进,所述基于拍摄所述人体全局图像时的第一机械臂位姿、拍摄所述人体局部图像时的第二机械臂位姿以及手眼标定结果,确定传感器姿态变换矩阵,包括:
基于所述手眼标定结果以及所述第一机械臂位姿,确定第一传感器姿态矩阵,其中,传感器姿态矩阵用于描述所述成像传感器与所述机械臂基座之间的相对位置及姿态关系;
基于所述手眼标定结果以及所述第二机械臂位姿,确定第二传感器姿态矩阵;
基于所述第一传感器姿态矩阵以及所述第二传感器姿态矩阵,确定所述成像传感器由第一传感器姿态变换至第二传感器姿态的所述传感器姿态变换矩阵。
作为本申请的进一步改进,所述基于所述手眼标定结果以及所述第一机械臂位姿,确定第一传感器姿态矩阵,包括:
将所述手眼标定结果与所述第一机械臂位姿相乘,得到所述第一传感器姿态矩阵;
所述基于所述手眼标定结果以及所述第二机械臂位姿,确定第二传感器姿态矩阵,包括:
将所述手眼标定结果与所述第二机械臂位姿相乘,得到所述第二传感器姿态矩阵;
所述确定所述成像传感器由第一传感器姿态变换至第二传感器姿态的所述传感器姿态变换矩阵,包括:
将所述第一传感器姿态矩阵与所述第二传感器姿态矩阵相除,得到所述传感器姿态变换矩阵。
作为本申请的进一步改进,所述基于所述传感器姿态变换矩阵,确定所述目标检测区域轮廓转换至所述人体局部图像的中间轮廓数据,包括:
将所述目标检测轮廓中各个像素点数据与所述传感器姿态变换矩阵相乘,得到所述中间轮廓数据。
作为本申请的进一步改进,所述将所述二维路径的像素投影至三维点云,得到三维路径,包括:
遍历所述二维路径中的像素,基于所述二维路径中各个像素坐标,在人体全局三维点云中确定对应位置的目标点;
在所述三维路径中不包含所述目标点,且所述目标点的三维坐标中各分量均不为0的情况下,将所述目标点添加至所述三维路径。
作为本申请的进一步改进,在基于所述三维路径,确定目标机械臂位姿之前,所述方法还包括:
对所述三维路径进行平滑处理,得到平滑三维路径;
所述基于所述三维路径,确定目标机械臂位姿,包括:
基于所述平滑三维路径,确定所述目标机械臂位姿。
作为本申请的进一步改进,所述对所述三维路径进行平滑处理,得到平滑三维路径,包括:
对所述三维路径进行线性插值,得到扩充后的稠密三维路径;
确定所述三维路径在人体全局三维点云所占立方体内的中间三维路径;
确定所述中间三维路径与所述稠密三维路径的相交三维路径;
遍历所述相交三维路径中的三维点坐标,对所述相交三维路径进行均值滤波,得到所述平滑三维路径。
作为本申请的进一步改进,所述基于所述三维路径,确定目标机械臂位姿,包括:
确定所述三维路径中各个点对应的法向量;
基于所述法向量进行轨迹规划,将所述三维路径转换为运动点序列,所述运动点序列是指基于所述三维路径进行检测时,在相机坐标系下的待检测点序列;
基于手眼标定结果以及所述运动点序列,确定基坐标系下所述目标机械臂位姿,所述基坐标系下所述目标机械臂位姿用于表征对所述待检测点进行检测时,所述机械臂末端执行器与机械臂基座之间的相对位置关系。
作为本申请的进一步改进,所述对所述人体全局图像进行目标检测区域分割,确定所述目标检测区域轮廓,包括:
基于所述人体全局图像检测人体关键点;
基于所述人体关键点,对所述目标检测区域进行分割,确定所述目标检测区域轮廓。
另一方面,本申请提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面所述的机械臂位姿确定方法中的步骤。
另一方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上述任一方面所述的机械臂位姿确定方法中的步骤。
另一方面,本申请提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上述任一方面所述的机械臂位姿确定方法中的步骤。
本申请实施例所提供的方案,至少具有以下有益效果:
在本申请实施例中,首先对人体全局图像进行目标检测区域分割,能够准确的定位待检测区域。并且基于目标检测区域轮廓,确定对该目标检测区域分割后确定局部图像中进行检测的二维路径,通过将二维路径投影至三维点云,从而基于三维路径确定对该目标检测区域进行检测时对应的目标机械臂位姿,在此过程中能够实现准确的机械臂位姿规划,从而有利于控制机械臂携带超声设备对目标检测区域进行自动化的超声检测。
附图说明
图1示出了本申请一个示意性实施例提供的机械臂位姿确定方法的实施环境示意图;
图2示出了本申请一个示意性实施例提供的机械臂位姿确定方法的流程图;
图3示出了本申请一个示意性实施例提供的人体全局图像以及人体全局三维点云示意图;
图4示出了本申请一个示意性实施例提供的目标检测区域轮廓以及二维路径的示意图;
图5示出了本申请一个示意性实施例提供的机械臂位姿确定过程的流程图;
图6示出了本申请一个示意性实施例提供的确定传感器姿态变换矩阵过程的流程图;
图7示出了本申请一个示意性实施例提供的对三维路径进行平滑处理过程的流程图;
图8示出了本申请一个示意性实施例提供的平滑三维路径的示意图;
图9示出了本申请一个示意性实施例提供的电子设备的结构方框图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
需要说明的是,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的105要素。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
请参考图1,其示出了本申请一个示意性实施例提供的机械臂位姿确定方法的实施环境示意图,其中包括机械臂基座101、机械臂102、成像传感器103、电子设备104以及机械臂末端执行器105。
其中,机械臂102的根部固定于机械臂基座101,机械臂的末端固定有成像传感器103。机械臂基座用于对机械臂进行支撑,将机械臂与安装平面进行连接,机械臂中存在多个关节及连接各个关节的连杆,并且机械臂末端还存在末端执行器105,且末端执行器上还固定有成像传感器103。成像传感器103可以为相机、摄像头等用于将光学图像转化为电信号或数字信号的设备。
可选的,机械臂末端执行器105可以为夹具、真空吸盘、焊接头、刀具以及超声探头等不同工具,而在本申请实施例的实施场景中,该机械臂末端执行器105为夹具,用于固定超声扫描设备等用于对目标检测区域进行检测的设备。
本申请实施例中,机械臂基座101以及成像传感器103与电子设备104具有通信连接,该通信连接的连接方式可以为有线连接,例如串行通信接口连接、以太网接口连接等,或者该通信方式为无线连接,例如,Wi–Fi(Wireless Fidelity,无线保真)和蓝牙,本实施例对此不进行限定。该电子设备104可以为平板电脑、计算机设备、终端等等。本申请实施例中机械臂基座用于基于该通信连接向电子设备发送机械臂在基坐标系下的位姿,成像传感器104用于基于该连接向电子设备发送所拍摄的图像数据。
请参考图1,在一种可能的实施方式中,成像传感器对人体图像进行拍摄,得到人体全局图像,并且在电子设备控制机械臂移动一定距离后,获取人体局部图像,并将拍摄到的人体局部图像以及人体全局图像通过通信连接发送至电子设备。并且,机械臂基座确定机械臂末端在不同位置处的位姿,并发送至电子设备。电子设备获取到人体全局图像以及人体局部图像的情况下,进行目标检测区域分割,确定目标检测区域轮廓,并将人体全局图像中的目标检测区域轮廓映射至人体局部图像,从而得到人体局部图像中的二维路径,进而得到三维路径,最后,基于三维路径,确定目标机械臂位姿。电子设备在确定目标机械臂位姿之后,通过与机械臂基座之间建立的内连接,将对机械臂的控制程序发送至机械臂基座内的控制器中,从而控制机械臂末端执行器按照设定的程序移动至符合目标机械臂位姿,在机械臂末端执行器105中固定有超声设备的情况下,对人体目标检测区域进行超声扫描。
需要说明的是,在以下实施例中,以该电子设备104为计算机设备为例,对本申请所提供的方案进行说明。
请参考图2,其示出了本申请一个示意性实施例提供的机械臂位姿确定方法的流程图,该流程包括以下步骤:
步骤201,通过成像传感器获取人体全局图像以及人体局部图像。
其中,成像传感器固定于机械臂末端。
请参考图3,其示出了本申请一个示例性实施例提供的人体全局图像以及人体全局三维点云示意图。
其中,在拍摄人体全局图像之后,成像传感器将拍摄到的人体全局图像发送至计算机设备。并且在将成像传感器进行一定的位移后,成像传感器拍摄人体局部图像,并将人体局部图像发送至计算机设备。
由于需要基于待检测区域确定进行检测时的机械臂位姿,因此在拍摄人体局部图像以及人体全局图像时,需要保证人体全局图像与人体局部图像均包含目标检测区域,该目标检测区域可能为待检测的人体胸部脏器对应的人体表面区域,例如,待检测人体胸部脏器为肝脏,则对应的待检测区域为肝脏对应的人体表皮胸口部位。
步骤202,对人体全局图像进行目标检测区域分割,确定目标检测区域轮廓。
由于在进行人体全局图像分割的过程中,需要依赖于人体部分关键点的位置,在人体全部图像中包含大多数关键点位置,而在局部图像中,部分关键点缺失,会导致基于人体局部图像进行目标检测区域分割的结果不够准确,因此,本申请实施例基于人体全局图像进行目标检测区域分割,有利于获得准确的分割结果。
在一种可能的实施方式中,在确定目标检测区域轮廓时,首先基于人体全局图像检测人体关键点,再基于人体关键点,对目标检测区域进行分割,从而确定目标检测区域轮廓。
可选的,计算机设备采用YOLOv5(You Only Look Once version 5,你只看一次版本5)模型识别人体关节关键点,进而得到人体在人体全局图像中的位置和所占区域,然后通过PP-LiteSeg(PaddlePaddle-Lite Semantic Segmentation,轻量级实时语义分割网络)对人体目标检测区域进行分割,得到目标检测区域轮廓。
请参考图4,其示出了本申请一个示例性实施例提供的目标检测区域轮廓以及二维路径的示意图。
可选的,在采用YOLOv5以及PP-LiteSeg对人体全局图像进行目标检测区域分割之前,需要对其进行微调训练,使其能够应用于本申请实施例所需要的针对人体全局图像进行目标检测区域分割的环境中。因此,在训练过程中,可以利用深度相机进行样本采集,对Z个不同人体分别扫描H个不同姿态下的RGB图像和其对应的点云数据,则样本中包含Z×H个数据。其中RGB图像对应的点云数据情参考图3中所示出的人体全局图像对应的点云数据。
步骤203,将人体全局图像中的目标检测区域轮廓映射至人体局部图像,得到人体局部图像中的二维路径。
在对人体全局图像进行分割得到目标检测区域轮廓,能够避免因为人体局部图像中信息不全导致进行目标区域分割误差较大。
请参考图4,其中右侧为人体局部图像中的二维路径。
步骤204,将二维路径的像素投影至三维点云,得到三维路径。
由于最终需要确定机械臂位姿,即机械臂在三维空间中的位置和姿态,因此在得到二维路径像素后,需要将二维路径像素投影到三维点云,从而得到三维空间中的点云路径,以便进一步确定目标机械臂位姿。
步骤205,基于三维路径,确定目标机械臂位姿。
其中,目标机械臂位姿是指基于三维路径对目标检测区域进行检测时对应的机械臂末端的执行器位姿。
其中三维路径可以视为检测设备对目标检测区域进行检测时需要扫描的扫描点路径,该检测设备固定于机械臂末端,因此,基于三维路径,确定目标机械臂位姿的过程可以视为,在对目标检测区域进行检测时,基于检测设备所检测的检测点位置,确定用于固定该检测设备的机械臂末端执行器位姿。
在本申请实施例中,首先对人体全局图像进行目标检测区域分割,能够准确的定位待检测区域。并且基于目标检测区域轮廓,确定对该目标检测区域分割后确定局部图像中进行检测的二维路径,通过将二维路径投影至三维点云,从而基于三维路径确定对该目标检测区域进行检测时对应的目标机械臂位姿,在此过程中能够实现准确的机械臂位姿规划,从而有利于控制机械臂携带超声设备对目标检测区域进行自动化的超声检测。
请参考图5,其示出了本申请一个示例性实施例提供的机械臂位姿确定过程的流程图,该过程包括以下步骤:
步骤501,通过成像传感器获取人体全局图像以及人体局部图像,对人体全局图像进行目标检测区域分割,确定目标检测区域轮廓。
该步骤的具体实施方式可以参照上述步骤201以及步骤202,本实施例在此不足赘述。
步骤502,基于拍摄人体全局图像时的第一机械臂位姿、拍摄人体局部图像时的第二机械臂位姿以及手眼标定结果,确定传感器姿态变换矩阵。
其中,机械臂位姿用于描述机械臂与机械臂基座之间的相对位置及姿态关系,机械臂的根部固定于机械臂基座。
本申请实施例中,可能存在相同点在不同坐标系下的转换,可能涉及的坐标系如下:
机械臂基座坐标系是整个机械臂系统的参考坐标系,通常固定在机械臂基座上,是笛卡尔坐标系,用于确定机械臂在工作空间中的位置和姿态的基准。本申请实施例中,第一机械臂位姿以及第二机械臂位姿均在基坐标系下。
并且,机械臂末端坐标系通常固定在机械臂执行器(夹具)上的,坐标系的原点通常位于机械臂末端的某个特定点,例如夹具的中心。可选的,本申请实施例中,机械臂末端坐标系为法兰坐标系。
机械臂末端执行器坐标系是机械臂末端执行器(夹具)自身的坐标系,用于经确描述夹具的动作和操作,例如,对于一个夹爪式夹具,其坐标系的轴可以定义为夹爪的开合方向,坐标轴可以定义在夹爪的平面内,用于描述夹取物体的位置。
相机坐标系是以相机(成像传感器)的光心为原点建立的坐标系,X、Y轴通常平行于相机的像平面,轴指向相机的拍摄方向。在相机安装在机械臂末端的情况下,相机的位姿和姿态相对于机械臂是固定的,则可以通过计算确定相机坐标系在机械臂坐标系中的位置和姿态;在相机固定在工作空间中某个位置,即相机独立于机械臂的情况下,则可以标定相机坐标系与机械臂基座之间的关系。
请参考图6,其示出了本申请一个示例性实施例提供的确定传感器姿态变换矩阵过程的流程图,该过程包括以下步骤:
步骤502a,基于手眼标定结果以及第一机械臂位姿,确定第一传感器姿态矩阵。
其中,传感器姿态矩阵用于描述成像传感器与机械臂基座之间的相对位置及姿态关系。
手眼标定结果为一个变换矩阵,该变换矩阵描述了相机坐标系与机械臂坐标系之间的相对位置和关系,即手眼标定结果能够表达成像传感器相对于机械臂末端的位置和方向。
可选的,由于传感器姿态矩阵用于描述成像传感器与机械臂基座之间的相对位姿,而手眼标定结果用于描述相机相对于机械臂末端的位姿,机械臂位姿用于描述机械臂末端相对于机械臂基座的位姿,则在确定第一传感器姿态矩阵时,将手眼标定结果与第一机械臂位姿的乘积,确定为第一传感器姿态矩阵。
例如,第一机械臂位姿为flangeGlobal2Base,手眼标定结果为cam2Flange,则第一传感器姿态矩阵T1为:
camGloal2Base=flangeGlobal2Base*cam2Flange
步骤502b,基于手眼标定结果以及第二机械臂位姿,确定第二传感器姿态矩阵。
由于在拍摄人体全局图像到拍摄人体局部图像的过程中,是通过控制机械臂从而改变成像传感器在空间中的位置,因此,该成像传感器相对于机械臂末端的位姿未发生变化,即手眼标定结果不变。
与第一传感器姿态矩阵相同,在确定传感器与机械臂基座之间的相对位姿即,确定第二传感器姿态矩阵时,将手眼标定结果与第二机械臂位姿的乘积,确定为第二传感器姿态矩阵。
例如,第二机械臂位姿为flangeLocal2Base,手眼标定结果为cam2Flange,则,第二传感器姿态矩阵T2为:
camLocal2Base=flangeLocal2Base*cam2Flange
步骤502c,基于第一传感器姿态矩阵以及第二传感器姿态矩阵,确定成像传感器由第一传感器姿态变换至第二传感器姿态的传感器姿态变换矩阵。
成像传感器由第一传感器姿态变换至第二传感器姿态,即由T1移动到T2的姿态为T1=T2*H,其中,H为传感器姿态变换矩阵。则将第一传感器姿态矩阵与第二传感器姿态矩阵的逆矩阵的乘积确定为传感器姿态变换矩阵。
即H=T2 -1*T1。
步骤503,基于传感器姿态变换矩阵,确定目标检测区域轮廓转换至人体局部图像的中间轮廓数据。
其中,中间轮廓数据在相机坐标系下表征目标检测区域轮廓。
可选的,在确定传感器姿态变换矩阵后,将目标检测轮廓中各个像素点数据与传感器姿态变换矩阵相乘,得到中间轮廓数据。
即在确定姿态传感器矩阵后,在人体全局图像中的目标检测区域轮廓P1转换至人体局部图像后得到的中间轮廓数据P2=H*P1。
例如,中间轮廓数据为ptsInCamGlobal2Local,则
ptsInCamGlobal2Local=camGlobal2Local*ptsInCamGlobal
其中,camGlobal2Local为传感器姿态变换矩阵,ptsInCamGlobal为目标检测区域轮廓。
步骤504,基于成像传感器的内部参数,确定中间轮廓数据在人体局部图像中对应的二维路径。
其中,二维路径在u-v坐标系下表征目标检测区域轮廓。
通常情况下,成像传感器的内部参数K为内参矩阵,则内参矩阵为:
K=[fx,0,cx;0,fy,cy;0,0,1]
其中,fx和fy分别是成像传感器在x和y方向上的焦距,决定了图像的缩放比例,cx和cy是图像平面的主点坐标即光轴与图像平面的交点在图像坐标系中的坐标。
则基于相机内参确定中间轮廓数据中每个像素对应的u-v坐标系下的像素坐标为:
u=fx*(Xcam/Zcam)+cx
v=fy*(Ycam/Zcam)+cy
其中,Xcam、Ycam以及Zcam为中间轮廓数据对应的每个像素对应的三维坐标各个分量的值。
步骤505,遍历二维路径中的像素,基于二维路径中各个像素坐标,在人体全局三维点云中确定对应位置的目标点。
可选的,在人体全局图像中各个像素点具有像素标识,且在人体全局三维点云对应位置中存在点云与像素点具有对应的像素标识。则将人体全局图像中的目标检测区域轮廓映射为二维路径后,二维路径中各个像素仍具有相应的像素标识,从而可以基于该像素标识,在人体全局三维点云中确定目标点。
步骤506,在三维路径中不包含目标点,且目标点的三维坐标中各分量均不为0的情况下,将目标点添加至三维路径。
在遍历二维路径像素的过程中,每确定一个像素对应的三维点后,均需要判断该三维点是否具有意义。三维路径点中坐标为零的点可能代表着一些无效信息,例如,在三维空间的坐标中,如果某一坐标分量为0,则意味着该点在空间中处于一个特殊平面上,而在实际的路径规划下,这样的点可能不在机械臂的有效工作空间。因此,需要在确定目标点后,先判断是否三维坐标中各坐标分量均不为0。
步骤507,确定三维路径中各个点对应的法向量。
可选的,在确定三维路径中各个点对应的法向量的过程中,计算机设备遍历三维路径中各个点,再通过NormalEstimationOMP(Orthogonal Matching Pursuit for NormalEstimation,用于法向量估计的正交匹配追踪)算法,确定每个点对应的法向量
步骤508,基于法向量进行轨迹规划,将三维路径转换为运动点序列。
其中,运动点序列是指基于三维路径进行检测时,在相机坐标系下的待检测点序列。
通常情况下,在利用机械臂与检测设备对人体表面进行检测的情况下,三维路径(即点云数据)能够以离散的点的形式描述待检测点的信息,而法向量可以进一步表明三维路径的方向特征。有利于计算机设备进行更加经确的轨迹规划。
可选的,在将三维路径转换为机械臂能够实际执行的运动点序列,可以对三维路径进行离散化处理,即将连续的三维路径按照一定步长或间隔分解成一系列离散的点,对于每个离散后的运动点,根据该点对应的方向量以及姿态约束条件进一步调整在该点处机械臂末端夹具的姿态。其中,姿态约束条件是针对于本申请实施例中所要进行的自动检测任务所设定的机械表末端执行器(夹具)合适的姿态。在经过姿态调整后,各个离散点按照顺序排列,从而得到了运动点序列。
其中,该运动点序列包含了机械臂在执行任务过程中每个时刻应该达到的位置以及对应末端执行器(夹具)的姿态。
步骤509,基于手眼标定结果以及运动点序列,确定基坐标系下目标机械臂位姿。
基坐标系下目标机械臂位姿用于表征对待检测点进行检测时,机械臂末端执行器与机械臂基座之间的相对位置关系。
可选的,根据机械臂状态计算机设备可以获取机械臂末端执行器在基坐标系下的位姿为tool2Base,已知机械臂末端坐标系(法兰坐标系)在机械臂末端夹具坐标系下的位姿为flage2Tool,则可以确定机械臂末端坐标系在基坐标系下的位姿flage2Base=tool2Base*flage2Tool。由于手眼标定结果用于表征成像传感器在基坐标系下的位姿,手眼标定结果为cam2Flange,则基于机械臂末端坐标系在基坐标系下的位姿可以确定相机坐标系下的运动点序列在基坐标系下对应的位姿为:
trajInBase=flange2Base*cam2Flange*trajInCam。
其中,trajInBase为运动点序列在基坐标系下对应的位姿,即机械臂末端执行器在进行检测时在基坐标系下的位姿,trajInCam为相机坐标系下的运动点序列。
本申请实施例中,基于机械臂位姿的变化以及手眼标定结果,从而将人体全局图像上的目标检测区域轮廓投影到局部图像上,即为全局图像中的位置信息转换到局部图像中,避免局部图像中的信息不全导致后续计算误差。并且,基于三维路径中各点对应法向量确定运动点序列有利于优化机械臂运动的轨迹平滑性,且在复杂的场景使得机械臂运动能够适应复杂场景,提高机械臂位姿的准确性。此外,基于三维路径,确定运动店序列后,将相机坐标系下的运动点序列转换为基坐标系下机械臂末端执行器的位姿,能够实现对目标检测区域进行检测时机械臂的自动化控制,降低人工成本。
在一种可能的实施方式中,由于深度相机在拍摄人体时,受外界影响生成的点云数据会生成噪点,即人体全局三维点云不平滑,且相对离散,则在基于三维路径确定目标机械臂位姿之前,需要先对三维路径进行平滑处理,进而使得确定目标机械臂位姿后,机械臂运动更加流畅且迅速。
即,首先对三维路径进行平滑处理,得到平滑三维路径。随后再基于平滑三维路径,确定目标机械臂位姿。
请参考图7,其示出了本申请一个示意性实施例提供的对三维路径进行平滑处理过程的流程图,该过程包括以下步骤:
步骤701,对三维路径进行线性插值,得到扩充后的稠密三维路径。
在进行线性插值时,可能存在设定的线性插值间隔thresd,根据线性插值间隔向三维路径中插入一个新的点数据,从而得到扩充的稠密三维路径。
对于线性插值的具体过程,本实施例在此不做过多赘述。
步骤702,确定三维路径在人体全局三维点云所占立方体内的中间三维路径。
首先,确定三维路径中的最大和最小的点坐标,分别为minPt和minPt。例如可以通过PCL(Point Cloud Library,点云库)中的pcl::compute3DMinMax函数确定minPt和minPt。
随后,遍历人体全局三维点云上中的点,从中找到在minPt和minPt范围内的所有点,这些点即为三维路径在人体全局三维点云所占立方体内的中间三维路径。
步骤703,确定中间三维路径与稠密三维路径的相交三维路径。
在一种可能的实施方式中,遍历稠密三维路径中的每个点,例如稠密三维路径中每个点为eachPt,查找中间三维路径中以点eachPt为中心,半径为k_distances范围内的所有点。若在该范围内只有一个点,则将其添加至相交三维路径中;若在该范围内存在多个点,则取距离eachPt最近且在eachPt两侧的两个候选点,计算这两个候选点的中点值,并将该中点值添加至相交三维路径中,从而得到相交三维路径。
其中,可以基于PCL中的pcl::radiusSearch函数查找三维路径中距离点eachPt半径k_distances范围内的所有点。
步骤704,遍历相交三维路径中的三维点坐标,对相交三维路径进行均值滤波,得到平滑三维路径。
可选的,遍历相交三维路径中的三维点eachPt,取eachPt周围半径为k_indices内的所有点的平均值替代三维点eachPt。并且,可以同时过滤重复的点坐标,从而得到平滑处理后的平滑三维路径。
请参考图8,其示出了本申请一个示意性实施例提供的平滑三维路径的示意图,其中平滑三维路径801与上述图4中的二维路径相对应。
本申请实施例中,采用三维路径平滑的拟合,包括三维点云路径的平滑算法,从而能够解决由于相机精度不佳导致的三维路径中的点,与实际人体表面不贴合的情况,有利于基于确定的目标机械臂位姿进行检测时,能够更好的对人体表面的目标检测区域进行检测,且机械臂的运动路径更加平滑,有利于更加流畅的对目标检测区域进行检测。
请参考图9,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器910和存储器920。
可选的,处理器910通过运行或执行存储在存储器920内的指令、程序、代码集或指令集,以及调用存储在存储器920内的数据,以执行上述任一实施例所提供的机械臂位姿确定方法中的步骤。
此外,处理器还可以执行设备的各种功能和处理数据。可选地,处理器910可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器910可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-networkProcessing Unit,NPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;NPU用于实现人工智能(Artificial Intelligence,AI)功能;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器910中,单独通过一块芯片进行实现。
存储器920可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器920包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器920可用于存储指令、程序、代码、代码集或指令集。存储器920可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储根据设备的使用所创建的数据(比如音频数据、电话本)等。
本申请实施例中的设备还包括通信组件930和显示组件940。其中,通信组件930可以为蓝牙组件、WiFi组件、NFC(Near Field Communication,近场通信)组件等等,用于通过有线或无线网络与外部设备(服务器或其他设备设备)进行通信;显示组件940用于进行图形用户界面展示,和/或,接收用户交互操作。
除此之外,本领域技术人员可以理解,上述附图所示出的设备的结构并不构成对设备的限定,设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,设备中还包括射频电路、输入单元、传感器、音频电路、扬声器、电源等部件,在此不再赘述。
本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该存储介质存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上任一实施例所述的机械臂位姿确定方法。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。该计算机程序在被处理器执行时实现如上述任一实施例所述的机械臂位姿确定方法。
Claims (13)
1.一种机械臂位姿确定方法,其特征在于,所述方法包括:
通过成像传感器获取人体全局图像以及人体局部图像,所述人体全局图像与所述人体局部图像均包含目标检测区域,所述成像传感器固定于机械臂末端;
对所述人体全局图像进行目标检测区域分割,确定所述目标检测区域轮廓;
将人体全局图像中的所述目标检测区域轮廓映射至所述人体局部图像,得到所述人体局部图像中的二维路径;
将所述二维路径的像素投影至三维点云,得到三维路径;
基于所述三维路径,确定目标机械臂位姿,所述目标机械臂位姿是指基于所述三维路径对所述目标检测区域进行检测时对应的机械臂末端的执行器位姿。
2.根据权利要求1所述的方法,其特征在于,得到所述人体局部图像中的二维路径的步骤包括:
基于拍摄所述人体全局图像时的第一机械臂位姿、拍摄所述人体局部图像时的第二机械臂位姿以及手眼标定结果,确定传感器姿态变换矩阵,机械臂位姿用于描述所述机械臂与机械臂基座之间的相对位置及姿态关系,所述机械臂的根部固定于所述机械臂基座;
基于所述传感器姿态变换矩阵,确定所述目标检测区域轮廓转换至所述人体局部图像的中间轮廓数据,所述中间轮廓数据在相机坐标系下表征所述目标检测区域轮廓;
基于所述成像传感器的内部参数,确定所述中间轮廓数据在所述人体局部图像中对应的所述二维路径,所述二维路径在u-v坐标系下表征所述目标检测区域轮廓。
3.根据权利要求2所述的方法,其特征在于,确定传感器姿态变换矩阵的步骤中包括:
基于所述手眼标定结果以及所述第一机械臂位姿,确定第一传感器姿态矩阵,其中,传感器姿态矩阵用于描述所述成像传感器与所述机械臂基座之间的相对位置及姿态关系;
基于所述手眼标定结果以及所述第二机械臂位姿,确定第二传感器姿态矩阵;
基于所述第一传感器姿态矩阵以及所述第二传感器姿态矩阵,确定所述成像传感器由第一传感器姿态变换至第二传感器姿态的所述传感器姿态变换矩阵。
4.根据权利要求3所述的方法,其特征在于,确定第一传感器姿态矩阵的步骤中包括:
将所述手眼标定结果与所述第一机械臂位姿的乘积,确定为所述第一传感器姿态矩阵;
基于所述手眼标定结果以及所述第二机械臂位姿,确定第二传感器姿态矩阵的步骤中包括:
将所述手眼标定结果与所述第二机械臂位姿的乘积确定为所述第二传感器姿态矩阵;
确定所述成像传感器由第一传感器姿态变换至第二传感器姿态的所述传感器姿态变换矩阵的步骤中包括:
将所述第一传感器姿态矩阵与所述第二传感器姿态矩阵的逆矩阵的乘积,确定为所述传感器姿态变换矩阵。
5.根据权利要求4所述的方法,其特征在于,确定所述目标检测区域轮廓转换至所述人体局部图像的中间轮廓数据的步骤中包括:
将所述目标检测轮廓中各个像素点数据与所述传感器姿态变换矩阵的乘积确定为所述中间轮廓数据。
6.根据权利要求1所述的方法,其特征在于,将所述二维路径的像素投影至三维点云,得到三维路径的步骤中包括:
遍历所述二维路径中的像素,基于所述二维路径中各个像素坐标,在人体全局三维点云中确定对应位置的目标点;
在所述三维路径中不包含所述目标点,且所述目标点的三维坐标中各分量均不为0的情况下,将所述目标点添加至所述三维路径。
7.根据权利要求1所述的方法,其特征在于,在基于所述三维路径,确定目标机械臂位姿之前,所述方法还包括:
对所述三维路径进行平滑处理,得到平滑三维路径;
所述基于所述三维路径,确定目标机械臂位姿,包括:
基于所述平滑三维路径,确定所述目标机械臂位姿。
8.根据权利要求7所述的方法,其特征在于,对所述三维路径进行平滑处理,得到平滑三维路径的步骤中包括:
对所述三维路径进行线性插值,得到扩充后的稠密三维路径;
确定所述三维路径在人体全局三维点云所占立方体内的中间三维路径;
确定所述中间三维路径与所述稠密三维路径的相交三维路径;
遍历所述相交三维路径中的三维点坐标,对所述相交三维路径进行均值滤波,得到所述平滑三维路径。
9.根据权利要求1所述的方法,其特征在于,确定目标机械臂位姿的步骤中包括:
确定所述三维路径中各个点对应的法向量;
基于所述法向量进行轨迹规划,将所述三维路径转换为运动点序列,所述运动点序列是指基于所述三维路径进行检测时,在相机坐标系下的待检测点序列;
基于手眼标定结果以及所述运动点序列,确定基坐标系下所述目标机械臂位姿,所述基坐标系下所述目标机械臂位姿用于表征对所述待检测点进行检测时,所述机械臂末端执行器与机械臂基座之间的相对位置关系。
10.根据权利要求1所述的方法,其特征在于,确定所述目标检测区域轮廓的步骤中包括:
基于所述人体全局图像检测人体关键点;
基于所述人体关键点,对所述目标检测区域进行分割,确定所述目标检测区域轮廓。
11.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-10中任一项所述的机械臂位姿确定方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如权利要求1-10中任一项所述的机械臂位姿确定方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如权利要求1-10中任一项所述的机械臂位姿确定方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411850607.9A CN119784839A (zh) | 2024-12-16 | 2024-12-16 | 机械臂位姿确定方法、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411850607.9A CN119784839A (zh) | 2024-12-16 | 2024-12-16 | 机械臂位姿确定方法、设备、存储介质及程序产品 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119784839A true CN119784839A (zh) | 2025-04-08 |
Family
ID=95248325
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411850607.9A Pending CN119784839A (zh) | 2024-12-16 | 2024-12-16 | 机械臂位姿确定方法、设备、存储介质及程序产品 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119784839A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119950042A (zh) * | 2025-04-10 | 2025-05-09 | 北京林电伟业电子技术有限公司 | 腹腔镜主从机器人校准装置与方法 |
-
2024
- 2024-12-16 CN CN202411850607.9A patent/CN119784839A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119950042A (zh) * | 2025-04-10 | 2025-05-09 | 北京林电伟业电子技术有限公司 | 腹腔镜主从机器人校准装置与方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110640730B (zh) | 生成用于机器人场景的三维模型的方法和系统 | |
| CN110355754B (zh) | 机器人手眼系统、控制方法、设备及存储介质 | |
| US11338435B2 (en) | Gripping system with machine learning | |
| CN111745640B (zh) | 物体检测方法、物体检测装置以及机器人系统 | |
| US9616569B2 (en) | Method for calibrating an articulated end effector employing a remote digital camera | |
| JP5850962B2 (ja) | ビジュアルフィードバックを利用したロボットシステム | |
| JP6323993B2 (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
| CN113910219A (zh) | 运动臂系统以及控制方法 | |
| JP2011175477A (ja) | 3次元計測装置、処理方法及びプログラム | |
| WO2018043525A1 (ja) | ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法 | |
| JP7323057B2 (ja) | 制御装置、制御方法、および、制御プログラム | |
| CN112743537B (zh) | 注释装置 | |
| CN112347837A (zh) | 图像处理系统 | |
| JP2018169660A (ja) | オブジェクト姿勢検出装置、制御装置、ロボットおよびロボットシステム | |
| CN119784839A (zh) | 机械臂位姿确定方法、设备、存储介质及程序产品 | |
| JP2019077026A (ja) | 制御装置、ロボットシステム、制御装置の動作方法及びプログラム | |
| JP6040264B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
| US20230256614A1 (en) | Robot control method | |
| JP7249221B2 (ja) | センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法 | |
| JP7571760B2 (ja) | 3次元モデルの生成システム、生成方法、及びプログラム | |
| JP2014053018A (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
| WO2023127021A1 (ja) | 制御装置、制御システム、ロボットシステム、制御方法及びコンピュータプログラム | |
| CN114187312A (zh) | 目标物的抓取方法、装置、系统、存储介质及设备 | |
| JP7660686B2 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
| KR20230175122A (ko) | 대상물의 조작, 특히 픽업을 위한 로봇 제어 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| CB02 | Change of applicant information | ||
| CB02 | Change of applicant information |
Country or region after: China Address after: 215000 Jiangsu Province Suzhou City China China (Jiangsu) Free Trade Zone Suzhou Port Area Suzhou Industrial Park Xinqing Road 65 # Applicant after: Feiyinuo Technology Co.,Ltd. Address before: 215123 Jiangsu Province, Suzhou City Industrial Park Road, No. A, building No. 5, building C, building, building 4, floor Applicant before: Feiyinuo Technology Co.,Ltd. Country or region before: China |