本發(fā)明涉及計算機視覺、圖像處理,具體為基于視覺slam的無人機自主定位導(dǎo)航系統(tǒng)及方法。
背景技術(shù):
1、在無人機自主定位導(dǎo)航領(lǐng)域,基于視覺slam(simultaneous?localization?andmapping,即同時定位與地圖構(gòu)建)的技術(shù)因其在復(fù)雜環(huán)境下的適應(yīng)性和高效性,已成為研究熱點。然而,現(xiàn)有技術(shù)仍面臨諸多挑戰(zhàn),尤其是在定位精度與誤差積累以及地圖維護與管理方面,這些問題嚴(yán)重制約了視覺slam技術(shù)的進(jìn)一步發(fā)展和應(yīng)用。
2、在定位精度與誤差積累方面,初始定位誤差是一個關(guān)鍵問題。無人機在啟動時的位置估計一旦不準(zhǔn)確,或者視覺slam系統(tǒng)的初始化過程存在誤差,這些偏差會在后續(xù)的定位過程中逐漸累積,導(dǎo)致定位結(jié)果越來越偏離真實位置。此外,長期誤差積累也不容忽視。即使初始定位準(zhǔn)確,隨著時間的推移和無人機的持續(xù)飛行,由于傳感器噪聲、計算舍入誤差等因素的影響,定位誤差也會不斷積累,使得地圖的精度逐漸降低,最終可能導(dǎo)致定位失敗或?qū)Ш藉e誤。
3、在地圖維護與管理方面,大規(guī)模地圖存儲與管理也是一個挑戰(zhàn)。在長時間的飛行任務(wù)中,無人機需要構(gòu)建大規(guī)模的環(huán)境地圖,這對地圖的存儲和管理提出了極高的要求。如果地圖數(shù)據(jù)過大,不僅會占用大量的存儲空間,還會影響數(shù)據(jù)的讀寫速度和系統(tǒng)的運行效率。此外,地圖更新不及時也是一個問題。當(dāng)環(huán)境發(fā)生變化時,如新增或移除了障礙物,視覺slam系統(tǒng)需要及時更新地圖。然而,如果地圖更新不及時,就會導(dǎo)致無人機在導(dǎo)航過程中出現(xiàn)碰撞風(fēng)險或無法找到正確的路徑。
4、因此,如何提高定位精度、抑制誤差積累以及優(yōu)化地圖存儲與更新機制,是當(dāng)前基于視覺slam的無人機自主定位導(dǎo)航系統(tǒng)及方法亟待解決的關(guān)鍵問題。
技術(shù)實現(xiàn)思路
1、(一)解決的技術(shù)問題
2、針對現(xiàn)有技術(shù)的不足,本發(fā)明提供了基于視覺slam的無人機自主定位導(dǎo)航系統(tǒng)及方法,具備高定位精度、無誤差積累以及地圖更新快的優(yōu)點,解決了現(xiàn)有技術(shù)中定位精度低和誤差積累多以及地圖維護與管理能力差的問題。
3、(二)技術(shù)方案
4、為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:基于視覺slam的無人機自主定位導(dǎo)航系統(tǒng),包括無人機導(dǎo)航數(shù)據(jù)獲取模塊、無人機導(dǎo)航數(shù)據(jù)計算模塊、無人機分析模塊、無人機判斷模塊和無人機執(zhí)行模塊;
5、所述無人機導(dǎo)航數(shù)據(jù)獲取模塊包括初始定位數(shù)據(jù)采集單元、環(huán)境影響定位數(shù)據(jù)采集單元和地圖內(nèi)存登記數(shù)據(jù)采集單元;
6、所述初始定位數(shù)據(jù)采集單元通過視覺傳感器和慣性測量儀器采集初始定位數(shù)據(jù),所述環(huán)境影響定位數(shù)據(jù)采集單元通過視覺傳感器、噪聲傳感器和激光雷達(dá)采集環(huán)境影響定位數(shù)據(jù),所述地圖內(nèi)存登記數(shù)據(jù)采集單元通過歷史地圖存儲管理庫和地圖更新軟件采集地圖內(nèi)存登記數(shù)據(jù),所述初始定位數(shù)據(jù)采集單元、環(huán)境影響定位數(shù)據(jù)采集單元和地圖內(nèi)存登記數(shù)據(jù)采集單元通過網(wǎng)絡(luò)與無人機導(dǎo)航數(shù)據(jù)計算模塊連接;
7、所述無人機導(dǎo)航數(shù)據(jù)計算模塊包括系統(tǒng)定位精度計算單元、環(huán)境影響計算單元和地圖內(nèi)存登記數(shù)據(jù)計算單元;
8、所述系統(tǒng)定位精度計算單元根據(jù)初始定位數(shù)據(jù)計算系統(tǒng)定位精度vz,所述環(huán)境影響計算單元根據(jù)環(huán)境影響定位數(shù)據(jù)計算環(huán)境校正系數(shù)ru,所述地圖內(nèi)存登記數(shù)據(jù)計算單元根據(jù)地圖內(nèi)存登記數(shù)據(jù)計算地圖內(nèi)存最佳刪減上限sj與最佳刪減下限lj,所述系統(tǒng)定位精度計算單元、環(huán)境影響計算單元和地圖內(nèi)存登記數(shù)據(jù)計算單元通過網(wǎng)絡(luò)與無人機分析模塊和無人機判斷模塊連接。
9、優(yōu)選的,所述初始定位數(shù)據(jù)采集單元根據(jù)初始定位數(shù)據(jù)特征對第i個真實位置坐標(biāo)進(jìn)行數(shù)據(jù)編號,所述第i個真實位置坐標(biāo)編號為分別代表第i個真實位置坐標(biāo)在三維空間中的x、y和z坐標(biāo)值。
10、優(yōu)選的,所述環(huán)境影響定位數(shù)據(jù)采集單元根據(jù)環(huán)境影響定位數(shù)據(jù)特征對第i個匹配點在初始畫面中的點位和第i個匹配點在受到環(huán)境影響后的點位進(jìn)行數(shù)據(jù)編號,所述第i個匹配點在初始畫面中的點位和第i個匹配點在受到環(huán)境影響后的點位分別編號為hi和gi。
11、優(yōu)選的,所述地圖內(nèi)存登記數(shù)據(jù)采集單元根據(jù)地圖內(nèi)存登記數(shù)據(jù)特征對系統(tǒng)中剩余的可用存儲空間與當(dāng)前地圖數(shù)據(jù)占用的內(nèi)存大小進(jìn)行數(shù)據(jù)編號,所述系統(tǒng)中剩余的可用存儲空間與當(dāng)前地圖數(shù)據(jù)占用的內(nèi)存大小分別編號為k1和k2。
12、優(yōu)選的,所述系統(tǒng)定位精度計算單元根據(jù)初始定位數(shù)據(jù)計算系統(tǒng)定位精度vz,其計算公式為:
13、
14、公式中,vz表示系統(tǒng)定位精度,表示第i個真實位置坐標(biāo),表示第i個系統(tǒng)預(yù)測位置坐標(biāo),n表示位置坐標(biāo)總數(shù)。
15、優(yōu)選的,所述環(huán)境影響計算單元根據(jù)環(huán)境影響定位數(shù)據(jù)計算環(huán)境校正系數(shù)ru,其計算公式為:
16、
17、公式中,ru表示環(huán)境校正系數(shù),hi表示第i個匹配點在初始畫面中的點位,gi表示第i個匹配點在受到環(huán)境影響后的點位,t表示位姿變換矩陣,||·||表示歐幾里得距離,表示位姿變換矩陣,n表示匹配點個數(shù)。
18、優(yōu)選的,所述地圖內(nèi)存登記數(shù)據(jù)計算單元根據(jù)地圖內(nèi)存登記數(shù)據(jù)計算地圖內(nèi)存最佳刪減上限sj,其計算公式為:
19、
20、公式中,sj表示地圖內(nèi)存最佳刪減上限,k1表示系統(tǒng)中剩余的可用存儲空間,k2表示當(dāng)前地圖數(shù)據(jù)占用的內(nèi)存大小,γ表示系統(tǒng)預(yù)設(shè)的刪減上限比例。
21、優(yōu)選的,所述地圖內(nèi)存登記數(shù)據(jù)計算單元根據(jù)地圖內(nèi)存登記數(shù)據(jù)計算地圖內(nèi)存最佳刪減下限lj,其計算公式為:
22、lj=max(k2-k1,k2*β)
23、公式中,lj表示地圖內(nèi)存最佳刪減下限,k1表示系統(tǒng)中剩余的可用存儲空間,k2表示當(dāng)前地圖數(shù)據(jù)占用的內(nèi)存大小,β表示系統(tǒng)預(yù)設(shè)的刪減下限比例。
24、優(yōu)選的,所述無人機分析模塊根據(jù)導(dǎo)航數(shù)據(jù)計算模塊的結(jié)果,分析定位精度是否滿足要求;
25、所述無人機判斷模塊根據(jù)導(dǎo)航數(shù)據(jù)計算模塊的結(jié)果判斷誤差積累是否在接受范圍內(nèi),地圖是否需要更新;
26、所述無人機執(zhí)行模塊根據(jù)無人機分析模塊和無人機判斷模塊的評定結(jié)果,執(zhí)行相應(yīng)指令。
27、優(yōu)選的,基于視覺slam的無人機自主定位導(dǎo)航方法,包括以下步驟:
28、步驟一、建立無人機導(dǎo)航數(shù)據(jù)獲取模塊、無人機導(dǎo)航數(shù)據(jù)計算模塊、無人機分析模塊、無人機判斷模塊和無人機執(zhí)行模塊;
29、步驟二、無人機導(dǎo)航數(shù)據(jù)獲取模塊采集數(shù)據(jù);
30、步驟三、無人機導(dǎo)航數(shù)據(jù)計算模塊進(jìn)行數(shù)據(jù)計算;
31、步驟四、無人機分析模塊根據(jù)導(dǎo)航數(shù)據(jù)計算模塊的結(jié)果,分析定位精度是否滿足要求;
32、步驟五、無人機判斷模塊根據(jù)導(dǎo)航數(shù)據(jù)計算模塊的結(jié)果判斷誤差積累是否在接受范圍內(nèi),地圖是否需要更新;
33、步驟六、無人機執(zhí)行模塊根據(jù)無人機分析模塊和無人機判斷模塊的評定結(jié)果,執(zhí)行相應(yīng)指令。
34、與現(xiàn)有技術(shù)相比,本發(fā)明提供了基于視覺slam的無人機自主定位導(dǎo)航系統(tǒng)及方法,具備以下有益效果:
35、1、本發(fā)明通過計算系統(tǒng)定位精度vz,評估系統(tǒng)使用的可靠性,為無人機提供準(zhǔn)確的定位導(dǎo)向,有助于提高無人機導(dǎo)航的準(zhǔn)確性,能夠及時發(fā)現(xiàn)定位過程中的問題,為后續(xù)系統(tǒng)的調(diào)整提供及時的反饋。
36、2、本發(fā)明通過計算環(huán)境校正系數(shù)ru能夠有效補償環(huán)境誤差,提高定位精度,根據(jù)實時環(huán)境變化調(diào)整環(huán)境校正系數(shù)ru,使系統(tǒng)能夠適應(yīng)不同的工作環(huán)境。
37、3、本發(fā)明通過地圖內(nèi)存登記數(shù)據(jù)計算單元計算地圖內(nèi)存最佳刪減上限sj與最佳刪減下限lj,能確保地圖數(shù)據(jù)在滿足導(dǎo)航需求的前提下,合理占用系統(tǒng)內(nèi)存,防止內(nèi)存溢出,通過設(shè)定最小保留量,保證地圖的基本功能不受影響,維持系統(tǒng)的正常運行和導(dǎo)航功能。