详解多旋翼飞行器的传感器技术

作者: YY 硕
链接: https://zhuanlan.zhihu.com/p/21276204
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  两年来,大疆精灵系列更新了两代,飞控技术更新了两代,智能导航技术从无到有,诸多新的软件和硬件产品陆续发布。同时我们也多了很多友商,现在多旋翼飞行器市场火爆,诸多产品琳琅满目,价格千差万别。为了理解这些飞行器的区别,首先要理解这些飞行器上使用的传感器技术。我觉得现在很有必要再发一篇科普文章,定义“智能导航”这个概念,顺便字里行间介绍一下两年来大疆在传感器技术方面的努力。
  

1. 飞行器的状态

  客机、多旋翼飞行器等很多载人不载人的飞行器要想稳定飞行,首先最基础的问题是确定自己在空间中的位置和相关的状态。测量这些状态,就需要各种不同的传感器。
  世界是三维的,飞行器的三维位置非常重要。比如民航客机飞行的时候,都是用 GPS 获得自己经度、纬度和高度三维位置。另外 GPS 还能用多普勒效应测量自己的三维速度。后来 GPS 民用之后,成本十几块钱的 GPS 接收机就可以让小型的设备,比如汽车、手机也接收到自己的三维位置和三维位置。
  对多旋翼飞行器来说,只知道三维位置和三维速度还不够,因为多旋翼飞行器在空中飞行的时候,是通过调整自己的“姿态”来产生往某个方向的推力的。比如说往侧面飞实际上就是往侧面倾,根据一些物理学的原理,飞行器的一部分升力会推着飞行器往侧面移动。为了能够调整自己的姿态,就必须有办法测量自己的姿态。姿态用三个角度表示,因此也是三维的。与三维位置、三维角度相对应的物理量是三维速度、三维加速度和三维角速度,一共是十五个需要测量的状态。
详解多旋翼飞行器的传感器技术_第1张图片  
  这十五个状态都对多旋翼飞行器保持稳定飞行有至关重要的作用。拿“悬停”这件看起来是多旋翼飞行器最基本的能力来说,实际上飞行器的控制器在背后做了一系列“串级控制”:在知道自己三维位置的基础上,控制自己的位置始终锁定在悬停位置,这里的控制量是一个目标的悬停速度,当飞行器的位置等于悬停位置时,这个目标悬停速度为 0,当飞行器的位置偏离了悬停位置时,飞行器就需要产生一个让自己趋向悬停位置的速度,也就是一个不为零的目标悬停速度;飞行器要想控制自己产生目标悬停速度,就需要根据自己当前的三维速度,产生一个目标加速度;为了实现这个目标加速度,飞机需要知道自己的三维角度,进而调整自己的姿态;为了调整自己的姿态,就需要知道自己的三维角速度,进而调整电机的转速。
  读者可能会想哇为什么这么复杂。其实我们身边的许多工程产品都在简单的表现背后藏着复杂的过程。比如汽车的油门也是类似的,踩下油门之后,有传感器测量汽油的流速、控制汽油的流速;然后有传感器测量发动机的转速、控制发动机转速……从踩油门到加速的过程中也有许许多多的传感器在测量汽车的各个状态量,并对这些状态量施加控制。
  知道十五个状态量是多旋翼飞行器做任何动作的基础中的基础,但是让飞行器在任何情况下都准确知道这十五个状态量是非常困难的事情,因为现在的科技水平还没有能够实现让一个传感器同时测量这么多的物理量。几十年来,人们发展出了一套复杂的技术,叫做组合导航,用 GPS 加上惯性测量元件、气压计和地磁指南针来让飞行器测量自己的十五个状态量。

2. 组合导航

  惯性测量元件是一种能够测量自身三维加速度和三维角速度的设备(实际上惯性测量元件有两种,一种加速度计,一种角速度计,为了行文方便,我们把这两种元件当做一种,统称为惯性测量元件)。根据物理学原理,加速度的积分是速度,速度的积分是位置,角速度的积分是角度,理论上单靠惯性测量元件,我们就可以知道十五个状态量。
 人类的科技水平也的确实现了这一点: GPS 还没被发明以前,导弹上通常都装着一个精密的惯性测量元件,导弹打出去以后靠这个装置测量自己的十五个状态量,然后控制自己飞越海洋和大洲。然而这种惯性测量元件会在测量的过程中慢慢累积误差,元件本身的工艺、技术、成本越差,积累误差的速度就越快。导弹上价值几百万的惯性测量元件飞几万公里后会积累十几米到几公里的误差,这种水平的导弹已经非常了不起了,毕竟不是每个国家都可以在背后竖着洲际导弹和国际社会讲道理。

详解多旋翼飞行器的传感器技术_第2张图片

  人体内也有惯性测量元件,人的耳蜗充满液体,人运动的时候这些液体有惯性,可以被耳中的神经感受到,因此测出了运动的加速度。然而人的惯性测量元件非常差,闭上眼睛,也不摸周围的东西,只靠耳蜗感受的移动,人基本没法走直线。
  而多旋翼飞行器上用的低成本 MEMS 惯性测量元件,精度就更差了,它测量的速度和位置在几秒钟内就会发散到几十米开外去,完全没法用来规划控制自己的飞行路线。
  此外,惯性测量元件还会受到温度、制造工艺的限制,产生一些测量的偏差,比如说有时温度突然变化之后,一个静止的惯性测量元件会觉得自己转动了起来,虽然它静止着,但是会输出不为零的角速度。这类测量的偏差需要比较仔细的算法进行修正,而且往往不能单靠惯性测量元件自己的测量完全消除。
  地磁指南针是一种测量航向的传感器。指南针在人们的生活中作用重大,在未知的环境中,不分南北可能寸步难行。飞行器的机身正方向朝南还是朝北这个状态量用导航的术语来说叫做航向,也就是飞行器姿态的三维角度中的一个,他在组合导航系统中是非常重要的一个状态量。
  地磁指南针能够指南指北是因为地球表面空间中有看不见的横贯南北的地磁线,地磁指南针可以测量出穿过自身的地磁强度,从而指出当前自身相对于地磁线的偏转。同样地,这个理论虽然非常简单,但是地磁线的强度非常弱,很容易受到干扰。比如多旋翼飞行器通用的无刷电机,在运转的时候就会产生变化的磁场,和地磁场叠加之后,地磁指南针就找不到正确的方向了。地磁指南针的这个特性非常令人恼火,但是早期的多旋翼飞行器开发人员毫无办法,因为这是唯一的能够确定飞行器在空间中绝对航向的设备。如果不知道这个航向,就基本没办法进行组合导航。
  
详解多旋翼飞行器的传感器技术_第3张图片

  气压计的原理最为简单。因为地球表面海拔越高,空气越稀薄,气压越低,因此气压就能够给出飞行器的海拔高度。不过,不出意料的是,尺寸和重量适合在多旋翼飞行器上使用的气压计有很大的缺陷,它的测量值会受到温度、湿度、空气流速、光照、振动等因素的影响,单靠气压计非常难实现对高度的稳定测量。
  组合导航技术结合 GPS、惯性测量元件、地磁指南针和气压计各自的优缺点,使用电子信号处理领域的很多技术,融合多种传感器的测量值,获得较为准确的飞行器十五个状态量的测量。 前面说惯性测量元件的测量容易发散,这个发散可以通过 GPS 来抑制: GPS 可以获得三维位置也可以获得三维速度,惯性测量元件可以获得三维加速度,加速度的积分也是速度。在通过地磁指南针获得航向的基础上,两种速度的观测就可以融合起来,通过GPS 的测量值来发现并抑制惯性测量元件的发散。惯性测量元件的发散被抑制住之后,它也可以更准地测量三维角度和三维加速度。因此 GPS 和惯性测量元件在这些情况中互相取长补短。除此之外,气压计和 GPS 互相提高了高度测量的精度,地磁指南针、 GPS 和惯性测量元件一同提高了航向测量的精度,他们都是利用了相同的融合、“互补”的思想。
  组合导航技术中传感器互补的原理直接源于 1948 年诞生的信息论。克劳德-香农总结归纳出的信息论提出了信息的概念以及如何从数学上度量信息,信息论可以说是现代人类文明的基石之一。解释清楚信息的本质之后,人们才能够用数学表示一个朴素而又深刻的原理:信息可以用来估计状态,越多的信息可以把状态量估计得越准。
  
详解多旋翼飞行器的传感器技术_第4张图片

(上图致敬信息论之父,克劳德-香农)

  此后,控制论的奠基人诺伯特-维纳、鲁道夫-卡尔曼以及其他一大批工程师和科学家完善了通过信息进行状态估计的线性估计理论,进一步提出了传感器之间“互补滤波”,共同减小误差的理论。 卡尔曼设计的卡尔曼滤波器还被实现在了阿波罗飞船的导航计算机当中,使用星座位置和惯性测量元件互补测量阿波罗飞船的十五个状态量。
  信息论、线性估计理论以及卡尔曼滤波器允许人们把多个具有误差的传感器通过数学方程融合起来,利用传感器信息估计特定的状态量,而且越多传感器“互补”,可以获得越好的状态估计。这样,数学给工程学指出了发展方向:造更多牛逼的传感器进行互补,就能获得更好的状态估计能力。大疆飞控总工程师鱼大人也曾经说过:“最牛逼的工程师都是在搞传感器。 ”传感器技术的重要性可见一斑。
  作为一种位置传感器, GPS 具有诸多的问题, GPS 信号只有在开阔的空间内才能给出比较好的测量值,因为GPS 接收机需要从天上的卫星获得信号,这些信号要从太空传入大气层,这么远的距离,信号已经相对来说很微弱,所以必须要求接收机和卫星之间的连线上没有遮挡,一旦有建筑甚至是树木的遮挡,卫星发下来的信号就有噪声, GPS 接收机就不能给出很好的位置和速度观测。在室内环境中, GPS 甚至完全不能使用。组合导航技术要想进一步发展,就需要寻找其他能够在 GPS 不能使用的环境中使用的传感器。
  一种较为简单的能够替代 GPS 测量高度的传感器是小型超声波模块。这种模块通常有一收一发两个探头,一个探头发出超声波,另一个探头测量回波的时间,能够算出导致声波反弹的物体离探头的距离。现在在淘宝上,只要 10 块钱就可以买到一个能够比较准确测量几米内物体距离的超声波模块,被广泛用在大学生制作的小机器人上。这种 10 块钱的传感器没有比气压计和 MEMS 惯性测量元件性能高多少,它发出的声波容易发散,探测到的物体不一定位于探头正前方,另外声波也容易被空气中的水雾、振动所影响,给出完全错误的观测。因此,超声波模块最好的使用场景是对着地面,测量自身和地面的距离。
  
详解多旋翼飞行器的传感器技术_第5张图片
   详解多旋翼飞行器的传感器技术_第6张图片

3. 视觉感知系统

  另外一种替代品是视觉感知系统。 1970 年之后,随着数字成像技术的发展,相机作为一种传感器开始被广泛研究。因为人可以通过自己的视觉估计视野中物体的位置、距离,而相机的原理模拟了人的双眼,所以研究者们模仿人的特点,利用相机的二维图像反推图像中物体的三维信息。这种和二维图像推算三维信息相关的技术和数学理论发展成了一个独立的学科——计算机视觉,也被称作机器视觉。
  视觉感知系统是目前世界上最热门的机器人学和机器视觉领域研究课题。其原理是利用一个或者多个相机构成的视觉传感器系统,采用复杂的算法,通过二维的相机图像推算出视野中物体相对与视觉传感器系统的几何中心的运动信息,如果假设这些物体都是静止的,那么相对运动其实代表了视觉传感器本身的运动。理论上,计算机视觉技术能够单凭一个相机就可以准确测量十五个状态量,但是与其他传感器类似,相机也有很多的缺陷,包括无法恢复尺度、成像质量有限、计算量消耗巨大等等。幸好,我们还可以把视觉感知系统和其他传感器结合起来,互相提高测量精度。
  聪明的读者肯定能够想到,把视觉感知系统和之前说的所有组合导航中用到的传感器融合起来, GPS 信号质量高的时候用 GPS 组合导航,没 GPS 的时候用视觉感知系统替代 GPS,不就解决问题了吗。这确实正是目前工程师和科学家们正在努力解决的问题,也是精灵 4 上初步实现的技术。在介绍精灵 4 是如何结合视觉感知系统和组合导航技术之前,我们先简单介绍两种已经比较成熟的视觉感知系统: 光流测速模块和视觉里程计。
  光流测速模块顾名思义,只能测速度。通常一个光流测速模块由一个相机、一个惯性测量元件、一个超声波模块构成,它的主要原理是计算机视觉技术中于 1981 年被发展出来的“光流追踪”算法。
  “光流”的概念最早在 1950 年代由心理学家和生物学家提出,指的是一个观察者和他在观察的事物发生相对运动时,这些事物在他眼前成的像会产生“运动的模式”,人脑利用这种“运动的模式”能够更灵敏地感知周围什么东西在动。比如下图中,读者一看就可以直观理解“光流”的意义。

详解多旋翼飞行器的传感器技术_第7张图片

  后来计算机科学家布鲁斯-卢卡斯和金出武雄在 1981 年发明了 Lucas-Kanade 算法,通过算法计算出连续拍摄的图片上的光流,并证明了光流可以反解出相对运动的速度。虽然三十多年来, Lucas-Kanade 算法始终被公认为最好的“光流追踪”算法,但是它有比较大的局限性,它包含很多假设,比如假设连续图片的平均亮度相同,比如假设图片中的物体只发生平面运动等等。另外,光流算法算出的速度是没有尺度的,因为相机图像的单位是像素,所以光流算法只能给出“你现在的速度是 10 个像素每秒”,但是没法算出 10 个像素是 1 厘米还是 1 米。恢复尺度的方式是增加一个超声波模块测量平面运动离相机的距离,这样就能够把像素运动转换成真实的运动。最后,如果要让光流测速模块在晃来晃去的多旋翼飞行器上也能使用,通过惯性测量元件找出图像所代表的平面也是必不可少的,这一点需要在算法上进行两种传感器很好的配合。
  光流算法原理上只可以测三维速度,不能直接测量三维位置。我们同样可以通过把光流测速模块测出的三维速度积分获得三维位置,但是就像惯性测量元件积分会发散一样,光流测速模块积分得到的位置也会发散。好在它不会天马行空地失去控制,和组合导航技术中除了 GPS 之外的传感器妥善融合之后,它可以做到悬停时测量的位置不发散。因此可以说光流测速模块只在有限的条件下能够替代 GPS。
  光流测速模块已经形成了非常标准的解决方案。大疆悟以及精灵 3 上都装载了自主研发的光流测速模块,另外著名的开源飞控产品 Pixhawk 中包含了一个叫做 PX4Flow 的光流测速模块,并且开源了所有的代码和硬件方案。所以光流测速模块目前已经广泛出现在了各大厂商的多旋翼飞行器产品上。
  
详解多旋翼飞行器的传感器技术_第8张图片 详解多旋翼飞行器的传感器技术_第9张图片

  视觉里程计相比光流测速模块,增加了直接测量位置的能力,所以才叫“里程计”。视觉里程计比光流测速模块能力更强,性能更好。
  读者可能会问,为什么听起来视觉里程计和光流测速模块参与的传感器数量差不多(光流测速模块甚至还多一个超声波模块),但是视觉里程计能力反而更强呢。这里的原因不在于传感器硬件,而在软件算法上。前面已经说到光流追踪算法有很多简化的假设,只能测量平面运动,增加其他传感器硬件一定程度上是为了把那些为了计算方便而简化掉的因素重新弥补起来。
  而视觉里程计算法则复杂得多,它不仅要通过图像反推出视野中物体的平面运动,还要反推出这些物体的三维位置,并且基于这些物体的三维位置做很多次的优化计算,算法复杂度成倍于光流测速模块。有些视觉里程计的算法甚至包含完整的光流追踪的算法,但是仅仅把计算光流作为预处理图像的步骤。
  视觉里程计能够直接测量位置,测量值也比较准确,不会像光流测速模块那样发散。通常比较优秀的视觉里程计飞 100 米之后只会积累十几厘米到几十厘米的误差,这个测量水平比起导弹上几百万的惯性测量元件还是差了不少,但是考虑到视觉里程计的价格极其低廉,对比起来它的性价比非常高。
  视觉里程计有几个不同层次的难度,最简单的是两个相机构成的双目立体视觉系统加惯性测量元件,最难的是一个相机构成的单目视觉系统加惯性测量元件。如果视觉里程计和光流测速模块硬件一致,那么这里的视觉里程计采用的是单目视觉系统。目前,双目立体视觉系统加惯性测量元件实现自身状态观测已经是比较完善的技术,而单目视觉系统则是活跃的研究方向, 世界上做这个研究方向较好的大学有美国的宾西法尼亚大学、瑞士的苏黎世联邦理工学院、英国的牛津大学、我国的香港科技大学和其他一些欧美院校。
  单目视觉系统和双目立体视觉系统两者对比起来,他们的算法难度差别很大。视觉里程计的算法关键点是前面说的“通过连续的图像反推出视野中物体的三维位置”。对于和人眼结构类似的双目立体视觉系统,这一点比较容易,因为一个物体同时出现在左右两个相机的视野中时左右视野有视差,视差可以帮助解算物体的位置,只需要用简单的几何关系就可以实现,这已经是非常成熟的技术。
  但是对于单目视觉系统,只有一个相机就没有视差,没法做简单的几何关系的解算,所以算法必须能智能地在局部范围内同时估计很多个物体的位置,然后在自身移动过程中通过位置移动产生视差,然后进行多个物体的位置的最大似然估计,从而推算出这些物体比较准确的位置。这个过程包括很多个环节,大部分环节在学术界都没有公认最优的方案,因此还没有成熟的技术。
  因为原理相对简单,所以双目立体视觉系统构成的视觉里程计在三十年前就开始被研究了。 1980 年代早期,NASA 工程师、著名机器人学家汉斯-莫拉维克就已经制造出了这种状态测量系统。关于汉斯-莫拉维克的另一个故事,我在知乎问题中“有哪些与控制、机器人等相关的 quotes? - YY 硕的回答”也有提到。
  
详解多旋翼飞行器的传感器技术_第10张图片
  (上图致敬汉斯-莫拉维克)

  在经年累月的优化之后, 2004 年, NASA 成功把视觉里程计和惯性测量元件构成的视觉定位系统装在“机遇号”和“勇气号”火星车主频仅有 20MHz 的特制芯片上,送上了火星,它可以帮助火星车通过一对双目相机非常准确地记录自己走过的路线。 2007 年,参与火星探测任务的计算机科学家和工程师们把这个激动人心的过程写成了一篇论文《计算机视觉在火星》( Computer Vision on Mars),这篇文章吸引了很多计算机视觉研究人员投身视觉里程计的研究,也极大推动了视觉里程计在机器人学中的应用。

4. 精灵 4 的传感器方案

  大疆在精灵 4 上实现了双目立体视觉系统加惯性测量元件构成的视觉里程计,飞机上装了两套双目立体视觉系统,一套向前看,一套向下看,一共是四个相机。

详解多旋翼飞行器的传感器技术_第11张图片

 
详解多旋翼飞行器的传感器技术_第12张图片

两套双目立体视觉系统都参与视觉里程计的计算。通常情况下以向下看的双目立体视觉系统为主,如果向下看的相机对着一些特征不明显的环境(比如纯色的地板、海面等等),感受不到什么图像变化,视觉里程计会自动切换到向前看的立体视觉系统做测量计算。虽然精灵 4 采用的都是较为成熟的机器视觉技术,但是由于精灵 4上机载的计算量非常有限,大疆还是下了相当久的苦功去优化算法,并使用了 Movidius 公司制作的图像算法处理专用芯片,结合 Movidius 公司的图像处理算法库优化四路图像处理的性能。值得一提的是,不久就会面世的Google Project Tango 也使用了 Movidius 公司的这款芯片。不过因为 Movidius 公司的芯片不包含视觉里程计的算法,所以 Google 的这款产品中视觉里程计的算法应该与精灵 4 的算法有较大差别。
  两套双目立体视觉系统还带来了视觉里程计之外的两个好处: 1. 向下看的一套双目立体视觉系统可以探测下方地面上物体的三维位置,从而知道地面的距离; 2. 向前看的一套双目立体视觉系统可以用来探测前方场景中物体的深度,产生深度图进行障碍感知。深度图还可以用于重建一个飞行器周围的局部地图,以进行精细的运动规划,这就是精灵 4 指点飞行的基础,在这篇文章中不详细介绍了。
  
详解多旋翼飞行器的传感器技术_第13张图片

  除了增加视觉里程计之外,精灵 4 上还增加了内置的超声波模块。所以精灵 4 上一共有 GPS+惯性测量元件+气压计+地磁指南针+超声波模块+双目视觉系统六种传感器。 其中双目视觉系统有两套,共 4 个相机;惯性测量元件有两个,实现双冗余备份;地磁指南针也有两个,同样双冗余。当工作中的惯性测量元件或者地磁指南针受到严重干扰的时候,系统会自动进行备份切换,切换到另一个传感器上。这些传感器的数量、功能和特性总结如下表:
  
详解多旋翼飞行器的传感器技术_第14张图片

  有了这些传感器以后,组合导航系统升级成为了智能导航系统。智能导航技术极大拓展了飞行器可以活动的空间,当有 GPS 的时候,系统可以通过 GPS 为主进行十五个状态量的测量,视觉里程计依然可以继续运作,提供额外的速度和位置的测量值进一步提高精度; GPS 信号不好的时候,视觉里程计可以接替 GPS 为整个系统提供稳定的观测。智能导航系统中有三种确定高度的传感器:超声波、气压计、双目立体视觉,这三种传感器几乎可以覆盖所有让传统多旋翼飞行器头疼的定高场景:树丛上方、室内、靠近建筑的位置、大风环境等等。
  地磁指南针的冗余设计可以很大程度上减小外部磁干扰带来的指南针故障。另外视觉里程计也能给出航向的观测,两者互补能够提高航向的观测精度。在以前的飞行器上,因为地磁指南针受到干扰造成的炸机问题比较多,在精灵 4 上因为有了多重保护措施,地磁指南针被干扰导致问题的概率大大降低。
  有了智能导航系统之后,还需要有一套强有力的软件系统去组织导航算法和飞行控制算法。精灵 4 的飞控和最新推出的 A3 飞控类似,都是大疆第三代飞行控制器。大疆第一代飞控是汪滔自己写的,性能很不错,然后飞控组在过去的几年里做了两次比较大的飞控软件系统的重构,以支持更多的传感器和功能。 2014 年底推出的第二代飞控里加入了光流测速模块支持、 SDK、限飞区和新手模式等功能, 2016 年初开发完成的第三代飞控里加入了冗余传感器、双目立体视觉支持、避障功能和智能返航等功能。因为每一次重构都对整个软件系统做了很大规模的调整,增加了很多的软件模块和新的软件架构,所以分了三代。别人刚开始做飞控的时候,大疆已经自己重构了两次代码,这一点是大疆最引以自豪的地方之一。
  智能导航系统让精灵 4 在任何状态下都可以准确测量自身的三维位置和三维速度,这对实现多种功能都有非常重要的意义。
  近年来,业界有很多关于避障应该使用双目立体视觉还是激光雷达传感器等传感器的争论。在大疆内部,选择什么样的传感器放入智能导航系统用来避障,工程师团队也进行了旷日持久的探讨,最后还是选择了双目立体视觉的方案。我相信随着科技的发展,在未来会不断有更多更好的新传感器诞生,很可能会有其他传感器代替双目立体视觉,但是实现稳定避障的关键不在于避障所使用的传感器。 避障这个事件发生前后,飞行器机体一定会发生急刹车,整体会经历很大的姿态变化和加速度,在这种状态下,飞行器是否还能稳定地测量出自己的十五个状态量,才是最影响安全性的问题。
  如果系统急刹车之后,整体的位置观测甚至速度观测都发散了,这时候飞行器有可能左右飘出去,还是会发生炸机。就算不炸机,避障之后飞机前后左右摇晃,也会给用户心理上造成不安全的感受,带来很差的用户体验。精灵 4 在很多严苛的情况下发生避障动作时,飞行器会自动锁定位置、速度迅速减为 0 的状态,很快就可以从高速机动恢复到完全不动,非常稳定地悬停,避免了在障碍附近不稳定活动引起炸机。
  精灵 4 还能处理很多看似很简单,但是对传感器系统要求非常高的飞行场景。比如在十几层楼的窗口把飞行器从室内飞到室外悬停。这种场景下,从窗口穿出时,向下看的传感器几乎马上全部失效,由于有建筑的遮挡,GPS 也不会立刻生效,因此传感器系统不够稳健的飞行器有可能因为失去速度和位置的测量而飘到建筑上造成高空炸机。而精灵 4 则能够通过前视双目视觉系统的观测,在向下看的传感器都暂时失效时继续运行视觉里程计,及时提供辅助的速度和位置观测,避免造成无法控制速度和位置导致炸机的情况出现。
  实际上,由于前面说的过 GPS 容易被遮挡导致没有足够的信号做观测的情况在航拍的场景中其实常常遇到。比如在树木茂密的峡谷里航拍,经常出现的情况是飞行器放在地面上时接收不到 GPS 信号,如果稳定飞到几十米的高度就可以接收到了。在这些临界情况下起飞和降落非常危险,如果要保证飞行器在升降过程中都能保持稳定的状态,飞行器必须能够在 GPS 和视觉里程计之间无缝转换,这样才能让用户放心地起降。如果用户从高处下降到低处 GPS 突然没有了,而视觉里程计没有及时补上,飞机失去位置和速度观测之后就变得非常难操控,就有可能撞在树丛上。
  读者可能问,在这些情况下光流测速模块效果是不是也一样呢。我们前面说过光流测速模块的算法有很多简化的假设,尤其是被观测的物体必须处于同一个平面这样的假设,使得光流测速模块在树丛上方、地势变化较大的空间上方,都表现非常糟糕,并不能满足户外航拍的需求。虽然视觉里程计计算量庞大,但它是比光流测速模块更加实用有效的方案。
  另外值得一提的是,第二代的大疆飞控使用的是遥控器杆量转化成飞行器的加速度指令,而第三代的大疆飞控在精灵 4 上变成了遥控器杆量转化成飞行器的速度指令。在精灵 3、大疆的前代飞行器以及很多无人机产品上,如果你推遥控器满杆前进,飞行器会以一个固定的角度加速飞出去,直到加速度被空气阻力抵消,这样控制并不直观,所以新手很难操作飞行器;而在精灵 4 上,如果你推遥控器满杆前进,飞行器会自己调整到一个固定的速度上,直接操控速度显得非常直接,非常容易操控。以往,让飞行器保持匀速飞行是只有专业飞手才能做到的事情,现在则真真正正地让普通人也能触手可得。这一个修改看似简单,但是提供了更好的操作手感,而且让飞行器飞行的状态更加稳定。
  对于航拍操作手来说, 所有的花哨功能都不如悬停得稳、飞得稳这一点重要,因为飞机晃得太厉害,总会给用户造成一种“我的飞机真的没出问题吗”的感受,用户体验极其不好。我们去西藏青海或者其他很美的地方开车玩,肯定是希望平稳、慢慢地开,这样才能专心看美景;如果开着一部油门轻轻一点就加速到 200 公里的赛车,坐在车里一会儿被推背,一会儿过弯时左右甩,人还有心情欣赏路上的美景吗?
  遥控器杆量改动也显示了大疆对自己智能导航系统提供的稳定的三维速度测量的信心。目前我没有见过其他哪家公司的飞行器控制系统采用的是遥控器杆量转化成飞行器的速度指令。

5. 当我在谈论无人机的时候,我在谈论什么

   在这篇文章里,到现在我都没有提过“无人机”三个字。我觉得,就像一辆合格的汽车必须有安全带、安全气囊、后视镜、阻燃内饰、各种仪表盘等等安全措施才能称为汽车一样, 一部合格的多旋翼飞行器也必须有惯性测量元件、 GPS、视觉里程计、避障系统、气压计和超声波等传感器构成的智能导航系统才能被称为无人机。 多旋翼飞行器不是玩具,汽车以高速撞人会造成人体严重的伤害,多旋翼飞行器甚至都不需要高速运动就可以用螺旋桨造成人体严重的伤害,因此多旋翼飞行器传感器必须有很强的安全性和稳定性。
  2014 年的时候,大疆飞控组有一个白板,上面写着: “竞争对手” 下面只用小字写了几个业内竞争品牌的名字,但是用大大的字写了“波音“。几年来,大疆飞控的梦想都是能让便宜低价的多旋翼飞行器像波音的民航客机那样,只有五百万分之一的致死事故发生率。随着传感器技术的提升和飞行控制品质的提升,截止 2016 年 5 月底,精灵 4 核心传感器出现故障的概率约为两百万分之一。虽然相比起载人的飞行器来说,大疆还有很多地方需要努力,但是在无人的多旋翼飞行器行业中,大疆是行业中飞行器整体故障率最低的企业。很多其他的企业,可能都无法计算出事故概率是百万分之多少,甚至是万分之多少。很多其他公司也出了不少多旋翼飞行器产品,但是大部分只做了个组合导航的皮毛,加上一个光流测速模块,然后动一些歪脑筋,就开始标榜自己的安全性。就好比造个了汽车,说“啊我这个安全性很好的因为我方向盘手感很好,还装了个车载 GPS”,但他车里连安全气囊和后视镜都没有。还有的公司以飞行器上有新型传感器为卖点。但是一套完整、可靠的传感器系统是一点一滴积累起来的,新传感器必须和已有的组合导航系统在硬件和软件上仔细融合,才能真正发挥作用。面对很多号称采用激光、红外线、“人眼级别的智能”的传感器,读者们只要去问这些厂商: “你的传感器能和 GPS 无缝切换吗? ”“你的传感器解决室内掉高问题吗”“你的传感器在急刹车的时候还能保持位置观测吗”,就可以看出他们都是堆砌出来的空中楼
阁。
  有些厂商的宣传语是“无人机不是土豪的玩具”。如果把他们所有宣传语中的“无人机”一词换成“汽车”,那么这类宣传逻辑和它们引导的消费观念显得极其错误。对汽车来说,有些汽车价格昂贵是因为提供了更好的倒车雷达和车身周围的传感器系统,这种增加汽车售价的行为提高了驾驶的体验,是理所应当的;另一方面,要求汽车变得更便宜,不应该要求去除这些安全传感器,而是应该从车身材料、内饰等方面去入手降成本。
  大疆极其反感这类行为,并不是想打击这些竞争对手以占领市场,而是希望所有厂商能够沉住气,把飞行器的传感器做完善。多旋翼飞行器不是手机一类的消费电子,而是和汽车、客机一样具有一定危险性的载具,不能一味打价格战或者标新立异。我们希望市场上能出现带着全套智能导航系统和算法,依然售价 2999 的飞行器。我们坚信只有实现了完善的智能导航系统,才能造出真正安全的无人机产品,否则让不达标的飞行器进入市场,损害的是全体厂商的利益,也危害了整个社会的安全。

你可能感兴趣的:(无人机(Unmanned,Aerial,Vehicle))