CN118097592A - 机械臂抓取点定位方法、装置、补货机器人、设备及介质 - Google Patents
机械臂抓取点定位方法、装置、补货机器人、设备及介质 Download PDFInfo
- Publication number
- CN118097592A CN118097592A CN202410194073.2A CN202410194073A CN118097592A CN 118097592 A CN118097592 A CN 118097592A CN 202410194073 A CN202410194073 A CN 202410194073A CN 118097592 A CN118097592 A CN 118097592A
- Authority
- CN
- China
- Prior art keywords
- grabbing
- coordinate system
- point
- mechanical arm
- depth
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000001514 detection method Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 13
- 235000013361 beverage Nutrition 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000001502 supplementing effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本申请提供一种机械臂抓取点定位方法、装置、补货机器人、设备及介质,所述方法包括:获取目标对象的类别及其在图像上的目标检测框;根据所述类别和所述目标检测框,确定抓取区域框;对所述抓取区域框的深度图进行处理,得到抓取区域;对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度值;将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标,以实现机械臂对所述抓取点的定位。本申请能实现机械臂对抓取点的准确定位。
Description
技术领域
本申请涉及机器人技术领域,尤其涉及一种机械臂抓取点定位方法、装置、补货机器人、设备及介质。
背景技术
在智能补货机器人中,机械臂扮演着关键的角色,负责执行饮料抓取和放置任务。这些机械臂通常配备夹爪或其他合适的抓取装置,来适应不同类型的饮料。通过机器人的动力***,它们能够移动并准确定位到需要补充的饮料所在的货架位置。然而,在定位货架过程中,机械臂可能会面临识别和定位目标位置的困难,导致定位不准确或出现错误。因此,解决机械臂抓取点定位问题是智能补货机器人技术发展中的一个重要挑战。
发明内容
本申请提供一种机械臂抓取点定位方法、装置、补货机器人、设备及介质,用以解决如何提高智能补货机器人机械臂的定位准确性的问题。
第一方面,本申请提供一种机械臂抓取点定位方法,该方法包括:
获取目标对象的类别及其在图像上的目标检测框;
根据所述类别和所述目标检测框,确定抓取区域框;
对所述抓取区域框的深度图进行处理,得到抓取区域;
对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度值;
将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标,以实现机械臂对所述抓取点的定位。
在本申请一实施例中,所述获取目标对象的类别及其在图像上的目标检测框的步骤包括:
通过目标检测算法判断所述图像上是否存在目标对象;
如果存在目标对象,则识别所述目标对象的类别并使用目标检测框标识出所述目标对象的位置和范围,以得到所述目标对象在图像上的位置信息;
其中,所述目标检测框的位置信息表示为[X,Y,W,H],X表示目标检测框的中心点在图像上的横坐标,Y表示目标检测框的中心点在图像上的纵坐标,W表示目标检测框的长,H表示目标检测框的宽。
在本申请一实施例中,所述根据所述类别和所述目标检测框,确定抓取区域框的步骤包括:
根据所述类别和所述目标检测框,确定所述目标对象的抓取位置区域与所述目标对象本体的相对位置关系,以得到所述抓取区域框;
其中,所述抓取区域框的位置信息表示为[X,Y+H*ratioloc,W,H*ratioheight],ratioloc表示抓取区域框的位置比例参数,ratioheight表示抓取区域框的经验值参数。
在本申请一实施例中,所述对所述抓取区域框的深度图进行处理,得到抓取区域的步骤包括:
从相机的深度图像中获取所述抓取区域框内的深度图;
计算所述深度图中的最小值depmin,并根据预设的深度偏移值depoffset,将区间[depmin,depmin+depoffset]作为过滤区间范围;
保留位于所述过滤区间范围内的深度信息,并将不在所述过滤区间范围内的深度信息排除;
基于保留的深度信息,确定所述抓取区域。
在本申请一实施例中,所述对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度信息的步骤包括:
利用聚类算法和最小外包围框算法对所述抓取区域进行处理,并选择聚类群组中一个适当点作为所述抓取点,以得到所述抓取点的像素坐标系坐标及其对应的深度值。
在本申请一实施例中,所述方法还包括:
将所述抓取点的像素坐标系坐标和所述深度值转换为相机坐标系坐标;
将所述相机坐标系坐标转换为所述机械臂坐标系坐标。
在本申请一实施例中,根据下式将所述抓取点的像素坐标系坐标和所述深度值转换为相机坐标系坐标:
其中,M1为相机的内参矩阵,表示抓取点的相机坐标系坐标,表示抓取点的像素坐标系坐标,d表示抓取点对应的深度值。
在本申请一实施例中,根据下式将所述相机坐标系坐标转换为机械臂坐标系坐标:
其中,M2为相机的外参矩阵,表示抓取点的机械臂坐标系坐标。
第二方面,本申请还提供一种机械臂抓取点定位装置,所述装置包括:
目标检测框识别模块,用于获取目标对象的类别及其在图像上的目标检测框;
抓取区域框确定模块,用于根据所述类别和所述目标检测框,确定抓取区域框;
抓取区域确定模块,用于对所述抓取区域框的深度图进行处理,得到抓取区域;
抓取点确定模块,用于对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度值;
抓取点定位模块,用于将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标,以实现机械臂对所述抓取点的定位。
第三方面,本申请还提供一种补货机器人,所述补货机器人用于执行如第一方面中任一项所述的机械臂抓取点定位方法的步骤。
第四方面,本申请还提供一种电子设备,包括存储器、处理器及存储在所述存储器并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面中任一项所述的机械臂抓取点定位方法的步骤。
第五方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的机械臂抓取点定位方法的步骤。
本申请提供的一种机械臂抓取点定位方法、装置、补货机器人、设备及介质,该方法通过识别目标对象的类别和目标检测框,确定抓取区域框,并对深度图进行处理,进而得到准确的抓取区域。接着,对抓取区域进行进一步处理,得到抓取点的像素坐标系坐标和对应的深度值。最后,通过坐标系转换,将抓取点的像素坐标系坐标和深度值转换为相机坐标系下的坐标,并进一步转换为机械臂坐标系下的坐标,以实现机械臂对抓取点的准确定位。
本申请能提高智能补货机器人机械臂的定位准确性。通过目标检测和深度图处理技术,可以精确识别和定位目标对象,从而确保机械臂抓取点的准确性。此外,利用坐标系转换技术,可将像素坐标系下的坐标转换为真实世界中的坐标,保证机械臂在空间中的正确定位和位置控制,进而使得智能补货机器人的机械臂能够更准确地抓取和放置目标对象,提高补货过程的效率和准确性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的机械臂抓取点定位方法的流程图;
图2是本申请实施例提供的目标检测框的示意图;
图3是本申请实施例提供的抓取区域框的示意图;
图4是本申请实施例提供的抓取区域的示意图;
图5是本申请实施例提供的抓取点的示意图;
图6是本申请实施例提供的机械臂抓取点定位方法的流程图;
图7是本申请提供的机械臂抓取点定位装置的结构图;
图8本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在智能补货机器人场景下,机械臂需要在补货区的货架上利用夹爪抓取饮料(瓶装和灌装),然后将其放置在售卖区的货架上。然而,机械臂的定位可能存在不准确的问题。
为了解决如何提高智能补货机器人机械臂的定位准确性的问题,本申请提供了一种机械臂抓取点定位方法、装置、补货机器人、设备及介质,该方法通过目标检测、深度图处理、坐标系转换等技术,能够提高智能补货机器人机械臂在补货过程中的定位准确性。并且还能够识别目标对象并确定抓取区域,处理深度信息以获取精确的抓取点位置,并通过坐标系转换获得机械臂坐标系下的准确定位。这样,机械臂能够更准确地抓取饮料并放置在售卖区货架上,提高了智能补货机器人的定位精度和任务执行效果。
下面结合图1-图8描述本申请的一种机械臂抓取点定位方法、装置、补货机器人、设备及介质。
请参考图1,图1是本申请提供的机械臂抓取点定位方法的流程图。一种机械臂抓取点定位方法,所述方法包括:
步骤101,获取目标对象的类别及其在图像上的目标检测框。
具体地,可以利用目标检测算法将输入的图像进行识别,以能识别出目标对象的类别,例如不同类别的饮料。同时,还能确定出目标对象边界框的位置,即目标检测框,以标记出目标对象在图像中的位置。该步骤能够实现自动化目标识别和定位,提高图像处理的效率和准确性。同时,该步骤可使机械臂准确地识别和定位目标对象,为后续的抓取任务提供重要的基础信息。
步骤102,根据所述类别和所述目标检测框,确定抓取区域框。
具体地,根据步骤101中确定的目标对象的类别信息和目标检测框的位置,确定一个用于抓取的较小区域框,即抓取区域框。该步骤能够减少不必要的计算量和资源消耗,快速提供了一个更准确且较小的抓取区域框,有效地帮助机械臂在后续的定位任务中缩小搜索范围,提高定位的准确性和效率。
步骤103,对所述抓取区域框的深度图进行处理,得到抓取区域。
具体地,深度图是指在每个像素上记录与相机的距离信息的图像。该步骤的目标是处理深度图像,去除深度异常值或无效数据,从而得到一个可靠的抓取区域。通过该步骤能够得到一个被处理过的深度图像,其中深度值较为准确和可靠。这样,在后续的定位过程中,机械臂可以更精确地定位和控制抓取点的位置,以确保成功抓取目标对象。
因此,该步骤可以提高深度图像数据的质量和可靠性,排除一些干扰和错误的深度信息,从而得到一个更准确的抓取区域,提高了机械臂抓取点定位的准确性和成功率。
步骤104,对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度值。
具体地,通过使用图像处理和分析的技术来处理抓取区域,从而获得抓取点在像素坐标系下的坐标值以及与之对应的深度值。通过该步骤,能够得到抓取点在像素坐标系中的位置,并获得与之对应的深度值。这些信息将用于后续的坐标系转换,将抓取点定位在相机坐标系和机械臂坐标系中。该步骤是获取准确的抓取点像素坐标系坐标和对应的深度值,通过精确地确定抓取点的位置和深度,机械臂可以更准确地控制其运动,以实现精确的抓取操作。这将提高机械臂抓取任务的准确性、稳定性和成功率。
步骤105,将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标,以实现机械臂对所述抓取点的定位。
具体地,首先,将抓取点的像素坐标系坐标与深度值转换为相机坐标系下的坐标。这个转换涉及到使用相机的内参矩阵计算出抓取点在相机坐标系下的准确位置。这样,可以以相机坐标系为基准来描述抓取点的位置。接下来,将相机坐标系中的抓取点位置转换为机械臂坐标系下的坐标。这个转换涉及到使用相机的外参矩阵计算出抓取点在机械臂坐标系下的准确位置。在此转换过程中,可以根据相机和机械臂之间的几何关系,将抓取点在相机坐标系下的位置转换为机械臂坐标系下的准确位置,从而实现对抓取点的定位。
该步骤通过将抓取点从像素坐标系转换到机械臂坐标系,实现对抓取点的精确定位和定位控制。通过这个过程,机械臂可以准确地知道抓取点在自身坐标系中的位置,从而能够精确地移动并抓取目标物体。这将提高机械臂的定位准确性、稳定性和抓取任务的成功率。
以下对上述步骤101至105进行具体描述。
请参考图2,图2是本申请实施例提供的目标检测框的示意图。示例性地,上述步骤101中,获取目标对象的类别及其在图像上的目标检测框的步骤包括:
步骤1011,通过目标检测算法确定图像上是否存在目标对象。
具体地,该步骤使用目标检测算法对输入的图像进行分析和处理,以确定图像中是否存在目标对象。目标检测算法可以使用机器学习和计算机视觉技术,通过训练模型来识别不同类别的目标对象。
步骤1012,如果存在目标对象,则识别目标对象的类别并使用目标检测框标识出目标对象的位置和范围,以得到目标对象在图像上的位置信息。
其中,所述目标检测框的位置信息表示为[X,Y,W,H],X表示目标检测框的中心点在图像上的横坐标,Y表示目标检测框的中心点在图像上的纵坐标,W表示目标检测框的长,H表示目标检测框的宽。
具体地,在该步骤中,首先识别目标对象的类别,例如图2示出的饮料瓶的类别,nongfu、redBull、fenda、C100等。然后,使用目标检测框,标识出目标对象在图像上的位置和范围。目标检测框可以用一个矩形来表示。图2示出的“C1000.93”,其中“C100”表示目标对象的类别,而“0.93”是指目标检测算法对该目标对象的置信度。置信度表示模型对目标对象属于该类别的可信程度。如果置信度较高,则说明模型对目标对象分类正确的可能性较高。以“0.93”为例,表示模型对目标对象属于“C100”这个类别的置信度为93%。
请参考图3,图3是本申请实施例提供的抓取区域框的示意图。示例性地,上述步骤102中,根据类别和目标检测框,确定抓取区域框的步骤包括:
步骤1021,根据类别和目标检测框,确定目标对象的抓取位置区域与目标对象本体的相对位置关系,以得到抓取区域框。
其中,抓取区域框的位置信息表示为[X,Y+H*ratioloc,W,H*ratioheight],ratioloc表示抓取区域框的位置比例参数,ratioheight表示抓取区域框的经验值参数。
具体地,该步骤考虑了目标对象的特征和形状,通过设定一些参数来定义抓取位置区域的相对位置。具体而言,抓取区域框的位置信息表示为[X,Y+H*ratioloc,W,H*ratioheight]。其中,ratioloc表示抓取区域框的位置比例参数,可以根据目标对象的形状和抓取需求进行调整。ratioheight表示抓取区域框的经验值参数,可以根据抓取区域框的高度相对于原始目标检测框高度的经验值参数进行调整。
例如,假设ratioloc=0.5,ratioheight=1.2,目标检测框的位置信息为[X,Y,W,H],其中X表示目标检测框的中心点在图像上的横坐标,Y表示目标检测框的中心点在图像上的纵坐标,W表示目标检测框的长,H表示目标检测框的宽。
根据上述抓取区域框的位置信息[X,Y+H*ratioloc,W,H*ratioheight|,可以得到:
抓取区域框的横坐标为X;
抓取区域框的纵坐标为Y+H*ratioloc;
抓取区域框的宽度为W,
抓取区域框的高度为H*ratioheight。
如果目标检测框的位置信息为[100,200,50,100],则根据上述计算,抓取区域框的位置信息为[100,250,50,120]。
通过该步骤1021,可以根据目标检测框确定目标对象的抓取区域框,并使用相对位置关系和参数定义抓取区域框的位置和大小。这样,就能够准确地确定目标对象的抓取区域,为后续的抓取操作提供准确的定位。
请参考图4,图4是本申请实施例提供的抓取区域的示意图。示例性地,上述步骤103中,对所述抓取区域框的深度图进行处理,得到抓取区域的步骤包括:
步骤1031,从相机的深度图像中获取抓取区域框内的深度图。
具体地,根据抓取区域框的位置信息,从相机采集的深度图像中提取出与抓取区域框对应的深度图,即在抓取区域框内的深度信息。
假设有一张包含饮料瓶的深度图像,目标检测框用于定位饮料瓶,目的需要确定饮料瓶的抓取区域。
例如,深度图是一个3*5的矩阵,包含15个深度值,每个值表示相应像素位置的深度信息:
步骤1032,计算深度图中的最小值depmin,并根据预设的深度偏移值depoffset,将区间[depmin,depmin+depoffset]作为过滤区间范围。
具体地,通过计算深度图中的最小值depmin,并结合预设的深度偏移值depoffset,可以确定一个过滤区间范围,该范围内的深度值被视为有效的深度信息。
例如,根据上述示出的深度图,计算出最小值depmin=0.2。假设预设的深度偏移值depoffset=0.5,根据过滤区间范围[depmin,depmin+depoffset],即[0.2,0.7]。
步骤1033,保留位于过滤区间范围内的深度信息,并将不在过滤区间范围内的深度信息排除。
具体地,根据过滤区间范围,将深度图中处于该范围内的深度值保留下来,而将不在范围内的深度值进行剔除或设为无效。这样可以消除掉深度图中不准确或异常的深度信息,只保留有效的抓取区域的深度信息。
例如,根据上述示出的过滤区间范围为[0.2,0.7],可以保留深度值范围在0.2到0.7之间的深度信息,将上述的0.8、0.9、1.0以及1.2的深度信息排除。
步骤1034,基于保留的深度信息,确定抓取区域。
具体地,基于保留的深度信息,确定抓取区域。通过保留的深度信息,可以确定抓取区域的轮廓或边界,以实现对抓取区域的定位,在后续的操作中为机械臂的定位和控制提供准确的深度信息支持。
例如,根据过滤后的深度信息,可以确定抓取区域的深度范围为0.2到0.7。这些深度值表示相机到目标对象的距离,符合对抓取区域的需求。根据抓取区域框的位置和尺寸,以及这个深度范围,可以准确地确定抓取区域。
请参考图5,图5是本申请实施例提供的抓取点的示意图。示例性地,上述步骤104中,对所抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度信息的步骤包括:
步骤1041,利用聚类算法和最小外包围框算法对抓取区域进行处理,并选择聚类群组中一个适当点作为抓取点,以得到抓取点的像素坐标系坐标及其对应的深度值。
其中,深度信息是指物体中不同点与相机之间的距离数据,可以以像素单位来表示。深度值是指用来表示深度信息的具体数值,例如表示物体中某个特定点与相机之间的距离值。
具体地,首先使用聚类算法将抓取区域中的点进行分组或聚类,将相邻的点划分为一个群组。这样做是为了识别抓取区域中的不同物体或物体的不同部分。具体的聚类算法可以根据实际情况选择,如K-means(K均值聚类)、DBSCAN(基于密度的聚类方法)等。然后,利用最小外包围框算法对每个聚类群组进行外包围框计算,找到最小的矩形框来拟合该群组的点集。这样可以得到每个群组的外包围框,用于表示该物体或部分的位置和形状。最后,从各个群组中选择一个适当的点作为抓取点。选择的规则可以根据具体情况来设计,如选择群组最接近中心的点、距离某个特定位置最近的点等。通过选择抓取点,便可以得到其在像素坐标系下的坐标以及对应的深度值表示为d。
该步骤利用聚类和最小外包围框算法,对抓取区域进行处理,从中选择一个合适的点作为抓取点,并获取其在像素坐标系下的坐标及对应的深度值。这样可以进一步确定要执行抓取操作的具体点和其所在位置的深度值。
例如,假设已经完成了前面的步骤,得到了一个抓取区域,并希望利用聚类算法和最小外包围框算法选择一个适当的抓取点。为了举例说明,假设抓取区域包括以下像素坐标系下的深度值:
接下来是应用K-means聚类算法对抓取区域进行聚类处理,并使用最小外包围框算法进行定位,具体是:
首先,将抓取区域按照深度值进行聚类,假设设定K=2(即将抓取区域分为两个聚类)。根据深度信息,使用K-means对其进行聚类,得到以下结果:
聚类1:[0.9,0.9,0.8];
聚类2:[0.7,0.8,0.6]。
然后,在每个聚类中,可以使用最小外包围框算法确定适当的抓取点。最小外包围框算法可以找到包围给定点集的最小矩形或者最小旋转矩形。
假设在聚类1中,使用最小外包围框算法得到了以下结果:
最小外包围矩形1:左上角坐标(0,0),宽度为2像素,高度为2像素;
在聚类2中,使用最小外包围框算法得到了以下结果:
最小外包围矩形2:左上角坐标(1,2),宽度为1像素,高度为1像素。
最后,根据最小外包围框的位置和尺寸,可以在每个聚类中选择一个适当的抓取点。在这个例子中,可以选择最小外包围框的中心点作为抓取点:
聚类1抓取点的像素坐标系坐标:(1,1);
聚类2抓取点的像素坐标系坐标:(1,3)。
同时,还可以得到选择的抓取点对应的深度值:
聚类1抓取点的深度值:0.8;
聚类2抓取点的深度值:0.7。
因此,通过以上步骤,使用聚类算法和最小外包围框算法处理了抓取区域,并选择了适当的抓取点。得到了抓取点的像素坐标系坐标和对应的深度值d。例如可以根据具体应用场景和需求,从聚类1和聚类2中选择聚类1的抓取点作为目标抓取点,即目标抓取点的像素坐标系坐标为(1,1),深度值为0.8。这样,就可以通过这些信息准确地获取抓取点在像素坐标系下的位置和对应的深度值,并用于后续的抓取操作。
需要说明的是,目标检测框是在图像中用来标定目标位置的矩形边界框。抓取区域框是在目标检测框内部确定的一个更小的矩形边界框,用于指示抓取目标的具体区域。抓取区域是指抓取区域框所定义的区域范围,也就是目标检测框中用来执行抓取操作的特定区域。抓取点是在抓取区域中选择的一个适当的点,表示机械臂完成抓取动作时所需的具***置。因此,目标检测框包括抓取区域框,抓取区域框用于确定抓取区域,而抓取点是抓取区域中用于定位的关键点。
在本申请的一些实施例中,上述步骤105中,将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标,以实现机械臂对所述抓取点的定位的步骤包括:
步骤1051,将所述抓取点的像素坐标系坐标和所述深度值转换为相机坐标系坐标。
示例性地,可以根据下式将抓取点的像素坐标系坐标和深度值转换为相机坐标系坐标:
其中,M1为相机的内参矩阵,表示抓取点的相机坐标系坐标,表示抓取点的像素坐标系坐标,d表示抓取点对应的深度值。
该步骤通过将抓取点的像素坐标系坐标和深度值转换为相机坐标系坐标,可以将抓取点的坐标信息从图像的二维平面转换为三维空间。这样做的目的是将抓取点的坐标从相机可见的图像平面转换为相机在三维空间中的坐标。这一转换依赖于相机的内参矩阵,该相机的内参矩阵包括相机的内部参数信息,如焦距、光心等,以将像素坐标映射到相机坐标系中。
例如,假设相机的内参矩阵M1表示为:
其中,fx和fy表示相机的焦距,cx和cy表示相机的光心在像素坐标系下的位置。
假设抓取点的像素坐标系坐标是(100,80)和对应的深度值是0.5米,那么计算相机坐标系下的坐标:
假设相机的焦距fx=500,fy=500,光心位置cx=320,cy=240,以及抓取点的深度值d=0.5米,则可以计算得到:
即
因此,通过将像素坐标系下的抓取点和深度值代入转换公式,计算得到了相机坐标系下的坐标为[100000,80000,0.5]。这样,就成功地将抓取点的像素坐标系坐标和深度值转换为相机坐标系下的坐标。这个相机坐标系下的坐标表示了抓取点在相机视角下的三维位置。
步骤1052,将所述相机坐标系坐标转换为所述机械臂坐标系坐标。
示例性地,可以根据下式将相机坐标系坐标转换为机械臂坐标系坐标:
其中,M2为相机的外参矩阵,表示抓取点的机械臂坐标系坐标。
该步骤利用相机的外参矩阵,将相机坐标系坐标转换为机械臂坐标系坐标。相机的外参矩阵包括相机的位置和朝向信息,以将相机坐标系与机械臂坐标系进行对齐。通过这一转换,可以将抓取点的坐标信息从相机坐标系转换到机械臂坐标系,实现了对抓取点在机械臂工作空间中的精确定位。
例如,将上述相机坐标系下的坐标[100000,80000,0.5]转换为机械臂坐标系下的坐标。
假设相机的外参矩阵M2表示为:
其中,是旋转矩阵,表示相机坐标系到机械臂坐标系的旋转变换,/>是平移向量,表示相机坐标系到机械臂坐标系的平移变换。
现在将相机坐标系下的坐标[100000,80000,0.5]代入到转换公式中,可以计算得到:
由于相机的外参矩阵M2是根据具体的相机和机械臂配置进行标定和计算得到的。每个具体的***都有不同的外参矩阵,因此实际应用时需要根据实际情况进行配置和设置。
其中,机械臂坐标系下的坐标表示抓取点在机械臂坐标系下的三维位置。
需要说明的是,相机的内参矩阵和外参矩阵可以通过使用手眼标定算法来进行获取和计算。在视觉***中,相机的内参矩阵描述了相机的内部参数,如焦距、光心等,这些参数用于将像素坐标转换为相机坐标系中的坐标。而相机的外参矩阵则描述了相机在三维空间中的位置和朝向信息,与机械臂坐标系之间的关系。这内参和外参两个矩阵对于实现视觉引导机械臂进行精确定位和操作较为重要。
其中,手眼标定算法用于确定相机和机械臂之间的准确相对位置和朝向。它可以通过使用特定的标定工具和运动装置,同时观测相机和机械臂的运动,并根据观测数据计算出相机的内部参数和外部姿态。这些参数然后可被用于进行相机到机械臂之间的坐标转换。
进一步的,抓取点的像素坐标系坐标是指在相机拍摄的图像中表示抓取点位置的二维坐标,一般用像素单位表示。相机坐标系坐标是指抓取点在相机坐标系中的三维坐标表示,也称为相机空间中的坐标。而机械臂坐标系坐标是指将抓取点从相机坐标系转换到机械臂坐标系下的三维坐标表示,即机械臂工作空间中的坐标。这三个坐标之间的关系可以通过坐标转换矩阵实现。首先,通过相机的内参矩阵将像素坐标系的点转换为相机坐标系,得到抓取点的相机坐标系坐标。然后,利用相机的外参矩阵将相机坐标系下的点转换为机械臂坐标系,从而得到抓取点的机械臂坐标系坐标。
综上所述,抓取点的像素坐标系坐标经过相机的内参矩阵转换为相机坐标系坐标,再通过相机的外参矩阵转换为机械臂坐标系坐标,从而实现抓取点在不同坐标系下的表示和定位。
以下通过一实施例描述本申请机械臂抓取点定位方法。
请参考图6,图6是本申请实施例提供的机械臂抓取点定位方法的流程图。一种机械臂抓取点定位方法,所述方法包括:
步骤601,获取目标对象的类别及其在图像上的目标检测框。
具体地,可以使用目标检测算法(例如YOLO、Faster R-CNN等)来识别图像中的目标对象,并获取其类别信息和目标检测框。
步骤602,根据类别和目标检测框,确定目标对象的抓取位置区域与目标对象本体的相对位置关系,以得到抓取区域框。
具体地,根据目标对象的类别和目标检测框中的尺寸与位置信息,可以确定目标对象的抓取位置区域。抓取位置区域通常是基于目标检测框进行适当的扩展或缩小,以便提供足够的空间供机械臂进行抓取操作。
步骤603,从相机深度图中提取抓取区域框的深度信息,并根据最小深度和偏移值定义一个过滤范围,保留在范围内的深度信息以用于确定抓取区域。
具体地,利用相机深度图像获取抓取区域框内的深度信息。然后,根据指定的最小深度和偏移值进行过滤,将保留在给定范围内的深度信息用于进一步的处理。
步骤604,使用聚类算法和最小外包围框算法对抓取区域进行处理,选择一个适合的点作为抓取点,并获取其在像素坐标系下的坐标及对应的深度值。
具体地,可以使用聚类算法(如K-means、DBSCAN等)对提取的抓取区域进行聚类处理。然后,应用最小外包围框算法确定每个聚类中的适合的抓取点。抓取点可以是在最小外包围框的中心位置或者其他定义的规则下选择的。得到抓取点的像素坐标和深度值。
步骤605,将抓取点的像素坐标和深度值转换为机械臂坐标系坐标,以实现机械臂对抓取点的准确定位。
示例性地,可以利用相机的内参矩阵将抓取点的像素坐标系坐标和深度值转换为相机坐标系坐标,再利用相机的外参矩阵将相机坐标系坐标转换为机械臂坐标系坐标,以实现机械臂对抓取点的准确定位。
具体地,首先使用相机的内参矩阵(包括焦距、主点等参数)将抓取点的像素坐标系下的坐标转换为相机坐标系下的三维坐标,同时结合相机的深度值信息得到完整的相机坐标系坐标。接着,使用相机的外参矩阵(包括平移向量和旋转矩阵等参数)将相机坐标系下的三维坐标转换为机械臂坐标系下的坐标,以实现精确的机械臂对抓取点的定位。
综上所述,本申请提供一种机械臂抓取点定位方法,可解决机械臂在新零售-补货机器人场景下饮料瓶的抓取点定位问题。该方法能够准确地定位饮料瓶的抓取点,可以选择定位瓶盖或瓶身,根据实际应用需求进行指定。经过实际测试,该方法具有较高的成功率和实用性,能够有效地抓取饮料瓶。通过使用3D相机进行目标检测和深度估计,能够精确定位目标,提高抓取的准确性和稳定性,为新零售-补货机器人领域带来了可靠的解决方案。
下面对本申请提供的机械臂抓取点定位装置进行描述,下文描述的机械臂抓取点定位装置与上文描述的机械臂抓取点定位方法可相互对应参照。
请参考图7,图7是本申请提供的机械臂抓取点定位装置的结构图。一种机械臂抓取点定位装置700,包括目标检测框识别模块701、抓取区域框确定模块702、抓取区域确定模块703、抓取点确定模块704以及抓取点定位模块705。
示例性地,目标检测框识别模块701用于获取目标对象的类别及其在图像上的目标检测框。
示例性地,抓取区域框确定模块702用于根据所述类别和所述目标检测框,确定抓取区域框。
示例性地,抓取区域确定模块703用于对所述抓取区域框的深度图进行处理,得到抓取区域。
示例性地,抓取点确定模块704用于对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度值。
示例性地,抓取点定位模块705用于将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标,以实现机械臂对所述抓取点的定位。
示例性地,目标检测框识别模块701还用于:
通过目标检测算法判断所述图像上是否存在目标对象;
如果存在目标对象,则识别所述目标对象的类别并使用目标检测框标识出所述目标对象的位置和范围,以得到所述目标对象在图像上的位置信息;
其中,所述目标检测框的位置信息表示为[X,Y,W,H],X表示目标检测框的中心点在图像上的横坐标,Y表示目标检测框的中心点在图像上的纵坐标,W表示目标检测框的长,H表示目标检测框的宽。
示例性地,抓取区域框确定模块702还用于:
根据所述类别和所述目标检测框,确定所述目标对象的抓取位置区域与所述目标对象本体的相对位置关系,以得到所述抓取区域框;
其中,所述抓取区域框的位置信息表示为[X,Y+H*ratioloc,W,H*ratioheight],ratioloc表示抓取区域框的位置比例参数,ratioheight表示抓取区域框的经验值参数。
示例性地,抓取区域确定模块703还用于:
从相机的深度图像中获取所述抓取区域框内的深度图;
计算所述深度图中的最小值depmin,并根据预设的深度偏移值depoffset,将区间[depmin,depmin+depoffset]作为过滤区间范围;
保留位于所述过滤区间范围内的深度信息,并将不在所述过滤区间范围内的深度信息排除;
基于保留的深度信息,确定所述抓取区域。
示例性地,抓取点确定模块704还用于:
利用聚类算法和最小外包围框算法对所述抓取区域进行处理,并选择聚类群组中一个适当点作为所述抓取点,以得到所述抓取点的像素坐标系坐标及其对应的深度值。
示例性地,抓取点定位模块705还用于:
将所述抓取点的像素坐标系坐标和所述深度值转换为相机坐标系坐标;
将所述相机坐标系坐标转换为所述机械臂坐标系坐标。
示例性地,抓取点定位模块705还用于:
根据下式将所述抓取点的像素坐标系坐标和所述深度值转换为相机坐标系坐标:
其中,M1为相机的内参矩阵,表示抓取点的相机坐标系坐标,表示抓取点的像素坐标系坐标,d表示抓取点对应的深度值。
示例性地,抓取点定位模块705还用于:
根据下式将所述相机坐标系坐标转换为机械臂坐标系坐标:
其中,M2为相机的外参矩阵,表示抓取点的机械臂坐标系坐标。
在本申请的一些实施例中,本申请还提供一种补货机器人,所述补货机器人用于执行上述任一实施例所述的机械臂抓取点定位方法的步骤。
示例性地,所述补货机器人还包括机械臂,其用于执行抓取点定位方法中的抓取操作。机械臂可以由关节、执行器和末端执行器(例如夹爪)组成,可以实现精确的位置和力控制。
示例性地,所述补货机器人还包括摄像头或深度传感器,其用于获取目标物体的图像或深度信息。摄像头或深度传感器可以帮助机器人感知和识别待补货的货物,并获取其位置信息。
示例性地,所述补货机器人还包括控制***,其用于控制和协调机械臂、传感器和其他硬件组件的运作。控制***还可以处理和分析传感器数据,计算出目标物体的位置,以实现抓取点定位。
示例性地,所述补货机器人还包括底盘或移动平台,其用于机器人的移动和导航。底盘可以配备有电机、轮子或足部等,使机器人能够在不同的环境中移动和到达指定位置。
在此需要说明的是,本申请实施例提供的上述机械臂抓取点定位装置、补货机器人,能够实现上述方法实施例所实现的功能,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图8是本申请实施例提供的电子设备的结构示意图,如图8所示,该电子设备可以包括:处理器(Processor)810、通信接口(Communications Interface)820、存储器(Memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行所述机械臂抓取点定位方法。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的所述机械臂抓取点定位方法。
又一方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的所述机械臂抓取点定位方法。
本申请实施例提供的一种电子设备、一种计算机程序产品、一种处理器可读存储介质,其上存储的计算机程序使处理器能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种机械臂抓取点定位方法,其特征在于,所述方法包括:
获取目标对象的类别及其在图像上的目标检测框;
根据所述类别和所述目标检测框,确定抓取区域框;
对所述抓取区域框的深度图进行处理,得到抓取区域;
对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度值;
将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标,以实现机械臂对所述抓取点的定位。
2.根据权利要求1所述的机械臂抓取点定位方法,其特征在于,所述获取目标对象的类别及其在图像上的目标检测框的步骤包括:
通过目标检测算法判断所述图像上是否存在目标对象;
如果存在目标对象,则识别所述目标对象的类别并使用目标检测框标识出所述目标对象的位置和范围,以得到所述目标对象在图像上的位置信息;
其中,所述目标检测框的位置信息表示为[X,Y,W,H],X表示目标检测框的中心点在图像上的横坐标,Y表示目标检测框的中心点在图像上的纵坐标,W表示目标检测框的长,H表示目标检测框的宽。
3.根据权利要求2所述的机械臂抓取点定位方法,其特征在于,所述根据所述类别和所述目标检测框,确定抓取区域框的步骤包括:
根据所述类别和所述目标检测框,确定所述目标对象的抓取位置区域与所述目标对象本体的相对位置关系,以得到所述抓取区域框;
其中,所述抓取区域框的位置信息表示为[X,Y+H*ratioloc,W,H*ratioheight],ratioloc表示抓取区域框的位置比例参数,ratioheight表示取区域框的经验值参数。
4.根据权利要求1所述的机械臂抓取点定位方法,其特征在于,所述对所述抓取区域框的深度图进行处理,得到抓取区域的步骤包括:
从相机的深度图像中获取所述抓取区域框内的深度图;
计算所述深度图中的最小值depmin,并根据预设的深度偏移值depoffset,将区间[depmin,depmin+depoffset]作为过滤区间范围;
保留位于所述过滤区间范围内的深度信息,并将不在所述过滤区间范围内的深度信息排除;
基于保留的深度信息,确定所述抓取区域。
5.根据权利要求1所述的机械臂抓取点定位方法,其特征在于,所述对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度值的步骤包括:
利用聚类算法和最小外包围框算法对所述抓取区域进行处理,并选择聚类群组中一个适当点作为所述抓取点,以得到所述抓取点的像素坐标系坐标及其对应的深度值。
6.根据权利要求5所述的机械臂抓取点定位方法,其特征在于,所述将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标的步骤包括:
将所述抓取点的像素坐标系坐标和所述深度值转换为相机坐标系坐标;
将所述相机坐标系坐标转换为所述机械臂坐标系坐标。
7.根据权利要求6所述的机械臂抓取点定位方法,其特征在于,根据下式将所述抓取点的像素坐标系坐标和所述深度值转换为相机坐标系坐标:
其中,M1为相机的内参矩阵,表示抓取点的相机坐标系坐标,表示抓取点的像素坐标系坐标,d表示抓取点对应的深度值。
8.根据权利要求6所述的机械臂抓取点定位方法,其特征在于,根据下式将所述相机坐标系坐标转换为机械臂坐标系坐标:
其中,M2为相机的外参矩阵,表示抓取点的机械臂坐标系坐标。
9.一种机械臂抓取点定位装置,其特征在于,所述装置包括:
目标检测框识别模块,用于获取目标对象的类别及其在图像上的目标检测框;
抓取区域框确定模块,用于根据所述类别和所述目标检测框,确定抓取区域框;
抓取区域确定模块,用于对所述抓取区域框的深度图进行处理,得到抓取区域;
抓取点确定模块,用于对所述抓取区域进行处理,得到所述抓取点的像素坐标系坐标及其对应的深度值;
抓取点定位模块,用于将所述抓取点的像素坐标系坐标和所述深度值转换为机械臂坐标系坐标,以实现机械臂对所述抓取点的定位。
10.一种补货机器人,其特征在于,所述补货机器人用于执行如权利要求1至8任一项所述的机械臂抓取点定位方法的步骤。
11.一种电子设备,包括存储器、处理器及存储在所述存储器并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的机械臂抓取点定位方法的步骤。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的机械臂抓取点定位方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410194073.2A CN118097592A (zh) | 2024-02-21 | 2024-02-21 | 机械臂抓取点定位方法、装置、补货机器人、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410194073.2A CN118097592A (zh) | 2024-02-21 | 2024-02-21 | 机械臂抓取点定位方法、装置、补货机器人、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118097592A true CN118097592A (zh) | 2024-05-28 |
Family
ID=91143337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410194073.2A Pending CN118097592A (zh) | 2024-02-21 | 2024-02-21 | 机械臂抓取点定位方法、装置、补货机器人、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118097592A (zh) |
-
2024
- 2024-02-21 CN CN202410194073.2A patent/CN118097592A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590836B (zh) | 一种基于Kinect的充电桩动态识别与定位方法及*** | |
CN111080693A (zh) | 一种基于YOLOv3的机器人自主分类抓取方法 | |
CN111665842B (zh) | 一种基于语义信息融合的室内slam建图方法及*** | |
CN113223091B (zh) | 三维目标检测方法、抓取方法、装置及电子设备 | |
CN111844019B (zh) | 一种机器抓取位置确定方法、设备、电子设备和存储介质 | |
CN110246127A (zh) | 基于深度相机的工件识别与定位方法和***、分拣*** | |
JP2010541065A (ja) | 3次元飲料容器位置決定装置 | |
CN108447094B (zh) | 一种单目彩色相机的姿态估算方法及*** | |
CN112509036B (zh) | 位姿估计网络训练及定位方法、装置、设备、存储介质 | |
CN111340834B (zh) | 基于激光雷达和双目相机数据融合的衬板装配***及方法 | |
CN113319859B (zh) | 一种机器人示教方法、***、装置及电子设备 | |
CN112348890B (zh) | 一种空间定位方法、装置及计算机可读存储介质 | |
CN107300382A (zh) | 一种用于水下机器人的单目视觉定位方法 | |
CN114972421A (zh) | 车间物料识别追踪与定位方法、*** | |
CN113269723A (zh) | 三维视觉定位与机械手协同工作的零部件无序抓取*** | |
EP3825804A1 (en) | Map construction method, apparatus, storage medium and electronic device | |
CN114863250A (zh) | 集装箱锁孔识别定位方法、***及存储介质 | |
CN116309882A (zh) | 一种面向无人叉车应用的托盘检测和定位方法及*** | |
CN118097592A (zh) | 机械臂抓取点定位方法、装置、补货机器人、设备及介质 | |
CN115902977A (zh) | 基于视觉和gps的变电站机器人双重定位方法及*** | |
CN116524011B (zh) | 一种居家环境下机器人对目标位姿的精化方法 | |
KR102657338B1 (ko) | 학습 데이터 수집 시스템 및 방법 | |
CN115249261B (zh) | 图像重力方向的获取方法、装置、电子设备及存储介质 | |
CN116572253B (zh) | 一种试管的抓取控制方法及装置 | |
US20240253234A1 (en) | Adaptive region of interest (roi) for vision guided robotic bin picking |
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 |