智能扫雪机器人定位系统及方法转让专利

申请号 : CN201610947660.X

文献号 : CN106530352B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋永端许磊赖俊峰郎作平涂学海揭兴威

申请人 : 重庆大学

摘要 :

本发明公开了一种智能扫雪机器人定位系统及方法,定位系统包括信标、水平旋转云台、摄像头、激光传感器、以及控制器;定位方法包括步骤:1)控制器控制载有摄像头的水平旋转云台转动搜索信标;2)当摄像头扫描到信标时识别信标;3)通过追踪算法使信标图移动到摄像头的正中心;4)控制激光传感器测量扫雪机器人与信标之间的距离;5)分别测得扫雪机器人与两个信标之间的距离;6)建立直角坐标系,解算出当前扫雪机器人的坐标。本发明智能扫雪机器人定位系统及方法,抗干扰能力强,能准确的识别信标,以及准确的定位扫雪机器人,适用于户外机器人定位,系统工作可靠性高,且系统结构简单,造价低。

权利要求 :

1.一种用于智能扫雪机器人定位系统的定位方法,所述智能扫雪机器人定位系统包括固定设置在扫雪机器人前方的第一信标和第二信标、设置在扫雪机器人下方的水平旋转云台、设置在水平旋转云台上的摄像头、设置在水平旋转云台上的激光传感器、以及控制器,所述摄像头、激光传感器和水平旋转云台与控制器电连接,所述信标为圆柱状,所述信标上设置有由四行两列黑白相间的矩形组成的信标图;其特征在于,所述定位方法包括以下步骤:

1)控制器控制载有摄像头的水平旋转云台以一定速度转动,并控制摄像头进行扫描,搜索信标;

2)当摄像头扫描到信标时,通过下述步骤识别信标:

a、将摄像头采集的图像转化为灰度图像,将摄像头采集的图像转换为灰度图的公式为:Gray=0.299R+0.587G+0.114B,

其中Gray是灰度值,R为红色通道值,G为绿色通道值,B为蓝色通道值;

b、将信标图中的四个相邻矩形的公共点作为角点J,以角点J为中心定义4个方向e1,e2,e3和e4,所述四个相邻矩形中的第一矩形、第二矩形、第三矩形和第四矩形按逆时针排列,其中方向e1位于第一矩形中,方向e2位于第二矩形中,方向e3位于第三矩形中,方向e4位于第四矩形中;

c、以摄像头采集的信标图中的像素点(i,j)为中心,若沿着特征方向e1和e3上像素点灰度值的累加和与沿着特征方向e2和e4上像素点灰度值的累加和差异大,则认为该像素点为信标图中的角点;

角点检测算子为:

CBW(i,j)=|∑I(l,m)-∑I(p,q)|,

其中,I(l,m)代表以点(i,j)为中心沿着e1和e3方向上遍历的数目为n的像素点的灰度值;I(p,q)代表以点(i,j)为中心沿着e2和e4方向遍历的数目为n的像素点的灰度值;选取CBW的局部最大值作为角点所在位置;

d、遍历一帧图像的所有像素点,计算每个点的BW值,记录下最大的三个BW值以及所对应的像素点的坐标,保存在一个大小为3的数组BW[]和Point[]中;如果计算出新的点BW值大于之前保存的BW[]数组中的所有值,则更新BW[]数组,保证BW[]数组中的BW值都是最大的三个值;并且在保存新的最大BW值点的过程中,执行以下判断:若果新的点的坐标不在之前三个点坐标的周围,则用这个新的点代替之前保存的BW[]数组中BW数值最小的点,否则忽略这个点;如果计算出新的点BW值大于之前保存的BW[]数组中的所有值,则用这个新的点代替之前保存的BW[]数组中BW数值最小的点,否则忽略这个点;

e、根据BW[]数组中三个角点是否满足以下三个条件来判断摄像头当前拍下的一帧图中是否有所设置的信标条件1:BW[]数组中任意一个BW值的大小是否满足阈值PLINE条件,即BW[]数组中的任意一个BW值都大于PLINE时成立;

条件2:Point[]数组中三个像素点的坐标是否在同一直线上,如果在一条直线上,则成立;

条件3:判断三个像素点的中间相隔的距离在设定的误差范围内是否相等,如果相等,则成立;

当满足以上三个条件的时候,则认为当前摄像头所拍下的当前一帧的图像中有所设置的信标;

3)通过追踪算法,控制水平旋转云台转动,使信标图移动到摄像头的正中心;

4)控制激光传感器开始测量,通过滤波算法,准确的得出扫雪机器人与信标之间的距离;

5)重复步骤1)-步骤4),分别测得扫雪机器人与两个信标之间的距离;

6)建立直角坐标系,解算出当前扫雪机器人的坐标:

令第一信标为A点,第二信标为B点,扫雪机器人为C点;同时,以A为原点,AB为y轴,垂直于AB的直线为x轴,建立一个直角坐标系;

利用余弦定理:

求出θ,其中:b为激光传感器测得的第一信标与扫雪机器人间的

距离,a为激光传感器测得的第二信标与扫雪机器人间的距离,c为第一信标与第二信标间的实测距离;由正弦公式得扫雪机器人的坐标位置:x=bsinθ,y=bcosθ。

说明书 :

智能扫雪机器人定位系统及方法

技术领域

[0001] 本发明涉及扫雪机器人技术领域,特别涉及一种扫雪机器人的定位技术。

背景技术

[0002] 智能扫雪机器人在户外扫雪时,需要对其进行定位,以对其行走进行导航。从测量原理的角度上看,现有室外定位技术分为GPS定位和惯性传感器定位。GPS由于受到环境的影响,需要使用局部差分方法来提高定位的精度,这样局域差分GPS的数学模型对定位精度的提高起到了决定性的作用。与此同时,当物体处在GPS信号的盲区的时候,需要采用惯性传感器来进行定位,将两者融合起来可以有效的改善定位精度,但是也只能实现亚米级,而且造价高,不适合消费类机器人。
[0003] 另外还有采用wifi、蓝牙等定位方式的,当同样存在精度低的问题。
[0004] 也有人提出通过视觉识别和图像处理来定位的方式,但是这种方式同样存在造价高,精度低的缺点。

发明内容

[0005] 有鉴于此,本发明的目的是提供一种智能扫雪机器人定位系统及方法,以解决现有智能扫雪机器人定位系统造价高、定位精度低的问题。
[0006] 本发明智能扫雪机器人定位系统,包括固定设置在扫雪机器人前方的第一信标和第二信标、设置在扫雪机器人下方的水平旋转云台、设置在水平旋转云台上的摄像头、设置在水平旋转云台上的激光传感器、以及控制器,所述摄像头、激光传感器和水平旋转云台与控制器电连接,所述信标为圆柱状,所述信标上设置有由四行两列黑白相间的矩形组成的信标图。
[0007] 本发明还公开了智能扫雪机器人定位系统的定位方法,包括以下步骤:
[0008] 1)控制器控制载有摄像头的水平旋转云台以一定速度转动,并控制摄像头进行扫描,搜索信标;
[0009] 2)当摄像头扫描到信标时,通过下述步骤识别信标:
[0010] a、将摄像头采集的图像转化为灰度图像,将摄像头采集的图像转换为灰度图的公式为:
[0011] Gray=0.299R+0.587G+0.114B,
[0012] 其中Gray是灰度值,R为红色通道值,G为绿色通道值,B为蓝色通道值;
[0013] b、将信标图中的四个相邻矩形的公共点作为角点J,以角点J为中心定义4个方向e1,e2,e3和e4,所述四个相邻矩形中的第一矩形、第二矩形、第三矩形和第四矩形按逆时针排列,其中方向e1位于第一矩形中,方向e2位于第二矩形中,方向e3位于第三矩形中,方向e4位于第四矩形中;
[0014] c、以摄像头采集的信标图中的像素点(i,j)为中心,若沿着特征方向e1和e3上像素点灰度值的累加和与沿着特征方向e2和e4上像素点灰度值的累加和差异大,则认为该像素点为信标图中的角点;
[0015] 角点检测算子为:
[0016] CBW(i,j)=|∑I(l,m)-∑I(p,q)|,
[0017] 其中,I(l,m)代表以点(i,j)为中心沿着e1和e3方向上遍历的数目为n的像素点的灰度值;I(p,q)代表以点(i,j)为中心沿着e2和e4方向遍历的数目为n的像素点的灰度值;对于信标图中角点区域内的像素点,BW算子的响应值较大;而对于平坦区域和边缘区域内的像素点,BW算子的响应值较小;因此选取CBW的局部最大值作为角点所在位置;
[0018] d、遍历一帧图像的所有像素点,计算每个点的BW值,记录下最大的三个BW值以及所对应的像素点的坐标,保存在一个大小为3的数组BW[]和Point[]中;如果计算出新的点BW值大于之前保存的BW[]数组中的所有值,则更新BW[]数组,保证BW[]数组中的BW值都是最大的三个值;并且在保存新的最大BW值点的过程中,执行以下判断:
[0019] 若果新的点的坐标不在之前三个点坐标的周围,则用这个新的点代替之前保存的BW[]数组中BW数值最小的点,否则忽略这个点;如果计算出新的点BW值大于之前保存的BW[]数组中的所有值,则用这个新的点代替之前保存的BW[]数组中BW数值最小的点,否则忽略这个点;
[0020] e、根据BW[]数组中三个角点是否满足以下三个条件来判断摄像头当前拍下的一帧图中是否有所设置的信标
[0021] 条件1:BW[]数组中任意一个BW值的大小是否满足阈值PLINE条件,即BW[]数组中的任意一个BW值都大于PLINE时成立;在实际的黑白角点BW计算中,在不同的光照环境下,如果是角点,则它的BW值总是会大于一个值,这个值可通过实际试验测量得到,这个通过实际试验测量的值就是角点BW值的阈值PLINE;因此,通过公式计算出某个像素点的BW值小于这个阈值PLINE,则认为这个点不是所需要的角点,同时该目标也不是信标;
[0022] 条件2:Point[]数组中三个像素点的坐标是否在同一直线上,如果在一条直线上,则成立;
[0023] 条件3:判断三个像素点的中间相隔的距离在设定的误差范围内是否相等,如果相等,则成立;
[0024] 当满足以上三个条件的时候,则认为当前摄像头所拍下的当前一帧的图像中有所设置的信标;
[0025] 3)通过追踪算法,控制水平旋转云台转动,使信标图移动到摄像头的正中心;
[0026] 4)控制激光传感器开始测量,通过滤波算法,准确的得出扫雪机器人与信标之间的距离;
[0027] 5)重复步骤1)-步骤4),分别测得扫雪机器人与两个信标之间的距离;
[0028] 6)建立直角坐标系,解算出当前扫雪机器人的坐标:
[0029] 令第一信标为A点,第二信标为B点,扫雪机器人为C点;同时,以A为原点,AB为y轴,垂直于AB的直线为x轴,建立一个直角坐标系;
[0030] 利用余弦定理:
[0031] 求出θ,其中:b为激光传感器测得的第一信标与扫雪机器人间的距离,a为激光传感器测得的第二信标与扫雪机器人间的距离,c为第一信标与第二信标间的实测距离;由正弦公式得扫雪机器人的坐标位置:x=bsinθ,y=bcosθ。
[0032] 本发明的有益效果:
[0033] 本发明智能扫雪机器人定位系统及方法,抗干扰能力强,能准确的识别信标,以及准确的定位扫雪机器人,适用于户外机器人定位,系统工作可靠性高,且系统结构简单,造价低。

附图说明

[0034] 图1为水平旋转云台部的结构示意图;
[0035] 图2为扫雪机器人定位原理图;
[0036] 图3为信标的结构示意图;
[0037] 图4为第一类角点的局部放大图;
[0038] 图5为第二类角点的局部放大图;
[0039] 图6为直角坐标系。

具体实施方式

[0040] 下面结合附图和实施例对本发明作进一步描述。
[0041] 本实施例智智能扫雪机器人定位系统,包括固定设置在扫雪机器人前方的第一信标1和第二信标2、设置在扫雪机器人下方的水平旋转云台3、设置在水平旋转云台上的摄像头4、设置在水平旋转云台上的激光传感器5、以及控制器6,所述摄像头、激光传感器和水平旋转云台与控制器电连接,所述信标为圆柱状,所述信标上设置有由四行两列黑白相间的矩形组成的信标图。
[0042] 本实施例智能扫雪机器人定位系统的定位方法,包括以下步骤:
[0043] 1)控制器控制载有摄像头的水平旋转云台以一定速度转动,并控制摄像头进行扫描,搜索信标;
[0044] 2)当摄像头扫描到信标时,通过下述步骤识别信标:
[0045] a、将摄像头采集的图像转化为灰度图像,将摄像头采集的图像转换为灰度图的公式为:
[0046] Gray=0.299R+0.587G+0.114B,
[0047] 其中Gray是灰度值,R为红色通道值,G为绿色通道值,B为蓝色通道值;
[0048] b、将信标图中的四个相邻矩形的公共点作为角点J,以角点J为中心定义4个直线方向e1,e2,e3和e4,所述四个相邻矩形中的第一矩形、第二矩形、第三矩形和第四矩形按逆时针排列,其中方向e1位于第一矩形中,方向e2位于第二矩形中,方向e3位于第三矩形中,方向e4位于第四矩形中;
[0049] 若在4个方向上分别取相同数量的像素点,则当 与 分别远离与其相邻的两个边缘时,沿着这两个方向上的像素点接近白色区域,其灰度值的累加和较大,且在夹角为45°时最为理想;
[0050] c、以摄像头采集的信标图中的像素点(i,j)为中心,若沿着特征方向 和 上像素点灰度值的累加和与沿着和 上像素点灰度值的累加和差异大,则认为该像素点为信标图中的角点;
[0051] 角点检测算子为:
[0052] CBW(i,j)=|∑I(l,m)-∑I(p,q)|,
[0053] 其中,I(l,m)代表以点(i,j)为中心沿着e1和e3方向上遍历的数目为n的像素点的灰度值;I(p,q)代表以点(i,j)为中心沿着e2和e4方向遍历的数目为n的像素点的灰度值;对于信标图中角点区域内的像素点,BW算子的响应值较大;而对于平坦区域和边缘区域内的像素点,BW算子的响应值较小;因此选取CBW的局部最大值作为角点所在位置;
[0054] d、遍历一帧图像的所有像素点,计算每个点的BW值,记录下最大的三个BW值以及所对应的像素点的坐标,保存在一个大小为3的数组BW[]和Point[]中;如果计算出新的点BW值大于之前保存的BW[]数组中的所有值,则更新BW[]数组,保证BW[]数组中的BW值都是最大的三个值;并且在保存新的最大BW值点的过程中,执行以下判断:
[0055] 若果新的点的坐标不在之前三个点坐标的周围,则用这个新的点代替之前保存的BW[]数组中BW数值最小的点,否则忽略这个点;如果计算出新的点BW值大于之前保存的BW[]数组中的所有值,则用这个新的点代替之前保存的BW[]数组中BW数值最小的点,否则忽略这个点;
[0056] 在图像的识别当中,每个角点都是以一个像素为单位来计算BW值;但是在实际的环境中,理论意义上的一个角点可能由于打印或者涂装时候的工艺误差,以及摄像头采集图像的误差等,导致会在信标的角点处检测出多个角点,通过本步骤能过滤掉重复的角点;
[0057] e、根据BW[]数组中三个角点是否满足以下三个条件来判断摄像头当前拍下的一帧图中是否有所设置的信标
[0058] 条件1:BW[]数组中任意一个BW值的大小是否满足阈值PLINE条件,即BW[]数组中的任意一个BW值都大于PLINE时成立;在实际的黑白角点BW计算中,在不同的光照环境下,如果是角点,则它的BW值总是会大于一个值,这个值可通过实际试验测量得到,这个通过实际试验测量的值就是角点BW值的阈值PLINE;因此,通过公式计算出某个像素点的BW值小于这个阈值PLINE,则认为这个点不是所需要的角点,同时该目标也不是信标;
[0059] 条件2:Point[]数组中三个像素点的坐标是否在同一直线上,如果在一条直线上,则成立;
[0060] 条件3:判断三个像素点的中间相隔的距离在设定的误差范围内是否相等,如果相等,则成立;
[0061] 当满足以上三个条件的时候,则认为当前摄像头所拍下的当前一帧的图像中有所设置的信标;
[0062] 3)通过追踪算法,控制水平旋转云台转动,使信标图移动到摄像头的正中心;本实施例中的追踪算法为模糊算法;
[0063] 4)控制激光传感器开始测量,通过滤波算法,准确的得出扫雪机器人与信标之间的距离;本实施例中的滤波算法为中值滤波算法;
[0064] 5)重复步骤1)-步骤4),分别测得扫雪机器人与两个信标之间的距离;
[0065] 6)建立直角坐标系,解算出当前扫雪机器人的坐标:
[0066] 令第一信标为A点,第二信标为B点,扫雪机器人为C点;同时,以A为原点,AB为y轴,垂直于AB的直线为x轴,建立一个直角坐标系;
[0067] 利用余弦定理:
[0068] 求出θ,其中:b为激光传感器测得的第一信标与扫雪机器人间的距离,a为激光传感器测得的第二信标与扫雪机器人间的距离,c为第一信标与第二信标间的实测距离;由正弦公式得扫雪机器人的坐标位置:x=bsinθ,y=bcosθ。
[0069] 本发明智能扫雪机器人定位系统及方法,抗干扰能力强,能准确的识别信标,并且由于激光传感器的测量精度为mm级,所以定位精度可以达到cm级精度;能高精度的定位扫雪机器人,适用于户外机器人定位,系统工作可靠性高,且系统结构简单,造价低。
[0070] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。