可识别的码点块以及基于该码点块的导航方法及系统转让专利

申请号 : CN201910875095.4

文献号 : CN110487283B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王良清霍冠廷金玉丰邓峰

申请人 : 国微集团(深圳)有限公司

摘要 :

本发明公开了一种可识别的码点块以及基于该码点块的导航方法及系统。本发明的码点块,包括:方框和设置在方框内的码点,所述码点包括:辅助码点,设置在所述方框内用于标识方框边界和信息码点在码点块的相对位置;信息码点,根据一定规则设置在可被所述辅助码点标识的坐标位置上,用于映射所在的码点块在整个工作区域内的位置信息。本发明通过对至少一个码点块进行识别,得到码点块在整个工作区域内的位置坐标及路径规划信息,从而实现高精度的定位。

权利要求 :

1.一种导航方法,其特征在于,包括步骤:

步骤1,在工作区域内铺满码点块,所述码点块均匀紧密排布,所述码点块包括方框和设置在方框内的码点,所述码点包括:辅助码点,设置在所述方框内用于标识方框边界和信息码点在码点块内的相对位置;信息码点,根据一定规则设置在可被所述辅助码点标识的相对位置上,用于映射所在的码点块在整个工作区域内的位置信息;

步骤2,以每秒N帧的速率实时获取移动体当前所在位置的包含至少一个码点块的图像;

步骤3,对所获取的图像进行图像分析,得到所述移动体的位置信息;

步骤4,根据所在的移动体的位置信息控制移动体的运动方向和运动状态,或者,根据所在的移动体的位置信息以及其他移动体的运动信息控制移动体的运动方向和运动状态;

所述步骤3包括:

步骤3.1,对所获取的图像进行锐化处理和分析,找到图像中的所有码点;

步骤3.2,根据码点的排布规则找到辅助码点,其余判定为信息码点;

步骤3.3,根据辅助码点调整图像的角度,使所有码点块的辅助码点以相同的方向基准来识别定位信息码点;

步骤3.4,根据调整角度后的码点块内的信息码点进行排序以及像素点坐标转换,利用辅助码点确定每个码点块内的信息码点,根据每个码点块信息码点坐标转换后的像素坐标,恢复出的相对位置关系,提取出信息编码;

步骤3.5,对所述信息编码进行解码,得到图像帧中码点块位置信息;根据码点块起始点在原始图像帧中的像素坐标位置对码点块位置信息进行偏移补偿,得到图像帧采集时刻的移动体位置信息。

2.如权利要求1所述的导航方法,其特征在于,所述步骤3.1具体包括步骤:步骤3.1.1,在以每一个像素点为中心的a×a窗口内进行灰度锐化处理;

步骤3.1.2,将灰度锐化处理后的图像均匀划分为若干个b×b窗口;

步骤3.1.3,在每个b×b窗口内选择锐化灰度最小值的像素点,以该锐化灰度最小值的像素点为中心在c×c窗口的范围内做多个方向上的梯度判定;若该锐化灰度最小值的像素点各方向的锐化灰度值由内向外依次递增,则该锐化灰度最小值的像素点被判定为待过滤码点,其他锐化灰度值没有由内向外依次递增的像素点判定为非码点;

步骤3.1.4,在以待过滤码点为中心的d×d窗口内,根据窗口内所有像素点的锐化灰度最大值和锐化灰度最小值求出灰度阈值;

步骤3.1.5,判断所述待过滤码点的锐化灰度值是否小于灰度阈值;若小于灰度阈值,则判定该待过滤码点为准码点;

步骤3.1.6,在以准码点为中心的e×e窗口内,判断准码点的锐化灰度值是不是该窗口内的锐化灰度最小值,若是,则判定为有效码点;

步骤3.1.7,获取全部有效码点的像素点坐标以及图像的采集时间。

3.如权利要求1所述的导航方法,其特征在于,所述信息码点和辅助码点为颜色自中心向四周逐渐由深到浅的圆点。

4.如权利要求1所述的导航方法,其特征在于,若干个所述辅助码点在所述码点块相邻的两条垂直边一侧分别按一定固定间隔排列,两条垂直边交叉处相互重叠的辅助码点为所述码点块的起始点,所有码点块的辅助码点标识和信息码点相对位置的方向保持一致。

5.如权利要求1所述的导航方法,其特征在于,所述位置信息包括码点块在整个工作区域内的具体坐标位置及路径规划信息。

6.如权利要求4所述的导航方法,其特征在于,所述码点块的路径规划信息包括该码点块某个方向的禁止、加速、减速、限速、方向信息当中的至少一种。

7.如权利要求1所述的导航方法,其特征在于,所述方框为正方形的方框。

8.一种导航系统,其特征在于,采用如权利要求1至7任意一项所述的导航方法进行导航控制。

9.如权利要求8所述的导航系统,其特征在于,包括:

图像采集模块,以每秒N帧的速率实时获取移动体当前所在位置的包含至少一个码点块的图像;

图像处理模块,对每帧图像的所有像素点的灰度进行锐化、梯度判定、背景过滤、边界过滤处理,得到该帧图像所有码点在该帧图像的像素点坐标;

定位运算模块,根据所有辅助码点和信息码点的所述像素点坐标,以及辅助码点的排列规律找出辅助码点并获得信息码点的排列顺序,提取出图像帧内每个码点块的信息码点所映射的位置信息;

控制模块,用于根据所述位置信息控制移动体的运动方向和运动状态。

10.如权利要求9所述的导航系统,其特征在于,还包括:信息交互模块,将所在的移动体的运动信息传递给其他移动体,并接收其他移动体的运动信息,所述控制模块根据所在移动体的位置信息以及其他移动体的运动信息控制所在移动体的运动方向和运动状态。

11.如权利要求10所述的导航系统,其特征在于,所述运动信息包括位置信息、位置对应的时间、速度、加速度、方位角当中的至少一种。

12.如权利要求9所述的导航系统,其特征在于,所述图像处理模块包括:码点锐化子模块,在以每个像素点为中心的a×a窗口内进行卷积运算;

梯度判定子模块,将完成卷积运算的图像划分成若干b×b窗口,以每个窗口的锐化灰度最小值的像素点为中心在c×c窗口内做多个方向的梯度判定,找到各方向的锐化灰度值由内向外依次递增的像素点标识为待过滤码点;

背景过滤子模块,以一个待过滤码点为中心d×d窗口内,根据该窗口内所有像素点的锐化灰度最大值和最小值求出灰度阈值;将锐化灰度值小于所述灰度阈值的该待过滤码点标识为准码点;

近处过滤子模块,以一个准码点为中心e×e窗口,将锐化灰度值为窗口内最小的所述准码点标识为有效码点,并记录该有效码点的像素点坐标。

说明书 :

可识别的码点块以及基于该码点块的导航方法及系统

技术领域

[0001] 本发明涉及室内定位技术领域,特别涉及一种基于码点图像识别的机器人定位方法及系统。

背景技术

[0002] 随着电子商务的兴起,智能且高效的仓储管理系统具有广阔的应用前景,通过仓储机器人进行货物拣选能够在减少出错率的同时提高效率,机器人在特定空间内完成高效、智能的自主运动是其中的关键所在,因此移动机器人自主定位导航、路径规划等核心技术成为关键。
[0003] 在室内环境如封闭仓库无法使用卫星定位时,因此需要使用室内定位技术作为卫星定位的辅助,解决卫星信号到达地面时较弱、不能穿透建筑物的问题。最终定位物体当前所处的位置。而当前存在的室内定位技术包括:Wi‑Fi技术、蓝牙技术、红外线技术、RFID技术、ZigBee技术、超声波技术和超宽带技术,但是这些室内定位技术相对成熟但是都存在着各自的不足。
[0004] Wi‑Fi技术以网络节点(无线接入点)的信息为基础和前提,对已接入的移动设备进行位置定位,最高精确度大约在1米至20米之间。如果定位测算仅基于当前连接的Wi‑Fi接入点,则Wi‑Fi定位就很容易存在误差,另外,Wi‑Fi接入点通常都只能覆盖半径90米左右的区域,而且很容易受到其他信号的干扰,从而影响其精度,定位器的能耗也较高。
[0005] 蓝牙技术是一种短距离低功耗的无线传输技术,最高精度大约在1米至10米之间,对于复杂的空间环境,蓝牙定位系统的稳定性稍差,受噪声信号干扰大。
[0006] 红外线技术是通过安装在室内的光学传感器,接收各移动设备(红外线IR标识)发射调制的红外射线进行定位。但是,由于光线不能穿过障碍物,使得红外射线仅能视距传播,容易受其他灯光干扰,并且红外线的传输距离较短,使其室内定位的效果很差。当移动设备放置在口袋里或者被墙壁遮挡时,就不能正常工作,需要在每个房间、走廊安装接收天线,导致总体造价较高。
[0007] ZigBee技术价格相对昂贵,其协议占带宽的开销量对信道带宽要求较高,进而影响通讯距离和环境适应性,并带来较大的功耗。
[0008] RFID定位技术利用射频方式进行非接触式双向通信交换数据,实现移动设备识别和定位的目的。但其不具有通信能力,抗干扰能力较差,不便于整合到其他系统之中,且用户的安全隐私保障和国际标准化都不够完善。
[0009] 超声波定位主要采用反射式测距(发射超声波并接收由被测物产生的回波后,根据回波与发射波的时间差计算出两者之间的距离),并通过三角定位等算法确定物体的位置。但容易受多径效应和非视距传播的影响,降低定位精度;同时,它还需要大量的底层硬件设施投资,总体成本较高。
[0010] 超宽带定位技术相比于其他定位方法性能优良,定位精度达到10厘米,虽然比其他方式高,但是依然有可能无法满足定位需求。
[0011] 因此,现有技术中的室内定位方案存在成本高、精度差、速度慢、环境局限性大或抗干扰能力弱等缺点,使其在仓储机器人的应用中受到局限。

发明内容

[0012] 为了解决现有技术中存在的上述技术问题,本发明提出了一种码点块以及基于该码点块的导航方法及系统。
[0013] 本发明提出的码点块,包括方框和设置在方框内的码点,所述码点包括:
[0014] 辅助码点,设置在所述方框内用于标识方框边界和信息码点在码点块内的相对位置;
[0015] 信息码点,根据一定规则设置在可被所述辅助码点标识的坐标位置上,用于映射所在的码点块在整个工作区域内的位置信息。
[0016] 在一个较优实施例中,所述信息码点和辅助码点为颜色自中心向四周逐渐由深到浅的圆点。若干个所述辅助码点在所述码点块相邻的两条垂直边一侧分别按一定固定间隔排列;排列辅助码点的两条垂直边的交叉处设置一个辅助码点,这个码点为所述码点块的起始点;所有码点块的辅助码点标识和信息码点相对位置的方向保持一致。
[0017] 在一个较优实施例中,所述位置信息包括码点块在整个工作区域内的具体坐标位置及路径规划信息。所述码点块的路径规划信息包括该码点块某个方向的禁止、加速、减速、限速、方向等信息当中的至少一种。
[0018] 在一个较优实施例中,所述方框为正方形的方框。
[0019] 本发明提出的导航方法,包括步骤:
[0020] 步骤1,在工作区域内铺满如上述技术方案所述的码点块,所述码点块均匀紧密排布;
[0021] 步骤2,以每秒N帧的速率实时获取移动体当前所在位置的包含至少一个码点块的图像;
[0022] 步骤3,对所获取的图像进行图像分析,得到所述移动体的位置信息;
[0023] 步骤4,根据所在的移动体的位置信息控制移动体的运动方向和运动状态,或者,根据所在的移动体的位置信息以及其他移动体的运动信息控制移动体的运动方向和运动状态。
[0024] 在一个实施例中,所述步骤3具体包括:
[0025] 步骤3.1,对所获取的图像进行锐化处理和分析,找到图像中的所有码点;
[0026] 步骤3.2,根据码点的排布规则找到辅助码点,其余判定为信息码点;
[0027] 步骤3.3,根据辅助码点调整图像的角度,使所有码点块的辅助码点以相同的方向基准来识别定位信息码点;
[0028] 步骤3.4,根据调整角度后的码点块内的信息码点进行排序以及像素点坐标转换,利用辅助码点确定每个码点块内的信息码点,根据每个码点块信息码点坐标转换后的像素坐标,恢复出的相对位置关系(即像素点相对于码点块坐标系的坐标),提取出信息编码;
[0029] 步骤3.5,对所述信息编码进行解码, 得到图像帧中码点块位置信息;根据码点块起始点在原始图像帧中的像素坐标位置对码点块位置信息进行偏移补偿,得到图像帧采集时刻的移动体位置信息。
[0030] 在一个实施例中,所述步骤3.1具体包括步骤:
[0031] 步骤3.1.1,在以每一个像素点为中心的a×a窗口内进行灰度锐化处理;
[0032] 步骤3.1.2,将灰度锐化处理后的图像均匀划分为若干个b×b窗口;
[0033] 步骤3.1.3,在每个b×b窗口内选择锐化灰度最小值的像素点,以该锐化灰度最小值的像素点为中心在c×c窗口的范围内做多个方向上的梯度判定;若该锐化灰度最小值的像素点各方向的锐化灰度值由内向外依次递增,则该锐化灰度最小值的像素点被判定为待过滤码点,其他锐化灰度值没有由内向外一次递增的像素点判定为非码点;
[0034] 步骤3.1.4,在以待过滤码点为中心的d×d窗口内,根据窗口内所有像素点的锐化灰度最大值和锐化灰度最小值求出灰度阈值;
[0035] 步骤3.1.5,判断所述待过滤码点的锐化灰度值是否小于灰度阈值;若小于,则判断该待过滤码点为准码点;
[0036] 步骤3.1.6,在以准码点为中心的e×e窗口内,判断准码点的锐化灰度值是不是该窗口内的灰度最小值,若是,则判定为有效码点。
[0037] 步骤3.1.7,获取所有有效码点的位于图像帧坐标系的像素点坐标以及该帧图像的采集时间。
[0038] 本发明提出的导航系统,采用上述技术方案所述的导航方法进行导航控制。
[0039] 本发明的导航系统具体包括:
[0040] 图像采集模块,以每秒N帧的速率实时获取移动体当前所在位置的包含至少一个码点块的图像;
[0041] 图像处理模块,对每帧图像的所有像素点的灰度进行锐化、梯度判定、背景过滤、边界过滤等处理,得到该帧图像所有码点在该帧图像坐标下的像素点坐标;
[0042] 定位运算模块,根据所有辅助码点和信息码点的所述像素点坐标,以及辅助码点的排列规律找出辅助码点并获得信息码点的排列顺序,提取出图像帧内每个码点块的信息码点所映射的位置信息;并通过偏移补偿得到图像帧采集时刻的移动体位置信息。
[0043] 控制模块,用于根据所述位置信息控制移动体的运动方向和运动状态。
[0044] 在一个较优实施例中,信息交互模块,将所在的移动体的运动信息传递给其他移动体,并接收其他移动体的运动信息,所述控制模块根据所在的移动体的位置信息以及其他移动体的运动信息控制移动体的运动方向和运动状态。所述运动信息包括位置信息、位置对应的时间、速度、加速度、方位角当中的至少一种。
[0045] 具体的,所述图像处理模块包括:
[0046] 码点锐化子模块,在以每个像素点为中心的a×a窗口内进行卷积运算;
[0047] 梯度判定子模块,将完成卷积运算的图像划分成若干b×b窗口,以每个窗口的锐化灰度最小值的像素点为中心在c×c窗口内做多个方向的梯度判定,找到各方向的锐化灰度值由内向外依次递增的像素点标识为待过滤码点;
[0048] 背景过滤子模块,以一个待过滤码点为中心d×d窗口内,根据该窗口内所有像素点的锐化灰度最大值和最小值求出灰度阈值;将锐化灰度值小于所述灰度阈值的该待过滤码点标识为准码点;
[0049] 近处过滤子模块,以一个准码点为中心e×e窗口,将锐化灰度值为窗口内最小的所述准码点标识为有效码点,并记录该有效码点的像素点坐标。
[0050] 对比于现有技术,本发明的位置定位无需无线通信,具有精度高、成本低、定位范围不受限、实时性强、不易受周围物理环境及电磁环境干扰等优点,其中,定位精度可达到1cm以下。采用自定义规码点布设规则,图像识别运算量更低,机器人在任意位置都能识别出精确位置,不需要无线通信,具有精度高、成本低、定位范围不受限、实时性强、不易受周围物理环境及电磁环境干扰等优点,其中定位精度可达到0.5cm以下。

附图说明

[0051] 下面结合实施例和附图对本发明进行详细说明,其中:
[0052] 图1是本发明系统构成示意图。
[0053] 图2是本发明地面布点示意图。
[0054] 图3是本发明图像处理流程示意图。
[0055] 图4是本发明的码点坐标转换示意图。

具体实施方式

[0056] 下面结合附图详细说明本发明的原理及实施例。
[0057] 本发明以仓储仓库作为工作区域的一个具体实施例,仓储仓库内的仓储机器人作为移动体的一个具体实施例来进行说明。
[0058] 如图1所示,本发明的导航系统包括了在工作区域的地面上布满的码点块,图像采集模块、图像处理模块、定位运算模块、信息交互模块以及控制模块。
[0059] 其中,码点块在仓储仓库中的工作区域的地面均匀紧密排布,各码点块之间没有空白间隙。如图2所示,每个码点块包含一个正方形的方框,方框内设置有按一定规律排列的若干点状图像,这些点状图像称为码点。相邻码点的距离大于长度n,n>0;码点的颜色比该码点周围的颜色深,例如码点可以是黑色或彩色或者是有灰度差别的点,而周围是白色的或者是比码点灰度值小的颜色。
[0060] 这些码点分为两类:辅助码点和信息码点。其中辅助码点按固定间隔排列在码点块上边界的水平线段上和码点块左边界的垂直线段上,且水平线段和垂直线段相交处布设的码点为同一个码点,该相交处的码点作为该码点块的起始点。辅助码点用来标识方框内的具体坐标位置。信息码点根据一定规则设置在可被辅助码点标识的坐标位置上,用来映射所在的码点块在整个工作区域内的位置信息。具体的位置信息包含该码点块在地面的坐标位置、路径规划等编码信息,其中,路径规划信息可以包括某个方向的禁止信息、加速信息、减速信息或限速信息、危险区预警(如禁止入内,绕行)、转弯提醒等。不同码点块的信息码点排列方式不同,在机器人工作地面具有唯一性,因为码点块的信息码点排列方式是该码点块的位置坐标、路径规划等信息的编码信息的映射,根据其排列方式可以还原出编码信息;当需要定位时,通过对编码信息进行解码就可以还原出该码点块的位置坐标、路径规划等信息。码点块的位置坐标定义为码点块的起始点相对于地面的坐标位置,在本实施例中,即左上角第一个码点相对于地面的位置坐标。编码信息是0 F的16进制的序列数,可以~表示为h0, h1, h2,…hi,每一个16进制数对应一个码点。
[0061] 在一个具体实施例中,码点块码点的排列规律如下。
[0062] 1)每个码点为直径0.9厘米的同心圆点状图像;点状图像颜色从中心点向四周渐变,颜色由深到浅;码点颜色比该码点周围的颜色深。
[0063] 2)辅助码点按2.4厘米间距排列在码点块上边界的水平线段上和码点块左边界的垂直线段上,且水平线段和垂直线段相交处布设一个码点,作为该码点块的起始点,本实施例中水平方向和垂直方向各19个辅助码点,每个方向包括均重叠的起始点。
[0064] 3)从垂直方向的第二个辅助码点开始水平方向排列信息码点,排列规则如下:取第i个编码信息的16进制序列数h(i 从h0开始),在2.4厘米×(2+hi)的位置按一定规律排列hi对应的码点;以此类推,从垂直方向的第二个辅助码点开始,每个垂直方向的辅助码点对应的水平方向排列一个信息码点,一个码点块可以排列18个信息码点。
[0065] 在其他实施例中,码点块的方框也可以采用长方形等形状,一般而言,采用正方形的码点块相对于长方形来说是更优实现方式。另外,在其他实施例中,辅助码点的也可以不设置在左上角,只要同一个工作区域内的所有码点块的辅助码点标识信息码点坐标位置的方向保持一致即可,例如,辅助码点也可以在左下角相邻的两条垂直边一侧分别按一定固定间隔排列。
[0066] 图像采集模块以每秒N帧的速率实时对地面拍照以采集图像。每帧图像至少包含一个完整码点块的图像。图像采集模块将采集到的图像帧及采集时间传输给图像处理模块。
[0067] 图像处理模块包含码点锐化子模块、梯度判定子模块、背景过滤子模块及近处过滤子模块,分别对图像帧内所有像素点进行锐化、梯度判定、背景过滤和近处过滤处理,得到一帧图像内若有码点在该帧图像内的像素点坐标。
[0068] 其中,锐化子模块以每一个像素点为中心的a×a窗口,将该窗口内的所有像素点的灰度值做积分运算,式中,  为锐化灰度值, 为原始灰度值,dx与dy是其他点相对于中心点(x,y)在坐标上的偏移量,即(x+dx,y+dy)在dx,dy的取值包含0的情况下,包含了该a×a窗口内的所有像素点。
[0069]
[0070] 该积分结果作为该像素点的灰度锐化结果。经过锐化子模块处理,码点中心被加强,图像噪声被平滑,便于后续的梯度判定及过滤处理。
[0071] 其中,梯度判定子模块将锐化后的图像均匀划分成若干b×b窗口,在每个b×b窗口内寻找灰度最小值的像素点,这个灰度最小值的像素点可能是一个,也可能是多个,以每个窗口锐化灰度最小值的像素点为中心的c×c窗口内做多个方向的梯度判定(即判定是否有分布相邻的码点);如各方向的锐化灰度值由内向外依次递增,则该像素点被判定为待过滤码点,其余不满足这个规则的像素点被判定为非码点。
[0072] 其中,背景过滤子模块以一个待过滤码点为中心d×d窗口内,根据该窗口内所有像素点的锐化灰度最大值和最小值求出灰度阈值,在一个具体实施例中可以是求灰度最大值和灰度最小值的平均值来作为灰度阈值,当然,在其他实施例中,也可以根据实际情况设置不同值的权重,从而得到更加符合需要的灰度阈值;比较该待过滤码点的锐化灰度值和该窗口的灰度阈值,若该待过滤码点的锐化灰度值小于该窗口的灰度阈值,则判定该待过滤码点为准码点。背景过滤子模块对每一个待过滤码点都进行背景过滤,得到所有的准码点。经过背景过滤子模块,过滤掉大于阈值的待过滤码点,以减少码点误判。
[0073] 其中,近处过滤子模块以一个准码点为中心e×e窗口内,将该准码点的锐化灰度与窗口内其它准码点的锐化灰度进行比较,若该准码点的灰度最小,则该准码点被判定为有效码点,并记录该有效码点的像素点坐标。每个准码点都需要经过近处过滤。经过近处过滤,可以过滤掉一定范围内灰度非最小值的准码点,达到进一步减少码点误判的效果。
[0074] 图像处理模块完成所有处理后,将一帧图像中所有码点的像素坐标及该帧图像采集时间输出至定位运算模块。
[0075] 定位运算模块对图像处理模块输出的码点的像素点坐标进行计算处理,首先利用辅助码点的排列规律,找到每个码点块的起始点,确定辅助码点及其所在直线段,然后根据直线段信息旋转图像,将辅助码点的两条直线段旋转到水平和垂直方向,且旋转后每个码点块的起始点位于该码点块左上角;对旋转后的码点进行排序及像素点坐标转换,公式如下,相应坐标转换示意图如图4所示。
[0076]
[0077] 其中θ为坐标系旋转参数,即辅助码点所在直线与图像帧坐标系所夹角度,(x0,y0)为码点块起始点的在原始图像帧的像素点坐标,(x,y)是一个码点在图像帧的原始像素坐标,(x’,y’)是该码点在对应码点块以码点块起始点为原点的像素坐标。
[0078] 根据上述坐标转换公式,得出各码点相对于码点块坐标系的坐标。根据各个码点’的纵坐标对码点进行排序,再根据排序后的码点横坐标,通过下述公式: xi=2.4厘米×(2+hi),提取出信息编码,即h0,h1,h2,…hi;对信息编码进行解码,得到各个码点块的位置坐标及路径规划等信息;根据一个或多个码点块位置坐标及其每个码点块起始点在图像帧的像素点原始像素坐标,计算出图像帧起点的位置坐标,作为该帧图像采集时刻的位置坐标,也即该帧采集时刻机器人地面位置坐标,并将该位置坐标发送给控制模块。控制模块根据获取到的位置信息控制机器人的运动方向和运动状态。
[0079] 定位运算模块根据机器人历史信息进一步计算出机器人速度、加速度、方位角等一系列运动学信息,连同位置信息、路径规划信息传递至信息交互模块。
[0080] 当移动体有多个时,各移动体的信息交互模块实时发送本机器人的位置信息、速度、加速度、方位角等运动信息及路径规划信息,并实时接收其他机器人运动信息,为后续路径规划、导航等做好准备。因此,各移动体的控制模块除了根据定位运算模块给出的本身的位置信息以外,也需要根据信息交互模块收到的其他机器人的运动学信息,从而对机器人的运动方向和运动状态进行控制。
[0081] 下面对本技术方案进行详细的距离说明。
[0082] 图像采集模块以每秒50帧的速度进行实时采集,每帧图像像素512×512,每帧图像对应的地面面积是150厘米×150厘米,包含至少1个码点块,并上传至图像处理模块。
[0083] 如图3所示,进入到图像处理模块后,对图像帧内像素点的灰度数据进行锐化、梯度判定、背景过滤和近处过滤处理,得到一帧图像内若有码点在该帧图像内的像素点坐标。图像处理流程图如图3所示。
[0084] 在锐化阶段,遍历一帧图像中的每一个像素点,在每一个像素点为中心的5×5窗口,做卷积运算,以该卷积结果作为该像素点的锐化结果。图像边界处窗口会超过帧图像范围的像素点,不计算卷积,给予忽略。
[0085] 在梯度判定阶段,当像素点锐化进行到一定数量后,开始一帧的梯度判定。在锐化后的图像中取5×5窗口,以窗口灰度最小值为中心的7×7窗口做8个方向的梯度判定,即各方向的像素灰度值由内向外依次递增,当窗口灰度最小值位于锐化后图像帧的第一行、第一列、最后一行、最后一列时,认为该点在至少三个方向无法进行梯度判定,此时该点不予判定,直接判定为非码点。通过梯度判定的点判定为待过滤码点。
[0086] 在背景过滤阶段,在锐化后的图像中取4×4窗口,若该窗口内灰度最小值通过梯度判定,则以该像素点为中心,在27×27大小的窗口寻找锐化灰度的最大值及最小值,取两者和的二分之一作为窗口阈值,将待过滤码点与窗口阈值进行比较,若待过滤点锐化灰度值小于窗口阈值,则认定背景过滤通过,判定为准码点;否则将该点判定为非码点。
[0087] 在近处过滤阶段,以准码点为中心13×13窗口,将准码点的锐化像素灰度与窗口内每一个像素点的锐化灰度值进行比较,若准码点的锐化灰度最小,则该准码点通过过滤,判定为有效码点;未通过近处过滤的点判定为非码点。
[0088] 图像经过处理后,得到当前帧图像中各有效码点相对于帧图像空间的位置坐标、方位角、以及当前帧采集时间等信息,将其传至定位运算模块。
[0089] 定位运算模块对图像处理模块输出的码点像素坐标进行计算处理,处理过程如图3和图4所示。首先利用辅助码点的排列规律,找到辅助码点及其所在直线段,确定码点块的起始点,如图3中的五角星位置,然后确定每个码点块的范围,并提取出每个码点块包含的信息码点;根据直线段信息旋转图像,将辅助码点的两条直线段旋转到水平和垂直方向,且两条直线段形成的直角处于左上角;根据图像旋转,将信息码点重新排序,恢复码点原始的相对位置关系,并根据恢复后的相对位置关系,提取出信息编码;对信息编码进行解码,得到码点块的相对于地面位置坐标及路径规划信息;根据码点块相对于地面位置坐标及码点块在图像帧的像素点起点坐标,计算出图像帧起点(图3中三角形位置)的相对于地面的位置坐标,作为该帧采集时刻位置坐标,也即该帧图像采集时刻机器人地面位置坐标,然后将该位置坐标发送给控制模块,由控制模块来控制机器人的运动方向和运动状态。
[0090] 由于仓储机器人的数量可能不止一个,为了多个机器人之间可以相互协调工作,定位运算模块根据机器人历史信息进一步计算出机器人速度、加速度、方位角等一系列运动学信息,连同位置信息、路径规划信息传递至信息交互模块。
[0091] 信息交互模块实时发送本机器人的位置坐标、速度、加速度、方位角等运动学信息及路径规划信息,并实时接收其他机器人运动信息,为后续路径规划、导航等做好准备。控制模块则根据所在的本机器人的位置信息以及其他机器人的运动信息控制本机器人的运动方向和运动状态。
[0092] 本发明在整个图像处理过程中,各个阶段均未应用到无线传输,所以本发明不易受电磁环境干扰。并且本发明的每个码点在仓库内的相对位置都是可以得知的,因此,本发明的定位精度相当高,经过上述处理,定位精度可达到1厘米以下,以上面的具体实施例来计算:每帧图像对应的地面面积是150厘米×150厘米,图像像素512×512,码点定位精度及坐标定位精度可以达到150÷512 ≈0.3厘米。
[0093] 综上所述,本发明提供了一种基于码点图像识别的机器人定位方法及系统,无需无线通信,对比现有室内定位技术,具有精度高、成本低、定位范围不受限、实时性强、不易受周围物理环境及电磁环境干扰等优点,其中,定位精度可达到0.5cm以下。相比较于现有技术,本专利在有限空间内任何位置都能进行精准定位,实时性及精度都有显著提高;机器人路径不局限在预设的路径上,可以延任意方向行走,且可以根据自身运动学信息及其他机器人运动学信息实时优化路径。
[0094] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。