1999年,NASA损失了一个价值3.27亿美元的火星探测器。原因不是软件错误或硬件故障,而是一件更平凡的事:有人忘记了转换单位。
3.27亿美元的错误
火星气候探测器的设计目的是研究火星大气并作为通信中继。经过9个月的旅程,它于1999年9月23日接近火星。然后它消失了。
调查揭示了一个令人尴尬的真相:洛克希德·马丁公司的地面软件用磅力计算推进器的力,而NASA的系统期望的是牛顿。没有人发现这个差异。
误差如何累积
航天器在旅途中需要小的航向修正。每次推进器点火时,力的计算都是错误的——相差4.45倍(磅力和牛顿之间的转换系数)。
九个月来,这些微小的误差不断累积。当探测器到达火星时,它比计划低了170公里。它可能在大气层中燃烧殆尽,或者弹回太空。
人为因素
这场灾难引人注目之处在于它是多么可以避免的:
- NASA的规范明确说明应该使用公制单位
- 多个团队审查了导航数据
- 警告信号在坠毁前几个月就存在了
- 简单的转换检查就能发现错误
然而探测器还是坠毁了。为什么?因为各团队假设其他人已经验证了单位。因为"以前一直都行"。因为检查单位似乎太基础了,不重要。
不是孤立事件
火星气候探测器不是单位混淆的唯一受害者:
加拿大航空143航班(1983年):因为地勤人员在加油时混淆了千克和磅,飞机在飞行中燃料耗尽。飞行员成功地将波音767滑翔降落到安全地点。
东京迪士尼乐园太空山(2003年):一根断裂的车轴被追溯到组件公制和英制规格的混淆。
哥伦布的航行(1492年):哥伦布低估了到亚洲的距离,因为他使用的是罗马英里而不是阿拉伯英里——罗马英里更短。
更深层的问题
真正的问题不是存在不同的单位系统。而是我们假设转换是简单和明显的。它们不是。
考虑这些常见的混淆:
- 液量盎司 vs 盎司(体积 vs 重量)
- 美吨 vs 公吨 vs 英吨
- 海里 vs 法定英里
- 马力(机械) vs 马力(公制)
每个系统在其原始背景下都是有意义的。问题出现在系统没有明确转换就碰撞的时候。
吸取的教训
灾难发生后,NASA实施了新的协议:
启示
下次有人认为单位转换是微不足道的事情时,记住火星气候探测器。一个旅行了6.7亿公里的航天器,被一个任何计算器都能解决的方程式摧毁了。
单位很重要。始终明确它们。始终验证它们。检查的成本微不足道。不检查的成本可能是3.27亿美元——或更多。