关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 光栅式结构光传感器原理分析

光栅式结构光传感器原理分析

作者:时间:2012-03-27来源:网络收藏

对经过二进制编码的光平面识别是简便的。首先,对摄像机接受到的光条进行处理,根据光条的宽窄将光条译成由二进制码组成的序列,然后根据编码规则将得到的序列分解成组,最后识别出每一个具体的光平面。需要指出的是,由于被测物体表面尺寸和摄像机视场的限制,摄象机获得的光条数一般来说总是小于投射器投射的光平面数。

本文引用地址:http://www.eepw.com.cn/article/160894.htm

例如,采用二位二进制码对摄像机接受的光条处理后得到“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译码完成。

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


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭