第003页_1788968428276.txt

第1章引论
年美国宇航局的火星探测飞船在试图登陆火星地面时突然坠毁失踪。质量管理小组观测到故
障,并认定出现误动作的原因极可能是某一个数据位被意外更改。什么情况下这个数据位被
修改了?又为什么没有在内部测试时发现呢?
从理论上看,登陆计划被设计成这样一一在飞船降落到火星的过程中,降落伞将被打开,
减缓飞船的下落速度。降落伞打开后的几秒钟内,飞船的3条腿将迅速撑开,并在预定地点着
陆。当飞船离地面1800m时,它将丢弃降落伞,点燃登陆反推进器,借助反推力来不断降低速
度,从而可以使飞船能缓缓降落地面。
美国宇航局为了省钱,简化了确定何时关闭推进器的装置。为了替代其他太空船上使用
的贵重雷达,在飞船的脚上装了一个廉价的触点开关,在计算机中设置一个数据位来关掉燃
料。很简单,飞船的脚不“着地”,引擎就会点火。不幸的是,质量管理小组在事后的测试中发
现,当飞船的脚迅速摆开准备着陆时,机械振动在大多数情况下也会触发着地开关,设置错误
的数据位。设想飞船开始着陆时,计算机极有可能关闭推进器,而火星登陆飞船下坠1800m
之后没有反推进器的帮助,冲向地面,必然会撞成碎片。
为什么会出现这样的结果?原因很简单。登陆飞船经过了多个小组测试。其中一个小组
测试飞船的脚落地过程(legfold-downprocedure),但从没有检查那个关键的数据位,因为那
不是这个小组负责的范围;另一个小组测试着陆过程的其他部分,但这个小组总是在开始测
试之前重置计算机、清除数据位。双方本身的工作都没什么问题,就是没有合在一起测试,其
接口没有被测试,而问题就在这里,后一个小组没有注意到数据位已经被错误设定。
1.1.4人类容易得健忘症一再次忽视了集成测试
2019年12月20日,波音公司的新一代载人飞船“星际客机”发射升空,执行其第一次飞
行任务一—为宇航员送上圣诞礼物。
火箭的发射本来一切正常,但是就在与火箭分离后,“星际客机”飞船上的一个关键设备出
现了异常一—飞船的一个时钟错误,让飞船误以为自己正处于提升近地点的变轨过程中。在
预设程序里,变轨需要极高精度的姿态和轨道控制,所以此时飞船的 48台姿轨控推力器开始
疯狂工作,在短时间内消耗了大量燃料,如图1-2所示。在发现异常后,任务控制人员第一时
间尝试向飞船注人正确指令,手动消除影响。但不巧的是,当时飞船正好处于两颗中继卫星的
覆盖交接区,因此指令没有注人成功。
MEssIOnCONTROXCeTER


图1-2
任务控制中心显示飞船的多台推力器正在工作
下载此文件