隨著算力的提高,火星探測器自動駕駛技術發展有多迅猛?
文︱Steven Leibson
圖︱NASA/JPL
現在好幾家公司都在投入大量的資源和精力,來開發地球上的乘用車、卡車和公共汽車的自動駕駛系統,但美國JPL(噴氣推進實驗室)中的一個由專業科學家和工程師組成的小組,卻一直在研究一個另類的課題:給火星探測車賦予自動駕駛能力。
很顯然,火星探測器與我們的距離很遠,根據地球和火星各自軌道上的位置來看,其相距5500萬到4億公里之間。光速大約為30萬公里/秒,因此無線電通訊需要三到二十二分鐘才能完成單程“旅行”。如果再提供遠程駕駛所需的視覺反饋,那麼往返通訊時間就會增加一倍。由於較大的時延,我們沒有辦法在地球上遠程駕駛火星探測器。在馬斯克或其他人去那裡之前(大概是駕駛著特斯拉電動車),擁有真正自主意識的自動駕駛機器人是必需的。
我們不需要擔心在火星上會有車禍發生,至少在看到《瘋狂麥克斯》越野車呼嘯而過之前我們是這麼認為的。如果真的發生交通事故,我們會有更多的問題要處理,這比設置火星的道路規則更難。道路規則理解本就有很多問題,比如理解車道標誌、停車標誌、限速標誌、紅綠燈等等,不過這些問題到了火星之後就會變得毫無意義。
流浪者
到目前為止,美國宇航局已經在火星上投放了四個探測器,自動駕駛能力也在不斷提高,第五個探測器也會計劃在不久的未來發射。探路者號於1996年12月4日發射,搭載了第一個成功登陸火星的探測器。1997年7月4日,探路者號使用了一種獨特的安全氣囊著陸系統在火星上的阿瑞斯谷安全著陸,這個系統看起來像一個裝滿足球的袋子,它會在火星表面最不穩定的地方進行彈跳,最後滾到一個地方停下。
著陸後的兩個火星日,流浪者探測車駛離探路者號來到火星表面。然而在三個月後,通訊中斷了,它的總行程僅為100米多一點,也就是一個足球場的長度。很可能是電池壞了,也可能是火星的寒冷造成的。當任務結束時,流浪者已經將計劃中的7天運行週期延長了12倍,並將550張火星景觀的照片發回了地球。
探路者號使用的是基於PowerPC架構的並具有抗輻射能力的RAD6000 CPU,而流浪者號的CPU是2MHz 80C85,內存為64 Kb。(這是一個上世紀70年代的8位舊CPU)。因此,流浪者號擁有Radio Shack(睿俠牌) TRS-80 Model 100便攜式電腦的所有計算能力。
圖1:火星上的流浪者號太陽能火星車。
流浪者號與地球的通信微弱的。它通過一個9600波特的射頻調制解調器與探路者著陸器通信,該調制解調器提供的有效數據速率僅為2600波特,理論最大射程約為500米。顯然,流浪者探測車的“駕駛員”極具耐心,“他”坐在地球上的駕駛座上,戴著3D護目鏡,向其發出明確的移動指令。
勇氣號與機遇號
接下來兩輛火星探測器分別是“勇氣號”和“機遇號”,兩者是火星探測漫遊者號的一部分。與流浪者一樣,都是太陽能的。兩輛火星車配有20MHz RAD6000 CPU,其提供了22 MIPS原始處理能力。“勇氣號”、“機遇號”於2003年發射,前後相隔不到一個月。勇氣號首先於2004年1月4日在Gusev隕石坑著陸,機遇號於2004年1月25日在Meridiani平原著陸。兩個著陸點分別位於火星兩側,相距約1萬公里。顯然兩者此生不會在相遇,所以不需要考慮車輛躲避算法。
圖2:火星上的勇氣號探測器。
從2004年運行到2010年,勇氣號行駛了7.72公里(約為原計劃的13倍),運行時間比原計劃長約20倍。可惜的是,在2009年5月,勇氣號通過特洛伊沙地時,車輪陷入軟土,使其無法動彈,之後的觀測數據一直被限制在原地,往後的幾次解救行動都失敗了。直到2010年NASA宣佈放棄拯救計劃,勇氣號從此變為靜止觀測平臺。2011年,NASA在最後一次嘗試聯絡後結束勇氣號的任務。
機遇號要比勇氣號境遇好得多。截至2018年1月25日,“機遇號”已在火星漫遊14年之多,行駛路程達到45.16公里,比計劃的92天長約55倍。然而在2018年6月,火星上颳起了遮天蔽日的沙塵暴,美國宇航局與“機遇號”失去聯繫。在陽光充足的情況下,機遇號也許還會復活。但就像埃爾頓·約翰爵士在《火箭人》中唱的那樣,“火星冷得像地獄”。沒有電力,機遇號就無法讓自己或電池保持適宜的溫度。
由於計算能力有限,勇氣號和機遇號的自主駕駛能力受到嚴重限制。操作員將一天的計劃指令上傳到漫遊者上(在模擬器中驗證之後),這兩輛火星探測車會使用他們的立體成像功能和導航軟件找出到達指定目的地的最佳和最安全的路線,同時避開立體攝像機識別出的地面障礙。
勇氣號和機遇號的導航算法被稱為格式塔(GESTALT)。格式塔負責立體視覺控制、可遍歷性分析、路徑選擇和驅動。
好奇號
顯然只依靠太陽能,三輛探測車前輩並不能走得太遠。因此,下一個前往火星的探測車“好奇號”,用的是鈈RTG(放射性同位素熱電發電機),這種發電機可以日夜不停地通過核裂變產生100瓦以上的電力。此外,RTG的餘熱可以讓“好奇號”的內部(電池和電子產品)保持溫暖。好奇號於2011年11月26日發射升空,並於2012年8月6日登陸火星。通常情況下,RTG可以工作數十年(鈈238的半衰期為87年),每年只會損失一點輸出功率。因此,好奇號RTG的電力輸出每年只下降一到兩瓦特。
圖3:火星上的好奇號探測車。
本質上來說,一種取之不盡用之不竭的能源有效地增強了好奇號的傳動系統,這意味著這款核動力探測車可以比它的前輩們走得更快更遠,取得更多的科學研究。同時它也需要一個更強大的CPU來運行自動駕駛軟件。
好奇號的CPU是一款較新的RAD750,可以在200MHz的時鐘頻率下工作,傳輸速度為400 MIPS。與勇氣號和機遇號上的RAD6000 CPU一樣,好奇號的RAD750 CPU也是基於PowerPC處理器架構。且經過了輻射硬化。
好奇號於2012年8月6日登陸火星,在整個好奇號登陸火星的過程中,最驚險的一段莫過於進入-下降-著陸過程了,該階段縮寫為EDL,指的是飛船以每秒5.9公里的速度撞擊火星大氣層頂,開始降落過程。EDL過程持續僅僅7分鐘(被稱為恐怖7分鐘),以火星車平安降落於火星地表為結束標誌。從接觸火星大氣層頂之前10分鐘探測器拋掉巡航級開始,到有“天空起重機”之稱的下降級切斷連著好奇號的纜繩,飛船一共將經歷6種不同的姿態,從而允許各階段動作的展開。
好奇號目前在運行格式塔的改進版本,用於自主導航,這個版本在400 MIPS RAD750 CPU上的運行速度比在22 MIPS RAD6000 CPU上的快18倍。
美國航天局計劃在2020年啟動“Mars 2020”計劃。為了儘可能降低任務成本和風險,“Mars 2020”計劃中的設計基於NASA成功研發的火星科學實驗室(Mars Science Laboratory)任務架構,該架構包括好奇號探測車和“天空起重機”著陸系統。用於“Mars 2020”任務的好奇號探測車進行了改進升級,比如為了更好地應對崎嶇的地形,探測車安裝了皮條帶輪。經過6年多的時間,好奇號的鋁輪正開發出額外的孔,如圖4所示。
圖4:“好奇號”探測車火星上滑行了六年多之後,其鋁製車輪開始出現磨損。
“Mars 2020”探測器的自動駕駛系統通過FPGA協處理器進行加速。“Mars 2020”探測器仍將運行格式塔 AutoNav算法,但當任務啟動時,新的探測器將搭載一個基於FPGA的硬件加速器,名為Vision Compute Element (VCE,見圖5)。這在好奇號上是不存在的。
圖5:“Mars 2020”探測器視覺計算單元(VCE)中包含了一個新的基於FPGA的硬件加速器,有助於火星表面的著陸導航和自動駕駛。
VCE包含三個插入Compact PCI背板的卡:一張擁有探測車RAD750處理器的CPU,一個CEPCU1(Compute Element Power Conditioning Unit #1),以及一張計算機視覺加速卡或CVAC。CVAC是為“Mars 2020”開發的一種新卡,它是基於FPGA的硬件加速器,用於視覺相關的應用程序。
在著陸初期,CVAC加速了著陸器視覺系統(LVS)的任務,該系統將著陸前的初始定位誤差從3.2公里(僅基於慣性測量)減少到40米。當探測器從地球表面4200米下降到2000米的高度時,LVS將相機圖像與存儲的地圖進行匹配,在10秒或更短的時間內,利用固定在探測器外部的一個額外攝像頭來尋找地標。這個快速計算提供了足夠的時間來將空中起重機定位在目標著陸區的無礫石區域。
如圖5所示,“Mars 2020”探測器下降階段與探測車共享VCE。當下降階段準備完成時,利用天空起重機的操縱,VCE與下降階段的連接被切斷,探測器下降到火星表面。此時,VCE被重新用於格式塔自動駕駛算法。
格式塔算法採用圖像採集、立體分析、視覺測距、可通行性分析、路徑規劃與執行。圖像採集包括對安裝在探測車相機上的圖像進行捕獲、採樣、傳輸和存儲。立體分析分為圖像校正、濾波和視差處理。視覺測距包括識別和跟蹤圖像之間的特徵,以估計位置變化。可通行性分析將立體數據轉換為路徑規劃器使用的映射。路徑規劃和執行利用估計的位置和可通行性分析來確定和指揮探測車朝著總目標進行下一步行動。
FPGA
CVAC上的FPGA是可重新配置的Xilinx Virtex-5QVs,它是具有131,072個邏輯單元,320個DSP Slice和10.728 Mbits BRAM——是一款具有空間級抗輻射的FPGA。Virtex-5QV是一個可編程的視覺處理器,RTAX2000被永久配置為一個內務處理芯片。RTAX2000還負責配置和重新配置Virtex-5QV FPGA。
Xilinx早在2011年就宣佈推出Virtex-5QV FPGA。它能抵抗單事件的干擾,對單事件鎖存具有完全的免疫力,能夠承受超過1個Mrad(Si)的總電離劑量,並提供數據通路保護,免受單事件瞬變。
CVAC使用Virtex-5QV FPGA加速某些立體分析和視覺里程測量任務。它實現了立體分析任務中大部分計算,包括圖像校正、濾波和視差計算。它還實現了視覺測距任務的一部分,包括特徵檢測和匹配。特徵檢測採用角點檢測,特徵匹配採用序列中圖像局部區域的絕對差和(SAD)算法。
CVAC上的Virtex-5QV FPGA為格式塔自動算法任務提供了顯著的硬件加速。與20MHz RAD6000 CPU相比,256像素寬圖像的立體聲分析速度至少快了4800倍,而FPGA在不到十分之一秒的時間內就處理512P和1024P的圖像。
在使用著20MHz RAD6000 CPU上的MER 探測車上,視覺里程測量算法需要160秒來估計一個相對的姿態變化。而在“Mars 2020”上,視覺測程任務由FPGA和RAD750 CPU分擔,同樣的算法只需要8.8秒。然而,視覺里程測量算法的FPGA部分,對於512P的圖像需要0.016秒。
在火星上6年多的時間裡,“好奇號”已經完成了大量的科學研究,而且它還將持續數年。當“Mars 2020”探測器在2021年登陸這顆紅色星球時,好奇號也將繼續執行大量的科學任務,而且由於噴氣推進實驗室將FPGA置於駕駛系統上,這輛探測車的速度將會更快。
《T訪談》往期回顧:
閱讀更多 王樹一 的文章