葛仁磊
(海洋石油工程股份有限公司,山東 青島 266520)
在工程測(cè)量中經(jīng)常需要進(jìn)行坐標(biāo)轉(zhuǎn)換,以達(dá)到測(cè)量數(shù)據(jù)與設(shè)計(jì)數(shù)據(jù)最佳匹配。與傳統(tǒng)的大地測(cè)量中的坐標(biāo)轉(zhuǎn)換相比,工程測(cè)量中的坐標(biāo)轉(zhuǎn)換主要有兩點(diǎn)不同:① 工程測(cè)量坐標(biāo)轉(zhuǎn)換中經(jīng)常需要進(jìn)行大角度的坐標(biāo)轉(zhuǎn)換;② 工程測(cè)量坐標(biāo)轉(zhuǎn)換中一般不需要進(jìn)行尺度變換。
由于存在以上特征,傳統(tǒng)大地測(cè)量坐標(biāo)系變換的方法不完全適用于工程測(cè)量數(shù)據(jù)處理。目前常用的工程測(cè)量的坐標(biāo)系變換方法主要參考了剛體的旋轉(zhuǎn)方法,常見的有四元數(shù)法、歐拉角法、奇異值分解法等[1]。但這些方法都為非線性模型;非線性模型的處理方法一般為將其線性化,然后反復(fù)迭代,直至達(dá)到目標(biāo)精度。這些方法都要經(jīng)過大量運(yùn)算,而且有時(shí)初始值的選擇會(huì)影響迭代的收斂性,給計(jì)算造成了很大的不便。如果能夠找到一種線性的三維坐標(biāo)轉(zhuǎn)換方法,就能大大降低工程測(cè)量數(shù)據(jù)處理的復(fù)雜度。下面就以羅德里格矩陣為基礎(chǔ),推導(dǎo)出一種線性的三維坐標(biāo)轉(zhuǎn)換方法。
三維坐標(biāo)轉(zhuǎn)換用以下公式表示:
(1)
在工程測(cè)量坐標(biāo)轉(zhuǎn)換中,尺度參數(shù)一般為1或已知的常數(shù)。如在對(duì)鋼材進(jìn)行測(cè)量時(shí),如果考慮熱脹冷縮,則需要根據(jù)測(cè)量溫度、設(shè)計(jì)溫度及鋼材的線性膨脹系數(shù)來計(jì)算尺度參數(shù)γ[2]。當(dāng)然,也可以在坐標(biāo)轉(zhuǎn)換開始前使用以下公式對(duì)尺度參數(shù)的估計(jì)[3]。
(2)
也就是說,在大多數(shù)工程測(cè)量應(yīng)用中,γ為已知的常數(shù)。根據(jù)羅德里格矩陣,式(1)中的R可以表示為[4-5]:
R=(I+S)(I-S)-1
(3)
式中,I為單位矩陣,S為反對(duì)稱矩陣,可以表示為:
(4)
上式中的S被稱羅德里格矩陣,其中的參數(shù)a、b、c都有明顯的幾何意義,具體可以參照引文[4],這里不做詳細(xì)推導(dǎo)。將式(3)、(4)代入到(1)式中,并在等式兩邊同時(shí)乘以(I-S)可得:
(5)
(6)
將式(6)代入式(5)中可得線性方程:
(7)
V=AX-L
(8)
不難看出,該誤差方程為線性方程。根據(jù)條件平差方法[6],可得未知參數(shù)X的最小二乘估計(jì)為:
X=(ATPA)-1ATPL
(9)
式中,P為觀測(cè)值的權(quán)矩陣。在工業(yè)測(cè)量中,如果使用同一臺(tái)設(shè)備進(jìn)行所有觀測(cè),P一般取單位矩陣。
中誤差的估值為:
(10)
未知量X的協(xié)方差矩陣為:
(11)
得到X的最小二乘估計(jì)后,根據(jù)式(3),(4)可以計(jì)算出旋轉(zhuǎn)矩陣R。將式(6)進(jìn)行變換可得:
(12)
將[mnp]T代入式(12)就可以得到平移參數(shù)。
下圖為某液化天然氣工廠項(xiàng)目的一個(gè)6立柱模塊圖紙的一部分。圖紙(圖1)中標(biāo)記出了這個(gè)模塊的左下角在當(dāng)?shù)刈鴺?biāo)系中的坐標(biāo)。將各個(gè)節(jié)點(diǎn)坐標(biāo)整理如表1所示。
表1 模塊設(shè)計(jì)坐標(biāo)
圖1 某液化天然氣工廠項(xiàng)目圖紙
建造過程中,測(cè)量團(tuán)隊(duì)在該模塊周圍建立了一個(gè)8個(gè)點(diǎn)的控制網(wǎng),并測(cè)量該模塊6個(gè)立柱的位置。具體測(cè)量數(shù)據(jù)如表2所示。
表2 模塊節(jié)點(diǎn)及控制網(wǎng)的坐標(biāo)
在圖紙上,該模塊上所有的結(jié)構(gòu)、管線、設(shè)備的位置都是使用設(shè)計(jì)坐標(biāo)進(jìn)行表示的,所以將控制網(wǎng)的坐標(biāo)轉(zhuǎn)化到設(shè)計(jì)坐標(biāo)系中十分必要。使用上文所提供的算法對(duì)測(cè)量數(shù)據(jù)進(jìn)行了坐標(biāo)系轉(zhuǎn)換,計(jì)算結(jié)果如表3所示。
表3 參數(shù)計(jì)算結(jié)果
坐標(biāo)轉(zhuǎn)換后的測(cè)量點(diǎn)坐標(biāo)及其與設(shè)計(jì)坐標(biāo)的差值如表4所示。
表4 變換后坐標(biāo)及與設(shè)計(jì)坐標(biāo)差值
為了使精度比較更具可行性,本文使用相關(guān)教材[6]中的算例與精度比較方法,使用本文中算法進(jìn)行比較計(jì)算,5點(diǎn)坐標(biāo)(15個(gè)坐標(biāo)分量)殘差結(jié)果比較如圖2所示。
圖2 三維坐標(biāo)轉(zhuǎn)換偏差比較圖注:楊凡等[1]的3種方法為四元組法、SVD法和迭代法,精度高度一致,曲線基本重合。
另外,評(píng)價(jià)坐標(biāo)轉(zhuǎn)換精度常用指標(biāo)除了楊凡等[1]使用的坐標(biāo)分量的殘差外,還有點(diǎn)位中誤差[7],點(diǎn)位中誤差相比于坐標(biāo)分量的殘差更能體現(xiàn)坐標(biāo)系變換的綜合效果。圖3為點(diǎn)位中誤差的比較圖。
圖3 點(diǎn)位中誤差的比較圖
通過上面的比較可以看出,在參與計(jì)算的5個(gè)點(diǎn)中,使用本文提供的方法計(jì)算的點(diǎn)位中誤差多數(shù)小于楊凡等[1]的方法所計(jì)算的點(diǎn)位中誤差。通過對(duì)所有偏差及點(diǎn)位中誤差兩個(gè)指標(biāo)進(jìn)行比較可知,整體而言,在此計(jì)算案例中本文所述的線性方法的精度更高。
雖然通過數(shù)據(jù)比較無法得出一般性結(jié)論,但由以上數(shù)據(jù)不難看出,線性法在一般情況下精度不弱于其他方法。出現(xiàn)這種情況的原因是引文中的非線性算法都是通過迭代逼近真實(shí)值。在迭代過程中,為了減少計(jì)算量,只要達(dá)到工程需要的精度后就會(huì)停止迭代;而線性法則直接通過最小二乘法得出了更加精確的解,不存在迭代求解方法中的舍去誤差。
本文通過使用羅德里格矩陣對(duì)旋轉(zhuǎn)方程進(jìn)行描述,并進(jìn)一步引入新的變量對(duì)旋轉(zhuǎn)方程進(jìn)行二次簡化,推導(dǎo)出了三維坐標(biāo)轉(zhuǎn)換這個(gè)非線性問題的線性化解法。
顯而易見的是,本方法與傳統(tǒng)的三維坐標(biāo)轉(zhuǎn)換方法相比,具有運(yùn)算速度快、無須進(jìn)行初始值估算等優(yōu)點(diǎn)。本文提供的這種快速有效的三維坐標(biāo)轉(zhuǎn)換方法,更加適用于在工程測(cè)量中應(yīng)用;而且通過與其他方法進(jìn)行精度比較,可知本方法在一般情況下精度優(yōu)于傳統(tǒng)方法。
當(dāng)然,此方法存在部分參數(shù)幾何意義不明確的缺點(diǎn)。此方法中羅德里格矩陣的幾何意義明確[2],但后引入的參數(shù)[mnp]T幾何意義不明確,所以此方法目前暫時(shí)無法用于理論研究;但該方法用于工程中非常有效,實(shí)現(xiàn)了方便、高速、高精度三維坐標(biāo)轉(zhuǎn)換。