一种自定义二维码定位和定向系统及实现方法与流程

文档序号:13137562阅读:560来源:国知局
一种自定义二维码定位和定向系统及实现方法与流程

本发明涉及二维码定位和定向技术领域,具体涉及一种自定义二维码定位和定向系统及实现方法,主要应用于自动导航车系统,也可应用到其它类似需要快速精确定位的工业场景。



背景技术:

在工业自动化尤其是自动导航车领域,如何实现精确定位和定向,是技术研究的重点也是难点所在。目前市场中主流的自动导航车定位方法有rfid定位、超声波定位、激光雷达定位以及越来越受到人们关注的普通二维码定位技术等。这些定位方法在一定程度上满足了自动导航车的定位功能需要,但它们的缺点也十分明显。

rfid定位方法因为其结构特性,定位精度有限,很难实现毫米级别的定位,且无法实现定向功能;超声波定位的速度慢,抗干扰能力差,精度也很难达到厘米或者更高的水平;激光雷达定位的精度高,速度快,但激光设备的构造复杂,成本较高,对运行环境要求苛刻;采用普通二维码定位方法可以实现高精度的定位和定向,但这种方法一般采用工业相机以及工控机组合的系统架构,成本较高,体积也较大。



技术实现要素:

本发明针对现有自动导航车一般定位方法的速度慢、精度低以及成本高的问题,提供了一种自定义二维码定位和定向系统及实现方法,其定位速度快、精度高、准确率高、结构简单,且能够有效的降低制造成本。

本发明为实现上述目的,所采用的技术方案是:一种基于自定义二维码的定位和定向系统,其特征在于:由主控制单元、摄像头单元以及自定义二维码标签组成;主控制单元采用stm32f767芯片,摄像头单元采用mt9v034图像传感器,其中主控制单元通过dcmi接口的d0~d7引脚对应于摄像头单元的dout0~7引脚分别相连,进行并行数据传输;主控制单元dcmi接口的vsync引脚与摄像头单元的vsync引脚相连,进行场同步;主控制单元dcmi接口的hsync引脚与摄像头单元的hsync引脚相连,进行行同步;主控制单元dcmi接口的pclk引脚与摄像头单元的pixclk引脚相连,同步像素时钟;主控制单元的pb4和pb3引脚分别对应于摄像头单元的sdk和sda两个引脚相连,负责控制命令数据传输;主控制单元的pc13引脚与摄像头单元的pwdn引脚相连,负责摄像头单元的电源控制;

所述自定义二维码标签具有一个用于快速识别的黑色正方形边框,边框的实际尺寸为l_0,实际应用中,l_0根据需要可自由选择,保证所有二维码标签边框大小相同即可,该边框不仅用来快速识别二维码,还用来计算拍摄二维码所得到图像中每个像素点的尺寸;边框内部为等距排列且相同大小的黑色和白色正方形编码色块,编码色块的行数和列数要求相同,且每行、每列不少于6个编码色块,不多于10个编码色块;

边框和编码色块之间以及各编码色块之间使用相同宽度的白色分割线相互隔离;编码色块中位于顶点的四个色块为辅助定位色块,辅助定位色块由三个黑色辅助定位色块及一个白色辅助定位色块组成,或由一个黑色辅助定位色块和三个白色辅助定位色块组成,选择数量为一个的辅助定位色块分布在二维码标签的右下角,但并不局限于此,可以根据实际需要自由选择,保证各二维码标签规则统一即可,所述各二维码标签规则是指,所有二维码标签的黑色辅助定位色块及白色辅助定位色块的排列顺序以及数量相同,并选择两种色块中数量为一个的辅助定位色块设置在所在区域为二维码的右下角;

编码色块中除辅助定位色块外,其余为有效数据色块组和数据校验色块组,有效数据色块组和数据校验色块组中最后8个色块为数据校验色块组,其余为有效数据色块组;有效数据色块组和数据校验色块组中黑色色块表示1,白色色块表示0,这些色块按照从左到右,从上到下的顺序进行二进制编码,黑色色块与白色色块的数量和排列顺序由二维码所表达的二进制数值所决定。

一种基于自定义二维码的定位和定向系统的实现方法,其特征在于:首先测量二维码标签中心点的实际坐标(x_0,y_0)以及二维码标签的方向角度值(a_0),并存储到主控制单元中,主控制单元中控制程序的主要流程包括:

步骤a-1,通过摄像头单元采集图像数据;

步骤a-2,对步骤a-1得到的图像数据进行二值化处理,得到二值化图像;

步骤a-3,在步骤a-2得到的二值化图像中查找符合自定义的二维码标签外围边框规则的正方形边界信息,如果未查找到该边界信息,则判定未找到二维码,返回步骤a-1,如果找到该边界信息,进行下一步操作;

步骤a-4,在步骤a-3中得到的边界信息中,查找二维码的四个辅助定位色块,如果未找到四个辅助定位色块,则判定未找到二维码,返回步骤a-1,否则得到图像中二维码边界上四个顶点a、b、c、d的像素坐标a(x_a,y_a)、b(x_b,y_b)、c(x_c,y_c)、d(x_d,y_d),并进行下一步操作;

步骤a-5,

计算图像中每个像素的实际尺寸p,计算方法为

计算二维码相对于摄像头的位置偏移量(x_1,y_1),计算方法为

计算二维码图像相对于整个图像的偏转角a_1,计算方法为

步骤a-6,对步骤a-3得到的边界区域内的二维码图像进行拉伸和旋转操作,得到便于识别的二维码图像;

步骤a-7,对步骤a-6中得到的二维码图像进行数据解码,得到二维码的有效编码和crc校验值,并对数据进行crc校验,如果未通过crc校验,放弃此二维码,返回步骤a-1,否则进行下一步操作;

步骤a-8,读取相应二维码标签所在的实际坐标(x_0,y_0)和方向角度值(a_0);

步骤a-9,通过二维坐标转换,计算得到摄像头单元的实际坐标(x_2,y_2),计算方法为

计算得到摄像头单元的实际角度值a_2,计算方法为

a2=a0-a1

通过以上步骤,最终得到摄像头单元的实际坐标(x_2,y_2)以及实际方向角a_2。

本发明的有益效果是:

本发明提供了一种基于自定义二维码的定位和定向系统,该定位和定向系统采用一种自定义二维码图形、高速图像传感器以及stm32f767作为主控制器。相比于rfid及超声波等一般定位方法其定位和定向速度快、精度高,相比于激光雷达定位技术,其结构简单,成本低,与一般的qr二维码定位方案对比,其定位速度快,识别率高,结构简单,成本较低。经实际测算,系统每秒钟最高可拍摄60张图像并进行处理,其定位精度可达到0.5mm以上,定向精度可达到0.5度以上。

附图说明

图1是本发明主控制单元与摄像头单元连接的示意图;

图2是本发明自定义二维码标签的示意图;

图3是本发明摄像头单元拍摄到二维码图像的示意图;

图4是本发明实现定位和定向方法流程图。

图5是本发明在自动导航车运行环境中布置方法示意图。

具体实施方式

为了更清楚的对本发明进行解释并展现其优点,这里参照附图对本发明在自动导航车中应用的具体实施方法做进一步详细阐述。

如图1所示,一种基于自定义二维码的定位和定向系统,由主控制单元、摄像头单元以及二维码标签2组成。

其中主控制单元通过dcmi接口的d0~d7引脚与摄像头单元dout0~dout7分别相连,进行并行数据传输;主控制单元dcmi接口的vsync引脚与摄像头单元的vsync引脚相连,进行场同步;主控制单元dcmi接口的hsync引脚与摄像头单元的hsync引脚相连,进行行同步;主控制单元dcmi接口的pclk引脚与摄像头单元的pixclk引脚相连,同步像素时钟;主控制单元的pb4和pb3引脚分别对应于摄像头单元的sdk和sda两个引脚相连,负责控制命令数据传输;主控制单元的pc13引脚与摄像头单元的pwdn引脚相连,负责摄像头单元的电源控制。

如图2所示,一种能够被快速识别,用于定位和定向功能的二维码标签具有一个用于快速识别的黑色正方形边框2-1,边框的实际尺寸为l_0,实际应用中,l_0根据需要可自由选择,可以设定为任意值,保证所有二维码标签大小相同即可,本实施例中,l_0取50mm,该边框2-1不仅用来快速识别二维码,还用来计算拍摄二维码所得到图像中每个像素点的尺寸。边框内部为等距排列且相同大小的黑色和白色正方形编码色块,编码色块的行数和列数要求相同,根据二维码标签的总数,一般每行、每列不少于6个编码色块,不多于10个编码色块。

边框2-1和编码色块之间以及各编码色块之间使用相同宽度的白色分割线2-3相互隔离;编码色块中位于顶点的四个色块为辅助定位色块,辅助定位色块一般由三个黑色辅助定位色块2-4及一个白色辅助定位色块2-5组成,或由一个黑色辅助定位色块2-4和三个白色辅助定位色块2-5组成,一般选择数量为一个的辅助定位色块分布在二维码标签的右下角,但并不局限于此,可以根据实际需要自由选择,保证各二维码标签规则统一即可,各二维码标签规则是指,所有二维码标签的黑色辅助定位色块2-4及白色辅助定位色块2-5的排列顺序以及数量相同,选择两种色块中数量为一个的辅助定位色块用来标定二维码的方向,设置在所在区域为二维码的右下角。

本实施例中选择白色辅助定位色块2-5设置在所在区域为二维码的右下角。

编码色块中除辅助定位色块外,其余为有效数据色块组2-2和数据校验色块组2-6,有效数据色块组2-2和数据校验色块组2-6中最后8个色块为数据校验色块组2-6,其余为有效数据色块组2-2,有效数据色块组2-2和数据校验色块组2-6中黑色色块2-2-1表示1,白色色块2-2-2表示0,这些色块按照从左到右,从上到下的顺序进行二进制编码,黑色色块2-2-1与白色色块2-2-2的数量和排列顺序由二维码所表达的二进制数值所决定。

如图2至图5所示,本实施例选择每行为6个色块,编码为二进制000000000010011100011001(十进制10009)的二维码图形为例。边框2-1和编码色块之间以及各编码色块之间使用相同宽度的白色分割线2-3相互隔离,减少色块间的干扰。编码色块中位于顶点的四个色块为辅助定位色块,所有二维码标签的黑色辅助定位色块2-4及白色辅助定位色块2-5的排列顺序以及数量相同,本实施例中,辅助定位色块由三个黑色辅助定位色块2-4及一个白色辅助定位色块2-5组成,且白色辅助定位色块2-5分布在二维码标签的右下角。编码色块中除辅助定位色块外,其余为有效数据色块组2-2和数据校验色块组2-6,有效数据色块组2-2和数据校验色块组2-6中最后8个色块为数据校验色块组2-6,其余为有效数据色块组2-2。

有效数据色块组2-2和数据校验色块组2-6中黑色色块2-2-1表示1,白色色块2-2-2表示0,这些色块按照从左到右,从上到下的顺序进行二进制编码,黑色色块2-2-1与白色色块2-2-2的数量和排列顺序由二维码所表达的二进制数值所决定。本实施例中,有效编码数值为10009,有效编码二进制数值为000000000010011100011001,数据校验值为117,数据校验值二进值数值为01110101。

在本实施例中,二维码定位和定向系统本安装在自动导航车驱动轮的中心位置,多个不同编码的二维码标签粘贴在自动导航车运行环境的地面上,且对每个二维码标签对应的具体坐标、方向进行记录,存储在二维码定位和定向系统的主控制器中。比如,本实施例中编号为10009的二维码标签,其实际坐标为(x_0=1000mm,y_0=6000mm),方向角度值为(a_0=90度)。当自动导航车运行到该二维码上方时,二维码定位和定向系统开始实施二维码定位,其主要流程包括:

步骤a-1,通过摄像头单元采集图像数据;

步骤a-2,对步骤a-1得到的图像数据进行二值化处理,得到二值化图像;

步骤a-3,在步骤a-2得到的二值化图像中查找符合自定义的二维码标签2外围边框2-1规则的正方形边界信息,如果未查找到该边界信息,则判定未找到二维码,返回步骤a-1,如果找到该边界信息,进行下一步操作;

步骤a-4,在步骤a-3中得到的边界信息中,查找二维码的四个辅助定位色块,如果未找到四个辅助定位色块,则判定未找到二维码,返回步骤a-1,否则得到图像中二维码边界上四个顶点a、b、c、d的像素坐标a(x_a=80,y_a=102)、b(x_b=167,y_b=52)、c(x_c=117,y_c=-35)、d(x_d=30,y_d=15),并进行下一步操作;

步骤a-5,

计算图像中每个像素的实际尺寸p,计算方法为

带入数据,得:

既图像中每个像素相当于实际0.5mm的距离。

计算二维码相对于摄像头单元的位置偏移量(x_1,y_1),计算方法为

带入数据得:

既二维码标签在摄像头单元中心位置的右侧49.2mm,上方(前方)21.8mm处。

计算二维码图像相对于整个图像的偏转角a_1,计算方法为

带入数据得:

既二维码标签与摄像头单元的夹角为-29.9度。

步骤a-6,对步骤a-3得到的边界区域内的二维码图像进行拉伸和旋转操作,得到便于识别的二维码图像;

步骤a-7,对步骤a-6中得到的二维码图像进行数据解码,得到二维码的有效编码十进制数10009和crc校验值十进制数117,并对数据进行crc校验,如果未通过crc校验,放弃此二维码,返回步骤a-1,否则进行下一步操作;

步骤a-8,读取相应二维码标签所在的实际坐标(x_0=1000mm,y_0=6000mm)和方向角度值(a_0=90度);

步骤a-9,通过二维坐标转换,计算得到摄像头单元的实际坐标(x_2,y_2),计算方法为

带入数据得:

计算得到摄像头单元的实际角度值a_2,计算方法为

a2=a0-a1

带入数据:

a2=90-(-29.9)=119.9(度)

通过以上步骤,最终得到摄像头单元也就是自动导航车的实际坐标(x_2=968.2mm,y_2=5956.6mm)以及实际方向角a_2=119.9度。

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