机器人笔记 - 传感器
- 总览
- 传感器
- 能量变换器 (Tranceducers)
- 传感器种类
- 机器人导航时使用的传感器
-
- 得到位置和地点的传感器
-
- 感应磁性 (magnetic) 的传感器
- 感知朝向 (orientation) 的传感器
- 触觉传感器 (Tactile Sensors)
-
- 感受器 - 晶须(whiskers)
- 保险杠 (Bumpers) 和护板 (Guards)
- 电阻式模拟触觉传感器 (Resistive Analog Tactile Sensors)
- 红外传感器(IR)
-
- 激光线传感器 (Laser Line Sensor)
- 被动红外(Passive IR) - 热释电 (Pyro-Electric)
- 超声波传感器 (Ultrasonic Sensors)
-
- 传感器 - 声波 (sonic)
- 光/颜色传感器
- 传感器 - 视觉
- 传感器 - 立体视觉 (stereo vision)
- 传感器性能 (performance)
-
- 如何处理传感器错误 (sensor errors)
总览
大多数机器人需要感官反馈(sensory feedback)从而做到:
- 定位和导航其所处环境
- 检测物体
- 防范危险和意外情况。(尤其是当机器人需要靠近人类工作时)
- 从异常情况(例如:丢失)中执行"智能"恢复。
- 识别物体或者人
- 做出明智决定
- 等等
在机器人系统中并入传感器的主要目的是使机器人能够在非结构化或者随机环境中工作。
传感器能够使机器人更加智能,但相关软件必须有能力从传感器中接收数据并实时做处理。
传感器
作用:从外部世界收集信息。
定义:将环境属性映射到定量测量的电气/机械/化学设备。
原理:每个传感器都基于转换原理 (transduction principle) - 即能量从一种形式转换为另一种形式。
热敏电阻 (Thermistor):温度 -> 电阻
电化学 (electronchemical): 化学 -> 电压
光电流 (photocurrent): 光强度 -> 电流
热释电 (pyroelectric): 热辐射 -> 电压
湿度: 湿度 -> 电容
线性可变差动变压器 (LVDT: Linear variable differential transformers) : 位置 -> 电感
麦克风 (Microphone): 声压 -> 电压
使用电子传感器的好处:
电子传感器能够看到RGB光谱以外的视野。(红外摄像机能够实现夜视)
主动视觉包含了雷达和光学(激光)范围测量。
听力能够超出20赫兹到20k赫兹的范围。(超声波测距)
能够感应磁场。(指南针)
在人类味觉和气味之外分析化学成分。
能够感应辐射,如α,β,γ射线,中子等。
能量变换器 (Tranceducers)
许多传感器或变换器能够将能量的一种形式转化为另一种。(如麦克风和扬声器在声能和电能之间转换)
许多变换器是双向的。一些传感器是变换器,近乎所有传感器都包含换能。
大多数机器人都被电脑技术所控制。传感信息都应该被转换成数字表示。(即通过模数转换器(A/D converters))
问题:
- 模拟值 (Analog values) 覆盖连续的值范围 (continuous value range)。
- 数字值是离散 (discrete) 的。
- ADC会导致某些信息或者准确性损失。
解决方案:
- 使用足够准确的传感器和变换器
- 使用对感应数据导致的不准确不敏感的算法。
传感器种类
感受器 feelers (whiskers,保险杠bumpers) - 机械
光电 photoelectric (可见光) - 主动 (Active) & 被动 (Passive)
红外 infrared (光) - Active & Passive
超声波 ultrasonic (声音) - Active & Passive
声波 sonic - Active & Passive
电阻/电容/电感 - Active & Passive
分类(在何处感受):(主要分成两类)
- 内部状态传感器 (internal state sensors) (也称为本体感受传感器 - proprioceptive sensors)
定义:测量机器人系统内部值的传感器。
例子:电池电量,电机速度,车轮位置,车轮负载,机器人前进方向,速度和加速度。包括测量机械臂和手关节角度的传感器。
设备:电位计 (potentiometers),转速表 (tachometers),光学中断器 (optical interrupters),光学编码器 (optical encoders),加速度计 (accelerometers) 和陀螺仪 (gyros) 等。
- 外部状态传感器 (external state sensors) (也称为外部感受传感器 - exteroceptive sensors)
定义:检测或观察环境中物体的传感器。
例子:与物体的距离,环境光的强度,物体的分类。
设备:照相机 (camera),声纳传感器 (sonar sensors),雷达 (radar),激光扫描仪 (laser scanners) 等。
分类(如何工作): (主要分成两类)
- 被动传感器 (Passive sensors)
能量来自环境,并被传感器被动接收。 例如 摄像头 (camera),声音 (sound),室温 (room temperature)。
- 主动传感器 (Active sensors)
传感器发射能量并测量反射的位置。 例如雷达 (radar),声纳 (sonar),激光扫描仪 (laser scanner)。拥有更好的性能,但是会受到串扰的影响,在这种情况下,一个传感器会吸收另一个有源传感器发出的能量。
机器人导航时使用的传感器
- 触觉传感器 (tactile sensors) : 接触开关 (contact switch),保险杠 (bumpers)
- 电阻传感器 (resistive sensors) : 弯曲传感器 (bend sensors),电位计 (potentiometer),电阻式光电管 (resistive photocells)。
- 红外传感器 (infrared sensors) : 反射式接近 (reflective proximity),距离传感器 (distance sensors)
- 超声波距离传感器 (Ultrasonic distance sensor)
- 惯性传感器 (inertia sensor) (测量位置) : 加速度计 (accelerometer),陀螺仪 (gyroscopes)。
- 方向传感器 (orientation sensors) : 指南针 (compass),测斜仪 (inclinometer)。
- 激光距离传感器 (laser range sensors)
- 视觉 (vision)
- 全球定位系统 (GPS)
得到位置和地点的传感器
轮式编码器 (成本较低)
轮式编码器是一种角位移传感器。它通过检测机器人轮子在一定时间内转过的弧度数来确定机器人位姿的变化。其能够得到相对位置(能知道自己走了多远)和运动。整合及区分其他参数。
其内部传感器可以测量机器人的配置。(编码器测量关节的旋转角度)
其限位开关(limit switches)检测关节何时到达极限。
航位推算传感器(dead reckoning),用于推算出相对位置的传感器。(一个经典例子,鼠标)
光学编码器也是典型应用。
原理:当代码盘(code disc)旋转时,检测器(detector)将会返回一个逻辑高(logic high)当其检测到目标。(如磁铁的北极)或者返回逻辑低当其检测到其他目标。(如磁铁的南极)因此根据我们代码盘的设计,我们就能知道轮盘转一圈所花费的时间。(如数北极出现的次数)
GPS (成本较高)
感应磁性 (magnetic) 的传感器
主动 (发射):金属探测器 (metal detectors),金属条 (matallic strips),磁力针 (magnetometer)
被动 (仅传感器):指南针 (compass),磁场传感器 (magnetic field sensor) (衡量震荡电流)
感知朝向 (orientation) 的传感器
Rate Gyros (速率陀螺仪): 其输出与角速度成比例 (指示与时间的角度变化率)。与其他传感器数据整合(integrate)之后获得位置,差异化 (differentiate) 以获得加速度。
DC Accelerometer (直流加速度计): 输出与垂直角正弦成正比。
为了获得方向,我们还可以选择:陀螺仪 gyroscope,地磁传感器 (geomagnetic sensors)
可能导致的问题:陀螺仪漂移(gyro drift),B场失真(B-field distortion)。
触觉传感器 (Tactile Sensors)
触觉感知包括需要在传感器和要感测的对象之间进行物理接触的任何形式的感知。
从摘取到装载机器,许多机器人应用中都需要触摸或者触觉传感器,当前最重要的应用可能是定位 (locating),识别 (identifying) 和重组需要组装的零件等这些通用问题。
触觉传感器可以是二元的 (on/off) 或模拟的。如晶须 (whiskers), 保险杠 (bumpers), 压力传感器 (pressure sensors)。
感受器 - 晶须(whiskers)
当晶须变形时,悬挂着的“钢琴线”会和"hoop"相接触。在弯曲时会碰到螺栓的弹性钢丝。触碰到的时候就会发送信号。
优点:简单又便宜,能有二进制输出(on/off)。
缺点:只能到达几英寸。
保险杠 (Bumpers) 和护板 (Guards)
- 拥有碰撞传感器 (collision sensor), 感应压力或者接触。
- 微动开关 (micro-switches) 和 电线(wires) 或可移动框架(framework)。
- 简单,成本低,二进制输出且易于阅读。
电阻式模拟触觉传感器 (Resistive Analog Tactile Sensors)
- 弯曲传感器 (bend sensors): 当钢带弯曲时,电阻增加。
- 电位器 (potentiometers): 可用于滑动机构或旋转轴的位置传感器。
- 电阻式导电橡胶传感器 (resistive conductive rubber sensor) : 适用于检测冲击或压力,取决于外力的非线性电阻。
- 压电传感器 (piezoelectric sensor) : 压电元件变形时会产生电压。测量压力,加速度或力的变化。
红外传感器(IR)
- 主动 (红外发射和接收 IR emitting & receiving)
- 振荡器(oscillator)从物体上产生红外反射(IR reflections)。
- 过滤后的接收器寻找反射。
- 可以对脉冲(pulses)进行编码以更好地进行区分。
- 对于半透明(例如,硅)或深色,浅色的物体效果不佳。
- 被动 (仅感知)
- 热释电 (pyro-electric) (热传感器)
- 寻找人和动物的红外辐射。
- 用于安全系统和运动探测器(motion detectors)。
范围和位置
红外传感器通过测量物体反射回机器人的红外光量来确定与物体的距离。
激光线传感器 (Laser Line Sensor)
从一个准直透镜(collimating lens)发射的激光线条纹(laser line stripe)被胶印相机(offset camera)感知。然后可以通过三角测量(triangulation)计算并确定沿线的任何照明点(illuminated point)的范围。
激光测距仪(laser range finders)通过测量光束返射回传感器所花费的时间来确定距离。
脉冲激光可以用于测量time of flight。
TOF激光和超声波(声纳)传感器分别利用光或声波的传播速度。
距离公式:d = c * t
d = 行驶距离 (通常为往返)
c = 波的传播速度 (光波或声波)
t = 飞行时间 (time of flight)
距离传感器的质量主要取决于:
- 反射信号 (reflected signal) 到达的确切时间不确定。
- 飞行时间测量中的误差。(激光距离传感器)
- 透射光束(transmitted beam)的打开角度。(尤其是超声波距离传感器)
- 与目标的相互作用。(表面,镜面反射)
- 传播速度的变化。(空气的湿度或者温度会导致)
- 移动机器人和目标的速度。(如果不是静止不动的话)
具有旋转镜(rotating mirror)的2D激光测距传感器的典型测距图像。 通过测量点的线的长度表示不确定性。
LiDAR: Light Detection and Ranging sensor.
激光雷达:光检测和测距传感器。
被动红外(Passive IR) - 热释电 (Pyro-Electric)
能够检测是否有人类经过。(检测由人类发出的远红外线)还可以检测热和火。
超声波传感器 (Ultrasonic Sensors)
主动:
- 发射脉冲(emit pulses)并接收回声(listen for echos)。
- 计算往返声音行程时间。
- 可达15英尺(50米)。
- 相对简单和便宜的模拟输出。
- 定向的,但并非一切都能反射声音。
被动(仅接收):
- 传感器监听超声波。
- 电子产品可以转换频率或调制。
- 软件可能会执行信号分析。
距离计算是:
d = (c * t) / 2
但是声波传播速度c在特定环境下可能需要被重新计算。
问题:
- 声音束是以锥的形状传播出去的。其开启角度约在20-40度之间。
- 柔软表面会吸收大部分声能。且由于镜面反射,一些远离声音方向的表面会进行反射而导致其被传感器接收到的时间延后了,而传感器认为的该点位置也比实际上更远了。
被动超声波传感器
信标侦听(beacons listen): RF命令进行广播
- 信标可以发送光和声音脉冲。
- 机器人寻找并监听每个信标。
- 光脉冲启动计时器(timer),声音脉冲则停止计时器。
- 机器人从两个信标三角测量其位置。
- 机器人上的指南针可以提供方向,但是指南针在室内不可靠。
- 机器人移动时可以定向。
传感器 - 声波 (sonic)
主动:
- 发送脉冲并接收回声。
- 往返声音行程时间:一英尺/ms
- 容易超出距离
- 比较简单,不便宜,模拟输出(analog output)
- 定向,并非一切都能反射声音。
- 比较吵闹!
被动:
- 传感器监听周围的声音。
- 过滤或者扫描选定的频率。
- ADC(模数控制器)测量调节后的信号幅度。
- CPU根据接收到的声音执行信号分析。
光/颜色传感器
主动:
- 选择性场照明(selective field illumination) (特定颜色)
- 传感器过滤器可去除多余的光源。
- 输出可以是模拟或数字 (on/off)
被动:
- 不同颜色有不同的传感器。
- 彩色滤光片可以去除多余的光源。
- 输出可以是模拟或数字。
光传感器(光电管 photocell)
- 明亮照明时电阻小。
- 适用于检测光的方向/存在。
- 非线性电阻。
- 对光线变化的反应较慢。
传感器 - 视觉
主动(发射):
- 具有视场照明的相机。
- 寻找特殊的反射。
- 滤光片可以去除不重要的光源。
- 线性阵列感应单运动轴。
被动(仅限相机):
- 扫描感兴趣的区域。
- 查找感兴趣的对象,实体或特征。
- 处理数字数据以简化解释。
- 可能产生大量需要强大处理能力的数据。
传感器 - 立体视觉 (stereo vision)
Computer Vision为机器人提供了被动观察环境的能力
- 立体视觉系统通过三角测量 (triangulation) 提供深度和完整的位置信息。
传感器性能 (performance)
与现实环境特别相关的特性:
- 灵敏性 (sensitivity): 输出变化与输入变化之间的比例。然而,在现实生活中,传感器通常对其他环境变化(例如:明度改变)具有高灵敏性。
- 交叉敏感性 (cross-sensitivity) - 串扰(cross-talk) : 对其他环境信号的敏感性。其他主动传感器的影响。
- 误差 (error)/准确度 (accuracy): 传感器的输出与真实值之间的差异。但问题在于,机器人通常不知道真实值,因此他也无法确定测量的准确性。误差可能取决于其他因素,如温度,空气湿度,传感器使用期限。制造偏差等变化。传感器可以在任意时间发生任意故障。
- 系统错误 (Systematic error) - 确定性错误 (deterministic errors): 由在理论上可以被建模的因素引起的。(可预测的) 例如:校准激光传感器(laser sensor)或者摄像机光学系统(optics of camera)引起的变形。
- 随机误差 (Random error) - 非确定性 (non-deterministic): 无法预测的。但是可以用概率来描述他们。例如:相机的色相不稳定(hue instability),相机的黑电平噪声(black level noise of camera)。
- 精确度 (precision): 传感器结果的可重复性。如:传感器的分辨率(resolution)。
如何处理传感器错误 (sensor errors)
- 使用多个传感器:在不同位置,来自不同制造商,来自不同年代。
- 使用不同类型的传感器测量同一个实体。
- 使用容错 (fault tolerant) 算法:三重模块冗余方法(Triple Modular Redundancy (TMR) methods)。拜占庭方法(Byzantine methods)。
三重模块冗余方法: 三个传感器和一个voter,传感器处理同一个目标,voter进行多数投票从而得出结果。