一种物流容器搬运方法、装置及存储介质与流程

文档序号:26285092发布日期:2021-08-17 13:38阅读:65来源:国知局
一种物流容器搬运方法、装置及存储介质与流程

本申请涉及3d点云数据处理领域,尤其涉及一种物流容器搬运方法、装置及存储介质。



背景技术:

自动化物流仓储系统是未来智能制造的发展趋势,而智能叉车在其中起到了重要的作用;物流仓储系统中,常见的储物容器包括栈板、货架和圆柱桶;对于栈板和货架的识别以及搬运技术已经成熟,但物流容器(如圆柱桶、多面柱桶等)由于识别困难以及难以确认叉取方向,导致智能叉车难以准确地叉取物流容器;因此,如何提升智能叉车叉取物流容器的效率亟需解决。



技术实现要素:

本申请提供一种物流容器搬运方法、装置及存储介质,以至少解决现有技术中存在的以上技术问题。

本申请第一方面提供一种物流容器搬运方法,包括:

基于飞行时间(timeoffight,tof)相机获取物流容器的点云数据集合;

基于所述点云数据集合,确定所述物流容器的二维平面中心坐标,和所述物流容器包括的至少一个移动装置的二维中心坐标;

基于所述物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,确定叉取所述物流容器的叉取点和叉取方向;

基于所述叉取点和所述叉取方向,叉取所述物流容器。

上述方案中,所述基于tof相机获取包括物流容器的点云数据集合之后,所述方法还包括:

基于所述tof相机与所述物流容器的相对位置和所述物流容器的尺寸,确定所述点云数据集合中x轴方向的值均属于第一阈值范围,且y轴方向的值均属于第二阈值范围的点云数据为第一点云数据集合中的点云数据;

基于所述点云数据集合中地面所属的平面确定所述第一点云数据集合中,位于所述平面之上的点云数据为第二点云数据集合中的点云数据。

上述方案中,所述基于所述点云数据,确定所述物流容器的二维平面中心坐标包括:

基于所述物流容器的高度信息,将所述第二点云数据集合划分为至少两层;

对所述每层点云数据集合进行拟合,确定所述每层点云数据集合分别对应的第一圆心坐标集合和所述第一圆心坐标集合对应的第一半径集合;

基于所述物流容器的尺寸信息,在所述第一半径集合中筛选属于第三阈值范围的半径所对应的第二圆心坐标集合;

基于所述第二圆心坐标集合,确定所述物流容器的二维平面中心坐标。

上述方案中,所述基于所述第二圆心坐标集合,确定所述物流容器的二维平面中心坐标包括:

获取所述第二圆心坐标集合中元素的平均值,确定所述第二圆心坐标集合中元素的平均值为所述物流容器的二维平面中心坐标。

上述方案中,所述基于所述点云数据,确定所述物流容器包括的至少一个移动装置的二维中心坐标,包括:

基于所述物流容器的先验信息,确定所述第二点云数据集合中第一移动装置的第一聚类点集合;

基于所述第一移动装置的高度信息,将所述第一聚类点集合划分为至少两层;

对每层点云数据进行聚类,确定所述每层点云数据分别对应的第一中心坐标。

上述方案中,所述基于所述点云数据,确定所述物流容器包括的至少一个移动装置的二维中心坐标,包括:

基于所述物流容器的二维平面中心坐标、所述第二点云数据中第一移动装置的第一聚类点集合以及所述物流容器包括的至少一个移动装置的先验信息,确定所述物流容器包括的第二移动装置的第二聚类点集合;

若所述第二聚类点集合中包括的聚类点的数量大于或等于第一阈值,则保留所述第二聚类点集合;

对所述第二聚类点集合进行聚类,确定所述物流容器包括的第二移动装置的二维中心坐标。

上述方案中,所述基于所述物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,确定叉取所述物流容器的叉取点和叉取方向,包括:

基于所述至少一个移动装置的二维中心坐标,确定与所述tof相机之间的距离最小的移动装置的二维中心坐标为叉取所述物流容器的叉取点。

上述方案中,所述基于所述物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,确定叉取所述物流容器的叉取点和叉取方向,包括:

确定所述叉取点到所述物流容器的二维平面中心坐标的方向为叉取所述物流容器的叉取方向。

本申请第二方面提供一种物流搬运装置,所述装置包括:

点云数据获取模块,用于获取物流容器的点云数据集合;

数据处理模块,用于基于所述点云数据集合,确定所述物流容器的二维平面中心坐标,和所述物流容器包括的至少一个移动装置的二维中心坐标;

确定模块,用于基于所述物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,确定叉取所述物流容器的叉取点和叉取方向;

执行模块,用于基于所述叉取点和所述叉取方向,叉取所述物流容器。

本申请第三方面提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现所述物流搬运装置执行的物流搬运方法的步骤。

本申请第四方面提供一种计算机刻度存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现所述物流搬运装置执行的物流搬运方法的步骤。

通过本申请实施例提供的物流搬运方法,基于tof相机获取物流容器的点云数据集合;基于所述点云数据集合,确定所述物流容器的二维平面中心坐标,和所述物流容器包括的至少一个移动装置的二维中心坐标;基于所述物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,确定叉取所述物流容器的叉取点和叉取方向;基于所述叉取点和所述叉取方向,叉取所述物流容器。基于点云数据集合,提升了物流容器的识别准确性,在识别物流容器的基础上,确定物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,进而确定叉取所述物流容器的叉取点和叉取方向,提升了叉取物流容器的效率。

附图说明

图1示出了本申请实施例提供的物流容器搬运系统100的架构示意图;

图2示出了本申请实施例提供的运输设备400的结构示意图;

图3示出了本申请实施例提供的物流容器搬运方法的一种可选流程示意图;

图4示出了本申请实施例提供的物流容器搬运方法的另一种可选流程示意图;

图5示出了本申请实施例提供的物流容器的可选示意图;

图6示出了本申请实施例提供的物流容器的仰视示意图。

具体实施方式

为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

自动化物流仓储系统是未来智能制造的发展趋势,而智能叉车在其中起到了重要的作用。智能叉车除了需要自主定位导航外,还需要动态识别安放货物的栈板、货架和物流容器(如圆柱形布料桶),同时确定物流容器的姿态和位置,精准完成叉取物流容器、自动搬运物流容器的任务。

目前,叉车识别技术目前以栈板和货架识别为主,物流容器的识别没有非常通用和成熟的技术。相比栈板识别,物流容器的移动装置(如轮子)在3d相机中点云质量更差,其更易受到环境的影响而导致识别效果不佳。不仅如此,物流容器也没有类似栈板的平面,更难获取到叉取的矢量方向。物流容器叉取识别算法难度想不栈板识别和货架识别更难,但物流容器作为叉车叉取的常见物体,在工厂中也十分常见,因此,必须研究出针对物流容器的识别、搬运算法。

因此,针对相关技术中物流容器识别、搬运方法中存在的缺陷,本申请提供一种物流容器搬运方法,能够克服现有技术的部分或全部缺点。

参见图1,图1是本申请实施例提供的物流容器搬运系统100的架构示意图,为实现支撑一个示例性应用,运输设备400通过网络300连接服务器200,其中,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。

在一些实施例中,以电子设备是运输设备为例,本申请实施例提供的物流容器搬运方法可以由运输设备实现。例如,运输设备400运行客户端,客户端410可以是用于物流容器搬运的客户端。客户端可以采集点云数据集,并将所述点云数据集通过网络300传输至服务器200。

在一些实施例中,所述运输设备可以是叉车、分拣车等用于叉取、运输物品的设备,本申请不作具体限制。

在需要进行物流容器叉取时,客户端获取包括物流容器的点云数据集,其中,客户端可以通过运输设备400内部的tof相机,对点云数据集进行拍摄;也可以接收独立于运输设备400的tof相机采集的点云数据集。

在一些实施例中,以电子设备是服务器为例,本申请实施例提供的物流容器搬运方法可以由服务器和运输设备协同实现。

在需要进行物流容器叉取时,客户端获取包括物流容器的点云数据集,其中,客户端可以通过运输设备400内部的tof相机,对点云数据集进行拍摄;也可以接收独立于运输设备400的tof相机采集的点云数据集。然后,服务器200基于所述点云数据集合,确定所述物流容器的二维平面中心坐标,和所述物流容器包括的至少一个移动装置的二维中心坐标;基于所述物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,确定叉取所述物流容器的叉取点和叉取方向;基于所述叉取点和所述叉取方向,叉取所述物流容器。

在一些实施例中,运输设备400或服务器200可以通过运行计算机程序来实现本申请实施例提供的物流容器搬运方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(application,app),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。

在实际应用中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,其中,云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。运输设备400可以是叉车、分拣车或运输车等,但并不局限于此。运输设备400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

以本申请实施例提供的电子设备是运输设备为例说明,可以理解的,对于电子设备是服务器的情况,图2中示出的结构中的部分模块或接口可以缺省。参见图2,图2是本申请实施例提供的运输设备400的结构示意图,图2所示的运输设备400包括:至少一个处理器460、存储器450和至少一个网络接口420;可选的,所述运输设备400还可以包括用户接口430。运输设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。

处理器460可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(digitalsignalprocessor,dsp),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器460的一个或多个存储设备。

存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(readonlymemory,rom),易失性存储器可以是随机存取存储器(randomaccessmemory,ram)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。

在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(universalserialbus,usb)等;

呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的物流容器搬运装置455,其可以是程序和插件等形式的软件,包括以下软件模块:点云数据获取模块4551、数据处理模块4552、确定模块4553以及执行模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的物流容器搬运装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的物流容器搬运装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的物流容器搬运方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(applicationspecificintegratedcircuit,asic)、dsp、可编程逻辑器件(programmablelogicdevice,pld)、复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)、现场可编程门阵列(field-programmablegatearray,fpga)或其他电子元件。

基于上述对本申请实施例提供的物流容器搬运系统及运输设备的说明,下面说明本申请实施例提供的物流容器搬运方法。在一些实施例中,本申请实施例提供的物流容器搬运方法可由服务器或运输设备单独实施,或由服务器及运输设备协同实施,下面以运输设备实施为例说明本申请实施例提供的物流容器搬运方法。参见图3示出了本申请实施例提供的物流容器搬运方法的一种可选流程示意图,将根据各个步骤进行说明。

步骤s101,基于tof相机获取物流容器的点云数据集合。

在一些实施例中,物流容器搬运装置(以下简称装置)基于tof相机获取物流容器的点云数据集合。其中,所述物流容器可以是圆柱桶或多边形桶,用于承装物流包裹或其他需要运输的物体。

在一些可选实施例中,所述tof相机可以是所述物流容器搬运装置之外的相机,在获取点云数据后通过无线通信或有线传输的方式将所述点云数据发送至所述装置;或者,所述tof相机还可以内置于所述物流容器搬运内置,本申请不作具体限定。

在一些可选实施例中,所述物流容器的点云数据集合,可以包括所述物流容器所处场景的点云数据。

在一些可选实施例中,所述装置基于tof相机获取包括物流容器的点云数据集合之后,还可以基于所述tof相机与所述物流容器的相对位置和所述物流容器的尺寸,确定所述点云数据集合中x轴方向的值均属于第一阈值范围,且y轴方向的值均属于第二阈值范围的点云数据为第一点云数据集合中的点云数据;和/或,基于所述点云数据集合中地面所属的平面确定所述第一点云数据集合中,位于所述平面之上的点云数据为第二点云数据集合中的点云数据。如此,可以对所述点云数据集合中的点云数据进行滤波,减少后续流程的计算量。

其中,若所述物流容器为长方体,则所述物流容器的尺寸包括所述物流容器的长度信息、宽度信息和高度信息中至少之一;若所述物流容器为圆柱体,则所述物流容器的尺寸包括所述物流容器的高度信息和半径信息中至少之一;若所述物流容器为五棱柱、六棱柱等柱体,则所述物流容器的尺寸可以包括所述物流容器的高度信息、边长信息和底面信息中至少之一;所述物流容器的具体尺寸、形状和材质本申请不做具体限定。

步骤s102,基于所述点云数据集合,确定所述物流容器的二维平面中心坐标,和所述物流容器包括的至少一个移动装置的二维中心坐标。

在一些实施例中,所述装置基于所述点云数据集合,确定所述物流容器的二维平面中心坐标,和所述物流容器包括的至少一个移动装置的二维中心坐标。

具体实施时,以所述物流装置为圆柱形容器为例,所述装置基于所述点云数据,确定所述物流容器的二维平面中心坐标可以包括:基于所述物流容器的高度信息,将所述第二点云数据集合划分为至少两层;对所述每层点云数据集合进行拟合,确定所述每层点云数据集合分别对应的第一圆心坐标集合和所述第一圆心坐标集合对应的第一半径集合;基于所述物流容器的尺寸信息,在所述第一半径集合中筛选属于第三阈值范围的半径所对应的第二圆心坐标集合;基于所述第二圆心坐标集合,确定所述物流容器的二维平面中心坐标。

可选的,所述装置可以获取所述第二圆心坐标集合中元素的平均值,确定所述第二圆心坐标集合中元素的平均值为所述物流容器的二维平面中心坐标。

在一些可选实施例中,所述装置可以基于相关技术中已经公开的方法对所述每层点云数据集合进行拟合,例如pcl三方库算法,本申请实施例不作具体限制。

具体实施时,所述装置基于所述物流容器的先验信息,确定所述第二点云数据集合中第一移动装置的第一聚类点集合;基于所述第一移动装置的高度信息,将所述第一聚类点集合划分为至少两层;对每层点云数据进行聚类,确定所述每层点云数据分别对应的第一中心坐标。基于所述物流容器的二维平面中心坐标、所述第二点云数据中第一移动装置的第一聚类点集合以及所述物流容器包括的至少一个移动装置的先验信息,确定所述物流容器包括的第二移动装置的第二聚类点集合;若所述第二聚类点集合中包括的聚类点的数量大于或等于第一阈值,则保留所述第二聚类点集合;对所述第二聚类点集合进行聚类,确定所述物流容器包括的第二移动装置的二维中心坐标。

其中,所述物流容器包括的至少一个移动装置的先验信息可以包括所述物流容器包括的移动装置的数量信息、相对位置信息以及分布角度信息中至少之一。

步骤s103,基于所述物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,确定叉取所述物流容器的叉取点和叉取方向。

在一些实施例中,所述装置基于所述至少一个移动装置的二维中心坐标,确定与所述tof相机之间的距离最小的移动装置的二维中心坐标为叉取所述物流容器的叉取点;和/或,所述装置确定所述叉取点到所述物流容器的二维平面中心坐标的方向为叉取所述物流容器的叉取方向。

其中,所述叉取点为所述装置所属的运输设备叉取所述物流容器的切入点;所述叉取方向为所述物流设备查无所述物流容器的方向。

步骤s104,基于所述叉取点和所述叉取方向,叉取所述物流容器。

在一些实施例中,所述装置基于所述叉取点和所述叉取方向,叉取所述物流容器,实现物流容器的识别和搬运。

如此,通过本申请实施例提供的物流容器搬运方法,基于点云数据集合,提升了物流容器的识别准确性,在识别物流容器的基础上,确定物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,进而确定叉取所述物流容器的叉取点和叉取方向,提升了叉取物流容器的效率。

图4示出了本申请实施例提供的物流容器搬运方法的另一种可选流程示意图,将根据各个步骤进行说明。

步骤s201,基于物流容器的点云数据确定第一点云数据集合。

在一些实施例中,物流容器搬运装置基于tof相机获取物流容器的点云数据集合。

在一些实施例中,所述物流容器的点云数据集合,可以包括所述物流容器所处场景的点云数据。

在一些实施例中,所述装置基于所述物流容器以及tof相机的先验信息,确定第一点云数据集合。其中,所述物流容器以及tof相机的先验信息可以是所述tof相机与所述物流容器的相对位置和所述物流容器的尺寸。

具体实施时,所述装置可以基于所述tof相机与所述物流容器的相对位置和所述物流容器的尺寸,确定所述点云数据集合中x轴方向的值均属于第一阈值范围,且y轴方向的值均属于第二阈值范围的点云数据为第一点云数据集合中的点云数据。

可选的,x轴方向的最小值可以是,x轴方向的最大值可以是,相应的,第一阈值范围可以是;y轴方向的最小值可以是,y轴方向的最大值可以是,第二阈值范围可以是。其中,均可以根据实际需求设置。

若所述点云数据集合中的元素为,则所述第一点云数据集合中的元素满足

步骤s202,基于第一点云数据集合确定第二点云数据集合。

在一些实施例中,所述装置基于所述点云数据集合中地面所属的平面确定所述第一点云数据集合中,位于所述平面之上的点云数据为第二点云数据集合中的点云数据。

具体实施时,设所述点云数据集合中,地面所在的平面为,假设,位于所述平面之上的点云数据为第二点云数据集合中的点云数据。

如此,通过步骤s201和步骤s202,可以筛选出物流容器对应的点云数据,减少后续流程的计算量。

步骤s203,确定物流容器的二维平面中心坐标。

在一些实施例中,所述装置基于所述第二点云数据集合,确定所述物流容器的二维平面中心坐标。

具体实施时,所述装置基于所述物流容器的先验信息,将所述第二点云数据集合划分为至少两层;对所述每层点云数据集合进行拟合,确定所述每层点云数据集合分别对应的第一圆心坐标集合和所述第一圆心坐标集合对应的第一半径集合;基于所述物流容器的先验信息,在所述第一半径集合中筛选属于第三阈值范围的半径所对应的第二圆心坐标集合;基于所述第二圆心坐标集合,确定所述物流容器的二维平面中心坐标。其中,所述物流容器的先验信息可以是所述物流容器的尺寸;所述第三阈值范围可以根据实际需求设置。

图5示出了本申请实施例提供的物流容器的可选示意图。

可选的,以所述物流容器为圆柱桶为例,如图5所示,所述装置根据所述物流容器的先验信息,筛选所述第二点云数据集合中距离地面高度满足的点云数据,生成点集p。将点集p中的点云数据根据距离地面的高度划分为n层。每一层的高度在之间。其中,。针对每一层,进行二维平面的拟合,每一层拟合的二维平面中心坐标(圆心坐标)为,对应的半径为。根据物流容器的半径信息,保留半径在之间的圆心坐标。对满足条件的圆心坐标以及对应的半径求平均值,得到所述物流容器的二维平面中心坐标和半径。

在一些可选实施例中,所述装置可以基于相关技术中已经公开的方法对所述每层点云数据集合进行拟合,例如pcl三方库算法,本申请实施例不作具体限制。

步骤s204,确定物流容器包括的第一移动装置的第一中心坐标。

在一些实施例中,所述装置基于所述物流容器的先验信息,确定所述第二点云数据集合中第一移动装置的第一聚类点集合;基于所述第一移动装置的高度信息,将所述第一聚类点集合划分为至少两层;对每层点云数据进行聚类,确定所述每层点云数据分别对应的第一中心坐标。可选的,所述装置还可以基于所述每层点云数据分别对应的第一中心坐标确定所述第一移动装置的二维中心坐标。

其中,所述第一移动装置可以是第二点云数据集合中存在相应点云数据的移动装置。可选的,所述第一移动装置可以是用不同材料制成的圆形滚动物体(如轮子),用于移动所述物流容器。

具体实施时,所述装置根据所述物流容器的先验信息(如轮子的半径、高度),筛选所述第二点云数据集合中距离地面高度满足距离地面高度的点云数据,生成点集q。将点集q中的点云数据根据距离地面的高度划分为m层。每层高度在之间。其中,。针对每一层,进行点云数据聚类,针对每一层的点云数据聚类求平均值,即可得到每一层的中心点坐标(所述每层点云数据分别对应的第一中心坐标),生成点集。对所述点集中的元素求平均值,确定所述点集中元素的平均值为所述第一移动装置的二维中心坐标。

步骤s205,确定物流容器包括的第二移动装置的二维中心坐标。

在一些实施例中,所述装置基于所述物流容器的二维平面中心坐标、所述第二点云数据中第一移动装置的第一聚类点集合以及所述物流容器包括的至少一个移动装置的先验信息,确定所述物流容器包括的第二移动装置的第二聚类点集合;若所述第二聚类点集合中包括的聚类点的数量大于或等于第一阈值,则保留所述第二聚类点集合;对所述第二聚类点集合进行聚类,确定所述物流容器包括的第二移动装置的二维中心坐标。

其中,所述物流容器包括的至少一个移动装置的先验信息可以包括所述物流容器包括的移动装置的数量信息、距离信息以及分布角度信息。

具体实施时,根据所述物流容器包括的至少一个移动装置的先验信息,可以知道所述至少一个移动装置的相对位置,进一步,根据所述第一聚类点集合、所述二维平面中心坐标,以及所述至少一个移动装置的相对位置,可以确定所述第二移动装置的第二聚类点集合。

图6示出了本申请实施例提供的物流容器的仰视示意图。

图6中,tof相机可以采集到最下面的移动装置(第一移动装置)的点云数据,基于所述第一移动装置的第一聚类点集合,可以确定出第二移动装置的第二聚类点集合;若所述第二聚类点集合中包括的聚类点的数量大于或等于第一阈值,则保留所述第二聚类点集合;对所述第二聚类点集合求平均值,确定所述物流容器包括的第二移动装置的二维中心坐标。其中,所述第一阈值可以根据实际需求设置。

步骤s206,确定叉取所述物流容器的叉取点。

在一些实施例中,所述装置基于所述至少一个移动装置的二维中心坐标,确定与所述tof相机之间的距离最小的移动装置的二维中心坐标为叉取所述物流容器的叉取点。

步骤s207,基于所述物流容器的叉取点,确定叉取所述物流容器的叉取方向。

在一些实施例中,所述装置确定所述叉取点到所述物流容器的二维平面中心坐标的方向为叉取所述物流容器的叉取方向。

在另一些实施例中,所述装置连接所述物流容器的二维平面中心坐标和所述叉取点(此时的矢量方向为所述物流容器的圆心向外),确定连接所述二维平面中心坐标和所述叉取点的矢量方向为叉取方向,所述装置延所述叉取方向的反方向(叉取点指向二维平面中心的方向),叉取所述物流容器。

步骤s208,基于所述叉取点和所述叉取方向,叉取所述物流容器。

在一些实施例中,所述装置基于所述叉取点和所述叉取方向,叉取所述物流容器,实现物流容器的识别和搬运。

如此,通过本申请实施例提供的物流容器搬运方法,在已知物流容器的尺寸信息、移动装置的分布信息、地面标定等先验信息情况下,通过物流容器的点云数据集合,获取到叉取点及叉取方向。针对常见的物流容器,例如圆桶,可以达到精准叉取的效果。

下面继续说明本申请实施例提供的物流容器搬运装置455实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的物流容器搬运装置455中的软件模块可以包括:点云数据获取模块4551,用于获取物流容器的点云数据集合;数据处理模块4552,用于基于所述点云数据集合,确定所述物流容器的二维平面中心坐标,和所述物流容器包括的至少一个移动装置的二维中心坐标;确定模块4553,用于基于所述物流容器的二维平面中心坐标和所述至少一个移动装置的二维中心坐标,确定叉取所述物流容器的叉取点和叉取方向;执行模块4554,用于基于所述叉取点和所述叉取方向,叉取所述物流容器。

所述基于tof相机获取包括物流容器的点云数据集合之后,所述数据处理模块4552还用于:基于所述tof相机与所述物流容器的相对位置和所述物流容器的尺寸,确定所述点云数据集合中x轴方向的值均属于第一阈值范围,且y轴方向的值均属于第二阈值范围的点云数据为第一点云数据集合中的点云数据;基于所述点云数据集合中地面所属的平面确定所述第一点云数据集合中,位于所述平面之上的点云数据为第二点云数据集合中的点云数据。

所述数据处理模块4552,具体用于基于所述物流容器的高度信息,将所述第二点云数据集合划分为至少两层;对所述每层点云数据集合进行拟合,确定所述每层点云数据集合分别对应的第一圆心坐标集合和所述第一圆心坐标集合对应的第一半径集合;基于所述物流容器的尺寸信息,在所述第一半径集合中筛选属于第三阈值范围的半径所对应的第二圆心坐标集合;基于所述第二圆心坐标集合,确定所述物流容器的二维平面中心坐标。

所述数据处理模块4552,具体用于获取所述第二圆心坐标集合中元素的平均值,确定所述第二圆心坐标集合中元素的平均值为所述物流容器的二维平面中心坐标。

所述数据处理模块4552,具体用于基于所述物流容器的先验信息,确定所述第二点云数据集合中第一移动装置的第一聚类点集合;基于所述第一移动装置的高度信息,将所述第一聚类点集合划分为至少两层;对每层点云数据进行聚类,确定所述每层点云数据分别对应的第一中心坐标。

所述数据处理模块4552,具体用于基于所述物流容器的二维平面中心坐标、所述第二点云数据中第一移动装置的第一聚类点集合以及所述物流容器包括的至少一个移动装置的先验信息,确定所述物流容器包括的第二移动装置的第二聚类点集合;若所述第二聚类点集合中包括的聚类点的数量大于或等于第一阈值,则保留所述第二聚类点集合;对所述第二聚类点集合进行聚类,确定所述物流容器包括的第二移动装置的二维中心坐标。

所述确定模块4553,用于基于所述至少一个移动装置的二维中心坐标,确定与所述tof相机之间的距离最小的移动装置的二维中心坐标为叉取所述物流容器的叉取点。

所述确定模块4553,用于确定所述叉取点到所述物流容器的二维平面中心坐标的方向为叉取所述物流容器的叉取方向。

本申请实施例还提供一种电子设备,所述电子设备包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的物流容器搬运方法。

本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的物流容器搬运方法。

本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的物流容器搬运方法。

在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(hypertextmarkuplanguage,html)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1