感知系统是机器人能够实现自主化的必须部分。这一章,将介绍一下移动机器人中所采用的传感器以及如何从传感器系统中采集所需要的信号。
根据传感器的作用分,一般传感器分为:
内部传感器(体内传感器):主要测量机器人内部系统,比如温度,电机速度,电机载荷,电池电压等。
外部传感器(外界传感器):主要测量外界环境,比如距离测量,声音,光线。
根据传感器的运行方式,可以分为:
被动式传感器:传感器本身不发出能量,比如CCD,CMOS摄像头传感器,靠捕获外界光线来获得信息。
主动式传感器:传感器会发出探测信号。比如超声波,红外,激光。但是此类传感器的反射信号会受到很多物质的影响,从而影响准确的信号获得。同时,信号还狠容易受到干扰,比如相邻两个机器人都发出超声波,这些信号就会产生干扰。
传感器一般有以下几个指标:
动态范围:是指传感器能检测的范围。比如电流传感器能够测量1mA-20A的电流,那么这个传感器的测量范围就是10log(20/0.001)=43dB.如果传感器的输入超出了传感器的测量范围,那么传感器就不会显示正确的测量值了。比如超声波传感器对近距离的物体无法测量。
分辨率:分辨率是指传感器能测量的最小差异。比如电流传感器,它的分辨率可能是5mA,也就是说小于5mA的电流差异,它没法检测出。当然越高分辨率的传感器价格就越贵。
线性度:这是一个非常重要的指标来衡量传感器输入和输出的关系。
频率:是指传感器的采样速度。比如一个超声波传感器的采样速度为20HZ,也就是说每秒钟能扫描20次。
下面介绍一下常用的传感器:
编码器:主要用于测量电机的旋转角度和速度。任何用电机的地方,都可以用编码器来作为传感器来获得电机的输出。
电子罗盘:可以检测机器人与地球南北极之间的角度,从而获得机器人的朝向。但是精度很低。而且任何磁性物体都会造成罗盘失灵,比如扬声器。所以要配合其它传感器,比如编码器一起使用才能获得比较好的定位效果。主要有hall-effect和flux-gate两种:
陀螺仪:又分机械陀螺仪和光电陀螺仪。可以检测绝对朝向。但是目前价格过高,只在飞机上采用。目前最好的光电陀螺仪能提供100KHz的采样频率,同时提供0.0001degress/hr的分辨率。但是价格也是同样昂贵。
GPS系统:这个相比不需要太多的解释。GPS系统分为标准GPS和差分GPS系统。标准GPS系统能提供15m的误差定位,而差分GPS系统能提供高达1m内误差的定位。如果再考虑相位差信号的话,最新的GPS设备能提供精确到10cm的定位坐标。怪不得美国人现在的导弹精确度如此之高。
超声波传感器:超声波传感器是基于TOF原理。首先发射一组声波脉冲信号,然后一个积分器就开始计算发射时间。一个返回信号阀值接着就会被设定来接受回波信号,这个阀值会随着时间的增加而减小,因为回波会随着距离的增加而发散,从而强度变小。但是在刚发射信号的时候,返回信号的阀值会被设定的很高以防止发射波直接触发接受器,但是这样造成一个问题,就是如果检测的距离很短,在阀值没有下降之前,返回信号已经到达接收器,这时,接收器会认为这个返回信号是刚发出的信号,从而拒绝接受。超声波传感器就会有一个探测盲区,没法这样对近距离物体探测。一般超声波探测器的频率为40Hz,探测范围为12c'm-5m,精度为98%-99.1%,分辨率为2cm。同时超声波是一个20-40度角的面探测,所以可以使用若干个超声波组成一个超声波阵列来获得180度甚至360的探测范围。 超声波还有其它几个缺点,比如交叉感应,扫描频率低,尤其是使用超声波阵列的时候,还有回波衰减,折射等问题。不过对于移动机器人来说,超声波还是目前最廉价和有效的传感器。
TOF(time of flight):TOF原理就是 距离=速度×时间,比如声波传输速度是0.3m/ms,如果3m的距离,需要10ms才能到达。然后通过计算这个返回的时间差来确定距离。但是如果是光速的话,光速是0.3m/ns,同样3m的距离,光只要10ns就到了。这就对检测元件提出了非常高的要求。这也是激光传感器价格居高不下的原因
激光传感器:原理就是一个旋转得反射镜,将激光光束或者超声波按一定间隔反射出去,然后根据旋转得角度和时间差来得到不同角度得距离值。是用很典型得TOF原理。
不过对于激光传感器而言,有3种检测方式:
1)使用脉冲激光,按一定间隔发射激光,然后计算返回时间。这种方法和超声波一样,但是激光速度太快,所以对检测元件要求太高,一般LaserScanner不用这种方式。
2)使用不同频率得激光,按照一点顺序,发射不同频率得激光,通过检测返回光束得频率来得到距离。
3)相位差。多数激光传感器用得是这种方法。通过检测发射激光和反射激光得相位差来得到距离。
红外传感器:是利用三角测量法。
三角测量法(Triangulation-based):就是把发射器和接受器按照一定距离安装,然后与被探测的点形成一个三角形的三个顶点,由于发射器和接收器的距离已知,发射角度已知,反射角度也可以被检测到。因此检测点到发射器的距离就可以求出。假设发射角度是90度的情况,
D=f(L/x)
L=发射器和接收器的距离
x=接受波的偏移距离
f()是函数。
由此可见,D是由1/x决定的,所以用这个测量法可以测得距离非常近的物体,目前最精确可以到1um的分辨率。但是由于D同时也是L的函数,要增加测量距离就必须增大L值。所以不能探测远距离物体。
但是如果将红外传感器和超声波传感器同时应用于机器人,就能提供全范围的探测范围了,超声波传感器的盲区正好可以由红外传感器来弥补。
多普勒效应传感器:主要用于探测移动物体的速度。目前战斗机上用的雷达就是基于这个原理的。主要用于躲避快速移动障埃物。
多普勒原理(Doppler):假设发射器以频率ft发射波,接收器以频率fr接受波,发射器和接收器之间的相对速度为v。
如果发射器在移动,则
fr=ft/(1+v/c)
如果接收器在移动,则
fr=ft(1+v/c)
通过计算多普勒频移来得到相对速度v。
f=ft-fr=2*ft*v*cosA/c
f=多普勒频移
A=发射波和运动角度差
目前还没有适合小型移动机器人的相关传感器出现。
视觉传感器:摄像头都是属于视觉传感器,目前200元一个的网络摄像头也都可以用作机器人的视觉传感器。
转载请注明出处。