工作原理:
Sharp的红外传感器都是基于一个原理,三角测量原理。红外发射器按照一定的角度发射红外光束,当遇到物体以后,光束会反射回来,如图1所示。反射回来的红外光线被CCD检测器检测到以后,会获得一个偏移值L,利用三角关系,在知道了发射角度a,偏移距L,中心矩X,以及滤镜的焦距f以后,传感器到物体的距离D就可以通过几何关系计算出来了。
图1:三角测量原理
可以看到,当D的距离足够近的时候,L值会相当大,超过CCD的探测范围,这时,虽然物体很近,但是传感器反而看不到了。当物体距离D很大时,L值就会很小。这时CCD检测器能否分辨得出这个很小的L值成为关键,也就是说CCD的分辨率决定能不能获得足够精确的L值。要检测越是远的物体,CCD的分辨率要求就越高。
非线性输出:
Sharp GS2XX系列的传感器的输出是非线性的。没个型号的输出曲线都不同。所以,在实际使用前,最好能对所使用的传感器进行一下校正。对每个型号的传感器创建一张曲线图,以便在实际使用中获得真实有效的测量数据。下图是典型的Sharp GP2D12的输出曲线图。
图2:Sharp GP2D12输出曲线
从上图中,可以看到,当被探测物体的距离小于10cm的时候,输出电压急剧下降,也就是说从电压读数来看,物体的距离应该是越来越远了。但是实际上并不是这样的,想象一下,你的机器人本来正在慢慢的靠近障碍物,突然发现障碍物消失了,一般来说,你的控制程序会让你的机器人以全速移动,结果就是,"砰"的一声。当然了,解决这个方法也不是没有,这里有个小技巧。只需要改变一下传感器的安装位置,使它到机器人的外围的距离大于最小探测距离就可以了。如图3所示:
图3:可以避免探测误差的安装图示