毛曉艷,苗志富,陳建新,李志平,滕寶毅,邢 琰
(1. 北京控制工程研究所,北京 100190;2. 空間智能控制技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京100190)
火星與地球最近的距離約5 500萬(wàn)km,通訊時(shí)延有十幾分鐘,測(cè)控站無(wú)法通過(guò)地面監(jiān)測(cè)和遙操作模式實(shí)現(xiàn)實(shí)時(shí)的信息交互,這需要火星車(chē)具有較強(qiáng)的自主性,自主避開(kāi)障礙實(shí)現(xiàn)安全行走。
目前在火面成功著陸并進(jìn)行巡視的火星車(chē)只有美國(guó)和中國(guó)。美國(guó)從1996年開(kāi)始,陸續(xù)發(fā)射了火星著陸巡視器,迄今為止已有4代。最早的“索杰納”(Sojourner)采用了激光條紋儀的探測(cè)方式。從“火星探測(cè)漫游者”(Mars Exploration Rover,MER)項(xiàng)目,火星車(chē)開(kāi)始采用雙目感知的自主避障方式,其采用20 MHz的RAD6000處理器,處理時(shí)間2 ~ 3 min[1-2]?!昂闷嫣?hào)”(Curiosity)火星車(chē)在繼承MER的基礎(chǔ)上,升級(jí)為RAD750的233 MHz處理器,提高了自主行走的速度,行走速度約20 m/h[3]。2021年2月著陸的“毅力號(hào)”(Perseverance)火星車(chē)是采用最新技術(shù)的巡視器,它配備了現(xiàn)場(chǎng)可編程門(mén)陣列(Field-Programmable Gate Array,F(xiàn)PGA)的專(zhuān)用計(jì)算機(jī)來(lái)實(shí)現(xiàn)自主導(dǎo)航,可達(dá)120 m/h的行走速度,是“好奇號(hào)”的5~6倍[4]。
“天問(wèn)一號(hào)”探測(cè)器于2021年5月15日成功著陸于火星烏托邦平原,“祝融號(hào)”火星車(chē)于5月22日駛離著陸平臺(tái),開(kāi)始了火星漫漫之旅?!白H谔?hào)”也采用了雙目感知的方式自主避障行走。而環(huán)境感知涉及復(fù)雜的圖像計(jì)算,大運(yùn)算量影響其行走效率。行走效率的提升一方面來(lái)源于中央處理器(Central Processing Unit,CPU)計(jì)算能力的提高;另一方面來(lái)源于算法的優(yōu)化設(shè)計(jì)縮減復(fù)雜度。這種感知方式在國(guó)內(nèi)也有很多的研究[5],但地面所獲得的處理效率和星上不可同日而語(yǔ),高處理效率往往掩飾了對(duì)算法的優(yōu)化需求。由于國(guó)外技術(shù)的封鎖以及航天產(chǎn)品的高可靠性要求,“祝融號(hào)”不能一味選擇目前處理速度最快的芯片。
本文詳細(xì)地介紹了“祝融號(hào)”立體視覺(jué)算法的優(yōu)化并行設(shè)計(jì)。在可獲取性和高可靠性的權(quán)衡下,考慮工程實(shí)際情況,實(shí)現(xiàn)了從算法優(yōu)化和硬件協(xié)同設(shè)計(jì)來(lái)提升效率。
考慮到火星表面崎嶇不平的地理因素,為實(shí)現(xiàn)在未知環(huán)境下自主漫游,火星車(chē)采用光學(xué)相機(jī)的被動(dòng)立體視覺(jué)成像算法對(duì)未知環(huán)境進(jìn)行三維重建,作為自主規(guī)劃的前提條件。
立體視覺(jué)技術(shù)興起于20世紀(jì)60年代,麻省理工學(xué)院成功對(duì)三維積木進(jìn)行重建之后,立體視覺(jué)走進(jìn)了人們的視野。Huffman、Waltz等又將二維圖像處理擴(kuò)展到三維,解決了陰影等難題,立體視覺(jué)研究從此起步。雙目立體視覺(jué)測(cè)量的基本原理如圖1所示[6]。其中:OL為雙目中左相機(jī)的光心,OR為右相機(jī)的光心。ImageL為左相機(jī)的成像平面,ImageR為右相機(jī)的成像平面,W為物方點(diǎn),m1為W點(diǎn)在左相機(jī)成像平面所成像點(diǎn),m2為W點(diǎn)在右相機(jī)成像平面所成像點(diǎn)。通過(guò)拍攝的左右相機(jī)圖像,找到m1和m2的對(duì)應(yīng)關(guān)系,即可確定空間中的兩條直線,其交點(diǎn)坐標(biāo)即為W在相機(jī)系下的坐標(biāo)值。
圖1 雙目立體視覺(jué)測(cè)量的基本原理Fig. 1 Basic principles of stereo vision measurement
雙目立體視覺(jué)技術(shù)的一般思路:通過(guò)圖像內(nèi)參數(shù)校正、極線校正、濾波、稠密匹配和三維計(jì)算,完成所拍攝環(huán)境的三維重建,給自主避障規(guī)劃進(jìn)行安全路徑選取。
立體視覺(jué)的匹配方法是重難點(diǎn),是保證輸出效果的本質(zhì)原因,也是影響效率的關(guān)鍵一步。目前,從種類(lèi)上來(lái)說(shuō)匹配算法可以分為局部、全局及半全局算法[7]。局部匹配采用基于窗口的代價(jià)聚合算法;全局算法不做代價(jià)聚合,通過(guò)優(yōu)化一個(gè)包含局部數(shù)據(jù)項(xiàng)和平滑項(xiàng)的全局能量函數(shù)估計(jì)圖像之間的相關(guān)性;半全局算法將二維優(yōu)化問(wèn)題轉(zhuǎn)換到一維,采用動(dòng)態(tài)規(guī)劃沿著多個(gè)方向進(jìn)行一維能量最小化來(lái)代替二維全局能量的最小化。近些年人工智能的興起,又涌現(xiàn)出了一批基于深度學(xué)習(xí)的人工智能立體匹配方法,如HsMnet方法[8],采用具有分層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,通過(guò)訓(xùn)練完成視差的恢復(fù)。LiStereo[9]方法以自我監(jiān)督的方式訓(xùn)練模型,從而減少了必須收集大量基準(zhǔn)真實(shí)標(biāo)簽的代價(jià)。
經(jīng)過(guò)半個(gè)多世紀(jì)的發(fā)展,現(xiàn)階段立體視覺(jué)技術(shù)已較為成熟。當(dāng)前遇到的主要問(wèn)題是,在面對(duì)遮擋紋理、弱紋理、深度不連續(xù)區(qū)域等還沒(méi)有得到很好的解決,尤其是視覺(jué)技術(shù)受光照的影響很大,光線過(guò)暗或過(guò)亮、光照分布不均勻等情況都會(huì)影響其結(jié)果。這些都嚴(yán)格制約了立體技術(shù)在工程中的應(yīng)用。無(wú)論理論依據(jù)與實(shí)驗(yàn)測(cè)量有多完美,最終都需要應(yīng)用到實(shí)際工程中檢驗(yàn)?,F(xiàn)階段立體視覺(jué)研究的方向都集中在對(duì)精度和效率的優(yōu)化上,最大限度地保證實(shí)用性和并行化。
“天問(wèn)一號(hào)”是中國(guó)的首次火星探測(cè)任務(wù),受到質(zhì)量功耗和計(jì)算性能等條件約束,無(wú)法選用GPU等高速并行計(jì)算的設(shè)備,只能考慮在現(xiàn)有計(jì)算能力上進(jìn)行方案優(yōu)化選擇。
為保證行走安全,需要對(duì)幾倍車(chē)寬的區(qū)域進(jìn)行感知。為提高感知效率,實(shí)現(xiàn)一次感知的范圍盡量寬,“祝融號(hào)”采用120°視場(chǎng)的魚(yú)眼相機(jī)進(jìn)行環(huán)境感知,視場(chǎng)寬的相機(jī)畸變很大,魚(yú)眼相機(jī)更是具有特殊的大畸變,需進(jìn)行后續(xù)的算法處理,首先要進(jìn)行畸變校正,將左右圖像消除魚(yú)眼變形后再消除內(nèi)外參數(shù)變形,變成極線對(duì)正的圖像,才能進(jìn)行左右圖像的稠密匹配。魚(yú)眼避障相機(jī)的成像模型原理如圖2所示,需先進(jìn)行魚(yú)眼的標(biāo)定和去畸變[10-11]。其中:點(diǎn)o表示像平面的投影中心;o′表示主點(diǎn);P表示物方點(diǎn);p表示魚(yú)眼模型表面的投射點(diǎn);p′表示在魚(yú)眼成像平面的投影坐標(biāo);p′′表示P的透視投影點(diǎn);xc′o′yc′面是魚(yú)眼相機(jī)的投影平面;xcoyc面是滿足透視投影關(guān)系的成像平面;相機(jī)的焦距為f,也表示的是魚(yú)眼模型的球面半徑。
圖2 魚(yú)眼成像模型Fig. 2 Fish-eye imaging model
考慮立體相機(jī)的左右相機(jī)成像亮度不一致的問(wèn)題,除了設(shè)計(jì)相機(jī)的同步采集信號(hào)之外,在對(duì)圖像進(jìn)行匹配代價(jià)計(jì)算時(shí),采用了一種左右圖像灰度差異估計(jì)和灰度分布的均衡化處理方法,減小亮度差異對(duì)后續(xù)匹配的影響。
對(duì)目前的多種匹配方法進(jìn)行分析,因火星環(huán)境的未知性和存儲(chǔ)量及計(jì)算量的限定,網(wǎng)絡(luò)訓(xùn)練的方法首先不推薦。全局方法的結(jié)果較優(yōu)但計(jì)算量大不予選取。半全局方法綜合了全局的優(yōu)點(diǎn)效率,但是對(duì)低紋理的處理效果不佳,計(jì)算量相對(duì)還是較大。稠密匹配方法采用了模板相關(guān)匹配的差絕對(duì)值和方法(Sum of Absolute Difference,SAD),該方法的性能較折中,在計(jì)算量較小的情況下性能較優(yōu),最主要的是便于實(shí)現(xiàn)并行計(jì)算[12]。
其中:IL表示左圖像像素灰度;IR表示右圖像像素灰度,其匹配窗口大小為WinX×WinY;δLR表示搜索的視差范圍。
SADLR(x,y,δLR)最小的位置就是最佳匹配處,完成匹配后,所有的像素點(diǎn)都得到了視差結(jié)果,對(duì)視差圖中的噪聲設(shè)計(jì)濾波算法,去除斑塊噪聲,保證其輸出的可用性。視差圖通過(guò)小孔成像的公式計(jì)算可得到三維坐標(biāo)值并進(jìn)行濾波而后輸出。濾波后的三維坐標(biāo)再通過(guò)適宜度的分析得到對(duì)應(yīng)地形的可通過(guò)性評(píng)價(jià),通過(guò)規(guī)劃形成自主避障行走的軌跡。
視差圖通過(guò)小孔成像的公式計(jì)算可得到三維坐標(biāo)值并進(jìn)行濾波而后輸出。濾波后的三維坐標(biāo)再通過(guò)適宜度的分析得到對(duì)應(yīng)地形的可通過(guò)性評(píng)價(jià),通過(guò)規(guī)劃形成自主避障行走的軌跡。
上述的算法過(guò)程,按照普通的流程運(yùn)算,也可以得到三維數(shù)據(jù)的輸出,但耗時(shí)很長(zhǎng)。本文介紹的并行優(yōu)化設(shè)計(jì)內(nèi)容主要針對(duì)效率進(jìn)行提升,力求在受限的硬件資源下完成較高效率的立體視覺(jué)實(shí)現(xiàn),涉及魚(yú)眼校正、稠密匹配、三維點(diǎn)云生成和濾波,對(duì)這三個(gè)方面進(jìn)行并行優(yōu)化設(shè)計(jì)以提高立體視覺(jué)的運(yùn)算效率。
“祝融號(hào)”火星車(chē)采用了視場(chǎng)角達(dá)到120°的魚(yú)眼相機(jī),其畸變大,需進(jìn)行嚴(yán)格的校正修訂后才能進(jìn)行相關(guān)匹配。傳統(tǒng)采用的是從前向后的正向校正方法,即取原始圖像像素點(diǎn),按照畸變公式進(jìn)行校正,然后修正魚(yú)眼變形,投射到透視成像的平面模型上,將該點(diǎn)的灰度按照浮點(diǎn)像素進(jìn)行加權(quán)投影,形成新的校正后圖像。由于魚(yú)眼變形在4個(gè)邊角上的變形量最大,導(dǎo)致該處的原始圖像像素修正以后坐標(biāo)分布變得很廣且稀疏,無(wú)法根據(jù)該值填補(bǔ)校正后的像素灰度,在4個(gè)邊角處形成空洞,影響了后續(xù)的處理。
本文提出了基于寬視場(chǎng)魚(yú)眼相機(jī)前向模型的快速圖像校正方法,采用后向前的非線性方程逆向求解實(shí)現(xiàn)了畸變校正后的像素與原始圖像像素的對(duì)應(yīng)關(guān)系[13],保證每個(gè)校正后的像素都有與之相對(duì)應(yīng)的原始像素關(guān)系,從而解決了寬視場(chǎng)相機(jī)對(duì)角極限角度下的像素空洞問(wèn)題。
在圖3中,(a)是原始魚(yú)眼圖像,(b)是通過(guò)正向模型得到的魚(yú)眼校正結(jié)果圖,(c)是通過(guò)前向模型得到的魚(yú)眼校正結(jié)果圖??梢钥闯觯谶吔翘帲╟)的效果很平滑,無(wú)空洞現(xiàn)象。
圖3 魚(yú)眼避障相機(jī)的后向/前向校正結(jié)果Fig. 3 Backward/forward correction results of fish-eye hazard avoidance camera
為實(shí)現(xiàn)快速校正過(guò)程,采用查表的方法,將魚(yú)眼的畸變校正、內(nèi)外參模型和前向模型統(tǒng)一解算,直接存儲(chǔ)為對(duì)應(yīng)的坐標(biāo)表格,通過(guò)查找對(duì)應(yīng)的像素,僅進(jìn)行一步灰度加權(quán)就可得到新的修正位置上的紋理信息,從而得到極線對(duì)正圖像。
SAD配準(zhǔn)方法在直接編程下可以很容易實(shí)現(xiàn),但在主頻不高的星載計(jì)算機(jī)直接計(jì)算需要較長(zhǎng)的時(shí)間。為滿足星上的時(shí)間計(jì)算要求,對(duì)SAD嵌套循環(huán)算法進(jìn)行專(zhuān)門(mén)的優(yōu)化設(shè)計(jì),采用大量迭代運(yùn)算消除冗余計(jì)算量,代替?zhèn)鹘y(tǒng)的嵌套循環(huán)。
冗余計(jì)算量如圖4所示,紅色的虛線框表示上一行的匹配窗口,品紅色的實(shí)線框表示下一行的匹配窗口,在圖像窗口向+Y方向滑動(dòng)的過(guò)程中,可以看出白色區(qū)域的計(jì)算量是不變的,用上一步紅色虛線框內(nèi)的值加上最下面一行(灰色的)的絕對(duì)差值和,再減去最上面一行(灰色的)的絕對(duì)差值和,得到品紅色窗口內(nèi)的SAD值。其中,最上面和最下面一行(右圖中藍(lán)色框)的絕對(duì)差值在圖像向+X方向滑動(dòng)的過(guò)程中也可獲得,最后每一步的新增加計(jì)算只有4個(gè)黑色角點(diǎn)的絕對(duì)差值相減的計(jì)算,白色和灰色區(qū)域的計(jì)算都可以通過(guò)保留上一步的值而直接得到。
圖4 冗余計(jì)算量示意圖Fig. 4 Schematic diagram of redundant calculation
最終通過(guò)保留中間的不變量將每一步移動(dòng)的SAD簡(jiǎn)化為僅計(jì)算4個(gè)黑色的邊角點(diǎn),消除了中間白色和灰色的大面積冗余計(jì)算。
其中:SAD(x,y,d)表示(x,y)點(diǎn)像素的在視差d處的以(2×n+1)大小窗口進(jìn)行匹配的絕對(duì)差值和;IL表示左圖像像素的灰度;IR表示右圖像像素的灰度;U(x,y,d)表示 (x,y)點(diǎn)像素在視差d處的絕對(duì)差值和的增量,可描述為4個(gè)角點(diǎn)的迭代,將每步新增的計(jì)算量大幅度降低,在完成這一步后,針對(duì)計(jì)算機(jī)的處理性能和其需要左右相互匹配校驗(yàn)的特點(diǎn),對(duì)匹配算法進(jìn)一步優(yōu)化。
為提高匹配準(zhǔn)確度,剔除不佳匹配點(diǎn),采用右圖向左圖匹配來(lái)校驗(yàn)左圖向右圖匹配效果的方法,當(dāng)兩個(gè)結(jié)果接近時(shí),才認(rèn)為是正確的匹配點(diǎn)。圖5顯示了以左圖為基準(zhǔn)向右圖匹配,與以右圖為基準(zhǔn)像向左圖匹配時(shí),像素坐標(biāo)與對(duì)應(yīng)SAD值的關(guān)系。在左往右匹配尋找最佳位置時(shí),同時(shí)記錄這些值,通過(guò)對(duì)應(yīng)關(guān)系可以直接得到右圖中點(diǎn)右往左匹配的SAD值,直接省略了右圖往左圖的匹配計(jì)算。最后比較左往右最佳位置與其對(duì)應(yīng)右圖中的點(diǎn)右往左的匹配值,兩者小于設(shè)定閾值,將匹配結(jié)果輸出,否則視為噪聲點(diǎn)濾除,這一步極大提高了輸出視差的有效率。
圖5 左圖往右圖/右圖往左圖配準(zhǔn)的SAD存儲(chǔ)方式Fig. 5 SAD storage mode of left to right/ right to left matching
SADLR(x,y,δLR)最小的位置是最佳匹配處,得到的是左往右匹配的最佳視差位置dLR(xL,yL),如果是正確的匹配點(diǎn),則右往左的最佳對(duì)應(yīng)點(diǎn)應(yīng)該為(xL?dLR,yL)點(diǎn),(xL,yL)表示像素位置。在左圖往右圖匹配尋找視差dLR時(shí),通過(guò)存儲(chǔ)適當(dāng)大小的左圖為基準(zhǔn)向右圖匹配的SAD值,無(wú)須重新計(jì)算右圖往左圖匹配的SAD值,直接獲得dLR,使得稠密匹配中計(jì)算量最小化。
在軟件的實(shí)現(xiàn)中,采用鏈表結(jié)構(gòu)和堆入堆出的賦值方式進(jìn)行巧妙設(shè)計(jì),實(shí)現(xiàn)代碼最優(yōu)。最佳匹配點(diǎn)的左右點(diǎn)匹配信息也被保留下來(lái),作為亞像素?cái)M合的輸入,提升配準(zhǔn)精度。
通過(guò)上述的算法優(yōu)化設(shè)計(jì),計(jì)算效率相比直接編程實(shí)現(xiàn)可以提升近10倍,且不隨匹配窗口的增大而增加計(jì)算量,硬件實(shí)現(xiàn)也具有明顯的優(yōu)勢(shì)。
匹配完成后,立體視覺(jué)恢復(fù)出來(lái)的是視差數(shù)據(jù),在視差數(shù)據(jù)上進(jìn)行一次塊狀濾波,去除一些噪聲,然后根據(jù)公式轉(zhuǎn)換成三維點(diǎn)云數(shù)據(jù),即
其中:(XHCam,YHCam,ZHCam)表示三維坐標(biāo);fC為相機(jī)焦距;bC為雙目相機(jī)基線;dLR是匹配得到的視差。
三維點(diǎn)云數(shù)據(jù)量非常大,而且這些數(shù)據(jù)在空間上并非均勻分布,針對(duì)這一問(wèn)題,提出了一種高效三維點(diǎn)云濾波技術(shù),解決大量點(diǎn)云數(shù)據(jù)進(jìn)行多次重復(fù)遍歷、處理用時(shí)較長(zhǎng)、效率低的問(wèn)題,實(shí)現(xiàn)了快速有效的三維地形點(diǎn)云輸出。具體的優(yōu)化設(shè)計(jì)過(guò)程:在生成三維稠密點(diǎn)云地形數(shù)據(jù)之前,首先構(gòu)建一張均勻網(wǎng)格的地形圖;然后在計(jì)算點(diǎn)云數(shù)據(jù)時(shí)對(duì)網(wǎng)格地形圖填充并做均值化處理,完成三維稠密點(diǎn)云地形數(shù)據(jù)到二維均勻網(wǎng)格數(shù)據(jù)的轉(zhuǎn)化,同時(shí)完成地形數(shù)據(jù)的第一層濾波;在此基礎(chǔ)上采用類(lèi)似圖像濾波的方法對(duì)均勻網(wǎng)格數(shù)據(jù)進(jìn)行第二層濾波,從而完成三維地形數(shù)據(jù)的生成和濾波。這種方法在數(shù)據(jù)存儲(chǔ)量和計(jì)算量方面都有較大改善,三維地形濾波算法的效率得到明顯提高。另外,通過(guò)采用三維地形數(shù)據(jù)分層濾波的方法,提高了三維恢復(fù)的精度,保證了自主避障規(guī)劃結(jié)果的安全性和有效性[16]。表1給出算法優(yōu)化前后三維地形濾波用時(shí)的比較,可以看出優(yōu)化后濾波用時(shí)明顯減小
表1 三維地形濾波算法優(yōu)化前后用時(shí)比較Table 1 Comparison of 3D terrain filtering time before and after algorithm optimization
為支持環(huán)境感知算法的并行執(zhí)行,硬件采用如圖6所示的并行計(jì)算架構(gòu)。該架構(gòu)采用哈弗存儲(chǔ)方式,并包含兩個(gè)獨(dú)立的執(zhí)行單元。每個(gè)執(zhí)行單元含有獨(dú)立的寄存器組,可以執(zhí)行訪存、邏輯、算術(shù)運(yùn)算等所有程序的指令,兩個(gè)執(zhí)行單元之間可通過(guò)寄存器組進(jìn)行數(shù)據(jù)交互。
圖6 硬件并行計(jì)算架構(gòu)Fig. 6 Hardware architecture of parallel computing
該硬件設(shè)計(jì)主要從以下3方面提高感知算法的并行執(zhí)行。
1)提高存儲(chǔ)訪問(wèn)并行度,硬件采用哈弗存儲(chǔ)方式,將指令和數(shù)據(jù)獨(dú)立存儲(chǔ),實(shí)現(xiàn)對(duì)指令、圖像數(shù)據(jù)的并行訪問(wèn)。
2)提高指令并行度,兩個(gè)執(zhí)行單元可同時(shí)執(zhí)行不同的指令包,每個(gè)指令包由并行指令序列組成。不同類(lèi)型的指令,在執(zhí)行單元的訪存、邏輯、算術(shù)運(yùn)算單元等功能模塊上并行執(zhí)行。通過(guò)將感知算法中包含的大量循環(huán)語(yǔ)句展開(kāi)優(yōu)化,使循環(huán)體中的語(yǔ)句同時(shí)在多個(gè)運(yùn)算單元中執(zhí)行。另外,將算法中包含的大量分支判斷語(yǔ)句改進(jìn)成條件運(yùn)算語(yǔ)句,減少程序跳轉(zhuǎn),避免處理器指令流水線的斷流,實(shí)現(xiàn)指令的并行。
3)提高數(shù)據(jù)處理并行度,圖像處理算法具有對(duì)大量數(shù)據(jù)進(jìn)行相同運(yùn)算操作的特點(diǎn),將感知圖像數(shù)據(jù)進(jìn)行分塊,兩個(gè)執(zhí)行單元可對(duì)不同的數(shù)據(jù)塊進(jìn)行并行處理,尤其是對(duì)感知算法性能影響較大的數(shù)據(jù)處理步驟,采用單指令多數(shù)據(jù)(SIMD)匯編指令進(jìn)行編程,實(shí)現(xiàn)對(duì)數(shù)據(jù)的并行處理。
“祝融號(hào)”火星車(chē)行駛里程超過(guò)了1 km,并超過(guò)100 d的壽命期,是中國(guó)目前在地外天體上行走最遠(yuǎn)的表面巡視器。能高效完成這個(gè)行駛里程,得益于其高效安全的自主避障行走方式。“祝融號(hào)”通過(guò)立體視覺(jué)算法優(yōu)化和硬件并行設(shè)計(jì)完成一次自主避障的時(shí)間目前在20 s左右,與未優(yōu)化的“玉兔二號(hào)”效率相比提升了近8倍。在火面行走時(shí),“祝融號(hào)”采用盲走和自主避障行走的組合方式,提升了地面一次操作的可行走距離。而“玉兔二號(hào)”采用的主要是盲走方式,受限地面操作,效率較低,一次行走不超過(guò)10 m。自主避障行走使得“祝融號(hào)”的效率顯著提升,一次行走距離可達(dá)20 m?!白H谔?hào)”火星車(chē)幾乎每日都采用“盲走+自主規(guī)劃移動(dòng)”的策略,即在地面操作員利用導(dǎo)航地形相機(jī)圖像“看得清”的范圍內(nèi)(約10 m)采用盲走移動(dòng),“看不清”的拓展范圍(一般10 m)采用自主避障規(guī)劃移動(dòng)。6月6日火星車(chē)第一次自主避障規(guī)劃行駛9.063 m;6月7日火星車(chē)第一次視覺(jué)里程移動(dòng)8.638 m;7月22日自主避障規(guī)劃模式行駛的最長(zhǎng)距離15.12 m。
在目前的1 km總里程中,其自主里程已經(jīng)占到整個(gè)里程的40%以上,已經(jīng)超過(guò)“勇氣號(hào)”(Spirit)的27%。“祝融號(hào)”90個(gè)火星日行走的總路線圖及局部放大圖如圖7所示。圖7中綠色的圓點(diǎn)表示的是每一次的導(dǎo)航點(diǎn),導(dǎo)航點(diǎn)之間的黃色曲線表示盲走,綠線表示的是自主避障行走,在多次導(dǎo)航任務(wù)中,盲走和自主避障行走各占一半,其中一步探測(cè)避障相機(jī)的圖像和感知視差圖如圖8所示。(b)圖和(d)圖為通過(guò)立體視覺(jué)并行算法計(jì)算出來(lái)的視差圖,可直接轉(zhuǎn)化為DEM(Digital Elevation Model)數(shù)據(jù)進(jìn)行規(guī)劃??梢钥闯鰺o(wú)論是在較平緩的沙丘,還是障礙密集的地形上,“祝融號(hào)”都能有效識(shí)別出環(huán)境中的起伏,自主避障10 m完成的軌跡效果圖如圖9所示。
圖7 “祝融號(hào)”90個(gè)火星日行駛路線圖及局部放大圖Fig. 7 Route map of Zhurong 90 Mars days and partial enlarged view
圖8 避障相機(jī)圖像及感知視差圖Fig. 8 Images of hazard-avoiding camera and disparity maps
圖9 火星表面自主避障行走的效果圖Fig. 9 Results of autonomous obstacle avoidance moving on Mars surface
圖9為“祝融號(hào)”火星車(chē)的導(dǎo)航相機(jī)拍攝的圖片,其中根據(jù)遙測(cè)數(shù)據(jù)描繪出了其自主避障的行走軌跡線,黃色的方框?yàn)槠漭喿拥能壽E位置,藍(lán)色的線條表示火星車(chē)的中心移動(dòng)軌跡?;鹦擒?chē)的移動(dòng)軌跡是星上感知規(guī)劃算法根據(jù)立體相機(jī)對(duì)實(shí)際地形進(jìn)行感知規(guī)劃并控制行而獲得的,初始給定的目標(biāo)點(diǎn)在障礙的后方,火星車(chē)立體視覺(jué)算法可有效識(shí)別地形上的障礙,規(guī)劃避開(kāi)障礙,并保證安全到達(dá)目標(biāo)點(diǎn)。
立體視覺(jué)算法并行設(shè)計(jì)在“祝融號(hào)”火星車(chē)上得到了成功驗(yàn)證,通過(guò)可靠的火星車(chē)在未知環(huán)境下的自主行駛能力,將一次地面感知可以行走的距離提升到20 m以上。通過(guò)并行設(shè)計(jì)提升了速度,保證了在能源限定和時(shí)長(zhǎng)等約束條件下火星車(chē)長(zhǎng)距離的可靠安全行駛,行走距離遠(yuǎn)超“玉兔二號(hào)”,成為名副其實(shí)走得穩(wěn)走得快的地外天體表面移動(dòng)平臺(tái)。在后續(xù)的延展任務(wù)中,若適當(dāng)放寬能源和通訊限定,火星車(chē)能實(shí)現(xiàn)更遠(yuǎn)距離的時(shí)速以超過(guò)40 m/h的自主避障行走。攜帶立體視覺(jué)并行設(shè)計(jì)的“祝融號(hào)”將在火星上繼續(xù)漫游,走更遠(yuǎn)的路、看更美的景、探測(cè)更多的未知天地。
本文主要介紹了中國(guó)的第一輛火星車(chē)“祝融號(hào)”采用的立體視覺(jué)并行算法,通過(guò)多重優(yōu)化設(shè)計(jì)算法與硬件并行處理,在實(shí)際工程中完成了可靠安全的高效率自主感知,探測(cè)器行走各性能表現(xiàn)突出。但是需要看到的是感知技術(shù)不斷在進(jìn)步,更多更好的方法也在不斷涌現(xiàn),綜合工程可實(shí)現(xiàn)性的更優(yōu)方法研究和新的硬件實(shí)現(xiàn)技術(shù)是今后仍需努力的方向。