圖文來(lái)源:Forbes ,作者:Lance Eliot
“鷹已經(jīng)著陸?!?/p>
也許全世界的人都聽到過(guò)“the Eagle had landed”,而這句話中的鷹指的就是登月艙。半個(gè)世紀(jì)前的7月20日,阿波羅11號(hào)成功登月。
讓我們回到50年前那個(gè)不可思議的壯舉的前幾分鐘。
在登月過(guò)程中,宇航員尼爾·阿姆斯特朗(Neil Armstrong)和巴茲·奧爾德林(Buzz Aldrin)正在與任務(wù)控制中心進(jìn)行對(duì)話。
仔細(xì)聽他們之間的對(duì)話錄音。除非你是電腦或航天飛機(jī)的狂熱愛(ài)好者或?qū)<遥駝t可能不會(huì)注意到當(dāng)時(shí)出現(xiàn)的一種提示音,即使注意到了也不會(huì)產(chǎn)生擔(dān)憂。
但這其實(shí)是一種警報(bào),代表的是錯(cuò)誤代碼1202和1201。
讓我們揭開這個(gè)一般人不知道的緊張故事,并考慮一下可以應(yīng)用到目前正在興起的自動(dòng)駕駛汽車上的經(jīng)驗(yàn)教訓(xùn)。
首次登月的焦慮時(shí)刻
當(dāng)?shù)窃屡撾x著陸只有7分半鐘時(shí),系統(tǒng)開始報(bào)錯(cuò)。在這樣一個(gè)前無(wú)古人又極其危險(xiǎn)的任務(wù)中出現(xiàn)這種情況肯定不是任何人所希望的。
后來(lái)的報(bào)告表明,當(dāng)錯(cuò)誤開始出現(xiàn)時(shí),兩名宇航員的心率急速上升。緊張是肯定的,畢竟,之前進(jìn)行的都是模擬訓(xùn)練,沒(méi)有人知道真實(shí)情況會(huì)怎樣。
宇航員面臨著這樣的選擇:如果在下降過(guò)程中出現(xiàn)了什么差錯(cuò),可能需要取消著陸。
但如果這么做,對(duì)于只有一次著陸機(jī)會(huì)的他們來(lái)說(shuō),就意味著不得不承認(rèn)失敗并失望地返回地球。
這對(duì)NASA來(lái)說(shuō)將是一個(gè)毀滅性的打擊,對(duì)整個(gè)美國(guó)來(lái)說(shuō)也將是一個(gè)令人心碎的時(shí)刻,同時(shí)還為俄羅斯人打開了一扇更大的窗口,讓他們趕在美國(guó)之前登月成為可能。
一切都命懸一線。更糟糕的是,它可能會(huì)撞向月球,這種結(jié)果讓人一想到就不寒而栗。
再來(lái)看看上面提到的那兩個(gè)由4位數(shù)組成的代碼。在月球著陸器系統(tǒng)的設(shè)計(jì)過(guò)程中,開發(fā)人員提出了一系列錯(cuò)誤代碼,如果計(jì)算機(jī)檢測(cè)到飛船上有什么問(wèn)題,這些代碼就會(huì)顯示出來(lái)。
但是,當(dāng)宇航員一次又一次地模擬著陸時(shí),并不是所有可能的錯(cuò)誤代碼都經(jīng)過(guò)了測(cè)試,因此有些錯(cuò)誤代碼宇航員從未見(jiàn)過(guò)甚至都不知道其存在。
有時(shí)就是這么巧,1202和1201這兩個(gè)錯(cuò)誤代碼在他們之前的訓(xùn)練中從沒(méi)有顯示出來(lái)過(guò)。因此,宇航員并不知道這幾個(gè)數(shù)字到底意味著什么,大多數(shù)監(jiān)測(cè)著陸的任務(wù)管制人員以前也沒(méi)有見(jiàn)過(guò)。
好吧,讓我們?cè)囍販貧v史。
坐在狹小的登月艙里,距離著陸只有幾分鐘,這時(shí),警報(bào)響起、按鈕閃爍,宇航員看到了數(shù)字,雖然不知道什么意思,但不能表現(xiàn)出來(lái),所以他們就平靜地把錯(cuò)誤代碼匯報(bào)給了任務(wù)控制中心。
“是1202?!?/p>
場(chǎng)景轉(zhuǎn)到任務(wù)控制室,人們的目光一片空白,因?yàn)榛旧蠜](méi)有人知道1202是干什么的。與此同時(shí),指揮官史蒂夫·貝爾斯(Steve Bales)被叫到一個(gè)密室,那里聚集著各種各樣的工程師,隨時(shí)準(zhǔn)備調(diào)查可能出現(xiàn)的任何系統(tǒng)相關(guān)問(wèn)題。
“那是什么?”貝爾斯問(wèn)道。
NASA工程師約翰·加曼(John “Jack” Garman)瀏覽著他手寫的一份清單,上面列著團(tuán)隊(duì)提出的許多錯(cuò)誤代碼。
他意識(shí)到1202的意思是登陸器上的導(dǎo)航計(jì)算機(jī)正在超負(fù)荷工作。
當(dāng)然,程序員已經(jīng)預(yù)料到這種重載可能會(huì)在某一天發(fā)生,因此構(gòu)建了一個(gè)系統(tǒng)內(nèi)部機(jī)制,可以自動(dòng)進(jìn)行快速重啟,然后進(jìn)行內(nèi)存恢復(fù),以使計(jì)算機(jī)重新運(yùn)行。
理論上,計(jì)算機(jī)能夠解決這個(gè)錯(cuò)誤,而不需要任何人工干預(yù)。加曼也表示,如果1202錯(cuò)誤代碼在接下來(lái)的下降過(guò)程中沒(méi)有頻繁出現(xiàn),就算系統(tǒng)看似超載,任務(wù)也可以繼續(xù)下去。
“給我們一個(gè)1202程序報(bào)警的指示?!卑⒛匪固乩事?lián)絡(luò)道。
在錄音中,你可以從他的聲音中感受到包括嚴(yán)肅、嚴(yán)厲和惱怒的多重情感,因?yàn)樵谶@種緊急關(guān)頭,竟然還沒(méi)有人告訴他們?cè)撊绾翁幚磉@個(gè)錯(cuò)誤。
試想,當(dāng)你收到一個(gè)未知的信息,不知道任何處理方法,周圍一片黑暗,接下來(lái)可能有生命危險(xiǎn),每過(guò)去一秒就可能離毀滅又近了一步,這會(huì)是一種多么絕望的感覺(jué)。
指揮中心的查理·杜克(Charlie Duke,后來(lái)成為阿波羅16號(hào)飛船宇航員)給出了回復(fù):“在警報(bào)下繼續(xù)任務(wù)?!?/p>
由于沒(méi)有向宇航員進(jìn)一步說(shuō)明該做什么,這意味著警報(bào)(無(wú)論它意味著什么)都可以忽略不計(jì)。而“繼續(xù)”意味著登陸。
巴茲·奧爾德林后來(lái)指出,一旦控制中心說(shuō)不用擔(dān)心,他就放手了,不再去想它。確實(shí),與其想知道1202是什么意思,該采取何種行動(dòng)顯然更重要。
如果接著聽完錄音的剩余幾分鐘,1202錯(cuò)誤一次又一次地發(fā)生,以及1201的相關(guān)錯(cuò)誤代碼。指揮中心通知宇航員,這被認(rèn)為是同一類型的錯(cuò)誤,并暗示沒(méi)有必要對(duì)警報(bào)采取任何措施。
對(duì)于當(dāng)時(shí)的普通聽眾來(lái)說(shuō),這就像是宇航員和總部之間進(jìn)行的正?;?dòng),又因?yàn)橛迷~通常是技術(shù)性的,所以一般人并不真正知道他們其實(shí)都已經(jīng)開始談?wù)撘灰艞壛恕?/p>
以上就是阿波羅11號(hào)登月故事中的故事。
給自動(dòng)駕駛汽車的經(jīng)驗(yàn)教訓(xùn)
50年前發(fā)生的與系統(tǒng)相關(guān)的事情,今天還能適用?當(dāng)然可以。
首先,自動(dòng)駕駛汽車是基于實(shí)時(shí)的系統(tǒng),需要的是對(duì)路況的快速反饋,而在高速公路上行駛時(shí),其速度可以超過(guò)每小時(shí)100公里。
第二個(gè)相同點(diǎn),是自動(dòng)駕駛汽車上也有許多計(jì)算機(jī)處理器,需要用到多種內(nèi)存來(lái)存儲(chǔ)正在執(zhí)行或完成的駕駛程序。
此外,汽車上還有無(wú)數(shù)的傳感器,如攝像頭、無(wú)線電雷達(dá)、超聲波設(shè)備、激光雷達(dá)等,所有這些傳感器都在駕駛過(guò)程中收集數(shù)據(jù),并將這些數(shù)據(jù)傳輸回計(jì)算機(jī)處理器和存儲(chǔ)區(qū)中。
簡(jiǎn)單來(lái)說(shuō),“鷹”上出現(xiàn)的1202是由故障的雷達(dá)裝置引起的,導(dǎo)致系統(tǒng)不停地接收到無(wú)用的新任務(wù)。計(jì)算機(jī)的操作系統(tǒng)允許內(nèi)存被填滿,但這意味著其他任務(wù)將沒(méi)有可執(zhí)行的空間。
就像前面說(shuō)過(guò)的,程序員知道機(jī)載計(jì)算機(jī)可能會(huì)在某一時(shí)刻因任務(wù)過(guò)重而不堪重負(fù)。通過(guò)快速重啟,機(jī)器可以繼續(xù)高優(yōu)先級(jí)任務(wù),但請(qǐng)注意,它不一定能解決雷達(dá)不斷“騷擾”系統(tǒng)的根本問(wèn)題。
有多少次你重啟了你的智能手機(jī)或筆記本電腦,然后發(fā)現(xiàn)它依舊出問(wèn)題?估計(jì)數(shù)不清了吧。
1202代碼也是,重啟可以臨時(shí)終止系統(tǒng)運(yùn)行,但這不能從源頭上解決故障。
以下是阿波羅11號(hào)給人工智能開發(fā)人員、汽車制造商和為自動(dòng)駕駛汽車開發(fā)軟件和系統(tǒng)的科技公司的一些建議。
1. 對(duì)傳感器的不確定性進(jìn)行預(yù)測(cè)和編碼
沒(méi)有什么是完美無(wú)缺的,自動(dòng)駕駛汽車上的傳感器也不例外,除了可能被灰塵或碎片遮擋、破壞這種明顯的外部因素之外,傳感器也有可能由于一些內(nèi)部bug或故障而出錯(cuò)。
確保為這種可能性編寫代碼,并為一旦出現(xiàn)問(wèn)題時(shí)該做些什么做好準(zhǔn)備。
2. 確保自動(dòng)駕駛汽車的操作系統(tǒng)足夠強(qiáng)大
一些用于自動(dòng)駕駛汽車的操作系統(tǒng)在某種程度上已被簡(jiǎn)化,為的是提高速度,但它還需要能夠處理各種已知的和不可預(yù)測(cè)的故障或可能發(fā)生的系統(tǒng)問(wèn)題。
確保操作系統(tǒng)能夠勝任支持與駕駛相關(guān)的系統(tǒng)任務(wù),安全性上同樣。
3. 不要忽略特殊情況
目前大多數(shù)自動(dòng)駕駛汽車關(guān)注的重點(diǎn)是在常規(guī)條件下的行駛,而不是處理不尋?;蚝币?jiàn)的駕駛情況(所謂的“邊緣”方面)。
然而,真實(shí)情況并非如此,根據(jù)國(guó)家或地區(qū)的不同,惡劣的天氣、糟糕的道路、不守規(guī)矩的司機(jī)都很常見(jiàn)。
在公路上試運(yùn)行的自動(dòng)駕駛汽車需要準(zhǔn)備好應(yīng)對(duì)邊緣情況。
4. 測(cè)試必須詳盡徹底
測(cè)試自動(dòng)駕駛汽車時(shí)哪怕忽略了一種測(cè)試用例,就給乘客增加了一種潛在的危險(xiǎn),在現(xiàn)實(shí)世界中,這種僥幸心理往往會(huì)產(chǎn)生非常可怕的后果。
測(cè)試需要盡可能的完整。
5. 謹(jǐn)慎地使用重啟,并僅作為最后的手段
想象一下,你坐在一輛自動(dòng)駕駛汽車?yán)铮诟咚俟飞巷w馳,而人工智能報(bào)告說(shuō)它需要立即重啟。這可與玩游戲時(shí)設(shè)備重啟的后果嚴(yán)重性不一樣。
開發(fā)人員應(yīng)該考慮將車載重啟作為最后的手段,并且必須非常謹(jǐn)慎地援用。
結(jié)論
一個(gè)好消息是,如今自動(dòng)駕駛汽車的處理能力比阿波羅11號(hào)宇宙飛船上使用的計(jì)算機(jī)要強(qiáng)大得多。
我們普遍用得到的計(jì)算機(jī)對(duì)于1969年的那些程序員來(lái)說(shuō),簡(jiǎn)直就是夢(mèng)幻一般。甚至智能手機(jī)在性能上也遠(yuǎn)超登月的設(shè)備。
但這只是硬件方面的問(wèn)題。
從軟件的角度來(lái)看,即使過(guò)去了半個(gè)世紀(jì),我們?nèi)匀粫?huì)很容易地遇到同樣的問(wèn)題,包括隱藏的bug或突然出現(xiàn)的報(bào)錯(cuò)。
因此,在設(shè)計(jì)、編碼、測(cè)試和部署自動(dòng)駕駛汽車時(shí)要格外小心。
感謝NASA和所有參與把人類送上月球的人,希望未來(lái)的自動(dòng)駕駛汽車能夠?yàn)槿魏慰赡軓棾龅?202或1201代碼做好準(zhǔn)備。
來(lái)源:第一電動(dòng)網(wǎng)
作者:汽車商業(yè)評(píng)論
本文地址:http://www.medic-health.cn/kol/95096
文中圖片源自互聯(lián)網(wǎng),如有侵權(quán)請(qǐng)聯(lián)系admin#d1ev.com(#替換成@)刪除。