夏夢綺,盧 欣,張春明,孫大開
船載天文導(dǎo)航以自然天體為導(dǎo)航基準(zhǔn),通過光電方式被動探測天體的位置,并結(jié)合地平、世界時等信息,最后通過慣性坐標(biāo)系轉(zhuǎn)換進(jìn)行地理坐標(biāo)系下的位置解算.在艦船的天文導(dǎo)航中,相比單陀螺慣性導(dǎo)航方案,“陀螺+星光定向儀”組合能夠?qū)崿F(xiàn)優(yōu)勢互補(bǔ),可自主導(dǎo)航,具有較廣泛的應(yīng)用需求.其中,慣性導(dǎo)航提供較高精度的測量船水平姿態(tài)數(shù)據(jù)(縱搖和橫搖)、中等精度的航向數(shù)據(jù)和船位數(shù)據(jù),星光定向儀經(jīng)過星圖識別和姿態(tài)計(jì)算,實(shí)現(xiàn)對慣性導(dǎo)航航向和船位數(shù)據(jù)的高精度修正.
現(xiàn)行船載星光定向儀選用近紅外波段進(jìn)行探測.相比可見光波段,測星概率大約高一個數(shù)量級,且大氣散射更低,透過率更高[1],在白晝條件下具有更強(qiáng)的恒星探測能力.但其存在背景噪聲起伏較大、偽星點(diǎn)壞像素較多等問題,紅外白晝恒星探測技術(shù)是目前應(yīng)用中一大難題.
本文針對以上問題,設(shè)計(jì)了一套比較實(shí)用、高效、可用于白晝條件下船載天文導(dǎo)航算法,給出了理論推導(dǎo)和實(shí)驗(yàn)驗(yàn)證.
在艦船天文導(dǎo)航中,星光定向儀在提取和識別恒星后,計(jì)算出星光定向儀基準(zhǔn)鏡系相對慣性系的姿態(tài)數(shù)據(jù),并利用協(xié)調(diào)世界時(UTC)、慣性系和地理系三者之間的轉(zhuǎn)換關(guān)系,對慣性導(dǎo)航系統(tǒng)測得地理經(jīng)緯度數(shù)據(jù)進(jìn)行修正.其中,由于恒星觀測在大氣層內(nèi)進(jìn)行,觀測星矢量混入蒙氣差,導(dǎo)航算法需在當(dāng)?shù)氐乩碜鴺?biāo)系下對恒星天頂角進(jìn)行蒙氣差修正.
圖1中,星光定向儀與慣性導(dǎo)航系統(tǒng)形成捷聯(lián)組合導(dǎo)航系統(tǒng),星光定向儀在大氣層內(nèi)對空間中的恒星成像,利用算法進(jìn)行星點(diǎn)提取和星圖識別,并利用多幀的方式去除偽星點(diǎn),慣性導(dǎo)航系統(tǒng)給星光定向儀定時發(fā)UTC時間、水平方向(俯仰角和滾動角)數(shù)據(jù),星光定向儀根據(jù)慣性系和地理坐標(biāo)系的轉(zhuǎn)換,在蒙氣差修正的基礎(chǔ)上給出修正后的地理位置和航向角信息,用于慣性導(dǎo)航系統(tǒng)自身修正.
下面根據(jù)工作原理流程圖,對涉及的算法給出理論計(jì)算模型.
圖1 星光/慣性組合導(dǎo)航工作原理圖Fig.1 The principle of CNS/SINS integrated navigation
(1) 地心赤道慣性坐標(biāo)系Ci
赤道慣性坐標(biāo)系又稱地心天球參考系(GCRS),為近地空間坐標(biāo)系.GCRS以地心為原點(diǎn),xi軸指向春分點(diǎn),zi軸指向北天極,yi軸由右手定則確定.
(2) 地心地理坐標(biāo)系Ce
地心地理坐標(biāo)系與地球固聯(lián),也稱國際地球參考系(ITRS).其坐標(biāo)原點(diǎn)在地心,xe軸指向經(jīng)緯度為零的點(diǎn),ze軸指向地北極,ye軸由右手定則確定.位置的測量通常以ITRS為基準(zhǔn).
(3) 當(dāng)?shù)氐乩碜鴺?biāo)系Cg
當(dāng)?shù)氐乩碜鴺?biāo)系是用來表示載體位置的坐標(biāo)系,是水平和航向的基準(zhǔn),也稱東北天地平坐標(biāo)系(ENU).其原點(diǎn)為載體重心,E軸指向正東,N軸指向正北,U軸沿垂線方向指向天.
(4) 星光定向儀基準(zhǔn)鏡坐標(biāo)系CJ
該坐標(biāo)系與對應(yīng)測量坐標(biāo)系僅存在一個旋轉(zhuǎn)矩陣,目前算法實(shí)驗(yàn)時假定等同于載體坐標(biāo)系和測量系.恒星在像面的位置(u,v)坐標(biāo)轉(zhuǎn)換成單位矢量在該坐標(biāo)系下表示,標(biāo)定系數(shù)在該坐標(biāo)系下表示.計(jì)算的姿態(tài)指該坐標(biāo)系下慣性指向的方向余弦矩陣.
圖2 星光定向儀測量原理示意圖Fig.2 The measuring principle of star sensor
坐標(biāo)系間的相互轉(zhuǎn)換為:
(1) 像平面坐標(biāo)系與基準(zhǔn)鏡坐標(biāo)系的轉(zhuǎn)換
已知某星點(diǎn)的位置為(u,v),根據(jù)針孔成像模型,有
(1)
式中,f為星光定向儀的焦距.式中的非線性關(guān)系可近似由xS、yS與u、v的高階多項(xiàng)式描述.
(2) 基準(zhǔn)鏡坐標(biāo)系與慣性坐標(biāo)系的轉(zhuǎn)換
當(dāng)像平面上出現(xiàn)不少于2顆觀測星時,通過導(dǎo)航星匹配算法,基于單幀圖像的姿態(tài)可由經(jīng)典的QUEST算法給出[2].兩坐標(biāo)系的轉(zhuǎn)換關(guān)系滿足
W=CJiV+n
(2)
式中,CJi即為姿態(tài)矩陣,n為噪聲誤差.W和V矩陣分別定義在坐標(biāo)系CJ和Ci內(nèi),即
(3)
其中,WSi=[xSiySizSi]T,Vi=[xiyizi]T.
由于觀測星坐標(biāo)中包含了測量誤差,通常需通過姿態(tài)解算方法尋找CJi的最優(yōu)解.
由慣性系下的姿態(tài)矩陣,結(jié)合UTC時間和水平姿態(tài)信息,可以對慣導(dǎo)給出的地理經(jīng)緯度信息及方位角進(jìn)行修正.
(3) 慣性坐標(biāo)系與地心地理坐標(biāo)系的轉(zhuǎn)換
ITRS轉(zhuǎn)換至GCRS有兩種方法,一種是基于春分點(diǎn)的經(jīng)典轉(zhuǎn)換方法,另一種是基于無旋轉(zhuǎn)原點(diǎn)NRO的坐標(biāo)轉(zhuǎn)換方法[3].本文采用基于無旋轉(zhuǎn)原點(diǎn)NRO的坐標(biāo)轉(zhuǎn)換方法,基本轉(zhuǎn)換公式如下:
Ci=Q(t)R(t)W(t)Ce
(4)
式(4)以瞬時天球中間級(CIP)對應(yīng)的赤道坐標(biāo)系為中間變換,CIP在GCRS和ITRS坐標(biāo)系中都會產(chǎn)生旋轉(zhuǎn)矩陣.其中,Q(t)是由于天球中間極CIP在GCRS中的運(yùn)動而產(chǎn)生的轉(zhuǎn)換矩陣;R(t)是由于地球旋轉(zhuǎn)(將地球星歷原點(diǎn)TIO方向旋轉(zhuǎn)至天球中間原點(diǎn)CIO方向)所產(chǎn)生的旋轉(zhuǎn)矩陣;W(t)為極移矩陣,由CIP在ITRS中的運(yùn)動而產(chǎn)生.具體解算流程詳見文獻(xiàn)[4].
(4) 當(dāng)?shù)氐乩碜鴺?biāo)系與地心地理坐標(biāo)系的轉(zhuǎn)換
約定R1(θ)、R2(θ)、R3(θ)分別為繞x、y、z軸的基元旋轉(zhuǎn)矩陣,已知載體地理經(jīng)緯度(λ,φ),則地心地理系到當(dāng)?shù)氐乩硐档霓D(zhuǎn)換矩陣為
Cge=R3(90°)R2(90°-φ)R3(λ)
(5)
以上所述的轉(zhuǎn)換關(guān)系可以用圖3表示.
圖3 船載星光定向儀坐標(biāo)系轉(zhuǎn)換關(guān)系Fig.3 The coordinate transformation of shipboard star sensor
在大氣層內(nèi)進(jìn)行天文導(dǎo)航,蒙氣差是最主要的誤差源.影響蒙氣差的因素有很多,如溫度、濕度、氣壓、湍流等,其中觀測天頂角是影響蒙氣差大小的最主要因素[5].本文根據(jù)天頂角與蒙氣差的關(guān)系,對恒星在當(dāng)?shù)氐乩碜鴺?biāo)系下的指向進(jìn)行修正,以基本消除蒙氣差引起的觀測誤差.
已知導(dǎo)航星在慣性系下的矢量Vi,根據(jù)上述坐標(biāo)轉(zhuǎn)換關(guān)系(3)、(4),推導(dǎo)得當(dāng)?shù)氐乩碜鴺?biāo)系下的矢量Vg=[xgygzg]T.此時修正前的天頂角
h=arccoszg
(6)
根據(jù)蒙氣差與地理經(jīng)度λ、地理緯度φ、某月的上中下旬t、海拔高度H和修正前天頂角h的關(guān)系表格table,利用蒙氣差查表法得到天頂角修正量dh,蒙氣差查表法公式近似如下:
dh=table(λ,φ,t,H,h)
(7)
修正后的天頂角h′=h+dh.進(jìn)而得到Vg修正后的矢量為
(8)
基準(zhǔn)鏡系相對當(dāng)?shù)氐乩硐档慕俏恢每赏ㄟ^按3-1-2轉(zhuǎn)序旋轉(zhuǎn)得到的3個歐拉角表示,即
CJ=R2(φ)R1(θ)R3(ψ)Cg
(9)
在靜態(tài)觀星實(shí)驗(yàn)條件下,基本可以保證星光定向儀水平放置,可取θ=0、φ=0.結(jié)合式(5),近似有:
CJ=R3(ψ)R3(90°)R2(90°-φ)R3(λ)Ce
(10)
利用QUEST方法已求解出姿態(tài)矩陣CJi,通過坐標(biāo)轉(zhuǎn)換關(guān)系(3)得到視軸在地心地理系下的姿態(tài)CJe.則經(jīng)度、緯度和方位角可分別表示為
(11)
星光定向儀對空間恒星成像,經(jīng)質(zhì)心計(jì)算得到天體在像平面中的位置,并由坐標(biāo)系轉(zhuǎn)換關(guān)系求得恒星在載體系下的觀測矢量.根據(jù)光軸粗指向和導(dǎo)航星表搜索導(dǎo)航星,通過星圖識別將導(dǎo)航星與觀測星匹配.利用導(dǎo)航星信息、觀測星信息及時間信息可以精確計(jì)算出載體的位置與航向.
紅外探測雖然比可見光有很大優(yōu)勢,但也存在多項(xiàng)問題.觀星實(shí)驗(yàn)過程中出現(xiàn)4個主要問題:紅外星圖背景噪聲;圖像存在偽星點(diǎn);紅外芯片存在壞像素;算法需適應(yīng)一定的灰度背景范圍.
為解決上述問題,設(shè)計(jì)實(shí)現(xiàn)了4個技術(shù)方案,可實(shí)現(xiàn)白晝紅外探測,提升探測概率.算法實(shí)現(xiàn)框圖如圖4所示.
圖4 船載星光定向儀算法實(shí)現(xiàn)流程圖Fig.4 The flow chart of algorithm of shipboard star sensor
恒星在像平面上一般表現(xiàn)為近似圓形的點(diǎn)狀光斑,光斑直徑大小通常為3~5個像元,多次平均后的光斑能量近似高斯分布[6].然而,星點(diǎn)目標(biāo)形貌極易受噪聲的影響,導(dǎo)致偏離[7].對星圖進(jìn)行濾波,抑制背景噪聲,是實(shí)現(xiàn)高精度質(zhì)心定位的重要條件.
圖5為星光定向儀采集的局部原始圖像.紅外星圖圖像噪聲可分為3類,包括探測器噪聲、讀出噪聲和光子噪聲.探測器噪聲包括固定模式噪聲、暗電流隨機(jī)噪聲、暗電流非一致性、像素響應(yīng)非一致性和隨機(jī)熱噪聲等.其中,固定模式噪聲、暗電流非一致性、像素響應(yīng)非一致性可通過噪聲修正去除,除光子噪聲外,其他噪聲可通過探測器致冷的方式降低[8,9].
圖5 觀星實(shí)驗(yàn)局部原始圖像Fig.5 The part original image for a stellar observation test
實(shí)際嵌入式系統(tǒng)主要對固定模式噪聲進(jìn)行修正,本文采用簡化模型將上一幀圖像的列均值作為當(dāng)前幀圖像的固定模式噪聲,當(dāng)前幀圖像在去除固定模式噪聲的基礎(chǔ)上,利用相鄰兩行圖像灰度的背景噪聲具有相關(guān)性逐行計(jì)算背景閾值.
算法中的背景閾值描述:
T=μ+α·σ
(12)
式中,T為當(dāng)前行的背景閾值,μ為上一行的均值,σ為上一行的方差,α為方差系數(shù),通常取2.0~3.5.具體的α取值按照T的取值范圍動態(tài)調(diào)整,由DSP計(jì)算后寫入FPGA.
經(jīng)過閾值掃描處理后,提取每行超過閾值的像元作為有效像素.實(shí)際白晝觀星的圖像中提取出的大部分有效像素為單像素背景噪聲,為此對連通域二次掃描算法進(jìn)行改進(jìn),增加了單像素濾波掃描算法去除孤立噪聲.該算法基本流程如下:
1) 對所存儲的像元進(jìn)行行內(nèi)分析,掃描當(dāng)前行是否有其≥2個像元的連通域存在;
2) 再對該像元進(jìn)行行間分析,遍歷下一行是否有其≥2個像元的連通域存在;
3) 若都不滿足,將連通域=1個像元的單個像素的灰度標(biāo)記為-1,以剔除單像素噪聲.
圖6為濾波算法修正后的有效像素直方統(tǒng)計(jì)圖,可見,星點(diǎn)信號灰度明顯高于其他像素,且近似呈正態(tài)分布.
圖6 有效像素直方統(tǒng)計(jì)圖Fig.6 The histogram of effective pixels
經(jīng)噪聲修正后的圖像中提取的星點(diǎn)分為3種:恒星、空中飛行顆粒、響應(yīng)異常的像素.對偽星點(diǎn)的判斷依據(jù)如下:
思維型學(xué)習(xí)疑難也稱組織型學(xué)習(xí)疑難,它是在信息的組織時出現(xiàn)的異常情況而產(chǎn)生的學(xué)習(xí)疑難.美國學(xué)者安東尼·格里高根據(jù)知覺的具體與抽象,規(guī)則的次序與隨機(jī)將人類的思維分成了四種:具體而有序的思維、抽象而有序的思維、具體而隨機(jī)的思維、抽象而隨機(jī)的思維[25].這四種思維類型并無好壞之分,但它們之間的思維形式有所不同[26].不同的思維形式在一方面表現(xiàn)出一些優(yōu)勢的同時,往往在另一方面會表現(xiàn)出劣勢,以致于出現(xiàn)一些思維障礙,從而產(chǎn)生思維型學(xué)習(xí)疑難.
1) 恒星在視場內(nèi)隨著地球自轉(zhuǎn)運(yùn)動,運(yùn)動的角速度較慢,且在像面上成像形狀規(guī)則;
2) 空中飛行顆粒在視場中運(yùn)動速度較快,且物距位置不固定,成像后有離焦現(xiàn)象,與恒星成像形狀存在差別;
3) 像面中響應(yīng)異常的像素位置固定,由像素響應(yīng)的非一致性引起,與正常像素響應(yīng)差別明顯,有光照時處于飽和或接近飽和的狀態(tài).
紅外芯片壞像素較多,將作為主要干擾目標(biāo)影響恒星識別.利用上述不同星點(diǎn)的運(yùn)動特點(diǎn),采用連續(xù)多幀比對的方式可以有效去除.多幀算法策略的基本流程如下:
1) 取N幀圖像為一組,記錄每一幀圖像提取的所有星點(diǎn)的(u+v)坐標(biāo),并按升序排列;
2) 統(tǒng)計(jì)相鄰(u+v)的差值小于0.2個像元的累計(jì)次數(shù)與其對應(yīng)的索引位置,連續(xù)出現(xiàn)3次以上則認(rèn)為是壞像素,從星點(diǎn)序列中剔除;
3) 逐步掃描相鄰兩幀,若存在星點(diǎn)滿足
Δu2+Δv2<6.5
圖7為多幀處理前后有效星點(diǎn)的統(tǒng)計(jì)圖.由圖可見,多幀算法策略能有效剔除壞像素,提取真實(shí)星點(diǎn).
圖7 多幀處理前后星點(diǎn)統(tǒng)計(jì)圖Fig.7 The statistical stars chart before and after multi-frame process
實(shí)際系統(tǒng)中,每一組圖像均采用多幀算法剔除壞像素將極大影響算法運(yùn)算速度.由2.2分析可知,像面中響應(yīng)異常的像素位置固定,因此存儲所有壞像素的像平面坐標(biāo),并在星點(diǎn)提取階段就對星點(diǎn)進(jìn)行偽星判斷,能夠有效簡化算法流程.具體判斷過程如下:
1) 將所有壞像素的(u+v)坐標(biāo)按升序排列,以(u+v)坐標(biāo)間隔50為區(qū)間建立索引表,1~50索引為1,50~100索引為2,以此類推;
2) 計(jì)算星點(diǎn)的(u+v)坐標(biāo),判斷其索引;
3) 將星點(diǎn)的像平面坐標(biāo)分別與該索引內(nèi)的壞像素的作差,當(dāng)差值滿足:
則認(rèn)為該星點(diǎn)是表中壞像素,將其從星點(diǎn)序列中剔除.
圖像灰度范圍為0~1 023,當(dāng)圖像達(dá)到非線性工作區(qū)(灰度800~1 023)時無法觀測到恒星,觀星算法需要適應(yīng)一定的灰度背景范圍.實(shí)測白晝條件下積分時間與圖像灰度均值的擬合關(guān)系如圖8所示,有如下說明:
1) 當(dāng)積分時間為0時,圖像灰度均值為225,此數(shù)值為模數(shù)轉(zhuǎn)換器設(shè)置的偏置量;
2) 在積分時間<5 ms的情況下,圖像灰度增量隨積分時間線性增加;
3) 當(dāng)積分時間>5 ms時,探測器像素接近滿阱,圖像灰度隨積分時間的增加而緩慢增加.
在實(shí)際積分時間自動調(diào)整算法設(shè)計(jì)中,根據(jù)該線性關(guān)系和當(dāng)前背景灰度,有積分時間調(diào)整公式
T=k(DN)T0
(13)
式中:T0為當(dāng)前時刻積分時間,默認(rèn)初始化設(shè)置為2 ms;k為調(diào)整系數(shù),在灰度250~700之間梯度設(shè)置為1.01~1.2;T為下一時刻積分時間.
根據(jù)式(13)設(shè)置下一時刻的積分時間,最終調(diào)整至合理灰度區(qū)間(灰度650~700).
圖8 圖像灰度與積分時間關(guān)系Fig.8 The curve of image gray with different integral time
船舶平臺星光定向儀的系統(tǒng)參數(shù)如表1所示.
表1 船舶平臺星光定向儀參數(shù)Tab.1 The parameters of shipboard star sensor
采用紅外波段2MASS(two micron all sky survey)星表作為原始星表[10].實(shí)驗(yàn)前將星光定向儀水平靜止放置于地面,此時可認(rèn)為載體水平傾角為(0°,0°).測量載體地理經(jīng)緯度的初值為(λ0,φ0)=(117°13′7″E, 38°48′10″N),方位角為ψ=121.112 0°.
選取了2017年1月20日18:07~18:08采集的圖像作為實(shí)算數(shù)據(jù).取10幀圖像為一組,圖9為連續(xù)60次外場實(shí)驗(yàn)的經(jīng)度、緯度和方位角計(jì)算結(jié)果.統(tǒng)計(jì)結(jié)果顯示:算法的定位誤差為(Δλ,Δφ)=(12.101 3″, 16.241 8″),航向誤差為Δψ=9.353 7″.
圖9 位置與航向計(jì)算結(jié)果Fig.9 The results of position and orientation
實(shí)驗(yàn)結(jié)果表明,本文的算法能夠利用外場實(shí)驗(yàn)拍攝的星圖計(jì)算出較準(zhǔn)確的位置與航向信息.
本文根據(jù)星光定向儀工作原理給出了基于紅外探測的船載白晝恒星探測技術(shù)方案.該技術(shù)實(shí)時修正了蒙氣差項(xiàng),使用自動梯度調(diào)整算法增強(qiáng)背景的適應(yīng)性.針對紅外探測特有的幀間噪聲波動大、偽星點(diǎn)及壞像素多等問題,使用濾波算法降低了幀間噪聲影響,使用多幀偽星點(diǎn)剔除算法有效剔除了偽星點(diǎn),并建立了壞像素列表.實(shí)地外場實(shí)驗(yàn)驗(yàn)證了天文導(dǎo)航算法有效性和精度,表明算法能從拍攝的紅外星圖中提取星點(diǎn)信息,并解算出載體地理位置和航向角,有較高精度,已具備一定的理論和實(shí)際應(yīng)用價值.