【技术向】无人机避障的技术实现方式
近年来无人机市场飞速增长,避障技术作为增加无人机安全飞行的保障也随着技术的发展日新月异。无人机在飞行过程中,通过其传感器收集周边环境的信息,测量距离从而做出相对应的动作指令,从而达到「避障」的作用。
目前,无人机的避障技术中最为常见的是红外线传感器、超声波传感器、激光传感器以及视觉传感器。那为什么大疆的前视避障首先选择了双目视觉呢?这就要从各个技术的原理说起了。
红外避障:
红外线的应用我们并不陌生:从电视、空调的遥控器,到酒店的自动门,都是利用的红外线的感应原理。而具体到无人机避障上的应用,红外线避障的常见实现方式就是「三角测量原理」。
红外感应器包含红外发射器与CCD检测器,红外线发射器会发射红外线,红外线在物体上会发生反射,反射的光线被CCD检测器接收之后,由于物体的距离D不同,反射角度也会不同,不同的反射角度会产生不同的偏移值L,知道了这些数据再经过计算,就能得出物体的距离了,如下图所示。
超声波避障:
超声波其实就是声波的一种,因为频率高于20kHz,所以人耳听不见,并且指向性更强。
超声波测距的原理比红外线更加简单,因为声波遇到障碍物会反射,而声波的速度已知,所以只需要知道发射到接收的时间差,就能轻松计算出测量距离,再结合发射器和接收器的距离,就能算出障碍物的实际距离,如下图所示。
超声波测距相比红外测距,价格更加便宜,相应的感应速度和精度也逊色一些。同样,由于需要主动发射声波,所以对于太远的障碍物,精度也会随着声波的衰减而降低,此外,对于海绵等吸收声波的物体或者在大风干扰的情况下,超声波将无法工作。
激光避障:
激光避障与红外线类似,也是发射激光然后接收。不过激光传感器的测量方式很多样,有类似红外的三角测量,也有类似于超声波的时间差+速度。
但无论是哪种方式,激光避障的精度、反馈速度、抗干扰能力和有效范围都要明显优于红外和超声波。
但这里注意,不管是超声波还是红外、亦或是这里的激光测距,都只是一维传感器,只能给出一个距离值,并不能完成对现实三维世界的感知。当然,由于激光的波束极窄,可以同时使用多束激光组成阵列雷达,近年来此技术逐渐成熟,多用于自动驾驶车辆上,但由于其体积庞大,价格昂贵,故不太适用于无人机。
视觉避障:
解决机器人如何“看”的问题,也就是大家常听到的计算机视觉(Computer Vision)。其基础在于如何能够从二维的图像中获取三维信息,从而了解我们身处的这个三维世界。
视觉识别系统通常来说可以包括一个或两个摄像头。单一的照片只具有二维信息,犹如2D电影,并无直接的空间感,只有靠我们自己依靠“物体遮挡、近大远小”等生活经验脑补。故单一的摄像头获取到的信息及其有限,并不能直接得到我们想要的效果(当然能够通过一些其他手段,辅助获取,但是此项还不成熟,并没有大规模验证)。类比到机器视觉中,单个摄像头的图片信息无法获取到场景中每个物体与镜头的距离关系,即缺少第三个维度。
如下图所示,单一的图片具有很强的迷惑性和不确定性
双目立体视觉犹如3D电影(左右眼看到的场景略有差异),能够直接给人带来强烈的空间临场感。类比机器视觉,从单个摄像头升级到两个摄像头,即立体视觉(Stereo Vision)能够直接提供第三个维度的信息,即景深(depth),能够更为简单的获取到三维信息。双目视觉最常见的例子就是我们的双眼:我们之所以能够准确的拿起面前的杯子、判断汽车的远近,都是因为双眼的双目立体视觉,而3D电影、VR眼镜的发明,也都是双目视觉的应用。
双目视觉的基本原理是利用两个平行的摄像头进行拍摄,然后根据两幅图像之间的差异(视差),利用一系列复杂的算法计算出特定点的距离,当数据足够时还能生成深度图。
为什么双目视觉能够在无人机应用中脱颖而出?
其实,各个避障技术在无人机上都有用武之地,只是应用场景有所不同,特别对于前视避障而言,有些技术就不适用了。
红外和超声波技术,因为都需要主动发射光线、声波,所以对于反射的物体有要求,比如:红外线会被黑色物体吸收,会穿透透明物体,还会被其他红外线干扰;而超声波会被海绵等物体吸收,也容易被桨叶气流干扰。
而且,主动式测距还会产生两台机器相互干扰的问题。相比之下,虽然双目视觉也对光线有要求,但是对于反射物的要求要低很多,两台机器同时使用也不会互相干扰,普适性更强。
最重要的是,常见的红外和超声波目前都是单点测距,只能获得特定方向上的距离数据,而双目视觉可以在小体积、低功耗的前提下,获得眼前场景的比较高分辨率的深度图,这就让避障功能有了更多的发展空间,比如避障之后的智能飞行、路径规划等。
激光技术虽然也能实现类似双目视觉的功能,但是受限于技术发展,目前的激光元件普遍价格贵、体积大、功耗高,应用在消费级无人机上既不经济也不实用。
所以各方比较之下,性价比高、原理简单、前景广阔、普遍适用的双目视觉就这样脱颖而出了。
精灵4Pro上的五向避障
精灵4Pro上的五向避障可以说是大疆无人机避障技术的集中体现,因此我们以精灵4Pro举例说明。P4P前后的避障都采用了双目视觉系统,相比精灵4而言,仅双目视觉部分的数据量就翻了一倍。向下采用双目视觉+超声波的组合避障,以提高在不同环境中飞行的稳定性和安全性。而飞行器左右的避障则采用了红外线避障。
视觉里程计
值得一提的是,其中下视的双目运用了视觉里程计(VO)的技术。
视觉里程计简单来说,就是「通过左右双目的图像,反推出视野中物体的三维位置」,所以相比光流+超声波技术只能简单的测出速度和高度,视觉里程计还能构建地面的三维模型,并通过连续的图像,跟踪自身与环境的相对移动,估计出自身的运动。准确测出自身与地面的相对位置。
虽然视觉里程计的数据处理量是光流法的数倍不止,但正是因为它的引入,使得精灵4和精灵4Pro在无GPS的室内也能对自身位置有清晰的掌控,从而实现稳定的悬停并且不会出现掉高等现象。
有了视觉里程计,再结合前后立体视觉的地图重构,无人机就同时掌握了障碍物的位置和机器自身的位置,这时再驱动电机进行绕行就显得易如反掌了,一个完整的避障功能就是这么实现的。
Flight Autonomy系统
精灵4Pro的五向避障并非各自独立,前后视的双目视觉、下视双目+超声波和左右红外避障共同构成了大疆的FlightAutonomy系统,这个系统赋予了精灵4Pro对三维环境的记忆能力,前后双目+下视双目能够实时对周围的地形进行构建和记录(Mapping),具体而言分为局部地图(Local Mapping)和全局地图(Global Mapping)。
局部地图让无人机能够构建并记住周围几十米内的三维环境,从而实现「指点飞行」等功能,因为仅仅知道飞行方向和机身位置肯定是不够的,只有对周围地形变化有记忆能力,才能完成「在指定方向上规划线路并绕行」这样级别的任务。
而全局地图则是对整个飞行过程中经过的地形的记录,虽然精度不如局部地图,却能帮助无人机实现「智能返航」等功能:当无人机一不小心飞到了建筑物后面导致遥控信号丢失时,智能返航功能能够让无人机在一分钟内沿原路返航,如果一分钟内不能连上遥控器信号,则会直线返航。这其中对飞行路径周围环境的记忆,就是精灵4Pro智能之处的另一个体现。
实现的难点
避障功能从构思到实现,走的每一步几乎都便随着无数的难题。仅仅是写出有效的视觉识别或者地图重构的算法还只是第一步,能让它在无人机这样一个计算能力和功耗都有限制的平台上流畅稳定的跑起来,才是真正困难的地方。特别是在精灵4Pro上,不仅双目视觉的数据量相比精灵4直接翻了一倍,还要保证续航不受影响,这是非常困难的。
此外,如何处理功能的边界也是一个问题,比如双目视觉在视线良好的情况下可以工作,那么当有灰尘遮挡的情况下呢?这就需要不断的实验和试错,并且持续的优化算法,保证各项功能在各类场景下都能正常工作,不会给出错误的指令。
「避障功能」作为近年来无人机产品的大趋势,带来的最直接的好处就是,以往一些人为疏忽造成的撞击,现在都能经由避障功能去避免,既保障了无人机飞行安全的同时,也避免了对周围人员财产的损害,让飞无人机的门槛进一步得到了降低。
而长远来看,无人机想要普及到农业、建筑、运输、媒体等领域,「智能化」肯定是必经之路,毕竟只有在飞行功能上做到智能控制,才有余量去满足不同行业的需求。如今由「避障功能」而衍生出的一系列「智能飞行」功能,无疑就是「无人机智能化」的阶段性体现之一。