|
图文来历:Forbes ,作者:Lance Eliot 体系靠重启,治标不治本 “鹰已经经着陆。” 或许全球的人都听到过“the Eagle had landed”,而这句话中的鹰指的就是登月舱。半个世纪前的7月20日,阿波罗11号胜利登月。 让咱们回到50年前阿谁不成思议的豪举的前几分钟。 在登月进程中,宇航员尼尔·阿姆斯特朗(Neil Armstrong)以及巴兹·奥尔德林(Buzz Aldrin)正在与使命节制中间进行对话。 细心听他们之间的对话灌音。除了非你是电脑或者航天飞机的狂热快乐喜爱者或者专家,不然可能不会注重到那时泛起的一种提醒音,即便注重到了也不会发生担心。 但这实际上是一种警报,代表的是毛病代码1202以及1201。 让咱们揭开这个一般人不知道的严重故事,并斟酌一下可以运用到今朝正在鼓起的主动驾驶汽车上的经验教训。 首次登月的发急时刻 当登月舱离着陆只有7分半钟时,体系起头报错。在如许一个前无前人又极为伤害的使命中泛起这类环境确定不是任何人所但愿的。 厥后的陈述讲明,当毛病起头泛起时,两名宇航员的心率连忙上升。严重是确定的,究竟?结果,以前进行的都是摹拟训练,没有人知道真实环境会怎么。 宇航员面对着如许的选择:若是在降低进程中泛起了甚么过失,可能必要取缔着陆。 但若这么做,对付只有一次着陆机遇的他们来讲,就象征着不能不认可失败并绝望地返回地球。 这对NASA来讲将是一个扑灭性的冲击,对整个美国来讲也将是一个使人心碎的时刻,同时还为俄罗斯人打开了一扇更年夜的窗口,让他们赶在美国以前登月成为可能。 一切都命悬一线。更糟糕糕的是,它可能会撞向月球,这类成效让人一想到就毛骨悚然。 再来看看上面提到的那两个由4位数构成的代码。在月球着陆器体系的设计进程中,开发职员提出了一系列毛病代码,若是计较机检测到飞船上有甚么问题,这些代码就会显示出来。 可是,当宇航员一次又一次地摹拟着陆时,其实不是所有可能的毛病代码都颠末了测试,是以有些毛病代码宇航员从未见过头至都不知道其存在。 有时就是这么巧,1202以及1201这两个毛病代码在他们以前的训练中从没有显示出来过。是以,宇航员其实不知道这几个数字到底象征着甚么,年夜大都监测着陆的使命管制职员之前也没有见过。 好吧,让咱们试着重温汗青。 坐在狭窄的登月舱里,间隔着陆只有几分钟,这时候,警报响起、按钮闪灼,宇航员看到了数字,尽管不知道甚么意思,但不克不及浮现出来,以是他们就安静冷静僻静地把毛病代码报告请示给了使命节制中间。 “是1202。” 场景转到使命节制室,人们的眼光一片空缺,由于根本上没有人知道1202是干甚么的。与此同时,指挥官史蒂夫·贝尔斯(Steve Bales)被叫到一个密屋,那里汇集着各类各样的工程师,随时筹备查询拜访可能泛起的任何体系相干问题。 “那是甚么?”贝尔斯问道。 NASA工程师约翰·加曼(John “Jack” Garman)阅读着他手写的一份清单,上面列着团队提出的许多毛病代码。 他意想到1202的意思是登岸器上的导航计较机正在超负荷事情。 固然,法式员已经经预料到这类重载可能会在某一天产生,是以构建了一个体系内部机制,可以主动进行快速重启,然落后行内存恢复,以使计较机从新运行。 理论上,计较性能够解决这个毛病,而不必要任何人工干涉干与。加曼也暗示,若是1202毛病代码在接下来的降低进程中没有频仍泛起,就算体系看似超载,使命也能够继承下去。 “给咱们一个1202法式报警的批示。”阿姆斯特朗联结道。 在灌音中,你可以从他的声音中感觉到包含严峻、峻厉以及末路怒的多重情绪,由于在这类告急关键,居然尚未人奉告他们该若何处置这个毛病。 试想,当你收到一个未知的信息,不知道任那边理方式,周围一片暗中,接下来可能有生命伤害,每一曩昔一秒就可能离扑灭又近了一步,这会是一种何等失望的感受。 指挥中间的查理·杜克(Charlie Duke,厥后成为阿波罗16号飞船宇航员)给出了复兴:“在警报下继承使命。” 因为没有向宇航员进一步阐明该做甚么,这象征着警报(不管它象征着甚么)均可以疏忽不计。而“继承”象征着登岸。 巴兹·奥尔德林厥后指出,一旦节制中间说不消担忧,他就罢休了,再也不去想它。确凿,与其想知道1202是甚么意思,该接纳何种举措显然更首要。 若是接着听完灌音的残剩几分钟,1202毛病一次又一次地产生,和1201的相干毛病代码。指挥中间通知宇航员,这被认为是统一类型的毛病,并表示没有需要对警报接纳任何措施。 对付那时的平凡听众来讲,这就像是宇航员以及总部之间进行的正常互动,又由于用词凡是是技能性的,以是一般人其实不真正知道他们实在都已经经起头评论辩论要不要抛却了。 以上就是阿波罗11号登月故事中的故事。 给主动驾驶汽车的经验教训 50年前产生的与体系相干的工作,今天还能合用?固然可以。 起首,主动驾驶汽车是基于及时的体系,必要的是对路况的快速反馈,而在高速公路上行驶时,其速率可以跨越每一小时100千米。 第二个不异点,是主动驾驶汽车上也有许多计较机处置器,必要用到多种内存来存储正在执行或者完成的驾驶法式。 别的,汽车上另有无数的传感器,如摄像头、无线电雷达、超声波装备、激光雷达等,所有这些传感器都在驾驶进程中采集数据,并将这些数据传输回计较机处置器以及存储区中。 简略来讲,“鹰”上泛起的1202是由妨碍的雷达装配引发的,致使体系不绝地接管到无用的新使命。计较机的操纵体系容许内存被填满,但这象征着其他使命将没有可执行的空间。 就像前面说过的,法式员知道机载计较机可能会在某一时刻因使命太重而不胜重负。经由过程快速重启,机械可以继承高优先级使命,但请注重,它纷歧定能解决雷达不竭“骚扰”体系的基本问题。 有几多次你重启了你的智能手机或者条记本电脑,然后发明它照旧出问题?估量数不清了吧。 1202代码也是,重启可以姑且终止体系运行,但这不克不及从泉源上解决妨碍。 如下是阿波罗11号给人工智能开发职员、汽车制造商以及为主动驾驶汽车开发软件以及体系的科技公司的一些建议。 1. 对传感器的不肯定性进行展望以及编码 没有甚么是天衣无缝的,主动驾驶汽车上的传感器也不破例,除了了可能被尘土或者碎片遮挡、粉碎这类较着的外部身分以外,传感器也有可能因为一些内部bug或者妨碍而犯错。 确保为这类可能性编写代码,并为一旦泛起问题时该做些甚么做好筹备。 2. 确保主动驾驶汽车的操纵体系足够壮大 一些用于主动驾驶汽车的操纵体系在某种水平上已经被简化,为的是提高速率,但它还必要可以或许处置各类已经知的以及不成展望的妨碍或者可能产生的体系问题。 确保操纵体系可以或许胜任支撑与驾驶相干的体系使命,平安性上一样。 3. 不要疏忽特殊环境 今朝年夜大都主动驾驶汽车存眷的重点是在通例前提下的行驶,而不是处置不寻常或者罕有的驾驶环境(所谓的“边沿”方面)。 然而,真实环境并不是如斯,凭据国度或者地域的分歧,恶劣的气候、糟糕糕的道路、不守端正的司机都很常见。 在公路上试运行的主动驾驶汽车必要筹备好应答边沿环境。 4. 测试必需详实完全 测试主动驾驶汽车时哪怕疏忽了一种测试用例,就给搭客增长了一种潜在的伤害,在实际世界中,这类荣幸生理每每会发生很是可骇的后果。 测试必要尽量的完备。 5. 谨严地使用重启,并仅作为末了的手腕 想象一下,你坐在一辆主动驾驶汽车里,在高速公路上飞奔,而人工智能陈述说它必要当即重启。这可与玩游戏时装备重启的后果紧张性纷歧样。 开发职员应当斟酌将车载重启作为末了的手腕,而且必需很是谨严地引用。 结论 一个好动静是,现在主动驾驶汽车的处置能力比阿波罗11号宇宙飞船上使用的计较机要壮大患上多。 咱们广泛用获得的计较机对付1969年的那些法式员来讲,的确就是梦幻一般。乃至智能手机在机能上也远超登月的装备。 但这只是硬件方面的问题。 从软件的角度来看,即便曩昔了半个世纪,咱们依然会很容易地遇到一样的问题,包含暗藏的bug或者忽然泛起的报错。 是以,在设计、编码、测试以及摆设主动驾驶汽车时要非分特别当心。 谢谢NASA以及所有介入把人类奉上月球的人,但愿将来的主动驾驶汽车可以或许为任何可能弹出的1202或者1201代码做好筹备。 |




