微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 传感器 > 光栅式结构光传感器原理

光栅式结构光传感器原理

时间:07-28 来源:维库开发网 点击:

例如,采用二位二进制码对摄像机接受的光条处理后得到"001101",按二位一组对该序列进行分组,只可能有两种结果:"00""11""01"和"0""01""10""1"。前者对应的分组序号为0、1、3这显然是与编码规则相矛盾的。后者对应的分组序号为未知、1、2、未知,这是符合编码规则的。据此可得到前面的未知光条为0分组第二根光条,后面的未知光条为3分组第一根光条。可见,视场中的每根光条都可以有效地识别出来。

  对于表面法向基本不变或变化很小的物体,由文献[1]可知,将宽窄光条的宽度比做成2:1,即可以非常有效地将宽窄光条区分开来。记threshold1=1.5,threshold2=0.6。则若Δ1/Δ2>threshold1=1.5,可判断1为宽光条,2为窄光条;若Δ1/Δ2Δ1/Δ2的值,直到出现前两种情况,我们就可以判断出光条到底为宽或窄。(Δ1/Δ2分别为光条1、2在象面投影的宽度)。

  3.2伪随机序列编码方法

  前面讲的n位二进制编码方法可以对n.n2个光条进行编码。当n增大时,能够编码的光条数增加很快。但是,我们衡量一种编码方法优劣的主要标准是解码所需信息的多少,解码所需的信息量越少越好。

  在n位二进制编码中,为确保能够正确译码,至少需要接受到3n-1个连续的光条。对于n=4的情况,能对64个光条进行编码。但要正确译码,则至少需要接收到连续11个光条。现在我们要考虑的问题是能否尽量减少译码所需的光条数。研究发现:M序列[7]能够使译码所需的信息减少。

  下面先来讲述M序列的构成。设一无限长二元序列各元素之间存在下列关系:

  Xi=a1Xi-1a2Xi-2…apXi-p(2)

  其中:i=p+1,p+2,…,系数a1,a2,……,ap-1取值0或1,系数ap总和为1,表示模2的和。

  只要适当地选择系数a1,a2,……,ap,就可以使序列以(2p-1)bit的最长周期循环。这种最长周期的二值序列就称为M序列。

  取X4=1,X3=0,X2=1,X1=0,

  令Xi=Xi-3Xi-4则可得X15,X14,……X1如下:111100010011010。我们发现对于任意连续的4个x,其二进制值均不相同,故只要知道了任意连续的4个x,即可知道这组x在序列中所处的位置,从而进行有效的译码。

  对M序列译码所需的信息比n位二进制码少,当p=6时,可以对63根光条进行编码,这时在视场中只要看到连续的6根光条即可进行译码;而对于n位二进制编码如果对64根光条进行了编码,译码则需要11根光条。

  用二维数组a[15][4]存放每相邻4根光条的编号。例如,第12、11、10、9根光条其二进制表示为1000,则a[8]={12,11,10,9};第8、7、6、5根光条,其二进制表示为1001,则a[9]={8,7,6,5}。假设我们得到连续的4根光条二进制表示为1001,则通过查数组a的第9行,得到这4根光条的序号分别是8、7、6、5译码完成。

  可见,通过光栅式结构光传感器的编码在一定程度上解决了光条的识别问题,提高了传感器的使用范围。若物体的表面有些地方法向变化非常剧烈,按照上面的方法需将宽窄光条的比值做得很大,而为了保证光条中心的计算精度窄光条又不能做得太窄,若单单通过提高宽窄光条的比值,必然导致视场中的光条急剧减少。由于法向变化非常剧烈的地方是很少的,通过纠错编码技术就可以将光条的宽度局部反转的地方纠正过来,使问题得到解决。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top