本發(fā)明涉及點(diǎn)云數(shù)據(jù)的處理,尤其涉及一種安全飛行包線的估算方法。
背景技術(shù):
飛行包線是以飛行速度、高度和過(guò)載等作為界限的封閉幾何圖形,用以表示飛機(jī)的飛行范圍和飛行限制條件。以定常水平直線飛行包線為例,在以速度為橫坐標(biāo)、高度為縱坐標(biāo)的二維象限內(nèi),標(biāo)出維持正常飛行的所有速度和高度,形成一個(gè)不規(guī)則的四邊形。左邊表示最小速度限制,右邊表示最大速度限制,上面表示飛行高度限制。
目前,飛機(jī)可以采用三維數(shù)據(jù)地圖進(jìn)行導(dǎo)航,周?chē)匦苇h(huán)境的三維數(shù)據(jù)被事先掃描形成點(diǎn)云數(shù)據(jù),并制作成三維數(shù)據(jù)地圖。飛機(jī)在飛行過(guò)程中,隨著周?chē)匦苇h(huán)境的高低起伏,需要實(shí)時(shí)計(jì)算安全飛行包線,從而為控制飛機(jī)速度和高度提供實(shí)時(shí)指導(dǎo)。
點(diǎn)云掃描是三維測(cè)量的一個(gè)重要分支,通過(guò)掃描能夠得到的實(shí)際物體和地形的海量3d信息。因此,點(diǎn)云數(shù)據(jù)的處理在地理信息、空間分析、環(huán)境分析等等方向具有及其重要的作用。
在點(diǎn)云數(shù)據(jù)的特征提取中,法矢量和曲率等幾何屬性是反映點(diǎn)云特性的重要參數(shù),法矢量和曲率的精度將會(huì)直接反映點(diǎn)云數(shù)據(jù)的精準(zhǔn)性。因此,如何有效地、準(zhǔn)確地計(jì)算出法矢量和曲率這些幾何參數(shù),是解決問(wèn)題的關(guān)鍵所在。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種安全飛行包線的估算方法,其能有效地、準(zhǔn)確地計(jì)算出法矢量。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:本發(fā)明提供了一種安全飛行包線的估算方法,其特征在于:包括以下步驟,
s1,獲取周?chē)匦苇h(huán)境模型的三維數(shù)據(jù)坐標(biāo),形成點(diǎn)云數(shù)據(jù),獲取飛行器位置坐標(biāo)、運(yùn)動(dòng)方向、速度以及安全飛行高度;
s2,估算點(diǎn)云數(shù)據(jù)的表面法矢量;
s3,根據(jù)步驟s2得到的點(diǎn)云數(shù)據(jù)的表面法矢量、飛行器位置坐標(biāo)、運(yùn)動(dòng)方向、速度以及安全飛行高度計(jì)算安全飛行包線。
在以上技術(shù)方案的基礎(chǔ)上,優(yōu)選的,所述步驟s2包括,
s2-1,讀入點(diǎn)云數(shù)據(jù),并獲取點(diǎn)云個(gè)數(shù)n;
s2-2,從點(diǎn)云數(shù)據(jù)集中任取一點(diǎn)pi;
s2-3,建立pi的k-鄰域;
s2-4,將這k+1個(gè)點(diǎn)用最小二乘法進(jìn)行曲面擬合,得到擬合曲面的切平面;
s2-5,將得到的曲面切平面的法矢量當(dāng)做點(diǎn)pi的法線,然后檢查法矢量方向的一致性,若指向視點(diǎn),則是一致的,將得到的法矢量
s2-6,遍歷點(diǎn)云數(shù)據(jù)集中的所有點(diǎn),重復(fù)上述步驟。
進(jìn)一步優(yōu)選的,所述步驟s2-4包括以下步驟,
對(duì)得到的n個(gè)點(diǎn)云數(shù)據(jù),pi是測(cè)量數(shù)據(jù)中的某一點(diǎn),為求得該點(diǎn)處的法線,先設(shè)平面方程為:
ax+by+cz+d=0(1)
式(1)中,a2+b2+c2=1,可以得到平面參數(shù)a,b,c,d,使得k個(gè)鄰近點(diǎn)到該平面的距離的平方和最小,獲得的擬合平面是最佳的,即滿足式(2):
其中,di是點(diǎn)云數(shù)據(jù)中的任一點(diǎn)pi(xi,yi,zi)到這個(gè)平面的距離di=|axi+byi+czi-d|
采用拉格朗日乘子法求解極值,得到式(3)
將式(3)兩邊對(duì)d求偏導(dǎo),并且令偏導(dǎo)數(shù)為零,得到:
令
di=|aδxi+bδyi+cδzi|(5)
再對(duì)式(3)兩邊求a,b,c的偏導(dǎo)數(shù),得:
將上述方程組構(gòu)成特征值方程得:
ax=λx(7)
式(7)中,
那么,求解平面參數(shù)a,b,c,就是求解矩陣的特征值和特征向量,又因?yàn)閍是3階實(shí)對(duì)稱矩陣,根據(jù)矩陣的知識(shí)可知,對(duì)于實(shí)對(duì)稱矩陣,特征值可利用式(7)求解,得:
在約束條件a2+b2+c2=1下,可得
更進(jìn)一步優(yōu)選的,所述步驟s2-5包括,
先判斷方向的一致性,如果知道實(shí)際視點(diǎn)vp,只需要所有的法矢量
如果不滿足式(9),即點(diǎn)pi法向量
再進(jìn)一步優(yōu)選的,所述步驟s2-5還包括,
若設(shè)測(cè)點(diǎn)pi,pj是曲面上距離很近的兩點(diǎn),則相應(yīng)法矢量的點(diǎn)積
本發(fā)明的安全飛行包線的估算方法相對(duì)于現(xiàn)有技術(shù)具有以下有益效果:
(1)通過(guò)使用最小二乘法進(jìn)行平面擬合的方式計(jì)算點(diǎn)云數(shù)據(jù)的法矢量,通過(guò)使用最值優(yōu)化的方法,改進(jìn)了局部最小二乘擬合法的計(jì)算復(fù)雜度,從而優(yōu)化了最小二乘擬合法的計(jì)算時(shí)間;
(2)通過(guò)查詢點(diǎn)云的k-鄰域,建立相應(yīng)的拓?fù)浣Y(jié)構(gòu),在拓?fù)浣Y(jié)構(gòu)的基礎(chǔ)上擬合出最小二乘法下的切平面,從而估算點(diǎn)云的表面法矢向量,該算法具有較高的精確度,能適用于對(duì)精度要求較高的應(yīng)用環(huán)境;
(3)采用本估算方法計(jì)算的安全飛行包線具有精度高、速度快的特點(diǎn),具備廣泛推廣應(yīng)用的前景。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施方式,對(duì)本發(fā)明技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本發(fā)明一部分實(shí)施方式,而不是全部的實(shí)施方式。基于本發(fā)明中的實(shí)施方式,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施方式,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的安全飛行包線的估算方法,包括以下步驟,
s1,獲取周?chē)匦苇h(huán)境模型的三維數(shù)據(jù)坐標(biāo),形成點(diǎn)云數(shù)據(jù),獲取飛行器位置坐標(biāo)、運(yùn)動(dòng)方向、速度以及安全飛行高度。
s2,估算點(diǎn)云數(shù)據(jù)的表面法矢量。具體的,包括,
s2-1,讀入點(diǎn)云數(shù)據(jù),并獲取點(diǎn)云個(gè)數(shù)n。
s2-2,從點(diǎn)云數(shù)據(jù)集中任取一點(diǎn)pi。
s2-3,建立pi的k-鄰域。在估計(jì)一個(gè)點(diǎn)云平面法線時(shí),應(yīng)該從該點(diǎn)周?chē)泥徲蜷_(kāi)始,尋找與該點(diǎn)相鄰最近的k個(gè)點(diǎn),也就是所說(shuō)的k-鄰域。通過(guò)把點(diǎn)與點(diǎn)之間的拓?fù)潢P(guān)系建立起來(lái),能有效地縮小數(shù)據(jù)處理范圍,提高算法效率。已知一個(gè)取樣點(diǎn)云數(shù)據(jù)點(diǎn)集pt,k的取值為多大,或者說(shuō)這個(gè)鄰域的半徑r為多大,值得思考。k的選值不能多大也不能過(guò)小,如果k過(guò)大時(shí),鄰域覆蓋范圍太廣,導(dǎo)致曲面擬合的計(jì)算量太大,在這個(gè)點(diǎn)的特征可能會(huì)出現(xiàn)扭曲失真;如果k過(guò)小時(shí),擬合出來(lái)的曲面不能足夠地反映該點(diǎn)的特征,降低特征的精度。
s2-4,將這k+1個(gè)點(diǎn)用最小二乘法進(jìn)行曲面擬合,得到擬合曲面的切平面。
對(duì)得到的n個(gè)點(diǎn)云數(shù)據(jù),pi是測(cè)量數(shù)據(jù)中的某一點(diǎn),為求得該點(diǎn)處的法線,先設(shè)平面方程為:
ax+by+cz+d=0(1)
式(1)中,a2+b2+c2=1,可以得到平面參數(shù)a,b,c,d,使得k個(gè)鄰近點(diǎn)到該平面的距離的平方和最小,獲得的擬合平面是最佳的,即滿足式(2):
其中,di是點(diǎn)云數(shù)據(jù)中的任一點(diǎn)pi(xi,yi,zi)到這個(gè)平面的距離di=|axi+byi+czi-d|
采用拉格朗日乘子法求解極值,得到式(3)
將式(3)兩邊對(duì)d求偏導(dǎo),并且令偏導(dǎo)數(shù)為零,得到:
令
di=|aδxi+bδyi+cδzi|(5)
再對(duì)式(3)兩邊求a,b,c的偏導(dǎo)數(shù),得:
將上述方程組構(gòu)成特征值方程得:
ax=λx(7)
式(7)中,
那么,求解平面參數(shù)a,b,c,就是求解矩陣的特征值和特征向量,又因?yàn)閍是3階實(shí)對(duì)稱矩陣,根據(jù)矩陣的知識(shí)可知,對(duì)于實(shí)對(duì)稱矩陣,特征值可利用式(7)求解,得:
在約束條件a2+b2+c2=1下,可得
s2-5,將得到的曲面切平面的法矢量當(dāng)做點(diǎn)pi的法線,然后檢查法矢量方向的一致性,若指向視點(diǎn),則是一致的,將得到的法矢量
采用上面方法計(jì)算直接得到的法向量的方向可能會(huì)出現(xiàn)不一致的問(wèn)題。為使方向保持一致性,應(yīng)該對(duì)法線的方向進(jìn)行調(diào)整。先判斷方向的一致性,如果知道實(shí)際視點(diǎn)vp,只需要所有的法矢量
如果不滿足式(9),即點(diǎn)pi法向量
若設(shè)測(cè)點(diǎn)pi,pj是曲面上距離很近的兩點(diǎn),則相應(yīng)法矢量的點(diǎn)積
s2-6,遍歷點(diǎn)云數(shù)據(jù)集中的所有點(diǎn),重復(fù)上述步驟。
s3,根據(jù)步驟s2得到的點(diǎn)云數(shù)據(jù)的表面法矢量、飛行器位置坐標(biāo)、運(yùn)動(dòng)方向、速度以及安全飛行高度計(jì)算安全飛行包線。
以上所述僅為本發(fā)明的較佳實(shí)施方式而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。