基于光流传感器的二维测距装置及测距方法与流程

文档序号:16242624发布日期:2018-12-11 23:15阅读:796来源:国知局
基于光流传感器的二维测距装置及测距方法与流程

本发明涉及测量领域,尤其涉及一种基于光流传感器的二维测距装置及利用上述装置进行距离测量的测距方法。

背景技术

在工程建造、计算计量等场合会经常使用到测距。目前主流的测距方法主要有三种,第一种是基准比较法,通过带有刻度的长度度量器,可以将标准长度复制并与被测物体进行比较,例如直尺、卷尺等测量工具;第二种是利用激光、超声波等方式将距离信息转化为光或声波传播的时间后测量;第三种是利用测距轮或编码器,将被测物体的长度转化为测距轮圆周的多个周长,通过计数的方式进行距离测量。

可以看出,现有的测距方法具有以下缺点:测距维度单一,只能对一维的长度进行测量;传统测距仪器测量精度与量程难以兼得,而且测量量程受限,由于生产工艺的原因,精度高的测量工具量程一般都比较小,而量程高的测量工具精度比较小,如游标卡尺和卷尺,而利用了电子技术的激光类或超声类测距工具,由于光和声波会随着传输距离衰减,当测量距离较长时误差较大,并且这两种方案的成本也比较高,虽然测距轮理论上不受量程限制,但是测距轮会因为摩擦而改变周长,长距离测量后会使误差增大;现有测距方案一般是接触式测量,测量过程缓慢,人为操作引入的误差比较多,而且测量精度会因为机械磨损而下降;现有测距方案所采用的工具不够便捷,有些工具机械结构复杂;现有的使用光流传感器的方案没有测线偏角矫正,有较大的测量误差。因此,现有测量技术中需要提供一种能够提高测量便利性并且减小测量误差的测距装置。



技术实现要素:

为了克服上述问题的至少一个方面,本发明实施例提供一种基于光流传感器的二维测距装置及利用上述二维测距装置进行距离测量的测距方法,可以同时测量两个正交方向的距离,使得测量更加准确,与传统方案相比,测量过程更加便捷,操作容错较高。

根据本发明的一个方面,提供一种基于光流传感器的二维测距装置,包括:基板;光流传感器,所述光流传感器设置在所述基板上;控制器,所述控制器与所述光流传感器通过串行接口连接;透镜,所述透镜设置在所述光流传感器的镜头上;以及光源,所述光源以预定角度安装在所述基板上并且由所述光流传感器驱动,使得所述光源产生的光直接照射所述镜头正对的平面,其中,在所述二维测距装置在二维平面产生位移后,所述光流传感器触发数据输出请求。

根据本发明的基于光流传感器的二维测距装置的一些实施例,二维测距装置还包括倾角传感器,所述倾角传感器设置在所述基板上,所述倾角传感器与所述控制器通信连接,所述倾角传感器设置有固有方向。

根据本发明的基于光流传感器的二维测距装置的一些实施例,二维测距装置的实际运动方向与计划测线方向产生夹角时,所述倾角传感器将所述夹角向所述控制器传输。

根据本发明的基于光流传感器的二维测距装置的一些实施例,控制器收到所述夹角之后对误差进行矫正。

根据本发明的基于光流传感器的二维测距装置的一些实施例,光流传感器包括数据输出请求引脚,所述数据输出请求引脚在所述光流传感器检测到所述二维测距装置移动后中断所述控制器。

根据本发明的另一个方面,提供一种利用如上所述的基于光流传感器的二维测距装置进行距离测量的测距方法,包括以下步骤:s1、对所述二维测距装置进行初始化;s2、使所述二维测距装置沿测线平行移动,所述光流传感器分别获取x、y方向上的第一位移量和第二位移量;s3、控制器读取所述第一位移量和所述第二位移量并判断是否停止测量,若停止测量则进入步骤s4,否则重复步骤s2并将所述第一位移量和所述第二位移量分别进行累加;以及s4、根据累加的第一位移量和第二位移量得到总位移量。

根据本发明的测距方法的一些实施例,步骤s2包括:s2.1、使所述二维测距装置沿测线平行移动,所述光流传感器驱动所述光源发光,所述光源发出的光经待测表面漫反射到所述光流传感器的透镜;s2.2、所述光流传感器采集移动图像,并提取出特征点的相对像素位置。

根据本发明的测距方法的一些实施例,步骤s1包括:使所述二维测距装置的控制器初始化;所述控制器通过串行接口对光流传感器初始化;以及使倾角传感器初始化,设置第一初始角度和第二初始角度。

根据本发明的测距方法的一些实施例,在所述控制器读取所述第一位移量和所述第二位移量之后还包括:读取所述倾角传感器的第一角度和第二角度;将所述第一角度与所述第一初始角度进行比较,得到第一结果;以及将所述第二角度与所述第二初始角度进行比较,得到第二结果。

根据本发明的测距方法的一些实施例,所述控制器根据所述第一结果对所述第一位移量进行修正,根据所述第二结果对所述第二位移量进行修正。

根据本发明的测距方法的一些实施例,所述控制器对修正后的第一位移量和第二位移量进行阈值判断,用于确定所述二维测距装置的运动方向和位移增加量。

与现有技术相比,本发明至少具有如下优点之一:

(1)增加了测量维度,可以同时测量两个正交方向的距离,使得测量结果更加准确,与传统方案相比,测量过程更加便捷,操作容错较高;

(2)可以不用接触被测物,使用范围更广泛;

(3)尺寸小,便于携带,结构简单,容易集成到其他的应用设备中;

(4)成本低。

附图说明

通过下文中参照附图对本发明所作的描述,本发明的其它目的和优点将显而易见,并可帮助对本发明有全面的理解。

图1是根据本发明实施例的基于光流传感器的二维测距装置的结构示意图;

图2是根据本发明实施例的基于光流传感器的二维测距装置的主视图;

图3是根据本发明实施例的基于光流传感器的二维测距装置的原理图;

图4是根据本发明实施例的基于光流传感器的二维测距装置的误差分析图;

图5是根据本发明实施例的测距方法的算法流程图;

图6a是根据本发明实施例的一维测距示意图;

图6b是根据本发明实施例的二维测距示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。

随着电子技术的发展,很多专家学者提出了一些新颖的测距方法。鼠标作为最常见的人机交互设备,依靠内部的光流传感器可以在二维平面上进行距离定位,有测距的潜质。一些研究学者使用鼠标内部的光流传感器进行了转速测量和一维距离测量,一般都直接使用了鼠标的光路,得到的误差都比较大,基本都在5%左右。较大的误差是因为鼠标高度专一化,其协议主要是为人机交互所优化的,并不能直接满足测距的需求。

综上可看出,利用鼠标中的光流传感器,分析其误差来源,重新设计一套适用于测距的装置和方法,具有很多优势。本发明提出了一种基于光流传感器的二维测距装置和利用上述装置进行距离测量的测距方法,可以同时对两个正交方向的距离进行测量,并且由于使用了倾角传感器,可以大大提高测量结果的精度。

下面结合附图对本发明实施例作进一步的说明。

图1是根据本发明实施例的基于光流传感器的二维测距装置的结构示意图,图2是根据本发明实施例的基于光流传感器的二维测距装置的主视图。结合图1和图2,基于光流传感器的二维测距装置包括:基板1;设置在基板1上的光流传感器2;与光流传感器2通过串行接口连接的控制器3;设置在光流传感器2的镜头上的透镜4;以及以预定角度安装在基板1上并且由光流传感器2驱动的光源5,这样,光源5产生的光直接照射镜头正对的平面,其中,在二维测距装置在二维平面产生位移后,光流传感器2触发数据输出请求。

图3是根据本发明实施例的基于光流传感器的二维测距装置的光路图。如图3所示,光流传感器2可以包括cmos图像传感器23、数字信号处理单元22、数字接口逻辑单元24、电源管理单元21和镜头25等部件。图3中黑色箭头为光传输的方向。从光源5中发出的光经过镜头25所对的平面的反射后经过透镜4进入光流传感器2。光流传感器2的cmos图像传感器23和镜头25用于采集图像信息,光流传感器2的数字信号处理单元22中搭载了优化过的数字信号处理算法,可以对cmos图像传感器23采集到的图像信息进行特征分析和提取。本实施例中光流传感器2采用paw3205型号,当然,在其他的实施例中光流传感器的类型包括但不限于下列各种类型:paw3212、paw3515、paw3325、adns3000、adns5050、atc7515等。本实施例中的光流传感器2的串行接口包括sclk和sdio,sclk是串行接口的时钟,sdio是光流传感器2的数据输入输出引脚,控制器3通过读写光流传感器2的寄存器的方式实现对光流传感器2的工作配置和数据读取。

本实施例中控制器3采用msp430fr2433,当然,在其他的实施例中,控制器3的类型包括但不限于下列各种类型:stm32fx系列、atmega系列、stc系列等。

本实施例中基板1可以为印制电路板,光源5可以为发光二极管,发光二极管由光流传感器2驱动,发光二极管与印制电路板成预定角度,例如可以是30度,这样发光二极管发出的光可以直接照亮镜头底部的平面,光线直接经过漫反射进入光流传感器2,另外,为了更好实现非接触距离测量的需求,透镜4取消了导光片,便于光流传感器2更好地采集图像信息。所有部件均安装于印制电路板上,印制电路板的四周可以使用排针作为支架。

根据优选的实施例,二维测距装置还包括倾角传感器6,倾角传感器6设置在基板1上,倾角传感器6与控制器3通信连接,倾角传感器6设置有固有方向。倾角传感器6一般为mems器件,即微机电系统,该器件具有固有的三维方向,例如x,y和z轴方向,可以测量静态重力加速度以用于检测二维测距装置是否倾斜。

二维测距装置的实际方向与倾角传感器6的固有方向产生夹角时,倾角传感器6将夹角向控制器3传输。当二维测距装置的倾角发生变化时,可输出相对于倾角传感器6自身固有方向的倾角值。

控制器3收到夹角之后对误差进行矫正。图4是根据本发明实施例的基于光流传感器的二维测距装置的误差分析图。如图4所示,l1表示预期测线,l2表示实际测线,l3表示校正后测线。本实施例中倾角传感器6为adxl345,当然在其他的实施例中也可以使其他类型的倾角传感器。本发明使用倾角传感器6对测距运动中产生的误差进行矫正。理想情况下,测距设备与测线的偏角应该为0,也即是不产生任何偏角,如图4的a、d段。但在测量运动过程中,难以保证测距设备与测线不产生偏角,如图4的b、c段,产生偏角后,测试结果将比实际值偏大。本发明使用倾角传感器6可以将位移相对于测线的偏角矫正,消除这一系统误差。图4中的d表示b段的偏角,β表示c段的偏角。可以将b、c段的实际测量距离乘以对应偏角的余弦值作为校正后的距离。

光流传感器2包括数据输出请求引脚,数据输出请求引脚在光流传感器2检测到二维测距装置移动后中断控制器3。光流传感器2与控制器3通过串行接口进行通讯,并以一个带有中断功能的引脚响应光流传感器的数据输出请求。光流传感器2的串行接口是两线制数据接口,另外,光流传感器2还具有一个数据输出请求的引脚,可在产生相对于光流传感器x、y方向上的位移后触发数据输出请求,x、y方向是指光流传感器2的测量方向。当光流传感器2检测到移动后将数据输出请求引脚置于低电平,进而中断控制器3,以读取数据。

根据本发明的另一个方面,提供一种利用上述二维装置进行距离测量的测距方法,包括以下步骤:

s1、对二维测距装置进行初始化。在此,可以分别对二维测距装置的各个模块进行初始化。

根据优选的实施例,步骤s1包括:

使二维测距装置的控制器3初始化。二维测距装置上电后,控制器3先实现自身初始化,包括时钟设置、io设置和外设设置。

控制器3通过串行接口对光流传感器2进行初始化,包括通讯状况检测、cpi设置、dpi设置和休眠设置。

使倾角传感器6初始化,设置第一初始角度和第二初始角度。第一初始角度表示x方向的初始角度,第二初始角度表示y方向的初始角度。

s2、使二维测距装置沿测线平行移动,光流传感器2分别获取x、y方向上的第一位移量和第二位移量。

根据优选的实施例,步骤s2包括以下步骤:

s2.1、使二维测距装置沿测线平行移动,光流传感器2驱动光源5发光,光源5发出的光经待测表面漫反射到光流传感器2的透镜4。例如可以手持二维测距装置,沿测线在被测平面移动,光流传感器2会驱动光源5发光,光源5发出的光照亮光流传感器2的底部,光线经过被测平面漫反射到光流传感器2底部的聚焦透镜4上。

s2.2、光流传感器2采集移动图像,并提取出特征点的相对像素位置。光流传感器2内部的cmos图像传感器以每秒千次的速度进行成像,成像结果在数字信号处理单元中被高速分析,数字信号处理单元提取出特征点的相对像素位置,当移动二维测距装置时,被测物体表面的特征点在图像上移动,这种移动会被光流传感器2的数字信号处理单元捕捉计算,并更新到寄存器中。

s3、控制器读取第一位移量和第二位移量并判断是否停止测量,若停止测量则进入步骤s4,否则重复步骤s2并将第一位移量和第二位移量分别进行累加。光流传感器2会拉低数据输出请求引脚,控制器3立即响应光流传感器2,从光流传感器2的寄存器读取x方向的第一位移量和y方向的第二位移量。

根据优选的实施例,在控制器读取第一位移量和第二位移量之后还包括:读取倾角传感器6的第一角度和第二角度。控制器3向倾角传感器6请求角度数据,二维测距装置在x方向的实际角度为第一角度,二维测距装置在y方向上的实际角度为第二角度,分别读取第一角度和第二角度。将第一角度与第一初始角度进行比较,得到第一结果;以及将第二角度与第二初始角度进行比较,得到第二结果。在x方向上,用第一角度与第一初始角度进行比较,得到两者的差值作为第一结果;在y方向上,用第二角度与第二初始角度进行比较,得到两者的差值作为第二结果。第一结果和第二结果均是二维测量装置在测量时产生的误差。

控制器根据第一结果对第一位移量进行修正,根据第二结果对第二位移量进行修正。

控制器3对修正后的第一位移量和第二位移量进行阈值判断,用于确定二维测距装置的运动方向和位移增加量,即位移量大小。若位移量大于阈值,则往正方向运动。并且位移量大于阈值,会通过uart/spi或i/o编码等方式向后端汇报位移变化,之后光流传感器2继续检测位移,控制器继续等待中断。

s4、根据累加的第一位移量和第二位移量得到总位移量。

若是一维测距,则根据勾股定理计算出总位移量;若是二维测距,则两个方向的距离分别是累加的第一位移量和第二位移量。

图5是根据本发明实施例的测距方法的算法流程图。

delta_x、delta_y分别指从光流传感器2中获取的x,y方向的实时位移量,也即是第一位移量和第二位移量,沿x、y方向的正向方向为正数,相反则为负数,sum_x、sum_y分别指控制器x、y方向位移累加量,sta_x、sta_y分别指第一初始角度和第二初始角度,mea_x、mea_y分别指控制器收到位移变化后测量的二维测距装置的实时角度值,也即是第一角度和第二角度,threshold指控制器对累加量的判断阈值,该阈值的选择与后续处理的需求相关,dis_x、dis_y分别是x、y方向的位移量的累加,是从0开始的累加值,d为一维最终测量结果。

如图5所示,控制器3收到motswk信号,也即是光流传感器2发出的数据传输请求信号,控制器3读取delta_x、delta_y,并执行下列操作:

sum_x=sum_x+delta_x*cos(sta_x-mea_x),

sum_y=sum_y+delta_y*cos(sta_y-mea_y)。

接着判断阈值,即判断sum_x>threshold或sum_y>threshold或sum_x<-threshold或sum_y<-threshold,若满足sum_x>threshold,x方向计数加1并输出,若满足sum_y>threshold,y方向计数加1并输出,若满足sum_x<-threshold,x方向计数减1并输出,若满足sum_y<-threshold,y方向计数减1并输出。

如果需要继续测量,控制器等待motswk再次中断;如果结束测量,则将结果输出显示。测量结束,通过按键或uart/spi等方式通知控制器,控制器清除自身变量寄存器的暂存值,准备下次测量,或关闭仪器。

图6a是根据本发明实施例的一维测距示意图。如图6a所示,二维测距装置沿虚线所示方向移动,在移动的过程中,由于操作人员的偏移,会使得测距装置在y方向上也产生移动,因此,测量结果为

图6b是根据本发明实施例的二维测距示意图。如图6b所示,图中为一个矩形,令x、y两轴分别与矩形的两个垂直边平行,沿对角线划过即可。两个方向的距离分别为dis_x和dis_y。

本发明实施例提供了基于光流传感器的二维非接触测距装置和方法,相较于现有技术,本发明实施例具有以下优点:

1.增加了测量维度,可以同时测量两个正交方向的距离,使得测量结果更加准确,与传统方案相比,测量过程更加便捷,操作容错较高;

2.增加了测线偏角矫正,可以在测距过程中对产生的移动误差进行矫正;

3.光流传感器使用位移变化量向控制器报告,所以理论上可以在保持较高精度的基础上,不受量程限制,量程与精度兼得;

4.本发明是一种非接触测量的解决方案,使用范围更广,例如可以用于高速运动的物体的长度测量,整套解决方案中没有用到机械运动设备,基本不存在磨损误差;

5.本发明装置尺寸很小,便于携带,并且结构简单,可以很容易集成在其他的应用设备中;

6.本发明成本较低。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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