小土刀

【通天塔之聊聊无人机】柒 碰撞规避

对于消费级无人机来说,安全比性能更重要。撞机是小事,砸伤划伤人可就是大事了。本文就来说说,无人机规避碰撞的一些研究思路,以及个人的一个超有诚意的小想法。


更新历史

  • 2016.11.29: 更新系列目录

系列文章

前面的系列文章主要介绍了美国对于无人机及其空域的划分及管控。因为各方面原因,没有办法在博客中介绍中国的管理思路(感兴趣可以自行搜索已公开的资料),不过可以提一下的是,欧洲的思路和中国的比较类似,与美国的方法有比较大的不同。不过这并不是本文的重点,今天还是来聊聊无人机规避碰撞的问题。

背景介绍

为了保证无人机的安全,各大厂商可谓是煞费苦心,从地理围栏、主动避障到各种自动化操作,层出不穷的各种方法主要是通过限制、辅助和自动化来降低无人机发生安全事故的风险。这种风险主要是两方面,一是无人机与物体(飞行器、行人、环境)相撞,二是无人机因为各种复杂状况超出处理能力而导致的坠落。

先说说第二个方面,无人机坠落俗称『炸机』,这里用来代称各种因为无人机硬件条件限制所导致的事故,包括但不限于:

  • 飞行中遇到大风失去平衡且在已有的动力条件下无法恢复所导致的坠落
  • 电量不足以返航所以不知道在哪里就掉下来了
  • 突然下雨,电机进水失去动力,于是掉下来

为了解决以上这些问题,基本思路就是在飞行控制芯片中集成更加先进的算法,在硬件中塞更多的传感器以增加无人机的环境感知能力。那么问题来了,在电池技术没有什么突破的今天,更强大的算法意味着更多的计算,是要智能还是要续航,这种两难的问题就很尴尬了。

前段时间跟我司相机和飞控部门的同事聊过,因为计算能力限制,很多时候连基本的傅立叶变换都没有办法快速完成,也就意味着市面上大部分高大上的论文是没办法集成到无人机的智能系统中的。

回过头来说第一方面,要避免无人机意外撞机,首先需要解决的是让无人机知道周围有什么东西。不过开始之前,先来参考一下有人驾驶飞机的空中管制系统。从最原始的无线电通信,到之后 ATC(空中交通管制系统)的普及使得各类飞行基本得以『井水不犯河水』,能不能考虑把有人驾驶飞机的这一套用在无人机上呢?

很可惜,答案是否定的。与传统的有人驾驶飞机相比,无人机可以被认为是一个全封闭的自治系统(如果数据链路断了,飞手便无法控制),很难根据不同情况做出合适的反应;另外无人机的飞行路线也比较随意,不像有人驾驶飞机基本按照固定的航线飞行;更重要的,无人机的范围很大,无论是大小还是性能都有巨大差异,很难上一套统一的标准来满足所有类型无人机的需求。

抛开军用和商用无人机不说,民用消费级无人机正处于群雄并起的春秋战国时代,大家都想把自己的技术上升成标准。这个时候首发优势就很重要了,谁能先拿出一整套完整的方案,谁的市场占有率高,大约就可以强势促成标准。

以前我还不明白为什么各行各业都有自己的一套标准,直到自己参与其中才意识到,标准就是规矩,规矩背后就是协商好的『分赃』方法,不仅可以拦住搅局者,还能稳固自己的一亩三分地,这样回过头来看布雷顿森林体系,就觉得『哎呀真特么都是套路』。

好了不扯远了,接下来我们来看看现在比较常用的规避碰撞的技术。

现有技术

各大厂商的相关研发基本围绕着两个思路以达到『感知与躲避』的目的:

  1. 依赖于多传感器的环境感知
  2. 依赖于智能算法的自主规避机制

这里我分别来简单说一下。

依赖传感器的解决方案基本可以被认为是『非合作型』方法,之所以叫『非合作型』,主要是因为整个过程不需要与其他物体进行任何形式的通讯(或者是不具有通讯能力的,比方说鸟类)。基本的方法简单粗暴,五个字就可以概括——『声光电磁气』。从雷达到红外线到摄像头到气压计到指南针,基本可以认为是数字信号处理的过程,虽然可以把大部分计算用硬件实现,不过还是前面的问题,暂且不考虑具体的准确性,电量本身就是跨不过去的门槛。

依赖智能算法的解决方案其实也需要硬件配合,不过更多的是通讯的硬件,比方说 TCAS 和 ADS-B。有通讯基本意味着是『合作型』,通过数据链路共享信息,以达到智能规避碰撞的目的。

TCAS 的介绍可以参考下面摘录自《世界民航杂志120期》的内容:

TCAS 全称是 Traffic Collision Avoidance System,主要由询问器、应答机、收发机和计算机组成。监视范围一般为前方30海里,上、下方为3000米,在侧面和后方的监视距离较小。(为了减少无线电干扰,管理条例对TCAS的功率有所限制。它把TCAS的前向作用距离限定在45英里左右,侧向和后向作用距离则更小。)

TCAS 的询问器发出脉冲信号,这种无线电信号称为询问信号,与地面发射的空中雷达交通管制信号类似。当其他飞机的应答器接收到询问信号时,会发射应答信号。TCAS 的计算机根据发射信号和应答信号间的时间间隔来计算距离。同时根据方向天线确定方位,为驾驶员提供信息和警告,这些信息显示在驾驶员的导航信息显示器上。

TCAS 可以提供语言建议警告,计算机可以计算出监视区内30架以内飞机的动向和可能的危险接近,使驾驶员有25-40秒的时间采取措施。(TCAS 可跟踪45架飞机,根据选定目标的优先级,最多显示30架飞机。)

看起来很符合要求嘛!不过这样一套系统要 20 万人民币以上,估计短时间内很难降价到能够装载到民用消费级无人机身上。但是 TCAS 的整体思路是值得借鉴的,在下一节会详细介绍。

另一个比较新但是比较有潜力的技术是 ADS-B,全称是 Automatic Dependent Surveillance - Broadcast,会自动从相关机载设备获取参数向其他飞机或地面站广播飞机的位置、高度、速度、航向、识别号等信息。用百科中的一段原理介绍:

ADS-B 系统是一个集通信与监视于一体的信息系统,由信息源、信息传输通道和信息处理与显示三部分组成。ADS-B的主要信息是飞机的 4 维位置信息(经度、纬度、高度和时间)和其它可能附加信息(冲突告警信息,飞行员输入信息,航迹角,航线拐点等信息)以及飞机的识别信息和类别信息。此外,还可能包括一些别的附加信息,如航向、空速、风速、风向和飞机外界温度等。这些信息可以由以下航空电子设备得到:1)全球卫星导航系统(GNSS);2)惯性导航系统(INS);3)惯性参考系统(IRS);4)飞行管理器;5)其它机载传感器。ADS-B 的信息传输通道以 ADS-B 报文形式,通过空-空、空-地数据链广播式传播。ADS-B 的信息处理与显示主要包括位置信息和其它附加信息的提取、处理及有效算法,并且形成清晰、直观的背景地图和航迹、交通态势分布、参数窗口以及报文窗口等,最后以伪雷达画面实时地提供给用户。

ADS-B 其实早在十年前就开始了相关的研究和测试,不过目前还没有搭载 ADS-B 的民用消费级无人机(虽然比 TCAS 便宜,但是也要 1 万人民币以上),这种涉及行业和政府之间的沟通协调,往往需要比较长的时间。另外 NASA/Google/Amazon 也都在开发类似的自动化系统,一个技术最终是否能够落地,就要看哪家拿出来的方案更加靠谱了。不过我个人的观察是,因为空中环境的复杂性,可能会基于不同场景使用不同的方案,具体还需要大量的实地测试。

简单总结一下,目前无人机在安全性相关技术的探索,面临着以下问题

  • 计算量:硬件条件不允许高负荷计算
  • 传感器:目前还没有集成多种感知能力且足够便宜的传感器能满足设计和冗余的需求
  • 信息源:不同厂商目前并没有信息共享
  • 政策标准:需要较长时间才能达成标准和政策
  • 成本:基于硬件的解决方案在成本上比较有压力

实话说,即使是特别昂贵的 TCAS,其实在设计上也有许多妥协,也因此有很多限制条件。目前不存在一种技术,能够一劳永逸解决无人机的安全性问题,如果有,恐怕就是『不起飞』。

之所以这么说,是因为接下来我的想法仅仅在一定条件下适用,而且基于软件的解决方案在现实的移动设备上稳定性存疑,可以作为某种意义上『感知与躲避』功能的补充和辅助,并不能取代硬件解决方案(虽然这部分我是无能为力的)。

我的想法

再强调一次,接下来的想法只针对特定的条件和场景,是『感知与躲避』功能的补充和辅助。目前能在我司的支持下做相关的研究探索我很开心,希望这个项目不要因为各种各样奇怪原因被迫中止/终止。如果不幸发生了最坏的情况,虽然目前的研究成果没办法带走(毕竟属于公司),如果有相关公司愿意支持这个项目,我还是很愿意从头再设计开发一次的,因为这对于无人机安全性提高还是有一定帮助的。

这里不会说得特别详细(不然就太没有职业道德了),主要说说思路。

总体思路

针对前面说的『计算量/传感器/信息源/政策标准/成本』几大问题,以 Cortana/Siri 的方式,通过数据连接转移复杂的计算,利用云的力量为无人机提供计算能力和智能调度能力的支持。

回想一下用 Siri 的方式,我们唯一需要做的就是用正常方式说话,然后通过网络传送到服务器,服务器进行处理之后再把结果返回给我们。这样一来,计算量/信息源/成本 这三个问题在用比较好网络连接的条件下就能够一定程度解决。

举个实际的例子:我在飞一台没有搭在 ADS-B 的无人机,但是无人机会把飞行信息发送到手机,手机会把这些信息上传到服务器上,服务器会据此计算/获取:

  • 无人机附近的天气状况(大风、降雨等恶劣天气的概率)
  • 无人机附近的其他飞行器的飞行状况,并根据具体特征进行碰撞预警(比方说有另一架无人机在 200 米外,且相向飞行,那么双方都会在手机上接收到碰撞语境提示)
  • 无人机附近的航线及其他计划飞行信息

这样用户就可以在手机上获知周围的环境状况,并据此手动/自动进行对应操作。

适用条件

从前面的描述中,我们可以知道网络是这个系统中非常重要的一环,于是,适用条件/主要服务的飞行器是:

  • 没有搭载诸如 ADS-B 或 TCAS 雷达的飞行设备
  • 较好的网络连接条件
  • 遥控器与飞行器间能够维持比较稳定的通信链路

实话说,都满足并不简单。尤其是后两个依赖通信的条件,需要找机会实地测试才能给出比较科学的结论。

技术标准

这部分涉及的问题很多,最近读了一些航空方面的综述,总结下来,需要回答的问题是:

  • 怎么样的空域条件可以认为是安全的
  • 每台无人机所需要的安全空域的范围有多大
  • 预警的级别及条件
  • 数据传输的格式及安全性
  • 针对不同性能和类型的飞行器的最低标准
  • 紧急情况的预警机制

这部分其实用现有的技术基本可以实现,就是具体的标准需要大量测试。

算法探索

目前我正在开发的是一套飞行器模拟器,能够模拟无人机的飞行及相关数据上报,这样在测试各类算法的时候能够有更多的数据依据(真实源数据由公司提供)。模拟器的思路很简单,就是基于用户的真实飞行数据进行仿真数据的生成,然后作为算法的输入,来测试算法的表现。

具体的测试标准也需要进行量化,不然就无从评估不同算法的有效程度。这部分需要更多和美国同事沟通,以及多多了解相关的研究(如果有认识的人在做这个请向我引荐一下谢谢!)

目前我的思路大约是机器学习 + 随机过程优化。这部分可以做得简单粗暴,不过要想更加智能,就得多花点时间研究了。

总结

本文简单介绍了一下碰撞规避的相关技术,并结合自己的工作提出了一点微小的设想,欢迎对无人机飞行感兴趣的同学来交流探讨,争取在 NASA/Google/Amazon 之前撸出一套靠谱可用的系统。

捧个钱场?

热评文章