国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于唯一性編碼的直升機著降定位技術(shù)

2021-03-29 07:45楊延西
西安理工大學學報 2021年4期
關(guān)鍵詞:位姿坐標系標志

劉 偉, 楊延西

(西安理工大學 自動化與信息工程學院, 陜西 西安 710048)

艦載直升機的研制和使用可以追溯到20世紀60年代,隨著信息、新材料、航空推進等高新技術(shù)的進一步發(fā)展,艦載直升機呈現(xiàn)加速發(fā)展的趨勢,功能將多樣化。在民用方面,無人直升機在大氣監(jiān)測、交通監(jiān)控、資源勘探、電力線路檢測、森林防火、物流運輸?shù)确矫婢哂袕V泛的應用前景。

直升機著降過程是事故高發(fā)階段,尤其是當著降平臺是移動平臺的情況下。對于艦載機,由于海浪影響,船體有橫搖、縱搖、起伏和平移等運動,對于車載無人機,在汽車運行過程中降落會受到車體顛簸的影響,且都會受到橫風的影響,從而導致著降失敗。因此在著降的最后階段,需要對直升機與著降平面之間實時精確定位。

衛(wèi)星引導尤其是差分GPS技術(shù)[1],具有成本低、精度高,使用簡單、全天候的優(yōu)點,被用于著陸著艦。但由于GPS信號容易受到干擾,在軍事領域有安全隱患,且GPS直接給出的是絕對位置,而不是相對位姿。儀表著陸系統(tǒng)和雷達引導著陸系統(tǒng)發(fā)展較早,且已經(jīng)比較成熟,主要針對固定翼飛機著陸。光電引導系統(tǒng)不受電磁干擾,可在無線電靜默時工作,光電引導方式有激光、紅外、電視和紫外引導方式[2]。目前視覺技術(shù)已經(jīng)廣泛應用于生產(chǎn)生活的各個方面,視覺傳感器成本低、輕便、功耗低、測量精度高,且不受電磁干擾。國內(nèi)外很多研究機構(gòu)和學者采用視覺引導技術(shù),并設計了各種不同形狀的著降標志[3]。早在1992年,Salt[4]提出ASIST系統(tǒng),在直升機上安裝合作標志點,用相機從第三方位置觀測,從而計算直升機的位姿。該系統(tǒng)已經(jīng)應用于軍事領域。這種方法需要第三方相機,因此占用空間較大。周城宇等[5]用四個紅外燈作為著降標志,并在機載攝像頭上加裝窄帶濾光鏡,能夠提高定位標識的識別可靠性。齊詠生,張偉和吳鵬飛等[6-8]采用機載攝像頭拍攝“H”標志來確定自身位姿。孫建新等[9]采用“F”形著陸定位標志來消除著降標志的對稱性。吳益超等[10]設計了圓形帶方向的著降標志圖案,用于直升機著艦定位。徐滔宏等[11]采用黑色塊作為著降標志,并采用OpenMV作為視覺計算平臺。張咪等[12]采用二維編碼嵌套的方式,能夠?qū)崿F(xiàn)在較大尺度變化下的精確定位。其多泊位停機坪可以為無人機提供多個定位標識,使無人機在停機坪的多個位置都可以實現(xiàn)精確定位。

Vidal等[13]采用圓形著降標志引導四旋翼直升機著陸。Marut和Wang等[14-15]設計黑白格圖案作為著降標志。Grobler等[16]采用不同尺寸黑白圖嵌套作為定位標志來應對尺度變化。Nguyen等[17]在移動小車上放置多個黑白格圖案作為著降標志。當距離較遠圖像不清晰時,Truong等[18]采用深度學習算法進行定位標志識別。Kim等[19]設計了一種半稠密優(yōu)化方法來優(yōu)化位姿參數(shù),來應對圖像模糊造成位姿估計誤差問題。

直升機著陸的最后階段,由于陸地是固定的,因此通常是垂直降落下來,而不需要實時精確定位。但對于移動平臺著降,或者在具有很強橫風影響的情況下,需要能實時精確獲取無人直升機的位置和姿態(tài),而不能直接降落下來。上述定位方法中,采用合作標志,在距離較近時,容易看不全標志而導致定位失敗,從而不得不復飛。張咪和Nguyen等[12,17]的多停機坪圖案能夠提供多個著降點,可以在一塊區(qū)域放置多個互不相同的著降標志,從而實現(xiàn)偏離以后的定位,但在水平方向定位并不連續(xù)。在無人機上放置合作標志[4]的方法,用第三方相機進行定位,則可以連續(xù)獲取無人機的位姿,但用第三方相機需要占用較大空間。

為解決上述問題,本文設計了一種基于唯一性編碼的定位標識,并針對該標識提出一種快速識別和定位算法,能夠?qū)崟r連續(xù)給出無人機位姿。與現(xiàn)有視覺定位系統(tǒng)相比,本文方法能夠在無人機著降的最后階段,在整個著降標志范圍內(nèi)連續(xù)給出無人機的位姿,有效防止由于飛行高度過低及偏離著降中心,導致無法看到完整的著降標志,進而導致無法定位的情況,從而有效降低著降失敗復飛風險。

1 總體框架

系統(tǒng)總體流程見圖1。首先通過機載攝像頭垂直向下拍攝圖像,并結(jié)合飛行高度檢測著降標志,即著降標志在圖像中的像素大小由飛行高度決定。如果檢測到完整的標志,則直接根據(jù)著降標志四個角點在著降平面上的位置來解算相機的位姿。如果無法檢測到完整的標志,并且飛行高度較低,則對圖像進行邊緣提取,直線提取等算法來提取編碼區(qū)域,并提取編碼區(qū)域?qū)南袼鼗叶戎?,然后根?jù)像素灰度值提取該區(qū)域?qū)木幋a。將提取的編碼與著降標志設計的編碼進行對照,找出該編碼在整個著降圖案中的位置,就得到著降編碼的四個角點在整個著降平面上的位置。然后用PnP算法解算相機位置和姿態(tài)。該著降標志的整體和局部都能提供著降定位信息,并且其中的黑白方塊每移動一格,就組成一個全新編碼,因此能夠?qū)o人機進行連續(xù)定位。

圖1 系統(tǒng)工作流程圖Fig.1 System work flow chart

2 著降標志設計

用于直升機著降的相機,其視場角不能設計過大,否則有效作用距離太近。由于降落過程中,視場尺度變化很大,當距離較近時,視場范圍很小。對于移動平臺著降系統(tǒng),由于受到運動擾動、橫風等因素的影響,著降的最后階段,很容易偏離預定著降軌跡,從而丟失定位,不得不復飛。要解決上述問題,就需要在著降的最后階段,在較大范圍內(nèi)實現(xiàn)無人機實時定位。如果不采用機載合作標志第三方觀測的方式,就需要設計新的合作標志。本文基于全局唯一性編碼[20]設計了新的著降標志,唯一性編碼計算方法如下所述。

取正方形矩陣,尺寸為b2,矩陣中每個元素取值為y(0

(1)

則其對應的Y進制數(shù)的十進制值為:

(2)

全局唯一性編碼圖隨機生長步驟為如下。

1) 隨機生成b×b二維矩陣,元素取值[0,Y]。

2) 對前b行,向右生長一列,與前b-1列組成新的b2大小的二維矩陣,取值可能性有Yb個,遍歷所有可能取值,隨機選擇一組數(shù)值,使其B值是未使用過的。從b+1行開始,向右下角生長一個元素,與前b-1行及前b-1列組成新的b2大小的二維矩陣,取值可能性有Y個,遍歷所有可能取值,隨機選擇一個數(shù)值,使得B值是未使用過的。

3) 對前b列,向下生長一行,與前b-1行組成新的b2大小的二維矩陣,取值可能性有Yb個,遍歷所有可能取值,隨機選擇一組數(shù)值,使其B值是未使用過的。從b+1列開始,向右下角生長一個元素,與前b-1行及前b-1列組成新的b2大小的二維矩陣,取值可能性有Y個,遍歷所有可能取值,隨機選擇一個數(shù)值,使得B值是未使用過的。

4) 向中間生長一個元素,與前b-1行及前b-1列組成新的b2大小的二維矩陣,取值可能性有Y個,遍歷所有可能取值,隨機選擇一個數(shù)值,使其B的值是未使用過的。

5) 回到第2步,循環(huán)執(zhí)行2-3-4步,直到無法找到未使用過的B值。

6) 重復執(zhí)行1~5步,直到生成所要求的矩陣。

取b=5,Y=2,所得二維編碼圖案見圖2。

圖2 40×40黑白二維碼,其中任意5×5的二維碼取值全局唯一,總共有1 296個不同的編碼Fig.2 Of the 40 × 40 black and white two-dimensional codes, any 5 × 5 two-dimensional codes are globally unique, and there are 1 296 different codes in total

3 無人機著降定位算法

首先根據(jù)飛機的GPS位置確定飛機是否到達指定著降區(qū)域,如果到達著降區(qū)域,就啟動視覺相對定位算法。當無人機飛行高度較高,能夠觀測到完整的著降標志時,只需檢測整個著降標志即可完成定位,與本文前言中提到的視覺定位方法類似。而當飛行高度較低,無法觀測到完整的著降標志時,就需要通過檢測本文設計的全局唯一性編碼圖案中的編碼來實現(xiàn)相對定位,具體過程如下所述。

3.1 邊緣直線檢測

首先采用Canny算子對圖像進行邊緣檢測,然后對檢出的邊緣進行膨脹處理,對膨脹后的邊緣進行Hough變換,獲取直線段。對于間距和夾角小于一定閾值的直線進行合并,用其坐標均值作為新的合并后的直線。對于合并后的直線,根據(jù)其斜率將其劃分為縱向和橫向兩組直線。如果同組直線相交,則將相交直線中與旁邊直線斜率差異較大的直線去掉。如果同組直線不相交,但相鄰直線間距遠小于其他直線間距時,去掉與其他直線間距差異較大的直線。如果相鄰直線間距是其他直線間距的倍數(shù),則在該相鄰直線間等間距加入新的直線。

3.2 提取圖像編碼

如果一組直線有奇數(shù)條,則選取中間直線,如果有偶數(shù)條,則選取中間兩條直線。提取橫向和縱向直線中間的一條或兩條直線的交點,計算這些交點的幾何中心點,并以該點為中心,上下左右各取三根直線作為編碼選擇區(qū)域。如果該中心點在線上,則在其一側(cè)少取一根直線。計算最外層四條直線四個交點的圖像坐標pt4,并計算這六條線內(nèi)5×5個格子的中心點坐標,及其對應圖像的灰度值。根據(jù)這5×5個格子的圖像灰度值,計算其編碼B值。

3.3 獲取坐標

根據(jù)編碼B值及圖2所示的編碼圖確定pt4在著降標志上的坐標,并根據(jù)著降標志的世界坐標得到該編碼四個交點的世界坐標pt4w。

3.4 位姿解算

利用四個交點在圖像中的坐標pt4及其在世界坐標系下的坐標pt4w,計算相機在世界坐標系下的位姿,見圖3。該問題是PnP問題,在世界坐標系下平面四點位置已知,在圖像坐標系下對應的四點位置也已知,就可以解算出相機的位姿[21]。由于相機和無人機固連,即可得出無人機在世界坐標系下的位姿。

圖3 PnP算法位姿計算示意圖Fig.3 PnP algorithm pose calculation diagram

4 實驗測試

試驗所采用的無人機為普通四旋翼,見圖4(a),圖4(b)為無人機著降過程中懸停于著降標志上方。圖5為四旋翼著降過程中拍攝的圖像采樣,圖像分辨率為1 080 P。

圖4 無人機及著降過程Fig.4 UAV and the landing process.

圖5 無人機著降過程中拍攝的圖像采樣Fig.5 Image sampling during UAV landing

著降標志為圖2所示的二維碼,將該編碼打印成80 cm×80 cm的圖案,其中每個黑白塊大小為2 cm×2 cm。將其平放在地上,并建立世界坐標系,無人機以該二維碼為著陸標志,垂直向下拍攝圖像,通過視覺算法進行相對定位,從而引導無人機著陸。

實驗所用相機在180 cm高度可以恰好看見整個二維碼,22 cm時恰好可以看見一個5×5的方塊。因此,當飛行高度高于180 cm且可以看到完整圖案時,就可以采用整幅圖作為著降定位圖案。而當飛行高度低于22 cm時,由于無法看到最小編碼圖案,將無法定位。而當飛行高度在22~180 cm之間時,在80 cm×80 cm范圍內(nèi),就可以依賴局部編碼實現(xiàn)精確定位。當飛行高度高于180 cm時,如果由于偏離中心而無法看全整個圖案,也可以通過觀察到的著降標志的局部進行定位。

編碼提取過程見圖6,首先采用Canny對無人機觀測到的圖像進行邊緣提取,見圖6(a)。然后對邊緣進行膨脹處理,并進行Hough變換,得到由邊緣組成的直線段,見圖6(b)。再對Hough變換生成的線段進行合并,并提取中間直線圍成的5×5的黑白格,提取這些黑白格中心的灰度值作為編碼,見圖6(c),圖中紅線是該編碼塊外圍直線,小圈是各黑白格的中心點。根據(jù)該編碼值就可以確定該編碼在世界坐標系下的位置。最后采用PnP算法,根據(jù)編碼區(qū)四個角點的圖像位置和在世界坐標系下的位置,解算出相機在世界坐標系下的位姿。

圖6 編碼提取過程Fig.6 Code extraction process

圖7為著降過程中位置編碼檢測識別的圖像采樣,隨著距離的靠近,黑白格逐漸變大,當距離小于22 cm時,將無法獲取5×5個黑白格,定位結(jié)束。無人直升機著降過程位姿采樣見圖8和圖9。該圖為無人機從120 cm降落到22 cm過程的位姿采樣。在X-Y平面上的彩色圓點表示選取的編碼塊的四個角點。上面標有數(shù)字的椎體符號表示無人機在著降過程中的位置和姿態(tài)。數(shù)字表示相機的位姿順序,數(shù)字不連續(xù)表示該幀圖像未能計算出相機位姿。主要原因是實驗用的無人機拍攝效果較差,拍攝圖像因為無人機大幅抖動或快速移動,圖像發(fā)生嚴重模糊。

圖7 位置編碼檢測與識別Fig.7 Location coding detection and recognition

圖8 無人機著降過程位姿采樣Fig.8 Pose sampling of UAV landing process

圖9 無人機著降過程位置變化曲線Fig.9 Position change curve of UAV during landing

本實驗中由于實驗條件受限,無法實時獲取無人機的真實位姿,但最終著降位置的計算值和實際值誤差在5 mm以下。在整個著降過程中,引起定位誤差的因素包括如下三點。

1) 圖像模糊造成邊緣不精確,從而導致直線交點位置偏差。應對該問題可以采用全局快門攝像頭,并增加減震。

2) 相機分辨率及畸變引起的誤差,該誤差通常較小。

3) 相機坐標系與無人直升機機體坐標系之間的轉(zhuǎn)換誤差,坐標轉(zhuǎn)換通過安裝標定計算得到。

5 結(jié) 論

本文針對當著降平臺發(fā)生移動或無人直升機受橫風干擾,導致直升機著降定位失敗的問題,設計了一種基于唯一性編碼技術(shù)生成的二維碼圖案作為著降標志,該標志既可以整體作為著降標志,同時其內(nèi)部任意相鄰的5×5的黑白方塊組成的圖案也可以單獨作為著降標志。

基于該標志給出了快速識別和定位算法,從而實現(xiàn)在著降標志范圍內(nèi)對無人機進行連續(xù)定位,降低因距離太近或太偏而無法觀測到著降標志,從而定位失敗,進而導致著降失敗的風險。

試驗結(jié)果表明,相機只要能夠觀測到著降圖案的任意5×5個小方格,就能夠精確定位,并使最終著降位置誤差小于1 cm。

猜你喜歡
位姿坐標系標志
多功能標志桿的使用
獨立坐標系橢球變換與坐標換算
極坐標系中的奇妙曲線
基于PLC的六自由度焊接機器人手臂設計與應用
基于位置依賴的密集融合的6D位姿估計方法
曲柄搖桿機構(gòu)的動力學仿真
首都的標志是只熊
三角函數(shù)的坐標系模型
求坐標系內(nèi)三角形的面積
為什么奧林匹克以五環(huán)為標志?
班戈县| 泾阳县| 社会| 宜兰市| 兴义市| 武宁县| 轮台县| 临清市| 科尔| 舞钢市| 德江县| 体育| 五寨县| 阿拉善右旗| 湟源县| 高阳县| 如东县| 广昌县| 石台县| 松溪县| 寻乌县| 卢湾区| 永吉县| 调兵山市| 吕梁市| 宜州市| 偃师市| 通榆县| 万盛区| 铜陵市| 安康市| 十堰市| 边坝县| 莱西市| 东乌| 哈巴河县| 阳江市| 金昌市| 凭祥市| 文登市| 烟台市|