存储设备、激光导航叉车
技术领域
本发明涉及一种激光扫描技术领域,尤其涉及一种存储设备、激光导航叉车。
背景技术
激光导航叉车(如托盘车)是基于普通电动叉车改造,具有导航能力的自动叉车。通过加装激光传感器,叉车能够实现自主的实现建图和定位。而通过导入相应的导航算法,叉车能够在无人干预的情况下,完成在不同位置(工位、装货区、卸货区、仓库等)的巡航、叉货、运输、卸货。
在激光导航托盘车进行货物(托盘)叉取的过程中,一旦发生误差,就可能导致严重的工程事故,而基于全局激光的定位算法无法满足叉货精度的要求。一方面,目前主流的基于全局激光的定位算法的精度在±50毫米左右,若周围环境发生较大变化会引入更大误差。另一方面,待被叉取的托盘无法保证每次都在叉货区的完全相同的位置,也存在一定范围内的位置和角度的误差。因此,有必要对托盘进行自适应的识别定位。
目前主要防止误叉货的方法是将货物放至于固定位置,人为保证误差在容许范围内。一旦发生偏差,就不进行叉取,需要人为干预矫正。现有技术中还没有实现托盘的货物激光定位方案。
发明内容
本发明就是针对上述问题,本发明实施例提供了一种存储设备,该存储设备存储有多条指令,所述指令适于由处理器加载并执行:
利用激光传感器采集激光数据,并将所述激光数据转换成激光坐标系中的激光点坐标;
在所述激光坐标系中设置待测物体所在的预设目标区域,并剔除在所述预设目标区域之外的激光点;
对所述预设目标区域内的激光点进行最小二乘法拟合,以拟合出表示所述待测物体面向所述激光传感器的平面与激光扫描平面的交线;
将不在所述交线上的激光点投影至所述交线上,并基于各个投影点之间的距离分割成不同的线段;
若基于各个线段的长度和间距确定待测物体与目标物体的形状相匹配,则识别该待测物体为所述目标物体。
可选的,适于由处理器加载并执行的指令还包括:若识别该待测物体为所述目标物体,将交线上各个线段所连接成的线段的中点作为待测物体的中点位置,且所述待测物体面向所述激光传感器的平面与激光扫描平面的交线的法向为所述待测物体摆放的角度。
可选的,所述激光数据为待测物体距离所述激光传感器的角度θ和距离d;将所述激光数据转换成激光坐标系中的激光点坐标的转换公式为:
xi=di×cos(θi)
yi=di×sin(θi)
其中,所述激光坐标系是以所述激光传感器为原点建立的二维坐标系,i表示第i个激光点。
可选的,在所述激光坐标系中设置待测物体所在的预设目标区域包括如下步骤:在物理空间中确定待测物体所在区域的位置信息;将所述位置信息转换成在所述激光坐标系中待测物体所在的预设目标区域。
可选的,对所述预设目标区域内的激光点进行最小二乘法拟合,以拟合出表示所述待测物体面向所述激光传感器的平面与激光扫描平面的交线包括如下步骤:
对所述预设目标区域内的激光点进行多次最小二乘法拟合;
每进行一次最小二乘法拟合后,去除与拟合直线距离大于3倍标准差的激光点,直至没有激光点需要被去除;
将该拟合直线表示为所述待测物体面向所述激光传感器的平面与激光扫描平面的交线。
可选的,基于各个投影点之间的距离分割成不同的线段包括如下步骤:
设置间距阈值;
按顺序将所述交线上相邻的两个投影点之间的间距小于或等于该间距阈值的这两个投影点归于同一条线段,而将所述交线上相邻的两个投影点之间的间距大于该间距阈值的这两个投影点归于不同的两条线段。
可选的,在对所述预设目标区域内的激光点进行最小二乘法拟合以拟合出表示所述待测物体面向所述激光传感器的平面与激光扫描平面的交线之前还包括如下步骤:利用阴影滤波器对所述预设目标区域内的激光点进行滤波,以滤除因阴影效应产生的噪点。
可选的,所述目标物体为具有插孔的托盘,该托盘具有上端面以及多个用于支撑该上端面的支撑柱、支撑柱之间具有插孔。
本发明实施例还提供了一种激光导航叉车,包括:
激光传感器,适于对激光导航叉车所在物理空间进行激光扫描以采集激光数据;
处理器,适于处理存储设备存储的各种指令;
上述任一项所述的存储设备。
与现有技术相比,本发明技术方案至少具有以下有益效果:
本发明实施例提供的由处理器加载并执行的指令通过对物体进行识别定位时,利用采集到的激光数据并将其转换成激光坐标系中的激光点坐标,根据待测物体位置的变化在激光坐标系中调整预设目标区域并去除预设目标区域之外的激光点,从而可以更精确地识别待测物体是否为目标物体,且更精确地对其进行定位。
进一步,由于根据预设目标区域的调整,以及利用阴影滤波器对所述预设目标区域内的激光点进行滤波以滤除因阴影效应产生的噪点,从而可以增强对待测物体识别定位的鲁棒性。
附图说明
图1是本发明实施例的一种存储设备存储的由处理器加载并执行的指令的流程示意图;
图2是本发明实施例的一种具有插孔的托盘的侧面视图;
图3是本发明实施例中激光坐标系和物理空间坐标系的示意图;
图4是本发明实施例中将激光点投影至拟合直线并分割不同的线段的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
如图1所示的是本发明实施例的一种存储设备存储的由处理器加载并执行的指令的流程示意图。
参考图1,指令的执行流程包括如下步骤:
步骤S1:利用激光传感器采集激光数据,并将所述激光数据转换成激光坐标系中的激光点坐标;
步骤S2:在所述激光坐标系中设置待测物体所在的预设目标区域,并剔除在所述预设目标区域之外的激光点;
步骤S3:对所述预设目标区域内的激光点进行最小二乘法拟合,以拟合出表示所述待测物体面向所述激光传感器的平面与激光扫描平面的交线;
步骤S4:将不在所述交线上的激光点投影至所述交线上,并基于各个投影点之间的距离分割成不同的线段;
步骤S5:若基于各个线段的长度和间距确定待测物体与目标物体的形状相匹配,则识别该待测物体为所述目标物体。
在本实施例中,以所述目标物体为具有插孔的托盘为例来描述。
如图2所示的是一种具有插孔的托盘的侧面视图。参考图2,托盘具有上端面11(用于放置物品),多个用于支撑该上端面的支撑柱12、且支撑柱之间具有插孔(例如,R1和R2为插孔的宽度)。
本实施例所述的存储设备存储的由处理器加载并执行的指令用于对如图2所示的具有插孔的托盘进行识别定位,可应用于激光导航叉车上,以使其能识别托盘并准确定位插孔的位置。
具体来说,如步骤S1所述,利用激光传感器采集激光数据,并将所述激光数据转换成激光坐标系中的激光点坐标。
本领域技术人员知晓,激光传感器通过发射激光束(二维的激光扫描平面)来扫描其所在物理空间内的物体,当激光束遇到物体反射后,反射的激光被激光传感器所接收,并由此计算出该物体距离激光传感器的角度θ和距离d。
然后,根据该角度θ和距离d,可以将该反射激光的点的位置反应到激光坐标系中,称作激光点。在本实施例中,激光坐标系是以激光传感器为原点建立的坐标系,请参考如图3中所示的坐标系X’O’Y’为激光坐标系,坐标系XOY为物理空间坐标系。
将所述激光数据(即角度θ和距离d)转换成激光坐标系中的激光点坐标的转换公式为:
xi=di×cos(θi)
yi=di×sin(θi)
其中,i表示第i个激光点,(xi,yi)表示第i个激光点在激光坐标系中的二维坐标点。
如步骤S2所述,在所述激光坐标系中设置待测物体所在的预设目标区域,并剔除在所述预设目标区域之外的激光点。
为了使对待测物体的识别定位更精确,本实施例中,根据待测物体大致的放置区域在激光坐标系中设置预设目标区域,从而可以将该预设目标区域之外的激光点剔除以排除干扰。
具体地,本步骤包括:
首先,在物理空间中确定待测物体所在区域的位置信息。
然后,将所述位置信息转换成在所述激光坐标系中待测物体所在的预设目标区域。
例如,可以在物理空间的坐标系中确定待测物体所在区域的坐标点范围,然后将该坐标点范围转换成激光坐标系中的预设目标区域。具体的转换方式可以通过在物理空间的坐标系与激光坐标系之间设定一个转换公式来实现。
在实践中,当待测物体被移动后,其放置位置有变化,可以通过人工设置重新载入在物理空间中待测物体所在区域的位置信息,然后再将其转换成激光坐标系中待测物体所在的预设目标区域。
进一步,在激光坐标系中确定了所述待测物体所在的预设目标区域后,将该预设目标区域之外的激光点剔除,为后续对待测物体的识别定位排除干扰。
如步骤S3所述,对所述预设目标区域内的激光点进行最小二乘法拟合,以拟合出表示所述待测物体面向所述激光传感器的平面与激光扫描平面的交线。
具体地,本步骤包括:
1)对所述预设目标区域内的激光点进行多次最小二乘法拟合;
2)每进行一次最小二乘法拟合后,去除与拟合直线距离大于3倍标准差的激光点,直至没有激光点需要被去除;
3)将该拟合直线表示为所述待测物体面向所述激光传感器的平面与激光扫描平面的交线。
本领域技术人员知晓,最小二乘法是一种数学优化方法。在本实施例中,采用最小二乘法多次对激光点进行拟合,以拟合出表示为所述待测物体面向所述激光传感器的平面与激光扫描平面的交线(即所述拟合直线)。
每次对激光点采用最小二乘法拟合后,去除与拟合直线距离大于3倍标准差的激光点,这样可以进一步排除干扰的激光点,提高对待测物体识别定位的精度和效率。直到没有激光点需要被去除,从而得到的拟合直线表示为所述待测物体面向所述激光传感器的平面与激光扫描平面的交线。
需要说明的是,在本实施例中,对激光点采用最小二乘法拟合的次数是根据完成当前拟合后是否还有需要去除的激光点(即是否存在与拟合直线距离大于3倍标准差的激光点)来确定的。
继续参考图2所示的具有插孔的托盘的侧面视图。该侧面视图所示的托盘侧面即为托盘面向所述激光传感器的平面。对激光点进行多次最小二乘法拟合后得到拟合直线如图2中所示。
本实施例中,激光传感器发生的激光束在平面内旋转进行扫描,以得到平面内的激光数据,激光束是二维的激光扫描平面。在对物理空间内的物体进行激光扫描时,根据待测物体的形状,激光传感器发生的激光扫描平面所在的高度应当大于待测物体底部到地面的高度,并小于待测物体上端面的高度,这样激光才能有效扫描到待测物体的位置。也就是说,激光扫描平面扫描的范围应当在待测物体的空间范围之内。如图2中所示,激光扫描平面的扫描范围的高度范围为h,在该高度范围内可以扫描到托盘的插孔位置。
进一步,在本实施例中,在执行所述步骤S3之前还包括:利用阴影滤波器对所述预设目标区域内的激光点进行滤波,以滤除因阴影效应产生的噪点。阴影效应是指激光打在待测物体的边沿散射而造成测距不准。阴影滤波器通过判断相邻两个激光点的位置关系,去除阴影效应产生的噪点。从而可以增强对待测物体识别定位的鲁棒性。
如步骤S4所述,将不在所述交线上的激光点投影至所述交线上,并基于各个投影点之间的距离分割成不同的线段。
在本步骤中,不在所述交线(即拟合直线)上的激光点是指与拟合直线距离小于3倍标准差的激光点,这些激光点在采用最小二乘法拟合过程中未被去除。
然后,基于各个投影点之间的距离分割成不同的线段。
在本实施例中,是以所述目标物体为具有插孔的托盘描述的。
激光扫描时,转动的角速率是一致的,可以认为扫描到的托盘上的点的间距在一定的范围之内,而当扫描到插孔时,没有对应的激光点,因此插孔两边的点的间距必然非常大。因此,发明人考虑通过预设一个间距阈值来有效区分线段,线段与线段之间可以认为是插孔。
具体地,首先设置一个间距阈值,该间距阈值可以根据不同的目标物体来设置,在此不做限定。
然后,按顺序将所述交线上相邻的两个投影点之间的间距小于或等于该间距阈值的这两个投影点归于同一条线段,而将所述交线上相邻的两个投影点之间的间距大于该间距阈值的这两个投影点归于不同的两条线段。
如图4所示的是将激光点投影至拟合直线并分割不同的线段的示意图。参考图4,图中包括a、b、c、d、e、f、g、h、i、j、k和l这12个激光点,将这12个激光点投影至拟合直线上(即以各个投影点向拟合直线做垂线,在拟合直线上得到的垂足点即为投影点)。
根据设置的间距阈值,将a、b、c和d归于同一线段L1,将e、f、g和h归于同一线段L3,将i、j、k和l归于同一线段L5。也就是说,上述这些相邻的两个投影点(如激光点a和b对应的投影点)的阈值小于间距阈值。而d和e之间的距离R1大于间距阈值,因此d和e归于不同的两条线段,同理,h和i之间的距离R2大于间距阈值,因此h和i归于不同的两条线段。具体到本实施例中以目标物体为具有插孔的托盘为例,d和e之间的距离R1以及h和i之间的距离R2为插孔位置。
如步骤S4所述,若基于各个线段的长度和间距确定待测物体与目标物体的形状相匹配,则识别该待测物体为所述目标物体。
具体地,根据拟合直线上各个线段的长度和间距可以判断所述待测物体与目标物体的形状是否相匹配。若相匹配,则识别该待测物体为所述目标物体。若不相匹配,则重新识别。
进一步地,在本实施例中,若识别该待测物体为所述目标物体,将交线上各个线段所连接成的线段的中点作为待测物体的中点位置。继续参考图4,即拟合直线(即该交线)上各个线段所连接成的线段(即以a和l为端点的线段al)的中点(线段al的中点,即线段al的垂直平分线与拟合直线的交点)作为待测物体的中点位置。而所述待测物体面向所述激光传感器的平面与激光扫描平面的交线的法向为所述待测物体摆放的角度。
采用上述实施例的技术方案,利用采集到的激光数据并将其转换成激光坐标系中的激光点坐标,根据待测物体位置的变化在激光坐标系中调整预设目标区域并去除预设目标区域之外的激光点,从而可以更精确地识别待测物体是否为目标物体,且更精确地对其进行定位。
进一步,由于根据预设目标区域的调整,以及利用阴影滤波器对所述预设目标区域内的激光点进行滤波以滤除因阴影效应产生的噪点,从而可以增强对待测物体识别定位的鲁棒性。
本发明实施例还提供了一种激光导航叉车,该激光导航叉车上设置有激光传感器,可以在一个物理空间(例如货仓内)扫描,并得到各物体与激光传感器之间的角度和距离(即激光数据)。所述激光导航叉车上还设置有处理器和存储设备,其中处理器适于处理各种指令,存储设备存储多条指令,所述指令适于由所述处理器加载并执行。所述指令是由上述存储设备的实施例中所述的各个步骤。
本实施例提供激光导航叉车可以应用于如下场景:货仓内在固定的位置区域有若干托盘,托盘上放置有货物,在货物需要转移到另一位置时需要激光导航叉车通过托盘上设置的插孔进行运送,而托盘的放置位置也可能发生变化。因此,托盘插孔的位置确定对于激光导航叉车搬运货物至关重要。采用本发明实施例提供的激光导航叉车可以有效地对托盘进行识别和定位,相比于现有的全局激光定位方法,拥有更好的精度和鲁棒性。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。