本發(fā)明涉及無人機(jī)技術(shù)領(lǐng)域,尤其涉及一種飛行控制方法及裝置,執(zhí)行設(shè)備。
背景技術(shù):
如何安全、可靠的進(jìn)行無人機(jī)的飛行控制是無人機(jī)領(lǐng)域的重要課題?,F(xiàn)有技術(shù)中的無人機(jī)飛行控制方法有兩種。第一種,基于地圖數(shù)據(jù)中預(yù)先標(biāo)記出來的障礙物,在進(jìn)行路徑規(guī)劃時進(jìn)行避障設(shè)計,確定無人機(jī)的航線,基于確定的航線控制無人機(jī)飛行。第二種,基于無人機(jī)上的避障傳感器獲取的地圖信息,在無人機(jī)飛行過程中,進(jìn)行局部航線規(guī)劃,以在控制無人機(jī)在沿預(yù)設(shè)航線飛行時,能及時避開障礙物飛行。在第一種飛行控制方案中,飛行航線基于地圖數(shù)據(jù)中已經(jīng)標(biāo)注的障礙物進(jìn)行規(guī)劃,對于障礙物標(biāo)注的準(zhǔn)確性要求較高,若出現(xiàn)障礙物誤標(biāo)或漏標(biāo)的情況,將導(dǎo)致飛行控制不可靠。而第二種飛行控制方案中,進(jìn)行局部航線規(guī)劃時,僅考慮到當(dāng)前障礙物信息,避障設(shè)計考慮因素不全面,同樣存在規(guī)劃的飛行控制不可靠的問題,并且,會導(dǎo)致飛行控制效率會降低。
可見,現(xiàn)有技術(shù)中的飛行控制方法至少存在由于航線規(guī)劃疏漏導(dǎo)致的飛行控制不可靠的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種飛行控制方法,解決現(xiàn)有技術(shù)中的飛行控制方法存在的航線規(guī)劃疏漏導(dǎo)致的飛行控制不可靠的問題。
第一方面,本發(fā)明實施例提供了一種飛行控制方法,包括:
在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息;
根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線;
控制所述執(zhí)行設(shè)備沿所述第二航線飛行。
第二方面,本發(fā)明實施例還提供了一種飛行控制裝置,包括:
第一障礙物檢測模塊,用于在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息;
避障航線規(guī)劃模塊,用于根據(jù)所述第一障礙物檢測模塊獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線;
第一飛行控制模塊,用于控制所述執(zhí)行設(shè)備沿所述避障航線規(guī)劃模塊規(guī)劃的第二航線飛行。
第三方面,本發(fā)明實施例還提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)本發(fā)明實施例中提供的飛行控制方法的步驟。
第四方面,本發(fā)明實施例還提供了一種執(zhí)行設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在處理器上運行的計算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計算機(jī)程序時實現(xiàn)本發(fā)明實施例中所述的飛行控制方法。
這樣,本發(fā)明實施例公開的飛行控制方法,通過在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息,并根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線,然后,控制所述執(zhí)行設(shè)備沿所述第二航線飛行,解決了現(xiàn)有技術(shù)中的飛行控制方法存在的由于航線規(guī)劃疏漏導(dǎo)致的飛行控制不可靠的問題。通過在檢測到障礙物時,結(jié)合預(yù)先規(guī)劃的第一航線重新規(guī)劃航線,使得避障飛行的航線與預(yù)先規(guī)劃的第一航線偏離較小,有效減小飛行控制的偏差,提高飛行控制的可靠性。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例一的飛行控制方法流程圖;
圖2是本發(fā)明實施例二的飛行控制方法流程圖;
圖3是本發(fā)明實施例二的飛行控制方法規(guī)劃的第二航線和第三航線示意圖;
圖4是本發(fā)明實施例三的飛行控制裝置結(jié)構(gòu)示意圖之一;
圖5是本發(fā)明實施例三的飛行控制裝置結(jié)構(gòu)示意圖之二;
圖6是本發(fā)明實施例三的飛行控制裝置結(jié)構(gòu)示意圖之三。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實施例公開的飛行控制方法,適用于無人機(jī)、飛行器等飛行設(shè)備,本發(fā)明實施例中統(tǒng)稱為執(zhí)行設(shè)備。為了便于讀者理解本方案,以下實施例中,以執(zhí)行設(shè)備為無人機(jī)為例對技術(shù)方案進(jìn)行詳細(xì)說明。
實施例一:
如圖1所示,本發(fā)明實施例公開了一種飛行控制方法,包括:步驟100至步驟120。
步驟100,在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息。
具體實施時,可以首先獲取地圖服務(wù)商提供的地圖數(shù)據(jù),然后,根據(jù)執(zhí)行設(shè)備的待作業(yè)區(qū)域或待飛行區(qū)域確定地圖中的待規(guī)劃地圖區(qū)域,并基于確定的待規(guī)劃地圖區(qū)域進(jìn)行航線規(guī)劃。
地圖數(shù)據(jù)由一系列定位坐標(biāo)點組成,同時地圖數(shù)據(jù)中定位坐標(biāo)具有地貌相關(guān)的屬性標(biāo)識,如某一定位坐標(biāo)點是建筑物、河流、樹木、山脈、平原等。具體實施時,根據(jù)無人機(jī)的飛行控制要求,將阻礙無人機(jī)飛行的地貌統(tǒng)一標(biāo)識為障礙物。
在進(jìn)行航線規(guī)劃時,可以待規(guī)劃地圖區(qū)域的矢量地圖轉(zhuǎn)化為柵格地圖,然后,將所述柵格地圖中的障礙物標(biāo)記為背景點、將非障礙物標(biāo)記為前景點,用不同的像素值表示背景點和前景點,可以得到二值化的柵格圖。在二值化的柵格圖中,所述有前景點構(gòu)成的區(qū)域為非障礙物區(qū)域。進(jìn)一步基于設(shè)定的起點和終點,對非障礙物區(qū)域進(jìn)行細(xì)化或?qū)φ系K物區(qū)域進(jìn)行膨脹,可以得到連通起點和終點的多條安全飛行路徑。最后,可以選擇一條最短安全飛行路徑做為無人機(jī)飛行的第一航線。
具體實施時,還可以將待規(guī)劃地圖區(qū)域中所有障礙物通過線段連接成一個閉合區(qū)域,而障礙物則包含在上述閉合區(qū)域內(nèi)。然后,選擇上述閉合區(qū)域以外的坐標(biāo)點連接成的路徑做為無人機(jī)飛行的第一航線。
基于地圖數(shù)據(jù)進(jìn)行第一航線規(guī)劃時,還可以采用現(xiàn)有技術(shù)中的其他方法,此處不一一例舉。在進(jìn)行無人機(jī)的飛行控制時,規(guī)劃得到的無人機(jī)的航線由依序排列的航點數(shù)據(jù)構(gòu)成,每個航點數(shù)據(jù)包括:坐標(biāo)、航向。本步驟中,得到的第一航線為依序排列的航點數(shù)據(jù)構(gòu)成,每個航點數(shù)據(jù)包括:坐標(biāo)、航向。具體實施時,第一航線可以表示為P={p1、p2、p3…pn},其中,p1、p2、p3、pn是航線P上的航點,可以用矢量坐標(biāo)表示。
無人機(jī)控制系統(tǒng)根據(jù)接收到的第一航線數(shù)據(jù)控制無人機(jī)飛行。無人機(jī)執(zhí)行第一航線的過程實際上是無人機(jī)依次飛過所述第一航線上個航點的過程。在無人機(jī)執(zhí)行第一航線的過程中,無人機(jī)通過避障傳感器實時檢測前進(jìn)方向上的障礙物信息。具體實施時,所述避障傳感器包括但不限于雙目視覺系統(tǒng)、TOF(Time of Flight)深度傳感器。無人機(jī)通過所述避障傳感器檢測的數(shù)據(jù)可以確定前方是否有障礙物,以及獲得障礙物距離當(dāng)前航點的距離。
步驟110,根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線。
當(dāng)檢測到無人機(jī)前進(jìn)方向上有障礙物時,根據(jù)獲取的障礙物信息,如障礙物距離當(dāng)前航點的距離,以及所述第一航線,規(guī)劃避開所述障礙物的第二航線。例如,將未執(zhí)行的第一航線中的航點的坐標(biāo)偏移一定距離且航向不變,由坐標(biāo)偏移后的航點組成的航線作為第二航線的一部分。再將無人機(jī)由當(dāng)前航點飛行至偏移后的首個未執(zhí)行的第一航線中的航點的航線作為第二航線的起始部分,以使得無人機(jī)能夠避開障礙物飛行。具體實施時,偏移的距離根據(jù)無人機(jī)的自身參數(shù)確定,例如偏移一個機(jī)身寬度。
步驟120,控制所述執(zhí)行設(shè)備沿所述第二航線飛行。
無人機(jī)的控制系統(tǒng)控制無人機(jī)執(zhí)行重新規(guī)劃的第二航線,即控制無人機(jī)依次飛過第二航線上的各航點。
本發(fā)明實施例公開的飛行控制方法,通過在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息,并根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線,然后,控制所述執(zhí)行設(shè)備沿所述第二航線飛行,解決了現(xiàn)有技術(shù)中的飛行控制方法存在的由于航線規(guī)劃疏漏導(dǎo)致的飛行控制不可靠的問題。通過在檢測到障礙物時,結(jié)合預(yù)先規(guī)劃的第一航線重新規(guī)劃航線,使得避障飛行的航線與預(yù)先規(guī)劃的第一航線偏離較小,有效減小飛行控制的偏差,提高飛行控制的可靠性。
實施例二:
如圖2所示,本發(fā)明實施例公開了一種飛行控制方法,包括:步驟200至步驟250。
步驟200,在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息。
第一航線的規(guī)劃方法參見實施例一或者現(xiàn)有技術(shù),此處不再贅述。
具體實施時,在進(jìn)行無人機(jī)的飛行控制時,無人機(jī)控制系統(tǒng)獲取的第一航線由依序排列的航點數(shù)據(jù)構(gòu)成,每個航點數(shù)據(jù)包括:坐標(biāo)、航向。本步驟中,得到的第一航線為依序排列的航點數(shù)據(jù)構(gòu),每個航點數(shù)據(jù)包括:坐標(biāo)、航向。例如,第一航線可以表示為P={p1、p2、p3…pn},其中,p1、p2、p3、pn是航線P上的航點,用矢量坐標(biāo)表示。
無人機(jī)控制系統(tǒng)根據(jù)接收到的第一航線數(shù)據(jù)控制無人機(jī)飛行。無人機(jī)執(zhí)行第一航線的過程實際上是無人機(jī)依次飛過所述第一航線上個航點的過程。在無人機(jī)執(zhí)行第一航線的過程中,無人機(jī)的控制系統(tǒng)通過避障傳感器實時檢測前進(jìn)方向上的障礙物信息,所述障礙物信息包括:是否有障礙物,以及障礙物距離當(dāng)前航點的距離。
具體實施時,無人機(jī)的控制系統(tǒng)可以根據(jù)無人機(jī)的飛行要求,結(jié)合避障傳感器實時檢測前進(jìn)方向上的障礙物信息確定是否有障礙物,以及障礙物的方位、置信度等數(shù)據(jù)方位。所述無人機(jī)的飛行要求主要指無人機(jī)的物理尺寸以及安全要求。
步驟210,根據(jù)獲取的所述障礙物信息,控制所述執(zhí)行設(shè)備沿所述第一航線減速飛行至第一航點后,暫停飛行。
其中,所述第一航點為所述第一航線上距離所述障礙物大于或等于預(yù)設(shè)安全距離的航點。當(dāng)檢測到前方航線上有障礙物之后,首先要控制無人機(jī)在距離障礙物的安全距離之外停止飛行,可以進(jìn)一步提高飛行控制的可靠性。鑒于無人機(jī)以一定的速度執(zhí)行航線,因此,首先根據(jù)無人機(jī)的預(yù)設(shè)安全距離確定無人機(jī)停止飛行的所述第一航線上的第一航點,即所述第一航點距離所述障礙物大于或等于預(yù)設(shè)安全距離的距離。然后,根據(jù)當(dāng)前航點和第一航點之間的區(qū)里,以及無人機(jī)當(dāng)前的飛行速度,控制無人機(jī)減速飛行,并停止在所述第一航點pL,L小于n。
預(yù)設(shè)安全距離是根據(jù)無人機(jī)大小所確定的一個值,主要根據(jù)無人機(jī)的長寬高的具體尺寸,再分別加上一個容錯距離來確定,該容錯距離是一個能夠更好保障安全的距離,一般取值0.5至2米。
步驟220,根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線。
當(dāng)檢測到無人機(jī)前進(jìn)方向上有障礙物時,根據(jù)獲取的障礙物距離當(dāng)前航點的距離,結(jié)合所述第一航線,規(guī)劃避開所述障礙物的第二航線。具體實施時,所述根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線,包括:根據(jù)所述執(zhí)行設(shè)備已經(jīng)執(zhí)行的航點確定飛行安全區(qū)域;規(guī)劃從第一航點至所述飛行安全區(qū)域的起始段第二航線,其中,所述第一航點為所述第一航線上距離所述障礙物大于或等于預(yù)設(shè)安全距離的航點;以所述起始段第二航線的終點作為下一段第二航線的起點,按照與所述第一航線上第一航點以后的航點一致的航向規(guī)劃下一段第二航線。
飛行安全區(qū)域為根據(jù)無人機(jī)已經(jīng)執(zhí)行的航點確定的區(qū)域,具體實施時,所述根據(jù)所述執(zhí)行設(shè)備已經(jīng)執(zhí)行的航點確定飛行安全區(qū)域,包括:以已經(jīng)執(zhí)行的相鄰航點的間距作為矩形的第一邊長、第一航線的寬度作為第二邊長,分別確定矩形區(qū)域,其中,所述矩形區(qū)域的第二邊長對應(yīng)的邊的中心點與所述相鄰航點的連線相交;將所有所述矩形區(qū)域進(jìn)行拼接后覆蓋的區(qū)域,作為飛行安全區(qū)域。
仍以第一航線表示為P={p1、p2、p3…pn}為例,其中,p1、p2、p3、pn是航線P上的航點,如圖3所示的第一航線31,用矢量坐標(biāo)表示。航線上航點的屬性還包括:航線寬度。首先,將已執(zhí)行過的航點記為G={p1、p2、p3…pL},L<n,pL表示第一航點。對于G中已經(jīng)執(zhí)行過的航點,以相鄰兩個航點的間距,如p1和p2的間距,作為矩形的第一邊長,以第一航線的寬度作為舉行的第二邊長確定一個矩形,并且,所述矩形區(qū)域在地圖上的位置為:矩形的第二邊長對應(yīng)的邊的中點,如圖3中的b邊的中點,與所述相鄰航點的連線,如,如p1和p2的連線相交,即圖3中的o為b邊的中點。即第一航線從矩形區(qū)域中心穿過。按照此方法,每兩個相鄰航點可以確定一個矩形區(qū)域,最后,將根據(jù)已執(zhí)行航點確定的所有矩形區(qū)域進(jìn)行拼接,拼接后覆蓋的區(qū)域,作為飛行安全區(qū)域。
具體實施時,所述根據(jù)所述執(zhí)行設(shè)備已經(jīng)執(zhí)行的航點確定飛行安全區(qū)域時,還可以將所述執(zhí)行設(shè)備執(zhí)行第一航線的過程中已經(jīng)執(zhí)行的航點之間的連線圍合的閉合區(qū)域,確定為飛行安全區(qū)域。
仍以第一航線表示為P={p1、p2、p3…、pn}為例,其中,p1、p2、p3、pn是航線P上的航點,如圖3所示,用矢量坐標(biāo)表示。航線上航點的屬性還包括:航線寬度。首先,將已執(zhí)行過的航點記為G={p1、p2、p3…、pL},L<n,pL表示第一航點。然后,將G中的航點的連線得到的閉合區(qū)域稱為飛行安全區(qū)域。即無人機(jī)在該區(qū)域執(zhí)行時已經(jīng)被驗證是安全的。
規(guī)劃從第一航點至所述飛行安全區(qū)域的起始段第二航線時,首先選定的飛行安全區(qū)域內(nèi)的一個新航點。所述新航點的規(guī)劃方案以能量消耗最小為原則,例如可以沿垂直所述第一航點的航向的方向,以無人機(jī)的機(jī)身寬度為步長,將第一航點沿水平方向平移,直到平移后的第一航點進(jìn)入所述飛行安全區(qū)域。平移后的第一航點為選定的飛行安全區(qū)域內(nèi)的新航點。
優(yōu)選的,規(guī)劃從第一航點至所述飛行安全區(qū)域的起始段第二航線為:確定第一航點至所述飛行安全區(qū)域的最短航線,作為起始段第二航線。具體實施時,可以采用A-Star或D-Star路徑規(guī)劃方法確定第一航點至所述飛行安全區(qū)域的最短航線。起始段第二航線的終點為選定的飛行安全區(qū)域內(nèi)的新航點。
然后,從所述新航點起,規(guī)劃無人機(jī)的前進(jìn)航線。因為飛行安全區(qū)域是無人機(jī)已經(jīng)飛行過的區(qū)域,所以讓無人機(jī)飛回到已飛行過的區(qū)域是一種保障安全的策略。
以所述起始段第二航線的終點作為下一段第二航線的起點,按照與所述第一航線上第一航點以后的航點一致的航向規(guī)劃下一段第二航線時,可以將第一航線中第一航點以后的航點坐標(biāo)沿水平方向平移第一預(yù)設(shè)距離且航向不變,由坐標(biāo)平移后的航點組成下一段第二航線。其中,所述第一預(yù)設(shè)距離可以為根據(jù)無人機(jī)的機(jī)身寬度和飛行安全要求設(shè)定的距離。或者,以所述起始段第二航線的終點作為下一段第二航線的起點,按照與所述第一航線上第一航點以后的航點一致的航向規(guī)劃下一段第二航線時,將第一航線中第一航點以后的航點坐標(biāo)沿豎直方向平移第二預(yù)設(shè)距離且航向不變,由坐標(biāo)平移后的航點組成下一段第二航線。
仍以第一航線表示為P={p1、p2、p3…、pn}為例,其中,p1、p2、p3、pn是航線P上的航點,用矢量坐標(biāo)表示為pi=(xi,yi,zi,θi),xi,yi,zi為坐標(biāo)值,θi為航向。假設(shè)第一航點為pL,若機(jī)身寬度為W,則沿水平方向平移后的第一航點,即飛行安全區(qū)域內(nèi)的新航點表示為pL’=(xL’,yL’,zL’,θL’),其中,xL’=xL,yL’=y(tǒng)L+W,zL’=zL,θL’=θL。然后,采用現(xiàn)有技術(shù)中的方法規(guī)劃第一航點pL至飛行安全區(qū)域內(nèi)的新航點pL’之間的航線,作為第二航線的起始段。之后,第一航線P上pL以后的航點的坐標(biāo)相應(yīng)做平移,得到第二航線的下一段上的航點pi’=(xi,yi+W,zi,θi)。最后,得到的第二航線如圖3中的32。圖3中的33為障礙物。
具體實施時,還可以沿其他方向平移航點坐標(biāo),也可以平移其他距離,本實施例不再一一例舉。
由于起始段第二航線的終點在飛行安全區(qū)域內(nèi),因此,無人機(jī)從飛行安全區(qū)域開始前行,可以避開障礙物。同時,由于第二航線的后一段保持了第一航線中航點的航向,僅僅是將航點的水平或豎直坐標(biāo)進(jìn)行了平移,使得重新規(guī)劃的第二航線依然向第一航線的終點方向前進(jìn),減少了飛行控制的偏差,同時,減小了航線規(guī)劃的運算量,提高了飛行控制效率。
步驟230,控制所述執(zhí)行設(shè)備沿所述第二航線飛行。
無人機(jī)的控制系統(tǒng)控制無人機(jī)執(zhí)行重新規(guī)劃的第二航線,即控制無人機(jī)依次飛過第二航線上的各航點。
步驟240,在所述執(zhí)行設(shè)備沿所述第二航線飛行的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息。
無人機(jī)的控制系統(tǒng)根據(jù)重新規(guī)劃的第二航線控制無人機(jī)飛行,在飛行過程中,無人機(jī)實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息。無人機(jī)實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息的具體實施方式參見前述步驟,此處不再贅述。
步驟250,當(dāng)根據(jù)獲取的所述障礙物信息確定所述執(zhí)行設(shè)備已通過所述障礙物時,控制所述執(zhí)行設(shè)備沿第三航線飛回所述第一航線。
具體實施時,當(dāng)障礙物移出無人機(jī)的預(yù)設(shè)感知范圍內(nèi)時,或者,無人機(jī)與所述障礙物之間的距離大于預(yù)設(shè)距離時,可以確定無人機(jī)已通過所述障礙物。當(dāng)無人機(jī)通過所述障礙物之后,根據(jù)無人機(jī)當(dāng)前航點和所述第一航線,重新規(guī)劃第三航線,使得無人機(jī)沿所述第三航線飛回所述第一航線,并沿著第一航線飛至終點。
具體實施時,無人機(jī)的控制系統(tǒng)可以根據(jù)無人機(jī)的飛行要求,結(jié)合避障傳感器實時進(jìn)行障礙物搜索,以檢測前進(jìn)方向上的障礙物信息確定是否有障礙物。所述無人機(jī)的飛行要求主要指無人機(jī)的物理尺寸以及安全要求。
在進(jìn)行障礙物搜索時,首先,可以將步驟210中獲取的障礙物的數(shù)據(jù)轉(zhuǎn)換成柵格化地圖數(shù)據(jù)。例如,所述將獲取的障礙物的數(shù)據(jù)柵格化,采用柵格圖的描述方式描述障礙物的具體方位信息,障礙物的置信度可以根據(jù)障礙物占據(jù)的柵格的數(shù)值確定。然后,無人機(jī)在沿第二航線飛行過程中,對于之前建立的柵格圖中第二航線上無人機(jī)周圍指定范圍內(nèi)的每個柵格逐個搜索,如果某個柵格中障礙物的置信度大于預(yù)設(shè)的置信閾值,則判定障礙物依然存在,否則,認(rèn)為已經(jīng)通過障礙物。所述無人機(jī)周圍指定范圍通常指無人機(jī)前后20米,左右5米以內(nèi)組成的區(qū)域。
其中,所述第三航線為根據(jù)所述執(zhí)行設(shè)備的實時位置和所述第一航線所規(guī)劃。優(yōu)選的,所述第三航線為所述執(zhí)行設(shè)備的當(dāng)前位置和所述第一航線之間的最短安全飛行路徑。
具體實施時,當(dāng)根據(jù)獲取的所述障礙物信息確定所述執(zhí)行設(shè)備已通過所述障礙物時,將無人機(jī)在當(dāng)前航線,即第二航線上的當(dāng)前航點作為起始航點,如圖3中的PQ’,Q<n,將所述第一航線上與該所述起始航點PQ’對應(yīng)的航點PQ作為目標(biāo)航點,并采用A-Star或D-Star路徑規(guī)劃方法確定所述起始航點和目標(biāo)航點之間的最短安全路徑,作為第三航線,如圖3中的34。其中,所述第一航線上與該所述起始航點對應(yīng)的航點通過將所述起始航點的坐標(biāo)沿指定方向平移指定距離得到。其中,所述指定方向為由第一航線得到第二航線時進(jìn)行航點坐標(biāo)平移的反方向;所述指定距離為由第一航線得到第二航線時進(jìn)行航點坐標(biāo)平移的距離。
具體實施時,還可以間隔預(yù)設(shè)數(shù)量的航點,選擇第一航線上第一航點以后的M個航點作為目標(biāo)航點,并分別規(guī)劃所述起始航點到所述M個目標(biāo)航點之間的M條最短安全飛行路徑,然后選擇所述M條最短安全飛行路徑中最短的一條,作為第三航線。其中,M為大于1的整數(shù)。
具體實施時,在無人機(jī)沿第二航線飛行的過程中,獲取到前進(jìn)方向上有障礙物,則可以重復(fù)執(zhí)行根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線的步驟,繼續(xù)進(jìn)行避障飛行。
本發(fā)明實施例公開的飛行控制方法,通過在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息,并根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線,然后,控制所述執(zhí)行設(shè)備沿所述第二航線飛行,解決了現(xiàn)有技術(shù)中的飛行控制方法存在的由于航線規(guī)劃疏漏導(dǎo)致的飛行控制不可靠的問題。通過在檢測到障礙物時,結(jié)合預(yù)先規(guī)劃的第一航線重新規(guī)劃航線,使得避障飛行的航線與預(yù)先規(guī)劃的第一航線偏離較小,有效減小飛行控制的偏差,提高飛行控制的可靠性。
在執(zhí)行設(shè)備沿所述第二航線飛行的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息,當(dāng)根據(jù)獲取的所述障礙物信息確定所述執(zhí)行設(shè)備已通過所述障礙物時,控制所述執(zhí)行設(shè)備沿第三航線飛回所述第一航線,使得無人機(jī)最大程度執(zhí)行第一航線,進(jìn)一步提升飛行控制的可靠性。
實施例三:
相應(yīng)的,參見圖4,本發(fā)明還公開了一種飛行控制裝置,包括:
第一障礙物檢測模塊400,用于在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息;
避障航線規(guī)劃模塊410,用于根據(jù)所述第一障礙物檢測模塊400獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線;
第一飛行控制模塊420,用于控制所述執(zhí)行設(shè)備沿所述避障航線規(guī)劃模塊410規(guī)劃的第二航線飛行。
可選的,如圖5所示,所述裝置還包括:
第二障礙物檢測模塊430,用于在所述執(zhí)行設(shè)備沿所述第二航線飛行的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息;
第二飛行控制模塊440,用于當(dāng)根據(jù)所述第二障礙物檢測模塊430獲取的所述障礙物信息確定所述執(zhí)行設(shè)備已通過所述障礙物時,控制所述執(zhí)行設(shè)備沿第三航線飛回所述第一航線,其中,所述第三航線為根據(jù)所述執(zhí)行設(shè)備的實時位置和所述第一航線所規(guī)劃。
可選的,如圖5所示,所述避障航線規(guī)劃模塊410包括:
飛行安全區(qū)域確定單元4101,用于根據(jù)所述執(zhí)行設(shè)備已經(jīng)執(zhí)行的航點確定飛行安全區(qū)域;
第一避障航線規(guī)劃單元4102,用于規(guī)劃從第一航點至所述飛行安全區(qū)域的起始段第二航線,其中,所述第一航點為所述第一航線上距離所述障礙物大于或等于預(yù)設(shè)安全距離的航點;
第二避障航線規(guī)劃單元4103,用于以所述起始段第二航線的終點作為下一段第二航線的起點,按照與所述第一航線上第一航點以后的航點一致的航向規(guī)劃下一段第二航線。
可選的,所述飛行安全區(qū)域確定單元4101用于:
以已經(jīng)執(zhí)行的相鄰航點的間距作為矩形的第一邊長、第一航線的寬度作為第二邊長,分別確定矩形區(qū)域,其中,所述矩形區(qū)域的第二邊長對應(yīng)的邊的中心點與所述相鄰航點的連線相交;
將所有所述矩形區(qū)域進(jìn)行拼接后覆蓋的區(qū)域,作為飛行安全區(qū)域。
可選的,所述第一避障航線規(guī)劃單元4102具體用于:
確定第一航點至所述飛行安全區(qū)域的最短航線,作為起始段第二航線。
可選的,如圖6所示,所述裝置還包括:
第三飛行控制模塊450,用于根據(jù)獲取的所述障礙物信息,控制所述執(zhí)行設(shè)備沿所述第一航線減速飛行至第一航點后,暫停飛行。
其中,所述第一航點為所述第一航線上距離所述障礙物大于或等于預(yù)設(shè)安全距離的航點。當(dāng)檢測到前方航線上有障礙物之后,首先要控制無人機(jī)在距離障礙物的安全距離之外停止飛行,可以進(jìn)一步提高飛行控制的可靠性。鑒于無人機(jī)以一定的速度執(zhí)行航線,因此,首先根據(jù)無人機(jī)的預(yù)設(shè)安全距離確定無人機(jī)停止飛行的所述第一航線上的第一航點,即所述第一航點距離所述障礙物大于或等于預(yù)設(shè)安全距離的距離。然后,根據(jù)當(dāng)前航點和第一航點之間的區(qū)里,以及無人機(jī)當(dāng)前的飛行速度,控制無人機(jī)減速飛行,并停止在所述第一航點pL,L小于n。
預(yù)設(shè)安全距離是根據(jù)無人機(jī)大小所確定的一個值,主要根據(jù)無人機(jī)的長寬高的具體尺寸,再分別加上一個容錯距離來確定,該容錯距離是一個能夠更好保障安全的距離,一般取值0.5至2米。
本發(fā)明實施例公開的飛行控制裝置,通過在執(zhí)行設(shè)備執(zhí)行第一航線的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息,并根據(jù)獲取的所述障礙物信息以及所述第一航線,規(guī)劃第二航線,然后,控制所述執(zhí)行設(shè)備沿所述第二航線飛行,解決了現(xiàn)有技術(shù)中的飛行控制方法存在的由于航線規(guī)劃疏漏導(dǎo)致的飛行控制不可靠的問題。通過在檢測到障礙物時,結(jié)合預(yù)先規(guī)劃的第一航線重新規(guī)劃航線,使得避障飛行的航線與預(yù)先規(guī)劃的第一航線偏離較小,有效減小飛行控制的偏差,提高飛行控制的可靠性。
在執(zhí)行設(shè)備沿所述第二航線飛行的過程中,實時獲取所述執(zhí)行設(shè)備前進(jìn)方向上的障礙物信息,當(dāng)根據(jù)獲取的所述障礙物信息確定所述執(zhí)行設(shè)備已通過所述障礙物時,控制所述執(zhí)行設(shè)備沿第三航線飛回所述第一航線,使得無人機(jī)最大程度執(zhí)行第一航線,進(jìn)一步提升飛行控制的可靠性。
本發(fā)明的裝置實施例與方法相對應(yīng),裝置實施例中各模塊的具體實現(xiàn)方式參見方法是實施例,此處不再贅述。
相應(yīng)的,本發(fā)明還公開了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)本發(fā)明實施例一和實施例二所述的飛行控制方法的步驟。
相應(yīng)的,本發(fā)明還公開了一種執(zhí)行設(shè)備,所述執(zhí)行設(shè)備設(shè)置有障礙物傳感器;所述執(zhí)行設(shè)備還包括:處理器、存儲器及存儲在所述存儲器上并可在處理器上運行的計算機(jī)程序,所述處理器用于執(zhí)行存儲器中存儲的所述計算機(jī)程序,以實現(xiàn)如實施例一和實施例二所述的飛行控制方法。所述存儲器還用于存儲地圖數(shù)據(jù)。所述執(zhí)行設(shè)備可以為無人機(jī)或飛行器。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機(jī)軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
本領(lǐng)域普通技術(shù)人員可以理解,在本申請所提供的實施例中,所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),不經(jīng)過創(chuàng)造性勞動想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。