详细内容或原文请订阅后点击阅览
1999年,一个小小单位不匹配导致NASA火星气候轨道器深入火星大气层,任务失败
1999年,一个小单元失配将NASA的火星气候轨道飞行器送入火星大气层深处,导致任务失败。航天器收到了正确的命令并在从地球出发的旅程中幸存下来,但地面软件使用磅力秒,而导航软件预期牛顿秒。由此产生的错误改变了预测的轨迹,并使航天器低于其计划的火星轨道。
来源:经济时报火星气候轨道器于1999年9月23日在其预定抵达火星期间失联。该航天器在发射后已旅行了九个月,其机载软件使用...运行。故障来自地面软件接口。洛克希德·马丁公司的软件以磅力秒为单位报告推进器冲量,而美国宇航局的导航系统预期的是牛顿秒。因此,导航系统计算出的反复推进器点火的累积效果仅为实际效果的一部分。该误差改变了航天器的路径,使其经过火星的距离比计划的近得多。
火星气候轨道器任务发生了什么?
1999年9月23日世界时09:00:46,火星气候轨道器按计划开始点燃其主发动机。大约五分钟后,航天器从地球的视角进入了火星的背后。其无线电载波信号于世界时09:04:52消失。信号消失的时间比任务控制人员预期的早了49秒。
无线电中断是预期内的,因为火星阻挡了航天器与地球的联系。预期的中断时间约为21分钟。然而,信号并未恢复。美国宇航局当天上午表示,航天器似乎以约60公里的高度经过火星,而非计划的150公里。这已经低于估计的生存极限。
Delta II火箭在九个月前成功发射了该航天器。火星气候轨道器也完成了从地球出发的旅程。其入轨发动机按时启动,航天器遵循了接收到的指令。问题在于导航团队没有精确的航天器位置和轨迹模型。
软件使用了两种不同的单位
火星气候轨道器使用反作用轮来控制其姿态。这些轮子允许航天器在不持续使用推进器的情况下转动。然而,轮子会积累储存的角动量。诸如阳光照射在航天器大型、偏置的太阳能电池阵列上所产生的力会导致这种动量增加。使用小型推进器点火来释放储存的动量。工程师称这些事件为角动量卸载。
每次推进器点火都会产生一个物理冲量。该冲量会略微改变航天器的速度。因此,地面导航团队在计算航天器轨迹时需要考虑这些影响。航天器自身的软件以公制单位计算推进器性能。这部分系统运作正常。
问题出在一个名为SM_FORCES的地面程序中。它为导航团队生成一个角动量卸载文件。接口规范要求该文件使用牛顿秒。然而,该软件以磅力秒为单位提供了冲量值。1磅力秒约等于4.45牛顿秒。
导航软件假定文件中的值已经是牛顿秒。因此,它将每个报告的冲量值视为其实际值的约22%。这就是导致...的核心单位不匹配问题。
美国宇航局只是忘记将英制单位转换为公制单位的常见解释并没有描述整个问题。单位已在接口文档中指定。生成软件未遵循该规范,而接收软件也未独立检查单位。
小推进器点火造成了巨大误差
一次推进器点火不足以毁掉任务。误差因点火反复发生而累积。角动量卸载发生的频率比运行导航团队预期的频繁10到14倍。
该航天器有一个单一的偏置太阳能电池阵列。阳光对航天器施加了持续的扭矩。这导致反作用轮比预期更快达到其极限。
团队曾考虑每天将航天器旋转180度。这被称为“烧烤模式”。该机动旨在减少角动量的积累。
后来的工程工作得出结论,该机动并非必需,因此被取消了。火星气候轨道器事故调查委员会发现,这一变化的后果没有充分传达给导航团队。更多的卸载意味着更多的推进器冲量。
航天器响应了每次点火的完整物理力。地面导航模型仅解释了约四分之一的效果。在九个月的旅程中,实际航天器路径与预测路径的偏差越来越大。
警告信号在抵达前数月就已出现
单位问题并非完全隐藏到航天器抵达火星时才被发现。在巡航的头四个月里,导航团队无法使用角动量卸载文件,因为它们包含格式错误和不正确的姿态规格。
取而代之的是,工作人员通过电子邮件接收有关推进器事件时间的信息,并试图自行建模其影响。格式更正的文件于1999年4月可用。一周之内,数字看起来就不正常了。
跟踪数据也显示了残差。这些是导航模型预测的轨迹与深空网络观测到的运动之间的差异。主要的推力分量几乎垂直于地球-航天器视线方向。这使得通过多普勒测量更难识别误差的完整大小。
该误差并非无法检测。调查发现存在可测量的视线误差,但未理解其重要性。导航团队在发射前不久才加入该行动。其成员没有参与航天器设计评审或地面软件测试。他们也不太熟悉轨道器的姿态控制行为。
对轨迹模型的担忧持续了整个春季和夏季。然而,它们是通过非正式沟通处理的。调查发现团队依赖电子邮件而非正式的事件、意外、异常流程。该流程本可分配责任并要求解决问题。
航天器正在接近火星
9月15日,火星气候轨道器完成了其第四次计划轨迹修正。该机动旨在产生226公里的首次近心点。近心点是绕火星轨道的最低点。计划在210公里处进行后续通过,以开始受控的气动制动。该过程将利用高层大气来降低轨道并使其圆形化。
在9月15日修正后的一周内,导航计算将预期的首次近心点置于150至170公里之间。在最后的24小时内,估计值进一步下降。在入轨前约一小时,团队计算出航天器可能低至110公里。被认为可生存的最低高度约为80公里。
不同的导航方法也产生了不同的结果。仅使用多普勒数据的计算将航天器置于比使用距离和多普勒数据组合的计算更靠近火星的位置。在遭遇前,这种分歧未能解决。第五次轨迹修正机动(称为TCM-5)作为应急措施存在。它本可以提高航天器的轨道高度。
在入轨前不久曾口头讨论过执行该机动的请求。然而,所需的分析、测试和程序尚未完成。操作时间表也没有提供足够的余量来上传、执行和验证该机动。对修正的需求未被完全理解。TCM-5从未被执行。
火星气候轨道器到达约57公里高度
在航天器失联后,调查人员修正了小推力数据,并使用失联前可用的跟踪信息重建了其接近过程。重建结果将首次近心点定为约57公里。
这比计划的226公里高度低了约170公里。也低于估计的可生存高度。重建解释了为什么无线电信号比预期早了49秒消失。航天器经过火星的距离比导航模型预测的更近。
确切的物理结果无法完全确定。1999年的调查称,该航天器要么在火星大气层中被摧毁,要么进入了日心轨道。
美国宇航局的任务历史将火星气候轨道器描述为已烧毁。可以确定的是,它没有进入预定的火星轨道,美国宇航局也从未与其重新建立联系。此次损失也影响了原定于1999年12月抵达火星的火星极地着陆者和深空2号微型探测器的计划通信支持。
火星全球探勘者号已准备好提供中继支持。但它无法挽救火星极地着陆者,后者也在抵达时失联。那次失败有不同的、不太确定的原因。
调查发现的不仅仅是一个单位错误
火星气候轨道器的失败并非归咎于一个粗心的程序员。美国宇航局的调查确定了1个根本原因和8个促成原因。
这些包括:
未被发现的建模错误
导航团队对航天器的了解有限
未能执行第五次轨迹修正
一个可靠的系统需要将单位视为数据的一部分,而非仅仅依赖接口文档中的声明。调查指向了若干措施。任务关键接口应由系统工程师、软件开发人员和使用数据的人员共同审查。验收测试结果也应接受检查。
生成和接收软件应一起测试。地面文件应与独立计算以及从航天器已获得的信息进行比较。当不同的导航解存在分歧时,应进行调和。无法解释的跟踪残差应被视为需要正式调查的任务风险。该案例表明,软件可以生成格式有效但物理含义错误的数字。
为什么火星气候轨道器的失败至今仍有意义?
火星气候轨道器常被记作美国宇航局的一个单位换算错误。更大的教训是关于软件接口和团队之间的沟通。磅力秒和牛顿秒都是衡量冲量的合法单位。这两种单位本身都没有导致失败。问题出现在同一个数值在软件接口的两端被不同解释时。
现代任务依赖于许多系统、承包商、传感器、软件程序和交换信息的团队。同样的风险可能出现在单位、时间戳、坐标系统、参考框架、符号、精度和其他假设上。
火星气候轨道器挺过了发射、太空旅程和九个月的操作。其硬件遵循了收到的指令。任务失败是因为反复的推进器点火改变了航天器的实际轨迹,而地面导航模型仅记录了这些效应的一小部分。
因此,该案例仍然是为什么软件验证、接口测试、沟通和独立检查是航天器安全组成部分的示例。1999年火星气候轨道器失败的主要教训并非仅仅是公制和英制单位永远不应混用。而是,一个系统在使用一个数字做出不可逆转的决策之前,必须验证这个数字的含义。
