1.一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃方法,其特征在于,包括以下步驟:
2.如權(quán)利要求1所述的一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃方法,其特征在于:步驟1中利用cartographer純定位模式算法對無gps環(huán)境下的無人機(jī)進(jìn)行定位,首先從激光雷達(dá)、imu、里程計(jì)獲取環(huán)境數(shù)據(jù),包括激光雷達(dá)得到的整個(gè)區(qū)域的點(diǎn)云數(shù)據(jù),imu得到的無人機(jī)的姿態(tài)和加速度,里程計(jì)得到的無人機(jī)的飛行距離,對多個(gè)傳感器的環(huán)境數(shù)據(jù)進(jìn)行數(shù)據(jù)同步和去噪,使用imu數(shù)據(jù)和運(yùn)動(dòng)模型估計(jì)無人機(jī)的初始位姿;接著使用事先針對環(huán)境建立的地圖作為占據(jù)柵格地圖,將當(dāng)前激光雷達(dá)掃描數(shù)據(jù)與占據(jù)柵格地圖進(jìn)行匹配,精確估計(jì)無人機(jī)的當(dāng)前位姿,并將當(dāng)前的精確位姿加入位姿圖進(jìn)行全局優(yōu)化,減少累積誤差;然后根據(jù)優(yōu)化后的位姿更新占據(jù)柵格地圖,檢測閉環(huán)并修正誤差,進(jìn)一步提高地圖精度;最后發(fā)布并存儲構(gòu)建的地圖和無人機(jī)的位姿結(jié)果。
3.如權(quán)利要求1所述的一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃方法,其特征在于:步驟2中首先定義障礙物地圖中的相關(guān)參數(shù),包括地圖原點(diǎn)、地圖實(shí)際尺寸、地圖分辨率、地圖膨脹距離和占據(jù)圖尺寸,然后將激光雷達(dá)掃描得到的整個(gè)區(qū)域的點(diǎn)云數(shù)據(jù)根據(jù)地圖膨脹距離進(jìn)行膨脹,再利用八叉樹構(gòu)建地圖;利用八叉樹構(gòu)建障礙物地圖的具體過程如下:①初始化八叉樹,定義整個(gè)空間的邊界,初始化根節(jié)點(diǎn),根節(jié)點(diǎn)是八叉樹的最高層級節(jié)點(diǎn);②將每個(gè)節(jié)點(diǎn)的空間劃分為八個(gè)大小相等的子空間,并為每個(gè)子空間創(chuàng)建一個(gè)子節(jié)點(diǎn);③繼續(xù)對每個(gè)子節(jié)點(diǎn)進(jìn)行步驟②相同的劃分,直到達(dá)到預(yù)定的細(xì)分層數(shù)或空間內(nèi)障礙物的密度達(dá)到設(shè)定閾值;④將點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn)插入到八叉樹中相應(yīng)的葉子節(jié)點(diǎn),根據(jù)應(yīng)用需求,將葉子節(jié)點(diǎn)標(biāo)記為占據(jù)節(jié)點(diǎn)、空閑節(jié)點(diǎn)或部分占據(jù)節(jié)點(diǎn),當(dāng)節(jié)點(diǎn)的空間沒有被障礙物占據(jù)時(shí)是空閑節(jié)點(diǎn),當(dāng)節(jié)點(diǎn)的空間完全被障礙物占據(jù)時(shí)是占據(jù)節(jié)點(diǎn),當(dāng)節(jié)點(diǎn)的空間只有部分區(qū)域被障礙物占據(jù)時(shí)是部分占據(jù)節(jié)點(diǎn),最后形成障礙物地圖。
4.如權(quán)利要求1所述的一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃方法,其特征在于:步驟3中根據(jù)點(diǎn)云的z坐標(biāo)對障礙物地圖進(jìn)行分層,假設(shè)z坐標(biāo)的范圍是n1~n2,以△h為間隔進(jìn)行分層,則高度n1對應(yīng)的層級為0,高度n1+△h對應(yīng)的層級為1,以此類推得到全部高度對應(yīng)的層級;讀取激光雷達(dá)、imu和里程計(jì)的環(huán)境數(shù)據(jù)和步驟2構(gòu)建的障礙物地圖,將步驟1得到的無人機(jī)位置作為起始點(diǎn),人工設(shè)定目標(biāo)點(diǎn)的位置,根據(jù)起始點(diǎn)和目標(biāo)點(diǎn)的z坐標(biāo)得到其所在的障礙物地圖層級,計(jì)算障礙物地圖中每一層的總障礙物概率,計(jì)算公式如下:
5.如權(quán)利要求1所述的一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃方法,其特征在于:步驟4中基于自適應(yīng)權(quán)重的分層a星算法的代價(jià)函數(shù)表達(dá)式為:
6.如權(quán)利要求5所述的一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃方法,其特征在于:步驟4中使用基于自適應(yīng)權(quán)重的分層a星算法進(jìn)行無人機(jī)路徑規(guī)劃,定義open列表和closed列表,將其初始化為空表,然后執(zhí)行如下操作:①將起始點(diǎn)和其在子地圖中的空間鄰域點(diǎn)加入open列表,若其空間鄰域點(diǎn)為子地圖中的障礙物點(diǎn),則不加入open列表中;當(dāng)添加的空間鄰域點(diǎn)不在初始點(diǎn)所在的層而是在其他的層時(shí),需要對層與層之間是否存在障礙物進(jìn)行判斷,若層之間存在障礙物,則不將該空間鄰域點(diǎn)加入到open列表中;②根據(jù)公式(2)-(6)計(jì)算open列表中各點(diǎn)的總代價(jià)值,選擇具有最小總代價(jià)值的點(diǎn)作為父節(jié)點(diǎn)加入到closed列表,并將該父節(jié)點(diǎn)的空間鄰域點(diǎn)加入到open列表中,若其空間鄰域點(diǎn)為子地圖中的障礙物點(diǎn),則不加入open列表中;當(dāng)添加的空間鄰域點(diǎn)不在父節(jié)點(diǎn)所在的層而是在其他的層時(shí),需要對層與層之間是否存在障礙物進(jìn)行判斷,若層之間存在障礙物,則不將該空間鄰域點(diǎn)加入到open列表中;③當(dāng)該父節(jié)點(diǎn)的空間鄰域點(diǎn)已在open列表中時(shí),此時(shí)需要計(jì)算從起始點(diǎn)到父節(jié)點(diǎn)再到空間鄰域點(diǎn)的實(shí)際代價(jià)值,如果此實(shí)際代價(jià)值小于起始點(diǎn)到空間鄰域點(diǎn)的實(shí)際代價(jià)值,則將父節(jié)點(diǎn)作為該鄰域空間點(diǎn)的起始點(diǎn);④檢查open列表中是否包含目標(biāo)點(diǎn),如果包含目標(biāo)點(diǎn),則搜索結(jié)束,通過父節(jié)點(diǎn)鏈回溯重構(gòu)從起始點(diǎn)到目標(biāo)點(diǎn)的路徑;否則,執(zhí)行步驟②-④操作。
7.一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃系統(tǒng),其特征在于,包括處理器和存儲器,存儲器用于存儲程序指令,處理器用于調(diào)用存儲器中的程序指令執(zhí)行如權(quán)利要求1-6任一項(xiàng)所述的一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃方法。
8.一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃系統(tǒng),其特征在于,包括可讀存儲介質(zhì),所述可讀存儲介質(zhì)上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的一種基于自適應(yīng)權(quán)重和分層的a星無人機(jī)路徑規(guī)劃方法。