货叉旋转保护方法、无人叉车及存储介质与流程

未命名 07-12 阅读:82 评论:0


1.本发明实施例涉及无人叉车技术领域,尤其涉及一种货叉旋转保护方法、无人叉车及存储介质。


背景技术:

2.为了方便无人叉车的工作,无人叉车可以设置有作业属具以叉取、抱夹或抓取物料,该作业属具可以包括货叉、抱臂、机械手等,其中较为常见的作业属具是货叉,该货叉可以是固定不动的,也可以进行旋转,不过货叉在旋转过程中,因旋转面积较大,运动轨迹可能会出现不确定性因素,例如会触碰到障碍物和现场工作人员,造成财物损失、人员受伤等一系列安全事故,因此无人叉车如何精确控制可旋转货叉及时进行减速或停止旋转的处理成为了目前亟需解决的问题。


技术实现要素:

3.本发明实施例提供一种货叉旋转保护方法、无人叉车及存储介质,用以解决现有技术中无人叉车如何精确控制可旋转货叉及时进行减速或停止旋转的处理的问题。
4.第一方面,提供一种货叉旋转保护方法,应用于无人叉车,所述无人叉车上设置有激光模组以及可旋转货叉,所述方法包括:通过所述激光模组,获取在目标运动轨迹下的点云数据;根据所述点云数据,确定障碍物所在的目标通道区域,所述目标通道区域为与所述目标运动轨迹对应的多个立体通道区域中其中一个通道区域;根据所述目标通道区域以及预设的空间区域与旋转速度的对应关系,调整所述可旋转货叉的旋转速度。
5.作为一种可选的实施方式,在本发明实施例的第一方面中,所述多个立体通道区域包括远通道区域、近通道区域以及中通道区域,所述根据所述点云数据,确定障碍物所在的目标通道区域,包括:根据所述点云数据以及所述多个立体通道区域的坐标信息,确定每个立体通道区域所包括的目标点;根据每个立体通道区域所包括的目标点的点云数据,确定每个立体通道区域中的所述目标点的聚类点集合,得到多个聚类点集合;从所述多个聚类点集合中确定目标聚类点集合,所述目标聚类点集合中所包括的点形成的空间尺寸大于或等于阈值;确定所述目标聚类点集合所在的立体通道区域为所述目标通道区域。
6.作为一种可选的实施方式,在本发明实施例的第一方面中,所述多个立体通道区域为包括不同的预设高度的通道区域,所述预设高度是根据所述无人叉车的可旋转货叉的高度确定的,所述根据所述点云数据以及所述多个立体通道区域的坐标信息,确定每个立体通道区域所包括的目标点,包括:
根据所述点云数据中每个特征点的高度信息,以及所述每个立体通道区域的预设高度,确定每个立体通道区域所包括的多个初始点;针对所述每个立体通道区域所包括的多个初始点,根据所述每个立体通道区域在预设平面的投影多边形以及每个初始点在所述预设平面的投影点,确定所述每个初始点是否位于对应的立体通道区域内;去除位于对应的立体通道区域外的初始点,确定剩余的初始点为所述每个立体通道区域所包括的目标点。
7.作为一种可选的实施方式,在本发明实施例的第一方面中,所述根据所述点云数据中每个特征点的高度信息,以及所述每个立体通道区域的预设高度,确定每个立体通道区域所包括的多个初始点,包括:依次判断所述特征点的高度信息是否小于当前立体通道区域的预设高度;若是,则确定所述特征点为所述当前立体通道区域内的初始点;若否,则继续判断所述特征点的高度信息是否小于下一立体通道区域的预设高度,直至确定所有特征点所处的立体通道区域。
8.作为一种可选的实施方式,在本发明实施例的第一方面中,所述根据所述每个立体通道区域在预设平面的投影多边形以及每个初始点在所述预设平面的投影点,确定所述每个初始点是否位于对应的立体通道区域内,包括:以所述投影多边形中其中一点作为起点,以所述投影多边形的其他点相对于所述起点的方向作射线,得到多条射线;根据所述多条射线,从所述投影多边形中确定与所述每个初始点对应的三角形,所述三角形的其中一个点为所述起点,且,不包括所述起点的目标边与所述投影多边形的其中一边重合;根据所述每个初始点与对应的三角形的目标边的左右位置关系,确定所述每个初始点是否位于对应的立体通道区域内,其中,若其中一个初始点在对应的三角形的目标边的左边,则所述其中一个初始点位于对应的立体通道区域内。
9.作为一种可选的实施方式,在本发明实施例的第一方面中,针对第一初始点,所述第一初始点为其中任意一个初始点,所述根据所述多条射线,从所述投影多边形中确定与所述每个初始点对应的三角形,包括:确定所述第一初始点是否位于所述多条射线所围成的区域内;若所述第一初始点位于所述多条射线所围成的区域内,再次以所述起点作射线,直至确定围绕所述第一初始点在内的多条目标射线与所述投影多边形的交线为一条线段;根据所述多条目标射线与所述交线,确定与所述第一初始点对应的三角形。
10.作为一种可选的实施方式,在本发明实施例的第一方面中,所述远通道区域对应的旋转速度为高速旋转,所述近通道区域对应的旋转速度为停止旋转,以及所述中通道区域对应的旋转速度为减速旋转。
11.第二方面,提供一种无人叉车,所述无人叉车上设置有激光模组以及可旋转货叉,所述无人叉车包括:获取模块,用于通过所述激光模组,获取在目标运动轨迹下的点云数据;处理模块,用于根据所述点云数据,确定障碍物所在的目标通道区域,所述目标通
道区域为与所述目标运动轨迹对应的多个立体通道区域中其中一个通道区域;所述处理模块,还用于根据所述目标通道区域以及预设的空间区域与旋转速度的对应关系,调整所述可旋转货叉的旋转速度。
12.第三方面,提供一种无人叉车,所述无人叉车上设置有激光模组以及可旋转货叉,所述无人叉车包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明实施例第一方面中的货叉旋转保护方法。
13.第四方面,提供一种计算机可读存储介质,其存储计算机程序,所述计算机程序使得计算机执行本发明实施例第一方面中的货叉旋转保护方法。所述计算机可读存储介质包括rom/ram、磁盘或光盘等。
14.第五方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
15.第六方面,提供一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
16.与现有技术相比,本发明实施例具有以下有益效果:本发明实施例中,无人叉车上设置有激光模组以及可旋转货叉,无人叉车可以通过激光模组,获取在目标运动轨迹下的点云数据;根据点云数据,确定障碍物所在的目标通道区域,目标通道区域为与目标运动轨迹对应的多个立体通道区域中其中一个通道区域;根据目标通道区域以及预设的空间区域与旋转速度的对应关系,调整可旋转货叉的旋转速度。通过该方案,无人叉车可以预先确定多个立体通道区域,以及每个立体通道区域对应的旋转速度,然后在执行相应任务的时候,可以通过点云数据分析出障碍物,并确定出该障碍物对应的立体通道区域,从而对应控制可旋转货叉的旋转速度,这样不仅可以精确识别到障碍物的位置,也可以及时做出准确的应对措施,将可旋转货叉调整到适当的旋转速度,尽可以避免造成财物损失、人员受伤等情况,也可以避免将其他物体误认为障碍物而无效避障的情况,大大提高对可旋转货叉旋转保护的准确性。
附图说明
17.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明实施例提供的一种无人叉车的结构示意图一;图2是本发明实施例提供的一种无人叉车的结构示意图二;图3是本发明实施例提供的一种货叉旋转保护方法的流程示意图一;图4是本发明实施例提供的一种货叉旋转保护方法的流程示意图二;图5是本发明实施例提供的一种货叉旋转保护方法的初始点判断示意图一;
图6是本发明实施例提供的一种货叉旋转保护方法的初始点判断示意图二;图7是本发明实施例提供的一种无人叉车的结构示意图三;图8是本发明实施例提供的一种无人叉车的结构示意图四。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。
21.本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
23.无人叉车是装备有电磁或光学等自动导引装置,并且能够按照规定的导引路径行驶的运输车,无人叉车的种类可以包括但不限于堆高式无人叉车、潜伏式无人叉车、背负式无人叉车和平衡重无人叉车等。其中,无人叉车可包括作业属具,该作业属具可以包括货叉、抱臂、机械手等,作业属具可用于叉取、抱夹或抓取物料,达到搬运物料的目的。
24.在本发明实施例中,无人叉车的作业属具为可旋转货叉,即无人叉车可以将货叉伸入托盘底部,从而使得货叉可以叉取托盘以及托盘所承载的货物,并且该可旋转货叉还可以进行旋转,也就是可以承载货物旋转至其他方向进行存储,此时不需要无人叉车整体旋转,仅旋转可旋转货叉即可。
25.进一步的,为了提高无人叉车和货叉的智能化程度,并且为了满足更多方向的货物存储需求,还提出了一种三向式无人叉车,该三向式无人叉车是指能够在车辆的运行前方及任一侧进行堆垛或取货的高起升堆垛车辆,三向式无人叉车包括车体、门架、悬臂以及货叉等构成部分,其中三向式无人叉车的门架可相对于车体在竖直方向上移动,悬臂可在门架上左右横移,三向式无人叉车的货叉可以在悬臂上旋转,也就是说,该三向式无人叉车具有横移旋转货叉的存取货功能,能够在狭窄的货架巷道内安全的进行左、中、右三方向作业,如图1所示。
26.在本发明实施例中提到的无人叉车可以是包括有可旋转货叉的普通无人叉车,也可以是包括有可旋转货叉的上述三向式无人叉车,本发明实施例不做具体限定。
27.可选的,在一个仓库中可以设置有多个无人叉车,中控系统可以向每个无人叉车发送对应的指令,以使得无人叉车分别自动执行相应的存取货任务。
28.如图2所示为无人叉车的结构示意图,无人叉车20上至少可以设置有激光模组21
以及可旋转货叉22。其中,激光模组21可以用于获取点云数据,该激光模组21可以是激光雷达,也可以是激光探测器,也可以是其他激光设备,本发明实施例不做限定。可旋转货叉22可以实现多方向的升降、平移以及旋转,从而完成各个方向的货架上的存取货任务。
29.可选的,该激光模组可以设置在无人叉车的可旋转货叉中心的叉根位置,并且该激光模组可以朝向无人叉车的前进方向,也就是说,当无人叉车在仓库中进行移动的时候,该激光模组可以实时获取无人叉车移动前方所对应的点云数据。
30.本发明实施例提供的货叉旋转保护方法的执行主体可以为上述的无人叉车,也可以为该无人叉车中能够实现该货叉旋转保护方法的功能模块和/或功能实体,具体的可以根据实际使用需求确定,本发明实施例不作限定。下面以无人叉车为例,对本发明实施例提供的货叉旋转保护方法进行示例性的说明。
31.如图3所示,本发明实施例提供一种货叉旋转保护方法,该方法可以包括下述步骤:301、通过激光模组,获取在目标运动轨迹下的点云数据。
32.在本发明实施例中,无人叉车可以在实际执行搬运任务的时候,通过激光模组,获取该搬运任务所对应的目标运动轨迹下的点云数据。
33.需要说明的是,点云数据是指在三维坐标系中的一组向量的集合,每个点都有一个三维坐标,可能还会包括颜色信息(rgb)或反射强度信息(intensity)。也就是说,激光模组可以通过对环境进行扫描,在环境中所包括的物体表面上确定大量的点,并得到每个点的坐标信息,这些大量的点的坐标信息就组成了点云数据。
34.需要说明的是,在通过激光模组获取点云数据的过程中,可以以激光模组所在的位置为原点,自行建立环境坐标系,并在获取点云数据时,带入该环境坐标系中确定每个特征点的坐标信息。
35.可选的,该目标运动轨迹是根据无人叉车所执行的搬运任务确定的。
36.可选的,该搬运任务可以是通过搬运指令获得的,该搬运指令可以是中控系统向无人叉车发送的,该搬运指令可以包括搬运任务、起始位置、目的位置、货物信息等,以使得无人叉车接收到该搬运指令之后,可以先前往起始位置叉取货物信息所对应的货物,并将该货物搬运至目的位置,以完成该搬运任务。
37.其中,目标运动轨迹即为由起始位置到目的位置之间的轨迹,该轨迹可以是无人叉车预先存储好的固定轨迹,也可以是中控系统向无人叉车下发的轨迹,也可以是无人叉车根据目前仓库中其他无人叉车的搬运任务自行生成的轨迹,本发明实施例不做具体限定。
38.需要说明的是,在仓库中,中控系统可以向处于空闲状态的无人叉车分配搬运任务,该搬运任务可以包括将货物放置到货架上的入库任务,也可以包括将货物从货架上取出的出库任务,该搬运任务可以通过搬运指令下发,无人叉车接收到搬运指令之后,就可以开始执行搬运任务。
39.可选的,在仓库中,每件货物都是放置在托盘上的,也就是说,无人叉车搬运货物,实际上是叉取承载货物的托盘。
40.302、根据点云数据,确定障碍物所在的目标通道区域。
41.在本发明实施例中,无人叉车在获取到点云数据之后,可以根据该点云数据,确定
障碍物所在的目标通道区域。
42.需要说明的是,点云数据可以描绘出环境中包括的障碍物的轮廓,因此无人叉车可以根据该点云数据,确定环境中包括的障碍物,然后在确定该障碍物所在的目标通道区域。
43.其中,该目标通道区域为与目标运动轨迹对应的多个立体通道区域中其中一个通道区域。
44.需要说明的是,目标运动轨迹可以对应多个立体通道区域,该多个立体通道区域包括远通道区域、近通道区域以及中通道区域。
45.需要说明的是,该多个立体通道区域可以根据与无人叉车之间的距离来划分。
46.可选的,无人叉车可以预先设定多个距离阈值,并根据该距离阈值来划分不同的立体通道区域。比如,无人叉车设置了第一距离阈值和第二距离阈值,并且第一距离阈值大于第二距离阈值,那么无人叉车就可以将和无人叉车之间的距离小于第二距离阈值的区域确定为近通道区域,将和无人叉车之间的距离大于或等于第二距离阈值,且小于第一距离阈值的区域确定为中通道区域,将和无人叉车之间的距离大于或等于第一距离阈值的区域确定为远通道区域。
47.在本发明实施例中,无人叉车可以先确定环境中包括的障碍物,然后根据该障碍物的点云数据,根据该点云数据确定该障碍物与无人叉车之间的距离,从而根据距离和阈值之间的关系确定该障碍物所在的目标通道区域。
48.可选的,由于障碍物和无人叉车之间的距离是通过无人叉车中的激光模组获取到的点云数据确定的,因此障碍物和无人叉车之间的距离,实际上是障碍物和激光模组之间的距离,不过由于激光模组就设置在无人叉车上,因此可以认为障碍物和激光模组之间的距离就是障碍物和无人叉车之间的距离,其中的误差可以忽略不计。
49.303、根据目标通道区域以及预设的空间区域与旋转速度的对应关系,调整可旋转货叉的旋转速度。
50.在本发明实施例中,无人叉车确定了障碍物所在的目标通道区域之后,就可以根据预设的空间区域与旋转速度的对应关系,确定与该目标通道区域对应的目标旋转速度,并调整可旋转货叉的旋转速度,即将可旋转货叉的旋转速度调整为目标旋转速度。
51.可选的,预设的空间区域具体可以包括:远通道区域、中通道区域和近通道区域;预设的空间区域与旋转速度的对应关系,可以是无人叉车预先根据之前对于障碍物的躲避等情况确定的,也可以是中控系统自行设置的,本发明实施例不做具体限定。
52.其中,当障碍物距离无人叉车较近时,为了不碰触到障碍物,无人叉车的可旋转货叉通常会停止旋转;当障碍物距离无人叉车较近时,障碍物不会影响到无人叉车所执行的搬运任务,因此无人叉车的可旋转货叉可以高速旋转;当障碍物距离无人叉车适中时,无人叉车为了避免障碍物突然靠近并且可旋转货叉无法快速停下的情况,无人叉车可以适当降低可旋转货叉的旋转速度,即无人叉车的可旋转货叉可以低速旋转;综上,远通道区域对应的旋转速度为高速旋转,近通道区域对应的旋转速度为停止旋转,以及中通道区域对应的旋转速度为减速旋转。也就是说如果无人叉车确定障碍物处于远通道区域,那么无人叉车就可以控制可旋转货叉高速旋转;如果无人叉车确定障碍物处于中通道区域,那么无人叉车就可以控制可旋转货叉低速旋转;如果无人叉车确定障碍物处于近通道区域,那么无人
叉车就可以控制可旋转货叉停止旋转。
53.本发明实施例提供一种货叉旋转保护方法,无人叉车上设置有激光模组以及可旋转货叉,无人叉车可以通过激光模组,获取在目标运动轨迹下的点云数据;根据点云数据,确定障碍物所在的目标通道区域,目标通道区域为与目标运动轨迹对应的多个立体通道区域中其中一个通道区域;根据目标通道区域以及预设的空间区域与旋转速度的对应关系,调整可旋转货叉的旋转速度。通过该方案,无人叉车可以预先确定多个立体通道区域,以及每个立体通道区域对应的旋转速度,然后在执行相应任务的时候,可以通过点云数据分析出障碍物,并确定出该障碍物对应的立体通道区域,从而对应控制可旋转货叉的旋转速度,这样不仅可以精确识别到障碍物的位置,也可以及时做出准确的应对措施,将可旋转货叉调整到适当的旋转速度,尽可以避免造成财物损失、人员受伤等情况,也可以避免将其他物体误认为障碍物而无效避障的情况,大大提高对可旋转货叉旋转保护的准确性。
54.如图4所示,本发明实施例提供一种货叉旋转保护方法,该方法还可以包括下述步骤:401、通过激光模组,获取在目标运动轨迹下的点云数据。
55.在本发明实施例中,针对步骤401的描述,请参照上述实施例中针对步骤301的详细描述,本发明实施例不再赘述。
56.402、根据点云数据以及多个立体通道区域的坐标信息,确定每个立体通道区域所包括的目标点。
57.在本发明实施例中,无人叉车根据和无人叉车之间的距离设置有多个立体通道区域,那么将每个立体通道区域映射到环境坐标系中,就可以得到每个立体通道区域的坐标信息,该坐标信息可以是一段坐标范围,即在该坐标范围内都是一个立体通道区域。在无人叉车获取到点云数据之后,可以从点云数据中确定每个特征点的坐标信息,将每个特征点的坐标信息分别和每个立体通道区域的坐标信息进行比对,就可以确定每个立体通道区域所包括的目标点。
58.需要说明的是,由于每个立体通道区域的坐标信息都可以是一段坐标范围,因此无人叉车在根据点云数据确定每个特征点的坐标信息之后,可以依次判断每个特征点处于哪个坐标范围内,从而将该特征点确定为该坐标范围对应的立体通道区域,这样遍历每个特征点之后,就可以得到每个立体通道区域所包括的目标点。
59.可选的,根据点云数据以及多个立体通道区域的坐标信息,确定每个立体通道区域所包括的目标点,具体可以包括:根据点云数据中每个特征点的高度信息,以及每个立体通道区域的预设高度,确定每个立体通道区域所包括的多个初始点;针对每个立体通道区域所包括的多个初始点,根据每个立体通道区域在预设平面的投影多边形以及每个初始点在预设平面的投影点,确定每个初始点是否位于对应的立体通道区域内;去除位于对应的立体通道区域外的初始点,确定剩余的初始点为每个立体通道区域所包括的目标点。
60.需要说明的是,每个立体通道区域都设置有预设高度,每个立体通道区域对应的预设高度可能会不同,也就是说,该多个立体通道区域为包括不同的预设高度的通道区域,该预设高度可以是根据无人叉车的可旋转货叉的高度确定的。
61.在该实现方式中,由于每个立体通道区域都设置有预设高度,因此点云数据中可能有些特征点的高度信息大于预设高度,那么就可以认为该特征点不位于该立体通道区域
内,同时由于立体通道区域是存在边界的,那么可能也存在特征点超出该立体通道区域的边界,那么该特征点也不位于该立体通道区域内。
62.那么,针对特征点是否位于立体通道区域内,具体可以分为两步:首先,针对立体通道区域的预设高度进行判断:无人叉车可以根据点云数据确定每个特征点的高度信息,即高度坐标值,然后和每个立体通道区域的预设高度进行比较,如果高度信息小于预设高度,那么就确定该特征点的高度信息位于立体通道区域内,以此方式可以确定每个立体通道区域所包括的多个初始点。
63.可选的,预设高度可以包括预设最大高度和预设最小高度,无人叉车可以按照预设顺序,依次判断每个特征点的高度是否位于当前立体通道区域的预设最大高度和预设最小高度之间;若是,则确定该特征点的高度信息在当前立体通道区域中;若否,则按照预设顺序在下一立体通道区域中进行判断,直至确定每个特征点所处的立体通道区域。
64.其次,针对立体通道区域的边界进行判断:无人叉车可以将每个立体通道区域在预设平面进行投影,又得到每个立体通道区域对应的投影多边形,该投影多边形可以指示立体通道区域在预设平面方向上的最大取值范围,然后可以对多个初始点也在预设平面进行投影,确定每个初始点在预设平面的投影点,如果该投影点位于投影多边形内部,那么就可以说明该初始点也位于立体通道区域内部;如果该投影点位于投影多边形外部,那么就可以说明该初始点也位于立体通道区域外部,由此可以对多个初始点进行筛选,以确定每个立体通道区域所包括的目标点,即位于每个立体通道区域内部的特征点。
65.进一步的,根据每个立体通道区域在预设平面的投影多边形以及每个初始点在预设平面的投影点,确定每个初始点是否位于对应的立体通道区域内,具体可以包括:以投影多边形中其中一点作为起点,以投影多边形的其他点相对于起点的方向作射线,得到多条射线;根据多条射线,从投影多边形中确定与每个初始点对应的三角形,三角形的其中一个点为起点,且,不包括起点的目标边与投影多边形的其中一边重合;根据每个初始点与对应的三角形的目标边的左右位置关系,确定每个初始点是否位于对应的立体通道区域内,其中,若其中一个初始点在对应的三角形的目标边的左边,则其中一个初始点位于对应的立体通道区域内。
66.在该实现方式中,无人叉车将立体通道区域在预设平面进行投影之后,可以得到一个投影多边形,无人叉车可以在该投影多边形中确定任意一个点为起点,并向其他点作射线,以得到多条射线,任意相邻的两条射线和位于这两条射线中的投影多边形的边都可以组成一个三角形,即每个三角形都有一个点为起点,且不包括起点的目标边与投影多边形的其中一边重合,也就是说起点与投影多边形中所有和起点不相邻的边都构成了一个三角形,由此可以看出三角形的个数比射线的条数少1;然后针对第一初始点,确定该第一初始点对应的三角形,并且将该第一初始点和该三角形的目标边进行比较,根据第一初始点与该三角形的目标边的左右位置关系就可以确定该第一初始点是否位于投影多边形内,也即确定该第一初始点是否位于立体通道区域内。
67.示例性的,如图5所示,立体通道区域在预设平面进行投影后可以得到图中的十边形;以点o为起点,向其他9个点(点a、点b、点c、点d、点e、点f、点g、点h、点i)做射线,得到了9条射线,分别为s1、s2、s3、s4、s5、s6、s7、s8和s9;每两个相邻的射线(比如s1和s2)和位于这两条射线中的投影多边形的边(即ab)就可以组成一个三角形(即n1),以此类推可以组成8
个三角形,分别为n1、n2、n3、n4、n5、n6、n7和n8;如图5中示出了两个初始点,分别为初始点k和初始点l,可以看出初始点k对应的目标边为fg,初始点k位于fg右边,不位于三角形n6中,因此可以确定该初始点k不位于立体通道区域内;而初始点l对应的目标边为cd,初始点k位于cd左边,位于三角形n3中,因此可以确定该初始点l位于立体通道区域内。
68.进一步的,根据多条射线,从投影多边形中确定与每个初始点对应的三角形,具体可以包括:确定第一初始点是否位于多条射线所围成的区域内;若第一初始点位于多条射线所围成的区域内,再次以起点作射线,直至确定围绕第一初始点在内的多条目标射线与投影多边形的交线为一条线段;根据多条目标射线与交线,确定与第一初始点对应的三角形。
69.在该实现方式中,无人叉车可以先确定该第一初始点是否在多条射线所围成的区域内,该多条射线所围成的区域即最左侧射线的右边,且最右边射线的左侧,也就是说,如果该第一初始点位于最左侧射线的左边,或者位于最右侧射线的右边,那么该第一初始点就不位于多条射线所围成的区域内,也就不位于该投影多边形内,也就不位于该投影多边形对应的立体通道区域内;如果该第一初始点位于最左侧射线的右边且最右侧射线的左边,那么就说明第一初始点位于多条射线所围成的区域内,那么无人叉车可以确定最左侧射线与投影多边形的交点和最右侧射线与投影多边形的交点连接而成的线段的中点,并判断该第一起始点位于该中点和起点之间做的射线的左侧还是右侧;确定了第一起始点位于某一侧之后,在该第一起始点所在侧继续取中点做射线并再次判断,即采用二分法的原理,直至确定围绕第一初始点在内的多条目标射线与投影多边形的交线为一条线段,即这多条射线与投影多边形的多个交点之间没有其他交点,从而将该线段和对应的射线组成的三角区域确定为该第一初始点对应的三角形。
70.示例性的,如图6所示,以初始点l进行说明,首先确定初始点l是否位于最左侧射线的右边且最右侧射线的左边,即是否位于射线s1的右侧且s9的左侧,可以看出初始点l位于射线s1的右侧且射线s9的左侧;然后再确定射线s1与投影多边形的交点a和射线s9与投影多边形的交点i组成的线段ai的第一中点p,并以o为起点,向第一中点p的方向作射线,得到射线s10;此时由图6可以确定初始点l位于射线s1的右侧且射线s10的左侧,以及,射线s1与投影多边形的交点a和射线s10与投影多边形的交点m,与投影多边形的交线为多条线段,因此可以再确定射线s1与投影多边形的交点a和射线s10与投影多边形的交点m组成的线段am的第二中点q,并以o为起点,向第二中点q的方向作射线,得到射线s11;此时由图6可以确定初始点l位于射线s11的右侧且射线s10的左侧,以及,射线s11与投影多边形的交点n和射线s10与投影多边形的交点m,与投影多边形的交线为一条线段,即nm,因此可以将线段nm与射线s11、射线s10组成的三角形

onm确定为初始点l对应的三角形。
71.403、根据每个立体通道区域所包括的目标点的点云数据,确定每个立体通道区域中的目标点的聚类点集合,得到多个聚类点集合。
72.在本发明实施例中,无人叉车在确定每个立体通道区域所包括的目标点之后,可以从点云数据中,调取出每个立体通道区域所包括的目标点的点云数据,然后对每个立体通道区域所包括的目标点进行聚类,从而得到每个立体通道区域对应的聚类点集合,即多个聚类点集合。
73.可选的,聚类就是将物理或抽象对象的集合分成由类似的对象组成的多个类的过
程,通常可以采用kdtree算法、fcm聚类算法或som聚类算法等。
74.进一步的,无人叉车对点云数据进行聚类,以确定每个立体通道区域中的目标点的聚类点集合的具体步骤可以包括:步骤1:确定任意一点p10,建立目标点所属的聚类q(p10),用kdtree算法找到距离p10最近的n个点,判断这n个点到p10的距离;步骤2:将与p10之间的距离小于阈值r的点p12、p13、p14..全部放到目标点所属的聚类q(p10)里;步骤3:在q(p10)里找到任意一点p12,将该目标点所属的聚类q(p10)更新为聚类q(p10,p12),继续用kdtree算法找到距离p12最近的n个点,判断这n个点到p12的距离;步骤4:将与p12之间的距离小于阈值r的点p22、p23、p24...全部放到目标点所属的聚类q(p10,p12)里;步骤5:重复步骤3~步骤4直至找不到距离小于阈值r的点,则完成聚类,无人叉车就可以将不断更新后的当前目标点所属的聚类q作为目标点的聚类点集合。
75.需要说明的是,无人叉车可以对每个立体通道区域所包括的目标点都进行上述聚类操作,从而得到多个聚类点集合。
76.404、从多个聚类点集合中确定目标聚类点集合。
77.在本发明实施例中,无人叉车确定了多个聚类点集合之后,就可以从中确定出目标聚类点集合,该目标聚类点集合所包括的点形成的空间即为障碍物。
78.其中,该目标聚类点集合中所包括的点形成的空间尺寸大于或等于阈值。
79.需要说明的是,在仓库中存在的障碍物可能是工作人员,也可以是其他正在工作的无人叉车,因此这些障碍物的尺寸基本都是固定的,那么无人叉车就可以预先存储各个障碍物的尺寸,并根据障碍物的尺寸设置阈值。当确定了多个聚类点集合之后,可以计算每个聚类点集合中的点所形成的空间尺寸,如果该空间尺寸等于阈值,那么该障碍物可能就是预先存储的障碍物;如果该空间尺寸比阈值还大,那么该障碍物相较于预先存储的障碍物可能更会影响到无人叉车的正常工作;如果该空间尺寸小于阈值,那么可能只是旁边正常摆放的货物或者货架等,不会影响到无人叉车的工作;因此,无人叉车可以从多个聚类点集合中确定所包括的点形成的空间尺寸大于或等于阈值的聚类点集合作为目标聚类点集合。
80.405、确定目标聚类点集合所在的立体通道区域为目标通道区域。
81.在本发明实施例中,无人叉车在确定了目标聚类点集合之后,可以确认该目标聚类点集合所包括的点形成的空间即为障碍物,那么为了避免该障碍物对无人叉车的工作造成影响,无人叉车可以确定该目标聚类点集合所在的立体通道区域,也就是确定目标聚类点集合与无人叉车之间的距离,并且根据预先设置的阈值判断出该距离所在的立体通道区域,也即目标聚类点集合所在的立体通道区域,并将该立体通道区域确定为目标通道区域。
82.406、根据目标通道区域以及预设的空间区域与旋转速度的对应关系,调整可旋转货叉的旋转速度。
83.在本发明实施例中,针对步骤406的描述,请参照上述实施例中针对步骤303的详细描述,本发明实施例不再赘述。
84.本发明实施例提供一种货叉旋转保护方法,无人叉车可以预先确定多个立体通道
区域,以及每个立体通道区域对应的旋转速度,然后可以通过点云数据分析出障碍物,并通过聚类等方式确定出该障碍物对应的立体通道区域,从而对应控制可旋转货叉的旋转速度,这样不仅可以精确识别到障碍物的位置,也可以及时做出准确的应对措施,将可旋转货叉调整到适当的旋转速度,尽可以避免造成财物损失、人员受伤等情况,也可以避免将其他物体误认为障碍物而无效避障的情况,大大提高对可旋转货叉旋转保护的准确性。
85.如图7所示,本发明实施例提供一种无人叉车,该无人叉车上设置有激光模组以及可旋转货叉,该无人叉车包括:获取模块701,用于通过激光模组,获取在目标运动轨迹下的点云数据;处理模块702,用于根据点云数据,确定障碍物所在的目标通道区域,目标通道区域为与目标运动轨迹对应的多个立体通道区域中其中一个通道区域;处理模块702,还用于根据目标通道区域以及预设的空间区域与旋转速度的对应关系,调整可旋转货叉的旋转速度。
86.可选的,多个立体通道区域包括远通道区域、近通道区域以及中通道区域,处理模块702,具体用于根据点云数据以及多个立体通道区域的坐标信息,确定每个立体通道区域所包括的目标点;处理模块702,具体用于根据每个立体通道区域所包括的目标点的点云数据,确定每个立体通道区域中的目标点的聚类点集合,得到多个聚类点集合;处理模块702,具体用于从多个聚类点集合中确定目标聚类点集合,目标聚类点集合中所包括的点形成的空间尺寸大于或等于阈值;处理模块702,具体用于确定目标聚类点集合所在的立体通道区域为目标通道区域。
87.可选的,多个立体通道区域为包括不同的预设高度的通道区域,预设高度是根据无人叉车的可旋转货叉的高度确定的,处理模块702,具体用于根据点云数据中每个特征点的高度信息,以及每个立体通道区域的预设高度,确定每个立体通道区域所包括的多个初始点;处理模块702,具体用于针对每个立体通道区域所包括的多个初始点,根据每个立体通道区域在预设平面的投影多边形以及每个初始点在预设平面的投影点,确定每个初始点是否位于对应的立体通道区域内;处理模块702,具体用于去除位于对应的立体通道区域外的初始点,确定剩余的初始点为每个立体通道区域所包括的目标点。
88.可选的,处理模块702,具体用于依次判断特征点的高度信息是否小于当前立体通道区域的预设高度;处理模块702,具体用于若是,则确定特征点为当前立体通道区域内的初始点;处理模块702,具体用于若否,则继续判断特征点的高度信息是否小于下一立体通道区域的预设高度,直至确定所有特征点所处的立体通道区域。
89.可选的,处理模块702,具体用于以投影多边形中其中一点作为起点,以投影多边形的其他点相对于起点的方向作射线,得到多条射线;处理模块702,具体用于根据多条射线,从投影多边形中确定与每个初始点对应的三角形,三角形的其中一个点为起点,且,不包括起点的目标边与投影多边形的其中一边重
合;处理模块702,具体用于根据每个初始点与对应的三角形的目标边的左右位置关系,确定每个初始点是否位于对应的立体通道区域内,其中,若其中一个初始点在对应的三角形的目标边的左边,则其中一个初始点位于对应的立体通道区域内。
90.可选的,针对第一初始点,第一初始点为其中任意一个初始点,处理模块702,具体用于确定第一初始点是否位于多条射线所围成的区域内;处理模块702,具体用于若第一初始点位于多条射线所围成的区域内,再次以起点作射线,直至确定围绕第一初始点在内的多条目标射线与投影多边形的交线为一条线段;处理模块702,具体用于根据多条目标射线与交线,确定与第一初始点对应的三角形。
91.可选的,远通道区域对应的旋转速度为高速旋转,近通道区域对应的旋转速度为停止旋转,以及中通道区域对应的旋转速度为减速旋转。
92.本发明实施例中,各模块可以实现上述方法实施例提供的货叉旋转保护方法,且能达到相同的技术效果,为避免重复,这里不再赘述。
93.如图8所示,本发明实施例还提供一种无人叉车,该无人叉车上设置有激光模组以及可旋转货叉,该无人叉车可以包括:存储有可执行程序代码的存储器801;与存储器801耦合的处理器802;其中,处理器802调用存储器801中存储的可执行程序代码,执行上述各方法实施例中无人叉车执行的货叉旋转保护方法。
94.本发明实施例提供一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
95.本发明实施例还提供一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
96.本发明实施例还提供一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
97.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。上述多个实施例也未必是多个独立的实施例,分成多个实施例仅用于突出不同实施例中的不同技术特征,本领域技术人员应该知悉,上述多个实施例也可以进行任意组合。
98.在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
99.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络
单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
100.另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
101.上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例上述方法的部分或全部步骤。
102.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(read-only memory,rom)、随机存储器(random access memory,ram)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子抹除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

技术特征:
1.一种货叉旋转保护方法,其特征在于,应用于无人叉车,所述无人叉车上设置有激光模组以及可旋转货叉,所述方法包括:通过所述激光模组,获取在目标运动轨迹下的点云数据;根据所述点云数据,确定障碍物所在的目标通道区域,所述目标通道区域为与所述目标运动轨迹对应的多个立体通道区域中其中一个通道区域;根据所述目标通道区域以及预设的空间区域与旋转速度的对应关系,调整所述可旋转货叉的旋转速度。2.根据权利要求1所述的方法,其特征在于,所述多个立体通道区域包括远通道区域、近通道区域以及中通道区域,所述根据所述点云数据,确定障碍物所在的目标通道区域,包括:根据所述点云数据以及所述多个立体通道区域的坐标信息,确定每个立体通道区域所包括的目标点;根据每个立体通道区域所包括的目标点的点云数据,确定每个立体通道区域中的所述目标点的聚类点集合,得到多个聚类点集合;从所述多个聚类点集合中确定目标聚类点集合,所述目标聚类点集合中所包括的点形成的空间尺寸大于或等于阈值;确定所述目标聚类点集合所在的立体通道区域为所述目标通道区域。3.根据权利要求2所述的方法,其特征在于,所述多个立体通道区域为包括不同的预设高度的通道区域,所述预设高度是根据所述无人叉车的可旋转货叉的高度确定的,所述根据所述点云数据以及所述多个立体通道区域的坐标信息,确定每个立体通道区域所包括的目标点,包括:根据所述点云数据中每个特征点的高度信息,以及所述每个立体通道区域的预设高度,确定每个立体通道区域所包括的多个初始点;针对所述每个立体通道区域所包括的多个初始点,根据所述每个立体通道区域在预设平面的投影多边形以及每个初始点在所述预设平面的投影点,确定所述每个初始点是否位于对应的立体通道区域内;去除位于对应的立体通道区域外的初始点,确定剩余的初始点为所述每个立体通道区域所包括的目标点。4.根据权利要求3所述的方法,其特征在于,所述根据所述点云数据中每个特征点的高度信息,以及所述每个立体通道区域的预设高度,确定每个立体通道区域所包括的多个初始点,包括:依次判断所述特征点的高度信息是否小于当前立体通道区域的预设高度;若是,则确定所述特征点为所述当前立体通道区域内的初始点;若否,则继续判断所述特征点的高度信息是否小于下一立体通道区域的预设高度,直至确定所有特征点所处的立体通道区域。5.根据权利要求3所述的方法,其特征在于,所述根据所述每个立体通道区域在预设平面的投影多边形以及每个初始点在所述预设平面的投影点,确定所述每个初始点是否位于对应的立体通道区域内,包括:以所述投影多边形中其中一点作为起点,以所述投影多边形的其他点相对于所述起点
的方向作射线,得到多条射线;根据所述多条射线,从所述投影多边形中确定与所述每个初始点对应的三角形,所述三角形的其中一个点为所述起点,且,不包括所述起点的目标边与所述投影多边形的其中一边重合;根据所述每个初始点与对应的三角形的目标边的左右位置关系,确定所述每个初始点是否位于对应的立体通道区域内,其中,若其中一个初始点在对应的三角形的目标边的左边,则所述其中一个初始点位于对应的立体通道区域内。6.根据权利要求5所述的方法,其特征在于,针对第一初始点,所述第一初始点为其中任意一个初始点,所述根据所述多条射线,从所述投影多边形中确定与所述每个初始点对应的三角形,包括:确定所述第一初始点是否位于所述多条射线所围成的区域内;若所述第一初始点位于所述多条射线所围成的区域内,再次以所述起点作射线,直至确定围绕所述第一初始点在内的多条目标射线与所述投影多边形的交线为一条线段;根据所述多条目标射线与所述交线,确定与所述第一初始点对应的三角形。7.根据权利要求2所述的方法,其特征在于,所述远通道区域对应的旋转速度为高速旋转,所述近通道区域对应的旋转速度为停止旋转,以及所述中通道区域对应的旋转速度为减速旋转。8.一种无人叉车,其特征在于,所述无人叉车上设置有激光模组以及可旋转货叉,所述无人叉车包括:获取模块,用于通过所述激光模组,获取在目标运动轨迹下的点云数据;处理模块,用于根据所述点云数据,确定障碍物所在的目标通道区域,所述目标通道区域为与所述目标运动轨迹对应的多个立体通道区域中其中一个通道区域;所述处理模块,还用于根据所述目标通道区域以及预设的空间区域与旋转速度的对应关系,调整所述可旋转货叉的旋转速度。9.一种无人叉车,其特征在于,所述无人叉车上设置有激光模组以及可旋转货叉,所述无人叉车包括:存储有可执行程序代码的存储器;以及所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行如权利要求1至7任一项所述的货叉旋转保护方法。10.一种计算机可读存储介质,其特征在于,包括:所述计算机可读存储介质上存储计算机指令,所述计算机指令被处理器执行时实现如权利要求1至7任一项所述的货叉旋转保护方法。

技术总结
本发明实施例公开了一种货叉旋转保护方法、无人叉车及存储介质,应用于无人叉车技术领域,可解决无人叉车如何精确控制可旋转货叉及时进行减速或停止旋转的处理的问题。无人叉车上设置有激光模组以及可旋转货叉,通过激光模组,获取在目标运动轨迹下的点云数据;根据点云数据,确定障碍物所在目标通道区域,目标通道区域为与目标运动轨迹对应的多个立体通道区域中其中一个通道区域;根据目标通道区域以及预设的空间区域与旋转速度的对应关系,调整可旋转货叉的旋转速度。整可旋转货叉的旋转速度。整可旋转货叉的旋转速度。


技术研发人员:杨秉川 方牧 鲁豫杰 李陆洋 王琛 方晓曼
受保护的技术使用者:未来机器人(深圳)有限公司
技术研发日:2023.06.05
技术公布日:2023/7/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐