
你的无人机并不是自主的——它只是在一个还没试图杀死它的世界里被自动化
有一个瞬间我总是不断回想起来。我们当时正在一条模拟的GPS拒止走廊里进行试飞——没什么花哨的,就是一架标准的四旋翼无人机,上面加装了我们的导航栈。GPS模块已经在物理上断开连接。我的工程师花了三周时间调试视觉惯性里程计(Visual Inertial Odometry)管线,此刻正抱着双臂站在我身旁,咬着笔帽。无人机起飞、悬停,然后仅凭一台立体相机和一个IMU,开始在测试环境中穿行。
接着我走过去,打开了一台我们买来做测试的消费级GPS干扰器。什么都没变。无人机毫不动摇。它根本不知道有什么值得动摇的东西——因为它从一开始就没在聆听天空。
就在那一刻,我才切身地明白了我们在白板上、在Slack讨论串里争论了好几个月的东西。这架无人机并不是对干扰有韧性。它是对干扰无动于衷。而这种无动于衷——这种对一个能被50美元设备抹除的信号的彻底独立——正是全部的关键所在。
我是Ashutosh,Veriprajna的创始人。我们为无人机构建导航与感知系统,让它们能在GPS不存在的环境中运行、在云端连接只是幻想的地方运行,以及在你若不知道自己身在何处、"返航"便毫无意义的地方运行。我想告诉你,为什么无人机行业所使用的"自主"这个词是个谎言,以及要打造一台能够自己思考的机器究竟需要什么。
那个无人质疑的、每天10亿美元的假设
这里有一个应该让你不安的数字:GPS大约创造了1.4万亿美元的经济效益(面向美国私营部门)。GPS服务的丧失将给美国经济造成大约每天10亿美元的损失。我们已经把整个文明的物流、农业、金融和国防基础设施,都构建在了从地球上空20,200公里处发射的信号之上——这些信号到达你的接收机时,功率相当于从10,000英里外看一只25瓦的灯泡。
这不是比喻。这就是实际的信号强度。而世界上每一家无人机制造商,都把他们的"自主"系统建立在了它之上。
在创立Veriprajna之前,我在AI领域度过了多年,而真正让我对无人机导航变得激进的,是观看来自乌克兰的影像。FPV无人机——廉价、有效,据估计造成了70%的部队伤亡——在前线电子战部署的5到10公里范围内,通常会丢失GPS。像R-330Zh Zhitel这样的俄罗斯系统制造出近乎持续的区域拒止。当GPS陷入黑暗时,这些无人机并不会优雅地降级。它们变成了——用我开始称呼它们的说法——昂贵的镇纸。
一架依赖GPS来保持稳定的无人机并不是自主的。它只是在一个宽容的环境中被自动化。移除那份宽容,你就移除了那份自主。
这不只是一个军事问题。这是一个物理问题,它出现在任何GPS信号无法抵达的地方:地下矿井、城市峡谷、桥梁的下侧、储油罐之间狭窄的缝隙。任何信号会反弹、衰减,或干脆无法穿透的地方。
为什么我们会假定天空永远都在那里?
我想诚实的答案是便利。GPS是魔法——免费、全球覆盖、对大多数事情来说足够精确。当你在创办一家无人机公司时,导航问题在第一天似乎就已经解决了。插入一个GPS模块,写点航点逻辑,就叫它自主。发货吧。
我第一次推介我们的方法时——即利用机载视觉和惯性感知从零构建导航——一位投资人看着我说:"你为什么不干脆用更好的GPS呢?"我试图解释,当有人在主动试图剥夺你的GPS时,"更好的GPS"就是个自相矛盾的说法。他并没有被说服。他从来不必去思考一个基础设施会失效的世界。
但基础设施确实会失效。在采矿业,它从一开始就不存在。一架在爆破后检查采场的无人机——在完全黑暗中穿越粉尘和潜在的有毒气体飞行——卫星信号为零。在油气管道检查中,一次失败可能造成850万美元的损失,而及早发现的一次维修仅需75,000美元,无人机需要在由巨大金属结构造成的GPS阴影中飞行。多径效应会破坏时序计算,并引入几米的位置误差。几米,当你正紧贴一条加压管道飞行时。
这个行业给出的答案一直是光流——一台向下的相机来追踪地面纹理。它比什么都没有要好。但它需要良好的光照,需要可见的纹理,而且它在偏航和高度基准上仍然依赖GPS。它是一块创可贴,而非一个解决方案。
无GPS导航究竟意味着什么?

这就是我需要带你进入工程内部的地方,因为这个解决方案之美,正如生物学之美。想想你是如何在一个黑暗房间里辨向的。你不用GPS。你用你的眼睛和你的内耳——视觉和你的前庭系统。你看到地标,你感受到加速度和旋转,然后你的大脑把这两条数据流融合成一种关于你身在何处的连续感知。
视觉惯性里程计——VIO——为无人机做的正是这件事。一台相机在连续帧之间追踪独特的特征(角点、边缘、纹理)。一个惯性测量单元,即IMU,以极高的频率测量加速度和旋转,通常每秒200到1000次。任何一种传感器都无法单独工作。相机太慢,且无法判断绝对尺度。IMU会灾难性地漂移——对加速度二次积分来求位置,意味着误差会随时间呈二次方增长。一个消费级IMU可以在几秒内漂移数米。
但融合在一起,它们抵消了彼此的弱点。IMU提供高速率的状态预测,并处理图像模糊的快速机动。相机则把漂移的IMU估计锚定到世界中固定的地标上。结果是:漂移率低至行进距离的1–2%,即便在GPS拒止的环境中也是如此。没有卫星。没有外部信号。没有可干扰的东西。
我在我们研究的交互式版本中深入写过这种融合架构,但关键的洞见比数学更简单:VIO无法被干扰,因为它是被动的。它接收光,感受惯性。没有信号可拦截,没有频率可压制,没有链路可切断。
我们击垮自己系统的那一夜
我想诚实地说件事。VIO不是魔法。我们是以艰难的方式学到这一点的。
开发进行到大约四个月时,我们正在一座仓库里测试——混凝土地面、白墙、荧光灯照明。无人机起飞,漂亮地飞了大约三十秒,然后开始像喝醉了一样向侧面漂移。我的首席工程师调出日志,沉默了很长时间。然后他抬起头说:"它什么都看不见。"
白墙。均匀的混凝土。没有纹理,没有角点,没有可追踪的特征。相机盯着一块空白画布,而VIO管线正在纯靠IMU积分运行——这意味着它正在以一个可怕的速率累积漂移。
那次失败教给我们的东西比任何成功都多。我们在接下来的几周里整合了两项关键的缓解措施。第一,LiDAR-VIO融合——加入一台轻量的固态LiDAR,它即便在完全黑暗或无特征的环境中也能提供密集的几何数据。当相机失效时,LiDAR点云为系统提供几何约束。第二,而这正是有趣之处,语义遮罩。
为什么一个导航系统需要理解它所看到的东西?

标准VIO把世界当作一团毫无意义的点。无论一个角点是在一栋建筑上还是在一辆行驶的卡车上,角点就是角点。这造成了一种毁灭性的失效模式:如果无人机追踪一个移动物体上的特征并假定它们是静止的,它就会误算自身的运动以作补偿。无人机以为自己在移动,其实并没有,或者反之。
我们在一次户外测试中就遇到了这种情况。一辆送货卡车驶过画面,无人机猛地向侧面倾斜,试图"修正"一个并非它自身的运动。我心一沉。在矿井或管道附近,那一次猛冲就是一次坠机。
修正它所需的,是我认为的从导航到理解的飞跃。我们运行深度学习模型——语义分割网络——它对画面中的每一个像素进行分类。汽车。行人。在风中摇曳的树。这些动态区域会被完全从VIO管线中遮罩掉。无人机只追踪静态的背景特征。
几何SLAM看到的是点、线和面。语义SLAM看到的是"门"、"墙"、"卡车"。那个差别,正是一个只会导航的系统与一个能理解自己身在何处的系统之间的差别。
这个语义层还做了另一件了不起的事:它使长期导航成为可能。几何特征——一个角点的像素强度——会随光照变化。同一栋建筑在正午和午夜看起来截然不同。但"窗户"或"门"这一概念对光照是不变的。一架带有语义SLAM的无人机,只要语义结构可见,就能在夜间返回时认出白天造访过的地点。
它还使以人为本的指令成为可能。"飞过那扇门。""检查那个红色储罐。"而不是"飞到坐标47.3821, -122.3456。"对于身处高压环境中的操作员——爆破后的矿场经理、火力下的士兵——那种认知负荷上的差别是巨大的。
差点把我们困住的云AI陷阱

早期,在我们完全投身边缘处理之前,我团队里有人提出了一种混合架构:在本地运行VIO,但把视频流传到云端做语义处理。纸面上看,它说得通。云端GPU很强大。何必把所有东西都塞进一块小小的嵌入式板卡呢?
我们做了一个原型。它在实验室里能用,那里有完美的Wi-Fi。然后我们在真实的网络条件下测试它——模拟带有偶发丢包的4G——并看着语义遮罩在无人机需要它之后300毫秒才到达。以每秒20米计,那就是六米的盲飞。无人机正在基于动态物体曾经在哪里、而非它们此刻在哪里,做出导航决策。
那是一场变得声音很大的团队争论。一派想要优化网络路径。我动用了权威——这是我在一个技术决策上唯一一次这么做——并说我们要走全边缘。不依赖云。就这样。
这是我如此固执的原因。在国防应用中,一架把视频流传到云端的无人机就是一座无线电信标。敌方的测向资产可以对它进行三角定位。你造出了一架向每一个拿着射频扫描仪的人宣告自己位置的"智能"无人机。在工业场景中,矿井内部或储罐之间的网络覆盖充其量也不可靠。而在这两种情况下,要命的延迟不只是平均延迟——而是尾延迟,即第99百分位的最坏情况。拥塞或蜂窝基站切换带来的瞬时尖峰,就会让你的控制回路失稳。
如果你无人机的智能存在于云端,切断网络链路并不会使系统降级——它会给系统做脑白质切除。无人机不会变慢。它会变蠢。
研究表明,当延迟超过700毫秒时,遥操作在实践上就变得无法控制。而抖动——延迟中的方差——比恒定的延迟更糟糕,因为控制算法可以补偿一个已知的滞后,但当滞后不断变化时就会剧烈振荡。
我们把一切都搬到了机上。每一个神经网络,每一个优化回路,每一个决策。要了解我们架构的完整技术剖析,包括具体的传感器融合方法和算法对比,我已经发布了我们详尽的研究。
你如何在一台会飞的设备上运行这一切?
老实说,这是让我夜不能寐的部分。在VIO的非线性优化的同时运行用于语义分割的卷积神经网络,全部以每秒30帧以上运行,在一块重量以克计、功耗以瓦计——而非千瓦计——的板卡上,这是一个容不得半点马虎的工程问题。
我们基于NVIDIA Jetson Orin NX构建,它在功耗10到25瓦的嵌入式外形中提供100 TOPS(每秒万亿次运算)。对于一个你可以握在手里的东西来说,那是一个惊人的算力。但光有原始硅片是不够的。
我们使用NVIDIA的TensorRT,以Int8量化来编译我们的神经网络——把32位浮点权重转换为8位整数。这听起来像是一种粗暴的近似,它确实是,但精心处理下,它能以极小的精度损失使推理吞吐量翻倍甚至三倍。我们把特征追踪卸载到专用的视觉加速器核心上,为深度学习释放GPU。非线性优化后端——光束平差,SLAM的数学核心——作为并行化的CUDA内核运行。
结果是一条异构计算管线,其中飞行控制器无论场景多复杂,都能以超过50Hz的速率接收里程计更新。无人机进入一个视觉上复杂的环境时不会卡顿。它需要更用力思考时不会变慢。
当无人机迷路时会发生什么?
这是另一个让我难以入睡的恐惧。VIO给你的是局部一致性——"我向前移动了5米"——但它会随时间累积漂移。在没有GPS提供绝对位置修正的情况下,你如何防止误差在一次长任务中不断叠加?
答案是回环检测,它是机器人学中最优雅的思想之一。当无人机返回一个先前造访过的区域时,系统会将当前的视觉指纹与其存储的地图进行匹配。如果它认出自己身在何处,它就计算出自上次造访以来累积的总漂移,并把整条轨迹重新对齐回去。这就像无人机自己内部的GPS修正,只不过它来自识别而非卫星。
我们使用ORB-SLAM3的一个改进版本——它是第一个能够进行多地图合并的系统。如果无人机在一次激烈机动中丢失追踪(或者用机器人学家饶有趣味的说法,被"绑架"了),它就开始构建一张新地图。当它稍后认出一个先前已建图的地点时,它就合并这些地图。这使得系统对你在真实作业中会预期到的那种扰动,具有非凡的韧性。
我们用深度学习增强了标准的ORB特征提取——SuperPoint和SuperGlue网络,即便在传统计算机视觉失效的挑战性光照下,也能发现并匹配特征。这种混合方法为我们带来了ORB-SLAM3稳健的数学后端,以及现代神经网络的感知能力。
谁真正需要这个?
人们总问我,这是不是一个在寻找问题的解决方案。它不是。这个问题正从三个方向同时向我们咆哮。
在国防领域,GNSS拒止是现代战争的第一步。它是不对称的——一台廉价的地基干扰器能在广袤区域上使昂贵的空中资产失效。装备VIO的无人机可以在视觉上锁定一个目标,并在指挥控制链路被切断后依然自主执行任务。它们在完全的无线电静默中运行,对射频扫描仪不可见。单个操作员就能部署一群仅凭机载感知在GPS拒止走廊中导航的蜂群。
在采矿业,环境是天然GPS拒止的。爆破之后,采场充满粉尘和有毒气体。等待人工清场既费钱又危及生命。一架配备VIO的无人机立即飞入,检查岩石破碎情况和结构稳定性,并在数分钟内返回数据,而人工勘测则需要数天。与传统方法相比,无人机作业最多可将检查成本降低70%——但前提是无人机真的能飞到它需要去的地方。
在基础设施检查领域,其经济账是残酷的。管道故障造成数百万美元损失。无人机就是答案——但检查桥梁的下侧或储罐区的底部,会把它们置于GPS阴影中,在那里它们无法维持高分辨率成像所需的精确定点保持。VIO解决了这个问题。无论卫星可见性如何,无人机都能以厘米级精度保持位置,把被动维护变成预测性维护。
那个需要改变的词
我变得有些执迷于"自动化"和"自主"之间的区别。一个自动化系统基于外部输入——GPS坐标、飞手指令——执行一套预先定义的脚本。移除输入,脚本就崩溃。一个自主系统感知它的环境,判定它的状态,并在不依赖外部的情况下做出决策。
今天市场上几乎每一架商用无人机都是自动化的。这个行业称它们为自主的,因为这个词更好卖。但这个区别并非语义上的——它是一个在一切顺利时能工作的系统,与一个在一切出错时能工作的系统之间的差别。
自动化无人机的时代——依赖脆弱的卫星系绳和云端连接——正在终结。未来属于那些随身携带自己智能的系统。
在Veriprajna,我们不做API封装。我们不微调语言模型然后把它叫做机器人技术。我们工程化那些根本性的导航与感知栈,让机器能够在物理世界中存在并行动——去感知、理解和导航,无需征求任何人的许可。
对于国防指挥官、矿场运营者和基础设施管理者而言,这个区别不是学术性的。它是一次成功的任务与一台从天上坠落的机器之间的差别。
天空本来就不会永远在那里。我们只是当它会一直在那样去建造了。