一种叉车移动控制方法、装置、电子设备及存储介质转让专利

申请号 : CN202210671081.2

文献号 : CN114758163B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王其美林淦斌叶航

申请人 : 福勤智能科技(昆山)有限公司

摘要 :

本发明公开了一种叉车移动控制方法、装置、电子设备及存储介质。该方法包括:获取叉车的任务指令,并根据叉车的任务指令控制叉车移动至预设工况范围;在叉车到达预设工况范围时,获取预设工况范围内的栈板点云图像;对预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;根据匹配结果生成叉车的运动规则,并利用运动规则控制叉车叉取目标栈板。即,本发明实施例中,通过利用目标栈板的点云图像和点云数据模板的匹配结果确定叉车的运动规则,可以实时确定出叉车的运动规则避免出现位置偏差,并使用模板进行匹配减少计算量,实现叉车对目标栈板的叉取。

权利要求 :

1.一种叉车移动控制方法,其特征在于,包括:

获取叉车的任务指令,并根据所述叉车的任务指令控制所述叉车移动至预设工况范围;

在所述叉车到达所述预设工况范围时,获取所述预设工况范围内的栈板点云图像;

对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;其中,所述点云数据模板按照如下方式获取:获取预设场景中的栈板点云图像,并根据所述预设场景中的栈板信息对所述栈板点云图像进行过滤,得到所述预设场景中的点云集合;根据所述栈板点云图像中的地面信息确定地面基准,基于所述地面基准对所述点云集合进行深度信息分析,以筛选出栈板点云数据;对所述栈板点云数据进行聚类分割,得到所述点云数据模板;其中,对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,包括:根据所述预设工况范围内的栈板信息对所述栈板点云图像进行过滤,得到所述预设工况范围内的点云集合;根据所述栈板点云图像对应场景的中轴线确定所述预设工况范围内的目标栈板;确定所述栈板点云图像的地面基准,并根据所述地面基准和所述目标栈板的尺寸信息调整所述点云集合中栈板高度和视觉角度,得到所述预设工况范围内的点云数据;基于所述目标栈板对所述点云数据进行聚类分割,得到目标栈板的点云图像;

根据所述匹配结果生成所述叉车的运动规则,并利用所述运动规则控制所述叉车叉取所述目标栈板。

2.根据权利要求1所述的方法,其特征在于,基于所述地面基准对所述点云集合进行深度信息分析,以筛选出栈板的点云数据,包括:基于所述地面基准对所述点云集合中点云数据进行所述深度信息分析,得到分析结果;

基于所述分析结果从所述点云集合中筛选出符合所述栈板信息的点云数据作为所述栈板点云数据,其中,所述深度信息包括尺寸、形状和视觉角度。

3.根据权利要求1所述的方法,其特征在于,在获取所述预设工况范围内的栈板点云图像之前,还包括:确定所述任务指令执行完成,获取所述叉车的当前位置,并确定所述当前位置是否在所述预设工况范围内;

当所述当前位置在所述预设工况范围内,则确定所述叉车到达所述预设工况范围。

4.根据权利要求1所述的方法,其特征在于,将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果,包括:查询所述点云数据模板中是否存在所述目标栈板的点云图像;

当在所述点云数据模板中存在所述目标栈板的点云图像,则确定所述匹配结果为匹配成功;

当在所述点云数据模板中不存在所述目标栈板的点云图像,则确定所述匹配结果为匹配失败。

5.根据权利要求1所述的方法,其特征在于,根据所述匹配结果生成所述叉车的运动规则,包括:当所述匹配结果为匹配成功时,则根据预设工况范围确定叉车待移动的预设距离和预设移动方向;

根据所述预设距离和所述预设移动方向生成所述叉车的运动规则。

6.一种叉车移动控制装置,其特征在于,包括:

控制移动模块,用于获取叉车的任务指令,并根据所述叉车的任务指令控制所述叉车移动至预设工况范围;

图像获取模块,用于在所述叉车到达所述预设工况范围时,获取所述预设工况范围内的栈板点云图像;

模板匹配模块,用于对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;其中,所述点云数据模板按照如下方式获取:获取预设场景中的栈板点云图像,并根据所述预设场景中的栈板信息对所述栈板点云图像进行过滤,得到所述预设场景中的点云集合;根据所述栈板点云图像中的地面信息确定地面基准,基于所述地面基准对所述点云集合进行深度信息分析,以筛选出栈板点云数据;对所述栈板点云数据进行聚类分割,得到所述点云数据模板;其中,对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,包括:根据所述预设工况范围内的栈板信息对所述栈板点云图像进行过滤,得到所述预设工况范围内的点云集合;根据所述栈板点云图像对应场景的中轴线确定所述预设工况范围内的目标栈板;确定所述栈板点云图像的地面基准,并根据所述地面基准和所述目标栈板的尺寸信息调整所述点云集合中栈板高度和视觉角度,得到所述预设工况范围内的点云数据;基于所述目标栈板对所述点云数据进行聚类分割,得到目标栈板的点云图像;

规则生成模块,用于根据所述匹配结果生成所述叉车的运动规则,并利用所述运动规则控制所述叉车叉取所述目标栈板。

7.一种电子设备,其特征在于,所述电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑5中任一所述的叉车移动控制方法。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑5中任一所述的叉车移动控制方法。

说明书 :

一种叉车移动控制方法、装置、电子设备及存储介质

技术领域

[0001] 本发明实施例涉及计算机技术,尤其涉及一种叉车移动控制方法、装置、电子设备及存储介质。

背景技术

[0002] 随着智能物流的迅速发展,在货物运输装载中叉车具有较高使用频率,在货物装载过程中叉车除了需要具有定位导航功能外,还应具备识别栈板的能力,以便于进行精准货物搬运。现有技术中叉车与栈板对接方法分为有识别和无识别两类,无识别方法按照预设位置引导叉车到达栈板完成对接,但对栈板放置位置的要求很高,当栈板放置位置出现偏差时,易造成对接失败;有识别方法对栈板与叉车的相对位置与姿态识别,现有的对栈板与叉车的相对位置与姿态识别方法中,由于利用激光雷达对栈板截面进行识别,成本过高不利于普及;利用人工标签的方法对栈板进行识别,人工成本比较高且标签易损坏,难以识别和对准,而使用摄像头通过图像分割的方法进行栈板识别,不仅计算量大存在延迟,还受到光照等环境因素的影响较大。

发明内容

[0003] 本发明提供一种叉车移动控制方法、装置、电子设备及存储介质,以实现根据叉车的当前位置控制叉车自动叉取栈板。
[0004] 第一方面,本发明实施例提供了一种叉车移动控制方法,该方法包括:
[0005] 获取叉车的任务指令,并根据所述叉车的任务指令控制所述叉车移动至预设工况范围;
[0006] 在所述叉车到达所述预设工况范围时,获取所述预设工况范围内的栈板点云图像;
[0007] 对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;
[0008] 根据所述匹配结果生成所述叉车的运动规则,并利用所述运动规则控制所述叉车叉取所述目标栈板。
[0009] 进一步的,所述点云数据模板按照如下方式获取:
[0010] 获取预设场景中的栈板点云图像,并根据所述预设场景中的栈板信息对所述栈板点云图像进行过滤,得到所述预设场景中的点云集合;
[0011] 根据所述栈板点云图像中的地面信息确定地面基准,基于所述地面基准对所述点云集合进行深度信息分析,以筛选出栈板点云数据;
[0012] 对所述栈板点云数据进行聚类分割,得到所述点云数据模板。
[0013] 进一步的,基于所述地面基准对所述点云集合进行深度信息分析,以筛选出栈板的点云数据,包括:
[0014] 基于所述地面基准对所述点云集合中点云数据进行所述深度信息分析,得到分析结果;
[0015] 基于所述分析结果从所述点云集合中筛选出符合所述栈板信息的点云数据作为所述栈板点云数据,其中,所述深度信息包括尺寸、形状和视觉角度。
[0016] 进一步的,在获取所述预设工况范围内的栈板点云图像之前,还包括:
[0017] 确定所述任务指令执行完成,获取所述叉车的当前位置,并确定所述当前位置是否在所述预设工况范围内;
[0018] 当所述当前位置在所述预设工况范围内,则确定所述叉车到达所述预设工况范围。
[0019] 进一步的,对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,包括:
[0020] 根据所述预设工况范围内的栈板信息对所述栈板点云图像进行过滤,得到所述预设工况范围内的点云集合;
[0021] 根据所述栈板点云图像对应场景的中轴线确定所述预设工况范围内的目标栈板;
[0022] 确定所述栈板点云图像的地面基准,并根据所述地面基准和所述目标栈板的尺寸信息调整所述点云集合中栈板高度和视觉角度,得到所述预设工况范围内的点云数据;
[0023] 基于所述目标栈板对所述点云数据进行聚类分割,得到目标栈板的点云图像。
[0024] 进一步的,将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果,包括:
[0025] 查询所述点云数据模板中是否存在所述目标点云图像;
[0026] 当在所述点云数据模板中存在所述目标点云图像,则确定所述匹配结果为匹配成功;
[0027] 当在所述点云数据模板中不存在所述目标点云图像,则确定所述匹配结果为匹配失败。
[0028] 进一步的,根据所述匹配结果生成所述叉车的运动规则,包括:
[0029] 当所述匹配结果为匹配成功时,则根据预设工况范围确定所述叉车待移动的预设距离和预设移动方向;
[0030] 根据所述预设距离和所述预设移动方向生成所述叉车的运动规则。
[0031] 第二方面,本发明实施例还提供了一种叉车移动控制装置,该装置包括:
[0032] 控制移动模块,用于获取叉车的任务指令,并根据所述叉车的任务指令控制所述叉车移动至预设工况范围;
[0033] 图像获取模块,用于在所述叉车到达所述预设工况范围时,获取所述预设工况范围内的栈板点云图像;
[0034] 模板匹配模块,用于对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;
[0035] 规则生成模块,用于根据所述匹配结果生成所述叉车的运动规则,并利用所述运动规则控制所述叉车叉取所述目标栈板。
[0036] 第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
[0037] 一个或多个处理器;
[0038] 存储装置,用于存储一个或多个程序,
[0039] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述的叉车移动控制方法。
[0040] 第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的叉车移动控制方法。
[0041] 本发明实施例中,通过获取叉车的任务指令,并根据叉车的任务指令控制叉车移动至预设工况范围;在叉车到达预设工况范围时,获取预设工况范围内的栈板点云图像;对预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;根据匹配结果生成叉车的运动规则,并利用运动规则控制叉车叉取目标栈板。即,本发明实施例中,通过对栈板点云图像进行预处理提高图像质量,并利用目标栈板的点云图像和点云数据模板的匹配结果确定叉车的运动规则,可以实时确定出叉车的运动规则避免出现位置偏差,并使用模板进行匹配减少计算量,实现叉车对目标栈板的叉取。

附图说明

[0042] 图1是发明实施例提供的叉车移动控制方法的一个流程示意图;
[0043] 图2是发明实施例提供的叉车移动控制方法的另一流程示意图;
[0044] 图3是发明实施例提供的叉车移动控制装置的一个结构示意图;
[0045] 图4是发明实施例提供的电子设备的一个结构示意图。

具体实施方式

[0046] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0047] 图1为本发明实施例提供的叉车移动控制方法的一个流程示意图,该方法可以由本发明实施例提供的叉车移动控制装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在电子设备中,电子设备比如可以是服务器。以下实施例将以该装置集成在电子设备中为例进行说明,参考图1,该方法具体可以包括如下步骤:
[0048] S110、获取叉车的任务指令,并根据叉车的任务指令控制叉车移动至预设工况范围;
[0049] 示例地,叉车的任务指令可以来自仓储系统的控制设备,任务指令可以是根据当前仓储系统搬运货物需求下发的指令,任务指令可以是实时接收到的指令,也可以是根据预设的货物入库时间提前存储的指令,其中,仓储系统的控制设备可以是仓储系统用于管理叉车进行移动的电子设备;当任务指令是实时接收到的指令,利用实时接收到的任务指令完成当前场景中栈板的叉取任务,进而完成货物搬运的需求;当任务指令是提前存储的指令,利用提前存储的任务指令完成未到货物的搬运。其中,叉车可以是工业搬运车辆,也可以是成件栈板进行装卸、堆垛和短距离运输作业的各种轮式搬运车辆,常用于仓储大型物件的运输。其中,栈板可以是进行大型仓储物件运输的载货工具,可以将静态货物转变为动态货物的媒介,可以承载货物的活动平台,比如:托盘。预设工况范围可以是仓储系统中的一个固定区域范围,该区域内可以具有多个栈板进行载货,并包含多条可以供叉车进行移动的路径。
[0050] 具体实现中,根据仓储系统搬运货物需求在仓储系统的控制设备生成叉车的任务指令,也可以是控制设备的上位机生成的叉车的任务指令,发送给仓储系统的控制设备,当控制设备获取叉车的任务指令之后,根据叉车的任务指令控制叉车移动至预设工况范围,以便于根据叉车上的拍摄装置获取预设工况范围内的栈板点云图像。
[0051] S120、在叉车到达预设工况范围时,获取预设工况范围内的栈板点云图像;
[0052] 具体实现中,预设工况范围内的栈板点云图像可以来自图像采集设备,图像采集设备可以是摄像头、录像机等具有图像采集功能的设备,图像采集设备需要安装在叉车上,叉车移动到预设工况范围内时,图像采集设备获取预设工况范围内的栈板点云图像,同时图像采集设备在采集预设工况范围内的栈板点云图像可以是叉车上图像采集设备拍摄的所有栈板的点云图像。在执行叉车的任务指令控制叉车移动至预设工况范围时,通过叉车的定位功能确定叉车的当前位置信息,并将叉车的当前位置信息发送给控制设备,控制设备通过预设工况范围内的坐标信息确认叉车是否到达预设工况范围内,并从摄像头获取预设工况范围内的栈板点云图像,以便于对栈板点云图像进行预处理,得到目标栈板的点云图像。
[0053] S130、对预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;
[0054] 示例地,目标栈板可以是叉车进入预设工况范围拍摄到的图像中在中轴线上与叉车相对的最近栈板,可以是最大概率与叉车进行叉取动作的配合完成对货物进行搬运任务的栈板。目标栈板的点云图像可以是通过对预设工况范围内的栈板点云图像进行过滤处理得到的点云图像。点云数据模板可以是根据叉车与栈板在预设场景中获取到的预设栈板的点云数据图像,点云数据模板中可以包括不同预设场景中不同类型栈板的点云数据图像,且点云数据模板中的栈板的点云数据图像都是经过预处理过的数据图像,具有清晰度高,误差小等特征。匹配结果可以是目标栈板的点云图像在点云数据模板中查找到相同栈板的结果,该匹配结果包括匹配成功和匹配失败。
[0055] 具体实现中,对预设工况范围内的栈板点云图像进行预处理,实际上是对栈板点云图像中预设区域内的点云图像进行统计学滤波,并根据栈板点云图像中地面信息确定基准线,基于平面的法向、坐标等信息监测地面进行过滤,也可以设定自动以过滤规则进行过滤,以使得栈板点云图像获得与点云数据模板中的点云数据具有相同图像质量,得到目标栈板的点云图像,进而将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果,以便于根据匹配结果控制叉车进行移动,其中,预设区域可以是栈板的前端面,用于区分不通栈板的类型。
[0056] S140、根据匹配结果生成叉车的运动规则,并利用运动规则控制叉车叉取目标栈板。
[0057] 具体实现中,叉车的运动规则可以是控制设备控制叉车进行移动的规则,用于控制叉车叉取目标栈板。将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果,当根据目标栈板的点云图像查询点云数据模板,得到与目标栈板的点云图像相似的点云数据模板,则匹配结果为成功,则根据点云数据模板对应的预设场景中栈板与叉车之间的距离和角度确定运动规则,并利用运动规则控制叉车叉取目标栈板;当根据目标栈板的点云图像查询点云数据模板,未得到与目标栈板的点云图像相似的点云数据模板,则匹配结果为失败,则上报错误或故障。
[0058] 本发明实施例中,通过获取叉车的任务指令,并根据叉车的任务指令控制叉车移动至预设工况范围;在叉车到达预设工况范围时,获取预设工况范围内的栈板点云图像;对预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;根据匹配结果生成叉车的运动规则,并利用运动规则控制叉车叉取目标栈板。即,本发明实施例中,通过对栈板点云图像进行预处理提高图像质量,并利用目标栈板的点云图像和点云数据模板的匹配结果确定叉车的运动规则,可以实时确定出叉车的运动规则避免出现位置偏差,并使用模板进行匹配减少计算量,实现叉车对目标栈板的叉取。
[0059] 下面进一步描述本发明实施例提供的叉车移动控制方法,如图2所示,该方法具体可以包括如下步骤:
[0060] S210、获取叉车的任务指令,并根据叉车的任务指令控制叉车移动至预设工况范围;
[0061] 进一步的,在获取预设工况范围内的栈板点云图像之前,还包括:
[0062] 确定任务指令执行完成,获取叉车的当前位置,并确定当前位置是否在预设工况范围内;
[0063] 当当前位置在预设工况范围内,则确定叉车到达预设工况范围。
[0064] 具体实现中,叉车的当前位置可以是叉车执行完任务指令后所达到的位置,即任务指令控制叉车运动到达的位置,预设工况范围可以是仓储系统中的一个固定区域范围,预设工况范围内可以是预设工况范围内所有位置信息对应的范围。确定当前位置是否在预设范围内,即是将叉车的当前位置与预设范围内所有位置信息进行对比,确定叉车的当前位置是否与预设范围内所有位置信息中任意一个重复,当叉车的当前位置与预设范围内所有位置信息中任意一个重复,则确定叉车到达预设工况范围内;当叉车的当前位置未与预设范围所有位置信息中任意一个重复,则确定叉车未到达预设工况范围内。也可以是通过预设工况范围的边界点集合确定当前位置是否在预设工况范围内,需要对比当前位置与预设工况范围的边界集合中边界点的大小,以确定当前位置点是否在预设边界点集合所围成的范围内。
[0065] S220、在叉车到达预设工况范围时,获取预设工况范围内的栈板点云图像;
[0066] S230、根据预设工况范围内的栈板信息对栈板点云图像进行过滤,得到预设工况范围内的点云集合;
[0067] 具体实现中,栈板信息可以是预设工况范围内所有栈板的类型、型号、尺寸和结构信息。预设工况范围内的点云集合可以是栈板点云图像上所有栈板的点云图像的集合,即图像采集设备采集到的栈板的点云图像形成的集合。根据预设工况范围内的栈板信息对栈板点云图像进行过滤,过滤掉其他物体的点云图像,仅保留栈板点云图像中的预设工况范围内的栈板的点云图像,从而得到预设工况范围内的点云集合,以便于根据预设工况范围内的点云集合确定目标栈板的点云图像。
[0068] S240、根据栈板点云图像对应场景的中轴线确定预设工况范围内的目标栈板;
[0069] 具体实现中,栈板点云图像对应场景的中轴线可以是叉车上安装的图像采集设备采集时拍摄的前方中轴线,也可以是栈板点云图像对应场景在规定角度的中轴线,其中,叉车行驶方向与栈板相对。根据栈板点云图像对应场景的中轴线确定预设工况范围内的点云集合中在中轴线上的栈板作为预设工况范围内的目标栈板。其中,目标栈板不仅在栈板点云图像对应场景的中轴线上,且与栈板点云图像对应场景的中轴线上距离最近。
[0070] S250、确定栈板点云图像的地面基准,并根据地面基准和目标栈板的尺寸信息调整点云集合中栈板高度和视觉角度,得到预设工况范围内的点云数据;
[0071] 具体实现中,栈板点云图像的地面基准可以是以图像地面信息作为基准的坐标系。目标栈板的尺寸信息可以是目标栈板在预设工况范围内的栈板中的实际尺寸信息。栈板高度可以是以地面信息为基准点云集合中所有栈板的高度,点云集合中视觉角度可以是以地面为基准点拍摄点云集合中所有栈板的视觉角度。根据栈板点云图像中的地面信息确定栈板点云图像的地面基准,根据栈板点云图像的地面基准建立坐标系,并从预设工况范围内的栈板信息中确定目标栈板的尺寸信息,根据目标栈板的尺寸信息和栈板点云图像中目标栈板的信息进行对比,确定出栈板高度和视觉角度的误差值,调节栈板高度和视觉角度的误差值,得到预设工况范围内的点云数据。
[0072] S260、基于目标栈板对点云数据进行聚类分割,得到目标栈板的点云图像,并将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;
[0073] 具体实现中,目标栈板的点云图像可以是以地面信息为基准,并基于目标栈板从栈板点云数据中分割出来的点云图像,基于目标栈板对点云数据中与目标栈板信息相似的点云数据进行聚类分割,得到目标栈板的点云图像。将目标栈板的点云图像与点云数据模板进行匹配,得到目标栈板的点云图像与点云数据模板的匹配结果。
[0074] 进一步的,点云数据模板按照如下方式获取:
[0075] 获取预设场景中的栈板点云图像,并根据预设场景中的栈板信息对栈板点云图像进行过滤,得到预设场景中的点云集合;
[0076] 根据栈板点云图像中的地面信息确定地面基准,基于地面基准对点云集合进行深度信息分析,以筛选出栈板点云数据;
[0077] 对栈板点云数据进行聚类分割,得到点云数据模板。
[0078] 具体实现中,预设场景可以是仓储系统中叉车与栈板的所有相对位置构成的场景,可以依次获取预设场景中的栈板点云图像,使用叉车上安装的图像采集设备依次拍摄各相对位置构成的场景中的栈板点云图像。其中,预设场景中的栈板点云图像可以是在任意一个叉车与栈板的相对位置拍摄到的栈板点云图像,也可以是在多个预设场景中的栈板点云图像,可以是多张图像。根据预设场景中的栈板信息对栈板点云图像进行过滤,过滤掉栈板点云图像中非栈板物体的点云图像,得到预设场景中所有栈板的点云集合。根据各栈板点云图像中的地面信息建立坐标系确定栈板点云的地面基准,基于地面基准建立坐标系对点云集合中的进行图像深度信息分析,得到点云集合中点云图像的分析结果。其中,点云图像的分析结果可以是以建立坐标系对点云集合进行视觉角度分析、尺寸大小分析和形状分析,以从点云集合中筛选出符合栈板信息的栈板点云数据。根据预设场景中的目标栈板对栈板点云数据进行聚类分割,得到多个预设场景对应的点数据模板。
[0079] 本发明实施例中,可以确定栈板的点云识别区域为栈板的前端面点云数据,识别栈板点云数据中地面信息,以确定地面基准从而在点云图像中建立坐标系。叉车可以对图像采集设备输入栈板的前端面的点云数据进行深度信息分析,其中,点云数据中地面信息可以通过灰度值的分析得到,可以对点云数据中的灰度值进行分析,不同物体在同一画面中的灰度值有所差异,且地面在整个点云数据中站主要部分,因此前端面的点云数据中灰度值相同面积最大的部分即可认定为地面所在部分。基于地面基准及栈板信息中栈板尺寸,可以筛选出表示栈板的点云数据,其中,栈板尺寸可以是垂直方向上的栈板高度和水平方向上的栈板宽度。其中,叉车上安装的图像采集设备因为安装位置不同,即视觉角度的不同,可能拍摄到的栈板点云图像中栈板高度存在一定比例失真,需要通过缩放的形式进行比例调整,调节点云数据在视觉角度上的差异。
[0080] 进一步的,基于地面基准对所述点云集合进行深度信息分析,以筛选出栈板的点云数据,包括:
[0081] 基于地面基准对点云集合中点云数据进行深度信息分析,得到分析结果;
[0082] 基于分析结果从点云集合中筛选出符合栈板信息的点云数据作为栈板点云数据,其中,深度信息包括尺寸、形状和视觉角度。
[0083] 具体实现中,分析结果可以是以地面基准建立坐标系对点云集合进行视觉角度分析、尺寸大小分析和形状分析多个方面分析的结果信息,用于从点云集合中筛选出符合栈板信息的栈板点云数据。基于地面基准对点云集合中点云数据进行深度分析,得到分析结果。将分析结果中的信息与栈板信息进行比对,确定出点云集合中尺寸、形状和视觉角度均符合栈板信息的点云数据作为栈板点云数据。
[0084] 进一步的,将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果,包括:
[0085] 查询点云数据模板中是否存在目标点云图像;
[0086] 当在点云数据模板中存在目标点云图像,则确定匹配结果为匹配成功;
[0087] 当在点云数据模板中不存在目标点云图像,则确定匹配结果为匹配失败。
[0088] 具体实现中,根据目标点云图像查询点云数据模板中点云图像,确定点云数据模板中是否存在目标点云图像,当在点云数据模板中存在目标点云图像,则确定匹配结果为匹配成功,根据点云数据模板中点云图像对应预设场景中叉车待移动的预设距离和预设移动方向生成运动规则;当在点云数据模板中不存在目标点云图像,则确定匹配结果为匹配失败,需要报错进行预警提示。
[0089] S270、根据匹配结果生成叉车的运动规则,并利用运动规则控制叉车叉取目标栈板。
[0090] 进一步的,根据匹配结果生成叉车的运动规则,包括:
[0091] 当匹配结果为匹配成功时,则根据预设工况范围确定叉车待移动的预设距离和预设移动方向;
[0092] 根据预设距离和预设移动方向生成叉车的运动规则。
[0093] 具体实现中,确定点云数据模板中是否存在目标点云图像,当在点云数据模板中存在目标点云图像,则确定匹配结果为匹配成功,根据点云数据模板中点云图像对应预设场景中叉车待移动的预设距离和预设移动方向生成运动规则,还可以根据预设工况范围中叉车与栈板之间的预设距离和叉车与栈板之间的预设由方向声场叉车的运动规则,比如:预设范围内叉车自动移动到栈板前方距离大约2‑4米,且图像采集设备可以拍摄到栈板的位置。
[0094] 本发明实施例中,通过获取叉车的任务指令,并根据叉车的任务指令控制叉车移动至预设工况范围;在叉车到达预设工况范围时,获取预设工况范围内的栈板点云图像;对预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;根据匹配结果生成叉车的运动规则,并利用运动规则控制叉车叉取目标栈板。即,本发明实施例中,通过对栈板点云图像进行预处理提高图像质量,并利用目标栈板的点云图像和点云数据模板的匹配结果确定叉车的运动规则,可以实时确定出叉车的运动规则避免出现位置偏差,并使用模板进行匹配减少计算量,实现叉车对目标栈板的叉取。
[0095] 图3是本发明实施例提供的叉车移动控制装置的结构示意图,如图3所示,该叉车移动控制装置包括:
[0096] 控制移动模块310,用于获取叉车的任务指令,并根据所述叉车的任务指令控制所述叉车移动至预设工况范围;
[0097] 图像获取模块320,用于在所述叉车到达所述预设工况范围时,获取所述预设工况范围内的栈板点云图像;
[0098] 模板匹配模块330,用于对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;
[0099] 规则生成模块340,用于根据所述匹配结果生成所述叉车的运动规则,并利用所述运动规则控制所述叉车叉取所述目标栈板。
[0100] 一实施例中,所述模板匹配模块330中所述点云数据模板按照如下方式获取:
[0101] 获取预设场景中的栈板点云图像,并根据所述预设场景中的栈板信息对所述栈板点云图像进行过滤,得到所述预设场景中的点云集合;
[0102] 根据所述栈板点云图像中的地面信息确定地面基准,基于所述地面基准对所述点云集合进行深度信息分析,以筛选出栈板点云数据;
[0103] 对所述栈板点云数据进行聚类分割,得到所述点云数据模板。
[0104] 一实施例中,所述模板匹配模块330基于所述地面基准对所述点云集合进行深度信息分析,以筛选出栈板的点云数据,包括:
[0105] 基于所述地面基准对所述点云集合中点云数据进行所述深度信息分析,得到分析结果;
[0106] 基于所述分析结果从所述点云集合中筛选出符合所述栈板信息的点云数据作为所述栈板点云数据,其中,所述深度信息包括尺寸、形状和视觉角度。
[0107] 一实施例中,所述图像获取模块320在获取所述预设工况范围内的栈板点云图像之前,还包括:
[0108] 确定所述任务指令执行完成,获取所述叉车的当前位置,并确定所述当前位置是否在所述预设工况范围内;
[0109] 当所述当前位置在所述预设工况范围内,则确定所述叉车到达所述预设工况范围。
[0110] 一实施例中,所述模板匹配模块330对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,包括:
[0111] 根据所述预设工况范围内的栈板信息对所述栈板点云图像进行过滤,得到所述预设工况范围内的点云集合;
[0112] 根据所述栈板点云图像对应场景的中轴线确定所述预设工况范围内的目标栈板;
[0113] 确定所述栈板点云图像的地面基准,并根据所述地面基准和所述目标栈板的尺寸信息调整所述点云集合中栈板高度和视觉角度,得到所述预设工况范围内的点云数据;
[0114] 基于所述目标栈板对所述点云数据进行聚类分割,得到目标栈板的点云图像。
[0115] 一实施例中,所述模板匹配模块330将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果,包括:
[0116] 查询所述点云数据模板中是否存在所述目标点云图像;
[0117] 当在所述点云数据模板中存在所述目标点云图像,则确定所述匹配结果为匹配成功;
[0118] 当在所述点云数据模板中不存在所述目标点云图像,则确定所述匹配结果为匹配失败。
[0119] 一实施例中,所述规则生成模块340根据所述匹配结果生成所述叉车的运动规则,包括:
[0120] 当所述匹配结果为匹配成功时,则根据预设工况范围确定所述叉车待移动的预设距离和预设移动方向;
[0121] 根据所述预设距离和所述预设移动方向生成所述叉车的运动规则。
[0122] 本发明实施例装置,通过获取叉车的任务指令,并根据叉车的任务指令控制叉车移动至预设工况范围;在叉车到达预设工况范围时,获取预设工况范围内的栈板点云图像;对预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;根据匹配结果生成叉车的运动规则,并利用运动规则控制叉车叉取目标栈板。即,本发明实施例中,通过对栈板点云图像进行预处理提高图像质量,并利用目标栈板的点云图像和点云数据模板的匹配结果确定叉车的运动规则,可以实时确定出叉车的运动规则避免出现位置偏差,并使用模板进行匹配减少计算量,实现叉车对目标栈板的叉取。
[0123] 图4为本发明实施例提供的一种电子设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图4显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0124] 如图4所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0125] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0126] 电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0127] 系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD‑ROM,DVD‑ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0128] 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0129] 电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0130] 处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的叉车移动控制方法,该方法包括:
[0131] 获取叉车的任务指令,并根据所述叉车的任务指令控制所述叉车移动至预设工况范围;
[0132] 在所述叉车到达所述预设工况范围时,获取所述预设工况范围内的栈板点云图像;
[0133] 对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;
[0134] 根据所述匹配结果生成所述叉车的运动规则,并利用所述运动规则控制所述叉车叉取所述目标栈板。
[0135] 本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的叉车移动控制方法,该方法包括:
[0136] 获取叉车的任务指令,并根据所述叉车的任务指令控制所述叉车移动至预设工况范围;
[0137] 在所述叉车到达所述预设工况范围时,获取所述预设工况范围内的栈板点云图像;
[0138] 对所述预设工况范围内的栈板点云图像进行预处理,得到目标栈板的点云图像,并将所述目标栈板的点云图像与点云数据模板进行匹配,得到匹配结果;
[0139] 根据所述匹配结果生成所述叉车的运动规则,并利用所述运动规则控制所述叉车叉取所述目标栈板。
[0140] 本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CDROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0141] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0142] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0143] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0144] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。