周武根,李 運(yùn),彭曉東
(1.中國(guó)科學(xué)院國(guó)家空間科學(xué)中心,北京 100190;2.中國(guó)科學(xué)院大學(xué),北京 100049)
近年來(lái),基于無(wú)人機(jī)導(dǎo)航的相關(guān)應(yīng)用研究得到越來(lái)越多的學(xué)者和公司的關(guān)注,無(wú)人機(jī)作為空中機(jī)器人,掛載光學(xué)攝像頭、激光雷達(dá)、IMU、聲納、紅外攝像機(jī)等傳感器,通過(guò)GPS定位并結(jié)合相應(yīng)的智能處理算法,可以廣泛地應(yīng)用在地面測(cè)繪、農(nóng)業(yè)植保、森林防火、災(zāi)難救援等領(lǐng)域。
但是,這些任務(wù)的復(fù)雜性對(duì)無(wú)人機(jī)本身的算法要求越來(lái)越高,尤其是無(wú)人機(jī)在室內(nèi)等無(wú)GPS信號(hào)場(chǎng)景的應(yīng)用[1-2],魯棒的定位算法極為重要?,F(xiàn)有的無(wú)人機(jī)室內(nèi)自主飛行的定位算法主要基于激光雷達(dá)、IMU、相機(jī)這三種傳感器及其相互之間的數(shù)據(jù)融合[3-5]。其中,激光雷達(dá)由于其體積笨重通常不太適用于輕量型的無(wú)人機(jī)室內(nèi)飛行,而視覺(jué)除了可以提供定位信息外,還可以集成識(shí)別、目標(biāo)跟蹤、場(chǎng)景理解等技術(shù),從而發(fā)展成更加智能的飛行無(wú)人機(jī)。所以,基于視覺(jué)及IMU的無(wú)人機(jī)自主飛行逐漸成為主流,引起廣泛的關(guān)注與研究[6-7]。
即時(shí)定位與地圖構(gòu)建(Simultaneous Localiza-tion and Mapping, SLAM)算法[8]作為機(jī)器人領(lǐng)域重要的自主定位與地圖構(gòu)建算法,尤其是基于計(jì)算機(jī)視覺(jué)的SLAM技術(shù),對(duì)無(wú)人機(jī)室內(nèi)導(dǎo)航是一個(gè)極大的補(bǔ)充,兩者的結(jié)合能夠極大地拓展無(wú)人機(jī)的應(yīng)用前景[9-10]。最具有代表性的是基于特征點(diǎn)法的ORB-SLAM[11],基于直接法的LSD-SLAM[12],由于這兩種算法的復(fù)雜性,使得其在移動(dòng)機(jī)載端的嵌入式系統(tǒng)上難以實(shí)時(shí)運(yùn)行;基于特征點(diǎn)法與直接法相結(jié)合的視覺(jué)里程計(jì)SVO[13],就是基于無(wú)人機(jī)平臺(tái)開(kāi)發(fā)的,但是難以適應(yīng)復(fù)雜的壞境,并且容易出現(xiàn)丟幀。
在火力發(fā)電廠需要探測(cè)煤場(chǎng)的煤儲(chǔ)量,由于體積常在幾千甚至上萬(wàn)立方米左右,并且儲(chǔ)量是動(dòng)態(tài)的增減,常規(guī)稱(chēng)重等方法已經(jīng)不適用。傳統(tǒng)的盤(pán)點(diǎn)煤儲(chǔ)量?jī)x器是站在某一固定點(diǎn)打出激光,然后通過(guò)對(duì)多個(gè)已知位置的激光點(diǎn)云合成拼接出整個(gè)煤場(chǎng)的煤堆模型,從而估算出煤堆的體積。該方法在室內(nèi)應(yīng)用時(shí)由于高度的限制,容易存在探測(cè)盲區(qū),影響重建精度。
無(wú)人機(jī)由于其靈活、智能化等特點(diǎn),已經(jīng)廣泛地應(yīng)用于地面測(cè)繪、地圖構(gòu)建等領(lǐng)域[14],結(jié)合相應(yīng)的路徑規(guī)劃算法可以實(shí)現(xiàn)無(wú)盲區(qū)的煤堆地圖構(gòu)建。因此,提出利用無(wú)人機(jī)結(jié)合視覺(jué)里程計(jì)進(jìn)行室內(nèi)定位,實(shí)現(xiàn)棚內(nèi)煤場(chǎng)的煤堆地圖構(gòu)建與儲(chǔ)量估計(jì)。
在沒(méi)有GPS信號(hào)的環(huán)境下,通常的無(wú)人機(jī)自主飛行系統(tǒng)包括飛行平臺(tái)、各種功能的傳感器、板載處理器、軟件算法、地面站控制終端等,各個(gè)模塊之間相互協(xié)作[6,15],共同完成無(wú)人機(jī)自主飛行任務(wù),如圖1所示。
傳感器感知周?chē)h(huán)境,將原始感知信號(hào)傳入機(jī)載端電腦進(jìn)行處理,在無(wú)GPS或弱GPS環(huán)境下,無(wú)人機(jī)的自主飛行分為以下2個(gè)步驟:1)通過(guò)融合IMU、超聲波、相機(jī)等的一種或多種傳感器信息,獲得魯棒的定位信息;2)依據(jù)該定位信息,對(duì)無(wú)人機(jī)進(jìn)行路徑規(guī)劃,最后,輸出相應(yīng)的控制命令控制無(wú)人機(jī)自主飛行。
受限于現(xiàn)有的無(wú)人機(jī)板載電腦計(jì)算能力,SLAM算法中的一些模塊如回環(huán)檢測(cè)、集束調(diào)整、稠密地圖構(gòu)建等,一般考慮在地面終端進(jìn)行,無(wú)人機(jī)通過(guò)與地面端數(shù)據(jù)通信來(lái)校正當(dāng)前定位信息,并且在地面終端的后期處理可以提升三維重構(gòu)精度。
由于SLAM或視覺(jué)里程計(jì)等算法很難滿(mǎn)足所有的室內(nèi)場(chǎng)景,不同場(chǎng)景適用的SLAM在結(jié)構(gòu)及算法細(xì)節(jié)上可能千差萬(wàn)別。因此,針對(duì)不同的場(chǎng)景特點(diǎn),需要選擇合適的傳感器及飛行平臺(tái),設(shè)計(jì)相應(yīng)的定位算法。
針對(duì)無(wú)人機(jī)自主飛行進(jìn)行棚內(nèi)煤場(chǎng)盤(pán)煤的任務(wù),如圖2所示。首先,需要對(duì)棚內(nèi)煤場(chǎng)的場(chǎng)景及其空間結(jié)構(gòu)有大致的了解,圖3所示為棚內(nèi)煤場(chǎng)實(shí)際圖。
總體而言,棚內(nèi)煤場(chǎng)有以下幾個(gè)特點(diǎn):1)鋼架結(jié)構(gòu)較多,磁場(chǎng)干擾較大,導(dǎo)致定位推算時(shí)無(wú)法使用磁力計(jì)數(shù)據(jù)進(jìn)行融合提高定位精度;2)棚內(nèi)周?chē)摷芙Y(jié)構(gòu)是靜態(tài)的,適合當(dāng)前主流的SLAM算法做定位計(jì)算;3)光線明暗程度不一致,但是沒(méi)有光線劇烈變化的場(chǎng)景,通過(guò)多個(gè)方向的視覺(jué)融合,可以降低光線明暗的影響,提升視覺(jué)定位精度;4)由于路徑規(guī)劃整個(gè)煤場(chǎng)只遍歷1遍,所以該任務(wù)無(wú)法進(jìn)行基于場(chǎng)景識(shí)別的回環(huán)檢測(cè),因此,視覺(jué)里程計(jì)會(huì)不可避免地帶來(lái)一定的累積誤差。
根據(jù)以上的場(chǎng)景分析,系統(tǒng)的無(wú)人機(jī)硬件平臺(tái)采用大疆M100型號(hào)可編程的無(wú)人機(jī),以及可開(kāi)發(fā)的Guidance作為感知周?chē)h(huán)境的傳感器設(shè)備,整體設(shè)計(jì)如圖4所示。
棚內(nèi)煤場(chǎng)場(chǎng)景通常具有磁干擾較大、光線明暗不一致、有障礙物等特點(diǎn),考慮以下幾點(diǎn):1)融合5個(gè)方向雙目視覺(jué)信息的視覺(jué)里程計(jì),各個(gè)方向計(jì)算結(jié)果能相互補(bǔ)充,避免了單個(gè)方向容易丟幀的現(xiàn)象,減少定位失敗的可能性;2)針對(duì)棚內(nèi)的障礙物,考慮獲取Guidance感知的4個(gè)方向障礙物信息,并在此基礎(chǔ)上設(shè)計(jì)相應(yīng)的避障規(guī)則,結(jié)合路徑規(guī)劃,設(shè)計(jì)出無(wú)人機(jī)飛行的避障航跡線路;3)由于對(duì)煤場(chǎng)煤堆重建質(zhì)量要求較高,在線地圖構(gòu)建遠(yuǎn)遠(yuǎn)達(dá)不到要求,因此,考慮將照片應(yīng)用運(yùn)動(dòng)推斷結(jié)構(gòu)方法進(jìn)行離線重構(gòu),獲得三維精確的煤堆模型。但是,該算法恢復(fù)的煤堆模型是沒(méi)有尺度的,需要結(jié)合前面的定位數(shù)據(jù)給出相應(yīng)的尺度信息,重建模型才可以用于后期的體積估計(jì)。
現(xiàn)有煤場(chǎng)的煤棚主要分為兩邊開(kāi)口的敞開(kāi)式煤棚,以及全封閉式煤棚兩種,對(duì)此分別進(jìn)行了2組實(shí)驗(yàn),以此來(lái)驗(yàn)證所提出的無(wú)人機(jī)自主飛行盤(pán)煤系統(tǒng)的可行性。
全封閉煤棚的特點(diǎn)是沒(méi)有GPS信號(hào),棚內(nèi)四周全是靜態(tài)的棚壁面及鋼架結(jié)構(gòu),并且沒(méi)有風(fēng)的影響,這樣的環(huán)境適合基于視覺(jué)的導(dǎo)航飛行。棚內(nèi)的煤堆長(zhǎng)度超過(guò)210m,由于視覺(jué)定位是基于初始方向下的無(wú)人機(jī)坐標(biāo)系,無(wú)人機(jī)長(zhǎng)距離飛行可能會(huì)出現(xiàn)與棚內(nèi)壁面相撞的情況。因此,避障規(guī)則設(shè)計(jì)成調(diào)整無(wú)人機(jī)的偏航角,如圖5中的左上角,無(wú)人機(jī)調(diào)整航向后避免了與棚壁面相撞。
由于視覺(jué)計(jì)算量較大,實(shí)際飛行速度不能太快,若飛行太快,視覺(jué)計(jì)算的定位結(jié)果不準(zhǔn)確,容易導(dǎo)致無(wú)人機(jī)漂移;運(yùn)動(dòng)推斷結(jié)構(gòu)算法需要相鄰2張照片之間有一定的重疊度,綜合飛行速度和高度,設(shè)定合適的拍照頻率,具體參數(shù)值如表1所示。
表1 實(shí)驗(yàn)參數(shù)設(shè)置
定位結(jié)果如圖5所示,右邊是起飛點(diǎn)與降落點(diǎn),往前飛行時(shí)由于偏航角未與現(xiàn)場(chǎng)坐標(biāo)系對(duì)準(zhǔn),容易出現(xiàn)偏移。在經(jīng)過(guò)避障功能調(diào)整之后,在往回飛行階段,可以看出飛行相對(duì)穩(wěn)定,定位偏差從圖中網(wǎng)格可以大約估計(jì)。煤堆三維重建結(jié)果如圖6所示,根據(jù)之前的視覺(jué)定位信息,可以確定該煤堆三維模型的空間尺度,根據(jù)該實(shí)驗(yàn)重建結(jié)果,利用后處理軟件對(duì)模型進(jìn)行體積估計(jì)。
定位結(jié)果與重建精度結(jié)果如表2所示,可以看到定位相對(duì)較好,估計(jì)的煤堆體積與真實(shí)的煤儲(chǔ)量也比較接近,驗(yàn)證了該方法在封閉煤棚內(nèi)定位與建圖的可行性與有效性。
表2 全封閉煤棚定位與地圖構(gòu)建結(jié)果
兩邊開(kāi)口式的煤棚下面的煤堆跨越棚內(nèi)外,所以,無(wú)人機(jī)的路徑規(guī)劃需要先從棚外起飛,才能夠遍歷完整個(gè)煤堆。在棚外起飛至20m以上高空時(shí),由于四周都是天空,容易導(dǎo)致圖像難以提取特征、視覺(jué)定位不準(zhǔn)。在該情況下,考慮棚外用GPS定位,棚內(nèi)外的交界處用Kalman濾波融合GPS定位信息及視覺(jué)里程計(jì)數(shù)據(jù)進(jìn)行定位,棚內(nèi)用純視覺(jué)定位,從棚內(nèi)飛出棚外時(shí)依賴(lài)GPS信息校正視覺(jué)定位的累積誤差,從而實(shí)現(xiàn)了棚內(nèi)外導(dǎo)航方式無(wú)縫切換。
實(shí)驗(yàn)結(jié)果如圖7(a)所示,從定位結(jié)果來(lái)看,反映出無(wú)人機(jī)長(zhǎng)距離飛行穩(wěn)定,特別是在棚內(nèi)外交界處沒(méi)有出現(xiàn)橫向偏移,路徑彎曲部分是避障和局部路徑規(guī)劃的結(jié)果。根據(jù)定位結(jié)果,由運(yùn)動(dòng)推斷結(jié)構(gòu)方法進(jìn)行離線重構(gòu),同樣可以獲得比較精確的煤堆三維模型,如圖7(b)、圖7(c)所示,煤堆三維重建的結(jié)果比較精細(xì),整體沒(méi)有出現(xiàn)彎曲等重構(gòu)的累積誤差,棚內(nèi)外交界處沒(méi)有不協(xié)調(diào),外觀和重構(gòu)細(xì)節(jié)均能夠較好地反映出煤堆的空間結(jié)構(gòu)。
實(shí)驗(yàn)結(jié)果如表3所示,由于存在GPS信息的校正,該敞開(kāi)式煤棚場(chǎng)景下的室內(nèi)段定位累積誤差能夠被消除一部分,所以精度比封閉式環(huán)境稍好一點(diǎn)。同樣,基于地圖構(gòu)建結(jié)果的煤堆體積估計(jì)與真實(shí)煤儲(chǔ)量較為接近,驗(yàn)證了所提出的無(wú)人機(jī)自主飛行系統(tǒng)在該種室內(nèi)外結(jié)合的敞開(kāi)式煤棚場(chǎng)景下盤(pán)煤的有效性和可行性。
表3 敞開(kāi)式煤棚定位與地圖構(gòu)建結(jié)果
針對(duì)室內(nèi)大型煤場(chǎng)的特定場(chǎng)景,設(shè)計(jì)了一個(gè)能夠適應(yīng)大型室內(nèi)自主飛行的無(wú)人機(jī)系統(tǒng),與現(xiàn)有的視覺(jué)無(wú)人機(jī)系統(tǒng)不同,該系統(tǒng)融合了5個(gè)方向的視覺(jué)信息進(jìn)行定位,實(shí)驗(yàn)結(jié)果也顯示出該系統(tǒng)在大型室內(nèi)場(chǎng)景下定位的魯棒性和低漂移,加上獲取的周?chē)系K物信息和局部路徑規(guī)劃能夠達(dá)到簡(jiǎn)單避障的效果,實(shí)現(xiàn)了無(wú)人機(jī)室內(nèi)自主飛行。通過(guò)運(yùn)動(dòng)推斷結(jié)構(gòu)算法構(gòu)建出的煤堆三維模型較為精確,煤堆體積估計(jì)與實(shí)際儲(chǔ)量比較接近。2個(gè)實(shí)際場(chǎng)地飛行的實(shí)驗(yàn)驗(yàn)證了該無(wú)人機(jī)系統(tǒng)在大型室內(nèi)煤場(chǎng)煤儲(chǔ)量估計(jì)方法的可行性和有效性。
根據(jù)實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),該系統(tǒng)依然存在不足之處,在今后的工作中,以下幾個(gè)方面仍需繼續(xù)改進(jìn):1)視覺(jué)定位算法仍然存在累積誤差的情況,如何降低該誤差是今后的工作重點(diǎn);2)路徑規(guī)劃及避障算法需要進(jìn)一步加強(qiáng),同時(shí)考慮避障和全地圖覆蓋兩方面的要求,提升復(fù)雜環(huán)境下的障礙物感知、避障及路徑規(guī)劃能力;3)無(wú)人機(jī)控制問(wèn)題,后期會(huì)考慮自適應(yīng)的PID控制,提高控制的精確性和穩(wěn)定性。