光栅式结构光传感器原理
例如,采用二位二进制码对摄像机接受的光条处理后得到"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译码完成。
可见,通过光栅式结构光传感器的编码在一定程度上解决了光条的识别问题,提高了传感器的使用范围。若物体的表面有些地方法向变化非常剧烈,按照上面的方法需将宽窄光条的比值做得很大,而为了保证光条中心的计算精度窄光条又不能做得太窄,若单单通过提高宽窄光条的比值,必然导致视场中的光条急剧减少。由于法向变化非常剧烈的地方是很少的,通过纠错编码技术就可以将光条的宽度局部反转的地方纠正过来,使问题得到解决。
- 传感器和致动器正成为元器件市场新热(03-12)
- 图像传感器市场突破60亿美元,CMOS将占主导地位(05-22)
- 超低功率“智能尘埃”创新无限,无线传感器技术继续高歌猛进(05-22)
- 电化学气体传感器核心技术见突破(05-26)
- 日本工业机器人选中Cognex视觉传感器作为标准组件(04-14)
- 欧姆龙索能发力通用传感器市场,上海成立合资公司(05-08)