爱吧机器人网 » 技术 > 机器人学 > 正文

一文读懂机器人传感器的秘密

目前,有些先进的机器人和人类一样,有感官和知觉,比如你推倒它,它会自己爬起来;你打它一下,它会把头转向你;它看到了障碍,会自己绕开……这种自动化或半自动化的机器人不需要人工操作,就可以自己完成这些动作。
机器狗
可以保持平衡的机器人
 
人类通过各种感官系统来认识世界,比如触觉、嗅觉和味觉等等,对于下图的萝卜君,我们通过视觉,知道它是一个橙色的、戴着绿帽子的胡萝卜;通过听觉,知道它是一个贱萌的汉子;还可以通过味觉,尝出萝卜君的炒胡萝卜丝味。那机器人是通过什么感知世界的呢?
 
\
通过视觉认识萝卜君
 
机器人也是通过感知系统来感知世界,这个感知系统是通过各种各样的传感器组成的。传感器可以感受外界的信号,如光、热、烟雾、压力和湿度等等,并将信息传递给下一级装置,机器人得到外界信息就可以做出相应的对策。传感器让冷冰冰的物体有了感官。
 
传感器有很多种,按照应用分类就有温度、压力、PH、浸水和称重传感器等等,你能想到的需要测量的属性,几乎都有对应的传感器。我们可以根据需要的功能,选择对应的传感器,例如下图汽车上应用了不同功能的传感器。
 
汽车上的传感器
汽车上的传感器
 
不同功能的传感器所运用的原理也不同,按照原理分类就有超声波、紫外线、电量、磁敏和加速度传感器等等,不同原理的传感器也会带来使用效果上的差别。
 
传感器随处可见,楼道里的烟雾探测器、监控摄像头里的图像传感器、公交卡读卡器……这些都是传感器。能够灵敏地感知外界环境的变化,拥有强大功能的传感器到底是什么?
 
 
传感器(Sensor)
 
传感器就是能感受到被测量的信号,并能将这个输入信号按照一定规律转换成输出信号的器件或装置。假设机器人被打一下,压力就是输入信号,传感器按照自己的规则,将它换成头部能看懂的信号,头部收到输出信号就会有所反应。
 
传感器和外界
传感器感知外界
 
输出信号往往是指电信号,电信号可以是电压或电流,很容易被传送和控制,能够很方便地被传输、处理和存储。传感器一般由敏感元件和转换元件组成,典型的传感器结构可以用下图表示。
 
敏感元件和转换元件的位置
敏感元件和转换元件的位置
 
本文主要介绍几种机器人身上常用的传感器,它们可以帮助机器人实现一些基础的功能,例如躲避障碍物、调整站姿和识别物体等等。

 
超声波距离传感器
 
机器人想要正常行动,就要知道周边是否有障碍,所以机器人和外界的距离是最经常用的信息。要做精致高贵的机器人,就要和外界保持距离,不然,就会变成一台不优雅的碰碰车。
 
超声波距离传感器
疯狂撞墙
 
用于测距的传感器非常多,比较简单的超声波传感器了,它利用超声波进行距离探测。虽然初中学过超声波,但估摸着大家都忘了,超声波就是高于 20KHZ 的声波,而超声波传感器利用的一般是频率在 0.25MHZ 到 2MHZ 的声波。(1MHZ=1000KHZ,人类听到的是 20HZ~20KHZ)
 
超声波距离传感器
超声波传感器
 
它的原理非常简单:声音的反射。传感器发射出超声波,超声波撞到物体后弹回来,传感器再接收超声波,通过时间差来测距。这种传感器有很多类型,但无论是哪种,它的原理都是一样的。
 
超声波传感器原理图
超声波传感器原理图
 
上面两个圆柱就是超声波发射接收器,它将电信号转化为超声波信号发送,又将接收到的反射信号转化为电信号,然后递送给下一级处理器,就可以计算出距离了。
 
典型的超声波发射接收器
一个典型的超声波发射接收器
 
我们设定传感器距离一个物体的距离为 d,传感器发出超声波信号到接收反射信号的时间差为 t,一般情况下,传输介质是空气,声音的传播速度是常数 v = 340m/s,那么所测距离 d 满足:
 
用声音测量距离的公式
 
常用的超声波距离传感器有 HC-SR04 超声波距离传感器,因为它简单、好操作还便宜。那现在想知道 d,就差 t 了,我们以 HC-SR04 为例,来找到 t。
 
经典的 HC-SR04 超声波距离传感器
经典的 HC-SR04 超声波距离传感器
 
HC-SR04 有四个端口:供电的 Vcc 端、接地的 GND 端、控制发射超声波信号的 Trig 端,以及反馈所测距离,向更高级的处理器发射电信号的 Echo 端。
 
控制器在 Trig 端给予一个宽 10μs 的高电平信号,传感器就向外界物体发送 8 个频率为 40kHz 的超声波信号。发送完后,怎么计时呢?这时,Echo 端就会输出高电平,然后,计时开始!滴答滴答……超声波碰到物体后被弹回来,传感器接收到信号,计时结束!高电平停止输出。
 
工作过程
工作过程
 
最后,通过时间间隔,就可以算出这个物体和超声波传感器的距离啦。
 
红外测距传感器
 
除了超声波,还有很多其他可以被反射的媒介能被用于测距。在机器人领域中,性价比较高的是红外测距传感器。
 
一款常见的红外测距传感器
一款常见的红外测距传感器
 
聪明的你一下就猜到了,它是用红外线来测距的。而且相比声波,光信号更集中,不易扩散,就像我们会说“一束光”,而不说“一束声音”,所以它的精度更高。而且光的速度更快,在一定测量范围内,也不会因为测量时间的延误导致机器人撞墙。
 
能够快速避障的机器人
能够快速避障的机器人
 
红外线测距传感器大致由一个红外线发射器和一个 CCD 检测器组成。CCD 检测器可以检测到被反射回来的光线,在很多数码相机和手机相机都用它来成像。
 
红外线十分有个性,即使被反射回来也不走回头路,非要拐一个弯再回来,我们把它叫做三角测量原理。相比起光线原路返回,三角原理允许外界物体不在发射器的正前方,有更高的容错率。
 
三角测量原理
三角测量原理
 
那怎么检测距离呢?以上图为例,反射光线距离 CCD 检测器中心线偏移了长度 L,那么已知发射角度 α,中心距离 X 以及滤镜的焦距 f,我们可以通过几何关系得到传感器到物体的距离 D:
公式
 
为了能更直观的反应出这个需要探测的偏移值与物体距离的关系,我们可以用物体的距离 D 来表示偏移值 L,表现为:
公式
 
通过这个关系可以发现,当物体的距离 D 足够小时,L 值大小会趋近于 X,而这个 X 值一般情况下要大于 CCD 检测器所能允许的最大偏移值,导致太近的物体无法被检测到。而当物体的距离 D 足够大时,L 值大小会趋近于 ftan(α),与此同时当物体较远的时候发射角往往很小甚至趋近于 0,即 L 值也会很小,再次检测实效。
 
所以红外测距传感器探测范围会比超声波测距传感器更小,使用的距离限制更多,想要更好地测量物体的距离,就需要更高分辨率的 CCD 检测器。(更高分辨率可以更好分辨出两个点)
 
有些小伙伴就会想,如果用上述两种测距传感器,我往左侧发射信号,但是障碍在右侧怎么办?聪明的人类想到一个绝妙的办法,那就是——多安装几个,往各个方向都发射信号就好了。大概像这样:
 
假装发射信号
假装发射信号
 
惯性测量单元(IMU)
 
机器人可以躲避前方的障碍,却躲不过脚下的坎坷。如果人类被石头绊了一跤,会马上调整重心,重新站稳,那机器人要如何知道自己目前的姿态,以调整出想要的新姿势呢?
 
失去平衡的机器人
姿态调节不好的机器人
 
这时,就用到惯性测量单元,这是个可以测量物体三轴角速度和三轴加速度的装置。三轴是指三个方向,也就是测出三个方向角速度和加速度。对于不同应用,三轴表示的方向也会不同。
 
例如,三轴角速度是在欧拉角坐标系上三个方向的角速度。
 
欧拉角坐标系
欧拉角坐标系
roll 是耳朵贴肩膀、pitch 是点头、yaw 是摇头
 
三轴加速度是在直线立体坐标系中的三个方向的加速度。
直线立体坐标系
直线立体坐标系
x 是左右,y 是前后,z 是上下
 
如果两个坐标系合体,铛铛~就变成了六轴,是不是惊喜又意外! 
 
一个典型的 IMU 会包含三轴加速度计(测加速度)和三轴陀螺仪(测角速度),也有些会加入三轴磁力计(测磁场大小,获得磁场指向),其中涉及到了两种坐标系,这就是六轴传感器。
 
由三轴陀螺仪和三轴加速度计组合而成
由三轴陀螺仪和三轴加速度计组合而成
 
得到了加速度和角速度还不够,机器人依然是一脸懵逼,不知道自己的姿态(姿态指欧拉角坐标系的三个角度),这时就需要输出这些物理量,让下一级处理器进行姿态解算,就能得到自己目前的姿态了。生活中,手机的重力感应、计步器手环等等,都需要检测和解算姿态。
 
重力感应
重力感应
 
具体的解算方式比较繁杂,推荐阅读两个简单的姿态解算例子(复制链接至浏览器):
 
1、Arduino 教程——MPU6050 的数据获取、分析与处理:
 
https://zhuanlan.zhihu.com/devymex/20082486
 
2、如何使用 MPU9250 获取实时运动数据:
 
https://create.arduino.cc/projecthub/30503/using-the-mpu9250-to-get-real-time-motion-data-08f011
 
图像传感器
 
现在机器人终于可以自如地在路上行走,不用担心它撞墙或者被绊倒了,但这时机器人就像拄着拐杖的盲人,无法看到物体,我们需要让它的眼睛(摄像头)能够感知光线,这就用到了图像传感器。以前提到的视觉识别算法,都是需要摄像头感知光线然后输出图像才能完成的。
 
镜头中的图像传感器
镜头中的图像传感器
 
图像传感器可以把收集到的光信号转化成电信号,比较常见的有感光耦合原件 (CCD)和互补式金属氧化物半导体有源像素传感器(CMOS)。这里的 CCD 就是红外传感器里的检测器。
 
光信号转化成电信号
光信号转化成电信号
 
CCD 图像传感器
 
CCD 图像传感器是一个基于模拟信号的设备。传感器上有很多光敏电容排成队伍,图像或者光信号通过透镜,投影到光敏电容的阵列上,每个电容都会积累一定的电荷,入射光越强,电荷越多。
 
电容阵列积累电荷
电容阵列积累电荷
 
接受光线后,每个电容就会把自己的电荷传给相邻的下一个电容,电荷会被传到最后一个电容,最后一个电容就把电荷传给电荷放大器,电荷就被转化为电压信号。只要循环这个过程,控制回路可以把整个阵列中的电荷转化为一系列的电压信号。电压信号会被下一级处理器转换为数字信号。
 
CCD图像传感器原理
CCD 图像传感器的原理
 
CMOS 图像传感器
 
CMOS 图像传感器是一类利用 CMOS 半导体的有源像素传感器。它身上有很多光电二极管,每个二极管附近都有对应的电路,直接将光信号转换成电压信号,不需要一个一个地传递电荷。同样,下一级处理器也会将电压信号转换为数字信号。
 
CMOS图像传感器原理
CMOS 图像传感器的原理
 
两种图像传感器比较,CCD 图像传感器灵敏度更高,也更加具有抗噪声的能力。但由于工艺上的限制,CCD 上的敏感元件和信号处理电路处在不同的电路中,不像 CMOS 能将整个图像系统集成在一块芯片上,所以体积更大和功耗更大。
 
图像传感器
图像传感器
 
传感器的应用
 
如今,传感器的运用已经非常广泛,我们需要在特定的环境下合理选择传感器。
 
例如无人机的自动避障功能,一般不使用红外测距传感器和超声波测距传感器,因为红外线会被黑色物体吸收,会穿过透明物体,而超声波会被海绵等物体吸收,容易被桨叶气流干扰。
 
一般使用图像传感器,让两个平行的摄像头进行拍摄,根据两幅图像之间的视觉差异,经过一系列复杂的算法来计算出特定点的距离。
 
双摄像头避障
两个摄像头避障
 
除了避障,无人机还需要精确地测量自己的高度,所以会在底部安装超声波距离传感器,辅助它在一定范围内完成精确的高度测量。
 
两个超声波距离传感器
两个超声波距离传感器
 
如果看了这么多期智囊团,技术已经过硬,想拼装出一台无人机,就需要对无人机的姿态进行精确的测量,才能控制它,这其中就会用到惯性测量单元。
 
◆◆◆
 
机器人的智能化离不开传感器的发展,随着工艺的提升,传感器也越来越小型化、多用化和智能化。本文只是介绍了几种最常见的传感器,相信随着发展,会出现更先进的传感器,为我们的生活带来更多便利。


上一篇:工业机器人的主要组成结构和技术原理
下一篇:工业机器人的主要部件、材料、构形与控制系统
精选推荐
这些人型机器人是如此真实,你的肉眼几乎无法区分
这些人型机器人是如此真实,你的肉眼几乎无法区分

[2017-09-03]   我们生活在一个区分现实与幻想变得越来越困难的世界。由于机器人技术的进步,创造人工的人类正在逐渐接近完美的最终目标。我们现在看到的机器人不再只是一块发光二极管,......

麻省理工最新机器人“装配工”未来可建造太空基地
麻省理工最新机器人“装配工”未来可建造太空基地

[2019-10-17]  两个机器人原型把一系列小单元组装成大结构体麻省理工学院科研人员最近提出一种新型机器人技术,即一种小型机器人系统,能够自主地用统一规 ...

7种常见的机器人焊接类型
7种常见的机器人焊接类型

[2017-12-17]  机器人焊接是工业领域最常见的机器人应用之一,近几十年来主要由汽车行业驱动。机器人焊接在完成大批量,重复性的焊接任务时效率最高。...

麻省理工又秀神技:推出如魔法般跳跃的方块机器人集群
麻省理工又秀神技:推出如魔法般跳跃的方块机器人集群

[2019-10-31]  几天前,小编向大家介绍过麻省理工(MIT)研发的一种自组装机器人集群(点此阅览),它们可以用统一标准的小单元自动组装出各种大型结构。 ...

英国首台月球车是个小型四腿机器人 将于2021年登月
英国首台月球车是个小型四腿机器人 将于2021年登月

[2019-10-12]  探测器将用四条腿探测月球表面,并将数据传回着陆器,后者将把数据传回地球图 詹姆斯温斯皮尔英国即将成为继美国、俄罗斯、中国之后的又一 ...

智能农业:种地的事儿未来全交给这些机器人吧
智能农业:种地的事儿未来全交给这些机器人吧

[2019-12-07]  SRC公司创始人Sam与温波尔庄园农场经理Callum Weir以及监控机器人Tom总部位于英国的农业科技初创公司SRC(Small Robot Company),正在 ...

美国喷气推进实验室的AI驱动无人机挑战人类飞行员
美国喷气推进实验室的AI驱动无人机挑战人类飞行员

[2017-12-08]  随着无人机及其组件越来越小,效率越来越高,功能越来越强大,我们已经看到越来越多的研究开始让无人机自主飞行在半结构化的环境中,而不依赖于外部定位。 宾夕法尼亚大学在......

瑞士研发出微型机器人集群 可像蚂蚁一样互相交流并协同工作
瑞士研发出微型机器人集群 可像蚂蚁一样互相交流并协同工作

[2019-07-12]  EPFL(瑞士联邦理工学院)的研究人员受到了蚂蚁的启发,开发了一款仅有10克重的小型机器人:他们可以相互交流,分配角色并完成复杂的任务。 ...

本周栏目热点

机器人离线编程误差来源分析及消除办法

[2018-01-02]  随着机器人应用领域越来越广,传统的示教编程这种编程手段有些场合变得效率非常低下,于是离线编程应运而生,并且应用越来越普及。初用离线编程的朋友,总会被最后生...

全面了解机器人的精度

[2018-05-07]  1 绝对精度是啥玩意? 这个软件能否后刷进机器人系统?关于第二个问题,近期有不少客户询问本助手,这个软件可以后刷到系统里卖面吗?可以 ...

使用Azure Bot创建一个智能聊天机器人|附源代码

[2018-01-09]  首先,需要在Azure门户上创建一个帐户。只有这样,我们才能在云环境中托管应用程序。在左侧菜单上单击New,它将打开Azure Marketplace,在那里我们可以看到服务列表。点击AI +认知服务...

机器人如何赢得人类信任?普渡大学研究小组正在探索

[2018-12-15]  该测试使研究人员能够识别与智能系统中人类信任相关的心理生理特征,并相应地建立信任传感器模型。假设信任水平在可靠的试验中很高,在错误的试验中较低,使用从581名在线参与......

移动机器人的视觉算法解析

[2018-12-03]  如果对移动机器人视觉算法进行拆解,你就会发现获取物体深度信息、定位导航以及壁障等都是基于不同的视觉算法,本文就带大家聊一聊几种不同但又必不可少的视觉算法组成。...