CN117533803A - 垛型图生成方法、装置、码垛机器人及机器人码垛方法 - Google Patents

垛型图生成方法、装置、码垛机器人及机器人码垛方法 Download PDF

Info

Publication number
CN117533803A
CN117533803A CN202311818631.XA CN202311818631A CN117533803A CN 117533803 A CN117533803 A CN 117533803A CN 202311818631 A CN202311818631 A CN 202311818631A CN 117533803 A CN117533803 A CN 117533803A
Authority
CN
China
Prior art keywords
stack
stacking
map
difference
diagram
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
Application number
CN202311818631.XA
Other languages
English (en)
Inventor
高鸣岐
邹鹏宇
董培
庞建新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202311818631.XA priority Critical patent/CN117533803A/zh
Publication of CN117533803A publication Critical patent/CN117533803A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for

Landscapes

  • Manipulator (AREA)

Abstract

本申请涉及码垛控制技术领域,提供了一种垛型图生成方法、装置、码垛机器人及机器人码垛方法,该方法包括:每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图;对前一帧的原始垛型图和当前帧的所述原始垛型图进行差值处理,以得到差值图;对所述差值图进行轮廓检测,得到新增码放对象在所述差值图中的位置信息;根据所述位置信息对前一帧的输出垛型图中的高度值进行更新,并将更新后的垛型图作为当前帧的输出垛型图输出。该方法利用前后帧信息能够得到更加精细的垛型图,有利于小型对象的码放,可进一步提升码放的容积率等。

Description

垛型图生成方法、装置、码垛机器人及机器人码垛方法
技术领域
本申请涉及码垛控制技术领域,尤其涉及一种垛型图生成方法、装置、码垛机器人及机器人码垛方法。
背景技术
机器人的运用越来越为广泛,例如,可代替工作人员应用于工业物流、智能分拣等场景下进行码垛操作,以节省大量人工成本。其中,码垛是指将物料等按照一定规则堆放在垛盘上的过程,而码垛规划算法是码垛机器人实现高效工作的关键之一。作为码垛规划算法的输入,垛型分析图是影响码垛规划算法性能的重要因素,现有的垛型分析方法主要是用当前帧的深度图计算点云,然后分析点云在码放空间内的空间占用,继而得到哪块空间被占用,从而得到垛型分析图。
然而,现在的垛型分析图生成方法存在如下弊端,即因为在深度相机视野所覆盖的空间是一个锥形空间,在通过深度图计算出点云信息后,以纸箱为例,在最顶层纸箱的底部会产生一定范围的视野盲区,如图1所示,两端灰色部分即为视野盲区。而存在的视野盲区将导致垛型图中会出现许多未知深度的区域,不利于码垛规划算法进行空间规划。
发明内容
有鉴于此,本申请实施例提供一种垛型图生成方法、装置、码垛机器人及机器人码垛方法。
第一方面,本申请实施例提供一种垛型图生成方法,包括:
每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图;
对前一帧的原始垛型图和当前帧的所述原始垛型图进行差值处理,以得到差值图;
对所述差值图进行轮廓检测,得到新增码放对象在所述差值图中的位置信息;
根据所述位置信息对前一帧的输出垛型图中的高度值进行更新,并将更新后的垛型图作为生成的当前帧的输出垛型图输出。
在一些实施例中,首次码垛操作之前,该垛型图生成方法还包括:
获取空垛盘的三维空间位置,以获取垛盘底面的各个角点信息;
对所有角点围成的平面区域进行网格划分,并选取其中一个角点作为原点且设置每个网格的初始高度值为零,以得到初始垛型图。
在一些实施例中,所述每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图,包括:
每执行完一次码垛操作后,通过深度相机获取当前帧的深度图;
对所述深度图进行点云转换,并将转换得到的点云投影到垛盘底面所在的平面上;
筛选出投影后位于所述垛盘底面的所述平面区域内的目标点云,并计算各个所述目标点云投影在所述划分的网格内的网格坐标,以得到当前帧的原始垛型图;其中,所述原始垛型图中各网格的高度值根据相关目标点云对应的深度值确定。
在一些实施例中,所述原始垛型图中各网格的高度值根据相关目标点云对应的深度值确定,包括:
计算各个所述目标点云投影在所述垛盘底面的所述平面区域内的高度值,并根据所述网格坐标,将位于同一网格内的点的最大高度值作为当前网格的高度值。
在一些实施例中,所述对所述差值图进行轮廓检测,之前还包括:
对所述差值图中高度差值小于预设距离阈值的网格,进行高度差值置零操作,得到第一次优化后的差值图。
在一些实施例中,该垛型图生成方法还包括:
利用滑动窗口对所述第一次优化后的差值图进行滤波,以得到第二次优化后的差值图。
在一些实施例中,所述利用滑动窗口对所述第一次优化后的差值图进行滤波,包括:
利用K*K尺寸的窗口对所述差值图进行依次滑动,以统计当前位置下所述滑动窗口内的高度差值为非零值的网格数量;
若所述非零值的网格数量与总网格数量之比大于预设比例阈值,则保留所述当前位置下的高度差值,否则将所述当前位置下的高度差值置零。
在一些实施例中,所述位置信息为所述新增码放对象在所述差值图中的最小外接矩形;所述根据所述位置信息对前一帧的输出垛型图中的高度值进行更新,包括:
获取所述当前帧的原始垛型图中对应所述最小外接矩形区域的高度值;
若所述高度值大于前一帧的输出垛型图中对应相同位置的高度值,则进行高度值更新,否则保持所述前一帧的输出垛型图中的高度值不变。
第二方面,本申请实施例提供一种机器人码垛方法,包括:
采用所述的垛型图生成方法,生成垛型图;
将所述垛型图输入至垛型规划算法中进行垛型规划,以得到码垛参数;
根据所述码垛参数执行相应的码垛操作。
第三方面,本申请实施例提供一种垛型图生成装置,包括:
获取模块,用于每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图;
作差模块,用于对前一帧的原始垛型图和当前帧的所述原始垛型图进行差值处理,以得到差值图;
检测模块,用于对所述差值图进行轮廓检测,得到新增码放对象在所述差值图中的位置信息;
更新输出模块,用于根据所述位置信息对前一帧的输出垛型图中的高度值进行更新,并将更新后的垛型图作为生成的当前帧的输出垛型图输出。
第四方面,本申请实施例提供一种机器人码垛装置,包括:
垛型图生成模块,用于采用所述的垛型图生成方法,生成垛型图;
垛型规划模块,用于将所述垛型图作为垛型规划算法的输入并进行垛型规划,以得到码垛参数;
码垛执行模块,用于根据所述码垛参数执行相应的码垛操作。
第五方面,本申请实施例提供一种码垛机器人,所述码垛机器人包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施所述的垛型图生成方法或机器人码垛方法。
第六方面,本申请实施例提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施所述的垛型图生成方法或机器人码垛方法。
本申请的实施例具有如下有益效果:
本申请提出的垛型图生成方法,通过结合前一帧的原始垛型图和当前帧的原始垛型图进行差值处理,以得到新增码放对象在差值图中的位置信息;然后,根据位置信息对前一帧的输出垛型图中的高度值进行更新,从而生成当前帧的输出垛型图。该方法利用前后帧信息能够得到更加精细的垛型图,减少了因视野盲区带来的影响,提升码垛的容积率,尤其是有利于对小型码放对象的码放,例如对于小型纸箱则可以放置在缝隙等狭小空间内,进一步提升了码放效率等。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了深度相机视野盲区示意图;
图2示出了本申请实施例垛型图生成方法的第一流程图;
图3示出了本申请实施例垛型图生成方法的第二流程图;
图4示出了一种矩形垛盘的示意图;
图5示出了本申请实施例垛型图生成方法的第三流程图;
图6示出了本申请实施例垛型图生成方法的第四流程图;
图7示出了本申请实施例机器人码垛方法的一种流程图;
图8示出了本申请实施例垛型图生成装置的一种结构示意图;
图9示出了本申请实施例机器人码垛装置的一种结构示意图。
主要元件符号说明:
100-垛型图生成装置;110-获取模块;120-作差模块;130-检测模块;140-更新输出模块;200-机器人码垛装置;210-垛型图生成模块;220-垛型规划模块;230-码垛执行模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
本申请提出一种垛型图生成方法,其利用前后帧的深度图进行差值处理以得到差值图,进而利用差值图中的高度信息对前一帧的垛型图进行更新,从而得到当前帧的垛型图。该方法可以有效地解决现有方案中存在视野盲区的问题,得到更加精确的垛型图,进而有利于提高码垛规划算法的上限等。
下面结合一些具体的实施例来对该垛型图生成方法进行说明。
图2示出了本申请实施例的垛型图生成方法的一种流程图。示范性地,该垛型图生成方法包括以下步骤:
S110,每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图。
可以理解,上述的码垛操作是指,机器人按照码放指令将码放对象依次堆放在垛盘中。其中,该码放对象可以包括但不限于为纸箱、袋装包裹等较为规则的操作对象,这里不作限定。本实施例中,对垛盘的形状不作限定,例如,按照垛盘底部的平面形状来划分,可包括但不限于为矩形、正方形、圆形、三角形、环形等,这里不作限定。
示范性地,可以通过深度相机采集每次执行完一次码垛操作后的深度信息,以得到更新的深度信息。进而,根据最新的深度信息进行点云转换,得到相应的点云信息,然后利用点云投影来得到对应时刻的原始垛型图。
可以理解的是,所述的原始垛型图是指,利用实时采集到的深度信息直接计算得到的垛型图(Height Map),其与后文中将提及的输出垛型图不同,输出垛型图作为最终输出的垛型图,主要通过对原始垛型图进行优化处理后得到。其中,Height Map是一个尺寸MxN的矩阵,矩阵中每个点代表该位置的垛盘的高度,M、N均为大于零的整数。
作为一种可选的方案,在首次码垛操作之前,该方法还包括对空的垛盘进行定位,以得到与垛盘底面尺寸对应的初始垛型图的尺寸。
如图3所示,在上述步骤S110之前,该垛型图生成方法还包括:
S100,获取空垛盘的三维空间位置,以获取垛盘底面的角点信息,并对所有角点围成的区域进行网格划分,并选取其中一个角点作为原点且设置每个网格的初始高度值为零,以得到初始的垛型图。
示范性地,在未开始码放前,对空的垛盘进行定位,可以通过深度相机或其他定位设备等来获取该垛盘的位置信息,进而提取出该垛盘底面的各个角点的三维空间坐标,以得到由所有角点所围成的平面区域。可以理解,该平面区域的形状与垛盘底面的形状有关,例如,若该垛盘为矩形,如图4所示,则该平面区域则为由底面四个角点围成得到。
进而,对该平面区域以一定分辨率划分成MxN的网格,其中,每个网格的初始高度值为0。指定其中一个角点作为原点,以构建得到初始的垛型图。可以理解,该垛型图的尺寸始终为MxN。
之后,将初始垛型图送入码垛规划算法,则可以得到第一码放对象的位姿,以便机器人进行首次码放。然后,在执行完首次码垛操作后,则继续执行步骤S110,即获取当前帧的原始垛型图。
例如,在一种实施方式中,如图5所示,步骤S110包括以下子步骤:
S111,每执行完一次码垛操作后,通过深度相机获取当前帧的深度图。
例如,深度相机可以设置在如垛盘上方或正上方等位置,每次执行一次码垛操作后,由于垛盘的高度信息发生了变化,此时则通过深度相机进行一次深度信息的采集,以得到当前时刻的深度图,其中,该当前时刻的深度图作为当前帧的深度图。
S112,对深度图进行点云转换,并将转换得到的点云投影到垛盘底面所在的平面上。
S113,筛选出投影后位于垛盘底面的所有角点围成的区域内的目标点云,并计算各个目标点云投影在划分的网格内的网格坐标,以得到当前帧的原始垛型图。其中,原始垛型图中各网格的高度值根据相关目标点云对应的深度值确定。
接着,对深度信息进行点云转换,得到该深度图对应的点云图像;然后,将该点云投影到该垛盘底面所在的平面上。然后,在点云投影后,可将投影到垛盘底面形成的区域内的点云作为目标,用于生成垛型图。
示范性地,筛选出所有的目标点云后,则可计算出各个目标点云在M×N的网格内的平面坐标位置,以及计算这些目标点云到垛盘底面的高度值,由此得到当前帧的原始垛型图(记为Map_cur)。
可选地,在计算高度值时,考虑到在M×N网格中的某一个网格中可能包含多个点,对于该原始垛型图中各网格的高度值,可将位于同一网格内的点的最大高度值作为当前网格的高度值。可以理解,选取出最大的高度值,可以避免出现挤压或得到不合适的错误码放位置等。
S120,对前一帧的原始垛型图和当前帧的原始垛型图进行差值处理,以得到差值图。
本实施例中,将通过对当前帧的原始垛型图进行后处理,以得到优化后的基于前后帧深度图的垛型图(记为Map_out),便于码垛规划算法计算。
示范性地,利用当前帧计算得到的原始垛型图(Map_cur)与前一帧计算得到的原始垛型图(Map_cur)作差,可得到尺寸为M×N的差值图。
进而,对该差值图进行轮廓检测,则可以拟合出本次新增码放对象在该差值图中的位置信息,如最小外接矩形等。
作为一种优选的方案,如图6所示,对该差值图进行轮廓检测之前,该方法还包括对差值图进行去噪优化处理。示范性,该方法还包括:
S150,对差值图中高度差值小于预设距离阈值的网格,进行高度差值置零操作,得到第一次优化后的差值图。
例如,若差值图内存在高度值小于预设距离阈值(例如,可设置为5mm)则将该位置的高度值置为0。可以理解,此操作目的可以去除差值图内因深度相机精度产生的微小误差而得到的差值噪点。
S160,利用滑动窗口对第一次优化后的差值图进行滤波,以得到第二次优化后的差值图。
具体地,可利用K*K尺寸的窗口对上述第一次优化后的差值图进行依次滑动,以统计当前位置下滑动窗口内的高度差值为非零值的网格数量。可以理解,K为大于0的整数。于是,若非零值的网格数量与总网格数量之比大于预设比例阈值,则保留当前位置下的高度差值,否则将当前位置下的高度差值置零,由此得到二次优化后的差值图,其中,对二次优化后的差值图进行轮廓检测。
例如,可选取3*3、5*5等尺寸的滑动窗口进行滤波,若该差值图中某个点的高度值为0,则跳过该位置;若不为0,则统计该位置下滑动窗口内包含不为0的网格的数量。如果不为0的网格占总网格数量的比例大于预设比例阈值(如设为50%~70%等),则保留该差值图位置的高度值,否则将该位置的高度值置为0。
S130,对差值图进行轮廓检测,得到新增码放对象在差值图中的位置信息。
示范性地,通过轮廓检测可以得到该新增码放对象的位置信息,例如,在一种实施方式中,可以为该新增码放对象在差值图中的最小外接矩形等,这里不作限定。其中,该最小外接矩形将作为该新增码放对象在差值图上的归一化表示。
S140,根据该位置信息对前一帧的输出垛型图中的高度值进行更新,并将更新后的垛型图作为生成的当前帧的输出垛型图输出。
示范性地,以最小外接矩形这一位置信息为例,在进行更新时,可通过取出当前帧的原始垛型图中对应最小外接矩形区域的高度值,并将其覆盖到前一帧的输出垛型图(Map_out)的对应区域上。具体地,覆盖规则可为:若当前帧中的该高度值大于前一帧的输出垛型图中对应相同位置的高度值,则进行高度值更新,即覆盖掉前一帧的高度值;否则保持前一帧的输出垛型图中的高度值不变,即保留前一帧的高度值。
最后,将更新后得到的前一帧的输出垛型图(Map_out)作为生成的当前帧的输出垛型图(Map_out),然后输入至垛型规划算法中进行后续处理。
相比于现有的基于单帧深度图生成垛型图的方案,本实施例提出基于前后帧的深度图来生成垛型图,可以有效解决现有方案存在视野盲区的问题,以提升码垛规划算法的精确性,进而提升实际码垛效率。此外,尤其是有利于一些小型的码放对象,如纸箱、袋装包裹等,从而提升了码垛的容积率等。
图7示出了本申请实施例的机器人码垛方法的一种流程图。示范性地,该机器人码垛方法包括以下步骤:
S210,采用上述实施例的垛型图生成方法,生成垛型图。
S220,将所述垛型图输入至垛型规划算法中进行垛型规划,以得到码垛参数。
其中,关于上述的垛型规划,例如,可采用如贪心算法、遗传算法、模拟退火算法等进行优化求解,具体可根据实际需求确定,这里不作限定。
例如,用于垛型规划的码垛参数,可包括但不限于包括,码垛层数、层排布方式、横向个数、纵向个数、单元参数和码垛间隙等。进一步地,码垛层与码垛层之间的关系可包括重叠式、正反交错式、旋转交错式和纵横交错式等。
S230,根据所述码垛参数执行相应的码垛操作。
示范性地,机器人码放计算过程中,将在垛盘坐标系中根据码垛参数计算码垛点数据;再后,将垛盘坐标系的码垛点数据转换到机器人坐标系数据,最后控制机器人进行码垛操作。
可以理解,上述实施例中的方法可选项同样适用于本实施例,故这里不再重复描述。
通过采用上述实施例的方法可以生成更为精细的垛型图,进而有利于小型码放对象的码放(例如,对于小型纸箱,可以放置在缝隙等狭小空间内等),以进一步提升码垛规划算法的上限等。
图8示出了本申请实施例的垛型图生成装置的一种结构示意图。示范性地,该垛型图生成装置100包括:
获取模块110,用于每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图;
作差模块120,用于对前一帧的原始垛型图和当前帧的所述原始垛型图进行差值处理,以得到差值图;
检测模块130,用于对所述差值图进行轮廓检测,得到新增码放对象在所述差值图中的位置信息;
更新输出模块140,用于根据所述位置信息对前一帧的输出垛型图中的高度值进行更新,并将更新后的垛型图作为生成的当前帧的输出垛型图输出。
可以理解,本实施例的装置对应于上述实施例的垛型图生成方法,上述实施例中的可选项同样适用于本实施例,故在此不再重复描述。
图9示出了本申请实施例的机器人码垛装置的一种结构示意图。示范性地,该机器人码垛装置200包括:
垛型图生成模块210,用于采用上述实施例的垛型图生成方法,生成垛型图;
垛型规划模块220,用于将所述垛型图输入至预设垛型规划算法中进行垛型规划,以得到码垛参数;
码放码垛执行模块230,用于根据所述码垛参数执行相应的码垛操作。
可以理解,本实施例的装置对应于上述实施例的机器人码垛方法,上述实施例中的可选项同样适用于本实施例,故在此不再重复描述。
本申请还提出一种码垛机器人,其中,该码垛机器人可以应用于不同的场景,如仓库、物流、智能分拣等,以用于对不同的对象进行码垛操作。需要明白的是,该码垛机器人的形状不作限定,例如,可以是机械臂,人形机器人等。示范性地,该码垛机器人包括处理器和存储器,此外,还可以设置有深度相机等感知外设,其中,存储器存储有计算机程序,处理器通过运行所述计算机程序,从而使得该码垛机器人执行上述实施例的垛型图生成方法或者上述实施例的机器人码垛方法。
其中,处理器可以是一种具有信号的处理能力的集成电路芯片。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)及网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器用于存储计算机程序,处理器在接收到执行指令后,可相应地执行所述计算机程序。
此外,本申请还提供了一种计算机可读存储介质,用于储存上述码垛机器人中使用的所述计算机程序,所述计算机程序在处理器上执行时,实施上述实施例的垛型图生成方法或机器人码垛方法。
例如,该计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (13)

1.一种垛型图生成方法,其特征在于,包括:
每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图;
对前一帧的原始垛型图和当前帧的所述原始垛型图进行差值处理,以得到差值图;
对所述差值图进行轮廓检测,得到新增码放对象在所述差值图中的位置信息;
根据所述位置信息对前一帧的输出垛型图中的高度值进行更新,并将更新后的垛型图作为生成的当前帧的输出垛型图输出。
2.根据权利要求1所述的垛型图生成方法,其特征在于,首次码垛操作之前,还包括:
获取空垛盘的三维空间位置,以获取垛盘底面的各个角点信息;
对所有角点围成的平面区域进行网格划分,并选取其中一个角点作为原点且设置每个网格的初始高度值为零,以得到初始垛型图。
3.根据权利要求2所述的垛型图生成方法,其特征在于,所述每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图,包括:
每执行完一次码垛操作后,通过深度相机获取当前帧的深度图;
对所述深度图进行点云转换,并将转换得到的点云投影到垛盘底面所在的平面上;
筛选出投影后位于所述垛盘底面的所述平面区域内的目标点云,并计算各个所述目标点云投影在所述划分的网格内的网格坐标,以得到当前帧的原始垛型图;其中,所述原始垛型图中各网格的高度值根据相关目标点云对应的深度值确定。
4.根据权利要求3所述的垛型图生成方法,其特征在于,所述原始垛型图中各网格的高度值根据相关目标点云对应的深度值确定,包括:
计算各个所述目标点云投影在所述垛盘底面的所述平面区域内的高度值,并根据所述网格坐标,将位于同一网格内的点的最大高度值作为当前网格的高度值。
5.根据权利要求1所述的垛型图生成方法,其特征在于,所述对所述差值图进行轮廓检测,之前还包括:
对所述差值图中高度差值小于预设距离阈值的网格,进行高度差值置零操作,得到第一次优化后的差值图。
6.根据权利要求3所述的垛型图生成方法,其特征在于,还包括:
利用滑动窗口对所述第一次优化后的差值图进行滤波,以得到第二次优化后的差值图。
7.根据权利要求6所述的垛型图生成方法,其特征在于,所述利用滑动窗口对所述第一次优化后的差值图进行滤波,包括:
利用K*K尺寸的窗口对所述差值图进行依次滑动,以统计当前位置下所述滑动窗口内的高度差值为非零值的网格数量,K为大于0的整数;
若所述非零值的网格数量与总网格数量之比大于预设比例阈值,则保留所述当前位置下的高度差值,否则将所述当前位置下的高度差值置零。
8.根据权利要求1至7中任一项所述的垛型图生成方法,其特征在于,所述位置信息为所述新增码放对象在所述差值图中的最小外接矩形;所述根据所述位置信息对前一帧的输出垛型图中的高度值进行更新,包括:
获取所述当前帧的原始垛型图中对应所述最小外接矩形区域的高度值;
若所述高度值大于前一帧的输出垛型图中对应相同位置的高度值,则进行高度值更新,否则保持所述前一帧的输出垛型图中的高度值不变。
9.一种机器人码垛方法,其特征在于,包括:
采用如权利要求1至8中任一项所述的方法,生成垛型图;
将所述垛型图输入至垛型规划算法中进行垛型规划,以得到码垛参数;
根据所述码垛参数执行相应的码垛操作。
10.一种垛型图生成装置,其特征在于,包括:
获取模块,用于每执行完一次码垛操作,获取基于当前帧深度信息得到的原始垛型图;
作差模块,用于对前一帧的原始垛型图和当前帧的所述原始垛型图进行差值处理,以得到差值图;
检测模块,用于对所述差值图进行轮廓检测,得到新增码放对象在所述差值图中的位置信息;
更新输出模块,用于根据所述位置信息对前一帧的输出垛型图中的高度值进行更新,并将更新后的垛型图作为生成的当前帧的输出垛型图输出。
11.一种机器人码垛装置,其特征在于,包括:
垛型图生成模块,用于采用如权利要求1至8中任一项所述的方法,生成垛型图;
垛型规划模块,用于将所述垛型图作为垛型规划算法的输入并进行垛型规划,以得到码垛参数;
码垛执行模块,用于根据所述码垛参数执行相应的码垛操作。
12.一种码垛机器人,其特征在于,所述码垛机器人包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-8中任一项所述的垛型图生成方法或权利要求9中所述的机器人码垛方法。
13.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上执行时,实施根据权利要求1-8中任一项所述的垛型图生成方法或权利要求9中所述的机器人码垛方法。
CN202311818631.XA 2023-12-26 2023-12-26 垛型图生成方法、装置、码垛机器人及机器人码垛方法 Pending CN117533803A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311818631.XA CN117533803A (zh) 2023-12-26 2023-12-26 垛型图生成方法、装置、码垛机器人及机器人码垛方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311818631.XA CN117533803A (zh) 2023-12-26 2023-12-26 垛型图生成方法、装置、码垛机器人及机器人码垛方法

Publications (1)

Publication Number Publication Date
CN117533803A true CN117533803A (zh) 2024-02-09

Family

ID=89790235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311818631.XA Pending CN117533803A (zh) 2023-12-26 2023-12-26 垛型图生成方法、装置、码垛机器人及机器人码垛方法

Country Status (1)

Country Link
CN (1) CN117533803A (zh)

Similar Documents

Publication Publication Date Title
CN109541634B (zh) 一种路径规划方法、装置和移动设备
EP3955158A1 (en) Object detection method and apparatus, electronic device, and storage medium
CN108550318B (zh) 一种构建地图的方法及装置
CN109840448A (zh) 用于无人驾驶车辆的信息输出方法和装置
CN110349092B (zh) 一种点云滤波方法及设备
CN112017134B (zh) 一种路径规划方法、装置、设备及存储介质
JP2021051721A (ja) 物体識別のための方法および計算システム
CN111066064A (zh) 使用误差范围分布的网格占用建图
CN111985675B (zh) 托盘空间规划方法、码垛方法及其装置、及电子设备
CN110796141A (zh) 目标检测方法及相关设备
US20230011757A1 (en) Method and apparatus for generating strategy of object transport-and-pack process, and computer device
CN108550134B (zh) 建图效果指标的确定方法和建图效果指标的确定装置
CN112348781A (zh) 一种基准面高度检测方法、装置、设备及存储介质
TW201911230A (zh) 監控方法、計算裝置及電腦可讀存儲介質
CN109255836B (zh) 一种工件的排包系统及其排包方法
CN110702120A (zh) 地图边界处理方法、系统、机器人和存储介质
CN117533803A (zh) 垛型图生成方法、装置、码垛机器人及机器人码垛方法
US11093730B2 (en) Measurement system and measurement method
JP7352706B2 (ja) 貨物計数方法及び装置、コンピュータ装置、並びに記憶媒体
CN115713600A (zh) 自动驾驶场景的数字高程模型的生成方法和装置
CN113313803B (zh) 垛型分析方法、装置、计算设备及计算机存储介质
CN116342858B (zh) 物体检测方法、装置、电子设备及存储介质
CN112506178B (zh) 一种机器人控制方法、装置、终端和介质
CN117330083B (zh) 机器人定位方法、机器人和可读存储介质
CN115100642B (zh) 一种基于深度学习的3d库位状态检测方法及系统

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