本發(fā)明涉及無(wú)人直升機(jī)航跡規(guī)劃領(lǐng)域,特別是一種無(wú)人機(jī)快遞自動(dòng)投送路徑規(guī)劃方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的不斷進(jìn)步,電子購(gòu)物以其多樣性和方便快捷等優(yōu)勢(shì),在人們的日常生活中變得越來(lái)越普及。越來(lái)越多的人,包括一些鄉(xiāng)村的村民,都紛紛加入到網(wǎng)購(gòu)行列中來(lái)??爝f行業(yè)是與電子購(gòu)物息息相關(guān)、密不可分的。近年來(lái),隨著快遞服務(wù)規(guī)模的不斷擴(kuò)大,對(duì)投遞效率的要求也越來(lái)越高,使得快遞企業(yè)面臨著新的挑戰(zhàn)。同時(shí),隨著城市交通擁堵情況的加劇以及地處偏僻的鄉(xiāng)村地區(qū)快件業(yè)務(wù)量的快速增長(zhǎng),使得快遞投送的時(shí)間成本也在不斷增大。此外,人力以及運(yùn)輸?shù)扔残猿杀镜牟粩嗌蠞q,使得快遞投送的總成本正變得越來(lái)越高。因此,越來(lái)越多的快遞企業(yè)正在尋求高科技手段和現(xiàn)代化物流設(shè)備來(lái)提高快遞投送的效率以降低運(yùn)輸成本。
伴隨著無(wú)人機(jī)技術(shù)的進(jìn)步,無(wú)人機(jī)以其成本低、效費(fèi)比高、機(jī)動(dòng)性好、使用方便等優(yōu)點(diǎn),正在越來(lái)越多的領(lǐng)域得到應(yīng)用。而在快遞投送方面,無(wú)人機(jī)能夠不受地面交通的限制,可以有效提高運(yùn)送效率;而且,使用無(wú)人機(jī)向偏僻地區(qū)投送快遞,經(jīng)濟(jì)成本相對(duì)于人工運(yùn)送來(lái)說(shuō)也大大降低了。此外,由于無(wú)人機(jī)自動(dòng)充電技術(shù)的發(fā)展,也大大提高了無(wú)人機(jī)的活動(dòng)范圍,使得無(wú)人機(jī)的投送半徑大大增加,可以很好地解決較偏遠(yuǎn)地區(qū)快遞投送難的問(wèn)題。但是,無(wú)人機(jī)在快遞投送過(guò)程中需要考慮的因素很多,比如飛行路徑的選擇以及充電續(xù)航問(wèn)題,要想無(wú)人機(jī)快速、準(zhǔn)確、高效地將貨物送達(dá),特別是希望無(wú)人機(jī)在一次飛行任務(wù)中可將多個(gè)快件依次送達(dá)至不同的目標(biāo)站點(diǎn)(我們稱之為多件多點(diǎn)投送),顯然,有效的路徑規(guī)劃算法就是必不可少的。路徑規(guī)劃具有以下作用:第一,能使無(wú)人機(jī)將多件貨物依次送達(dá)至各自對(duì)應(yīng)的目標(biāo)站點(diǎn)并順利返回到快遞集散中心;第二,能選擇最優(yōu)的非任務(wù)站點(diǎn)作為總的路徑規(guī)劃的中轉(zhuǎn)站點(diǎn),方便無(wú)人機(jī)充電以提高續(xù)航能力,從而有效提高無(wú)人機(jī)的活動(dòng)范圍;第三,可使無(wú)人機(jī)在完成任務(wù)的前提下總的飛行路程最短,這樣便能有效地提高快件投遞效率,減少能源消耗。
本發(fā)明中用到的名詞解釋如下:
快遞無(wú)人機(jī):能夠投遞快件并可通過(guò)充電樁自主充電的無(wú)人機(jī)。本發(fā)明中提到的無(wú)人機(jī)都指這種類型的無(wú)人機(jī)。
航跡規(guī)劃:飛行器能夠滿足飛行任務(wù)約束條件的飛行軌跡。
快遞集散中心:快遞公司的快遞集中地,快件在這個(gè)地點(diǎn)進(jìn)行集中處理、分撿、分類、派件。
快遞站點(diǎn):指區(qū)域內(nèi)設(shè)置的所有快遞投送點(diǎn),安裝有快遞柜、能夠自動(dòng)接收無(wú)人機(jī)快遞的站點(diǎn)。每個(gè)快遞站點(diǎn)都設(shè)置有充電樁,以滿足無(wú)人機(jī)長(zhǎng)距離飛行的充電需求。
目標(biāo)站點(diǎn):在無(wú)人機(jī)的一次快遞投送任務(wù)中快件需要被送達(dá)的快遞站點(diǎn)。
中轉(zhuǎn)站點(diǎn):指無(wú)人機(jī)在執(zhí)行一次長(zhǎng)距離快遞投送任務(wù)時(shí)需要經(jīng)停以補(bǔ)充電量的快遞站點(diǎn)。在一次飛行任務(wù)中,無(wú)人機(jī)可能需要經(jīng)停一個(gè)或多個(gè)中轉(zhuǎn)站點(diǎn),視總的飛行距離而定。中轉(zhuǎn)站點(diǎn)它(它們)不是本次任務(wù)的目標(biāo)站點(diǎn),其作用僅為供無(wú)人機(jī)借助其充電樁補(bǔ)充電量,以便無(wú)人機(jī)能夠安全地飛行到下一個(gè)站點(diǎn)。
最大單次飛行距離Lmax:無(wú)人機(jī)在滿負(fù)載情況下,充滿電后考慮安全裕量的最大飛行路程的長(zhǎng)度,根據(jù)無(wú)人機(jī)的性能參數(shù)進(jìn)行設(shè)置。在本發(fā)明的實(shí)施例中取Lmax=10km。
旅行推銷(xiāo)商問(wèn)題:又稱為T(mén)SP問(wèn)題(Traveling Salesman Problem,TSP),它是計(jì)算機(jī)領(lǐng)域一個(gè)非常經(jīng)典的問(wèn)題,該問(wèn)題可以簡(jiǎn)單地表述為:假設(shè)有n座城市,要求找出一條最短且封閉的旅行路線,使推銷(xiāo)商訪問(wèn)其中每座城市僅一次。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是,針對(duì)現(xiàn)有技術(shù)不足,提供一種無(wú)人機(jī)快遞自動(dòng)投送路徑規(guī)劃方法。
為解決上述技術(shù)問(wèn)題,本發(fā)明所采用的技術(shù)方案是:一種無(wú)人機(jī)快遞自動(dòng)投送路徑規(guī)劃方法,包括以下步驟:
(1)利用掃描設(shè)備掃描待派送的每個(gè)快件的地址信息,確定本次無(wú)人機(jī)快遞投送任務(wù)的所有目標(biāo)站點(diǎn)(假設(shè)共有n個(gè),包括快遞集散中心),然后基于旅行推銷(xiāo)商問(wèn)題的解決方法,采用遺傳算法對(duì)所有這些目標(biāo)站點(diǎn)進(jìn)行路徑規(guī)劃,使得無(wú)人機(jī)從快遞集散中心出發(fā)、經(jīng)過(guò)每個(gè)目標(biāo)站點(diǎn)僅一次且再返回到快遞集散中心的總飛行路程最短;在這條規(guī)劃出的路徑上,無(wú)人機(jī)從快遞集散中心出發(fā),依次途徑路徑規(guī)劃算法確定好次序的各個(gè)目標(biāo)站點(diǎn),最后返回到起點(diǎn)快遞集散中心;這一步具體的求解方法與采用遺傳算法求解TSP問(wèn)題完全相同,很多相關(guān)文獻(xiàn)都有詳細(xì)介紹,這里不再贅述;
(2)在步驟(1)規(guī)劃出的路徑上,計(jì)算出相鄰站點(diǎn)與站點(diǎn)之間每一條路徑段的長(zhǎng)度Si,并判斷各路徑段的長(zhǎng)度Si與無(wú)人機(jī)的最大單次飛行距離Lmax的大小關(guān)系;
(3)若每一條路徑段的長(zhǎng)度Si都小于或等于Lmax,則步驟(1)規(guī)劃出的路徑便是所求的路徑,轉(zhuǎn)到步驟(11)繼續(xù)執(zhí)行;否則,執(zhí)行下一步驟;
(4)在步驟(1)規(guī)劃出的路徑上,若存在某些路徑段的長(zhǎng)度Si大于Lmax,則需要在這些路徑段附近尋找中轉(zhuǎn)站點(diǎn),供無(wú)人機(jī)補(bǔ)充電量,使無(wú)人機(jī)能夠安全地飛過(guò)這些路徑段;假設(shè)在步驟(1)規(guī)劃出的路徑上長(zhǎng)度大于Lmax的路徑段的數(shù)目是m,按照無(wú)人機(jī)途徑各個(gè)目標(biāo)站點(diǎn)的順序,依次將這些路徑段命名為k=1、2、…、m,對(duì)這些路徑段執(zhí)行以下操作;
(5)令k=1,取出第1條長(zhǎng)度大于Lmax的路徑段;
(6)分別以第k條路徑段的起點(diǎn)和終點(diǎn)為圓心、以Lmax為半徑畫(huà)兩個(gè)圓,根據(jù)這兩個(gè)圓的相對(duì)位置,按照下面兩種情況分別處理;
i)第一種情況:若這兩個(gè)圓有重疊區(qū)域并且在重疊區(qū)域內(nèi)存在有快遞站點(diǎn),則在位于重疊區(qū)域內(nèi)的所有快遞站點(diǎn)中找出一個(gè)最佳快遞站點(diǎn),它到本路徑段的兩個(gè)端點(diǎn)(起點(diǎn)和終點(diǎn))的距離之和為最短,選擇此快遞站點(diǎn)作為中轉(zhuǎn)站點(diǎn);若在重疊區(qū)域內(nèi)僅有一個(gè)快遞站點(diǎn),則直接將它確定為中轉(zhuǎn)站點(diǎn);因?yàn)榇酥修D(zhuǎn)站點(diǎn)到本路徑段兩個(gè)端點(diǎn)的距離都小于Lmax,所以該路徑段的中轉(zhuǎn)站點(diǎn)尋找完畢,轉(zhuǎn)到步驟(7);否則,執(zhí)行ii);
ii)第二種情況:若在兩個(gè)圓的重疊區(qū)域內(nèi)無(wú)快遞站點(diǎn)存在,或者作出的兩個(gè)圓無(wú)重疊區(qū)域,則分別在這兩個(gè)圓以內(nèi)的所有快遞站點(diǎn)中,尋找距離本路徑段的兩個(gè)端點(diǎn)的距離之和為最短的快遞站點(diǎn)并將它確定為中轉(zhuǎn)站點(diǎn),確定此中轉(zhuǎn)站點(diǎn)所在的圓,并將另一個(gè)圓的圓心與此中轉(zhuǎn)站點(diǎn)用一條直線相連;因?yàn)檫@條直線的長(zhǎng)度必定大于Lmax,所以需要再以這條直線作為一條新的路徑段,并分別以該直線的起點(diǎn)和終點(diǎn)為圓心、以Lmax為半徑畫(huà)兩個(gè)圓,然后轉(zhuǎn)到i);
(7)令k=k+1,判斷是否滿足k>m,若否,則轉(zhuǎn)到步驟(6);若是,則執(zhí)行下一步驟;
說(shuō)明:若經(jīng)過(guò)步驟(4)至步驟(7),在長(zhǎng)度大于Lmax的某些路徑段上無(wú)法找到合適的中轉(zhuǎn)站點(diǎn),則算法應(yīng)該停止。這種情況說(shuō)明原來(lái)的快遞站點(diǎn)部署不合理,需要修改快遞站點(diǎn)布網(wǎng)方案。此時(shí),應(yīng)在無(wú)人機(jī)快遞投送區(qū)域內(nèi)站點(diǎn)比較稀疏的局地適當(dāng)增加一些快遞站點(diǎn),其中一些可能為僅具有充電功能的中轉(zhuǎn)站點(diǎn),使得區(qū)域內(nèi)快遞站點(diǎn)的分布比較均勻。
(8)刪除多余的中轉(zhuǎn)站點(diǎn);按照步驟(4)至步驟(7),如果在路徑長(zhǎng)度大于Lmax的某一條路徑段k上,步驟ii)被重復(fù)執(zhí)行兩次或兩次以上,則經(jīng)過(guò)步驟-i)和步驟ii)的處理,在這條路徑k的附近,算法將會(huì)找到兩個(gè)或兩個(gè)以上的中轉(zhuǎn)站點(diǎn),其中可能會(huì)出現(xiàn)多余的中轉(zhuǎn)站點(diǎn);此時(shí),需要根據(jù)無(wú)人機(jī)的最大單次飛行距離Lmax判斷是否存在多余的中轉(zhuǎn)站點(diǎn),若有則將它或它們刪除;
具體刪除方法借助附圖中的圖1解釋如下:如圖1所示,假設(shè)站點(diǎn)I和I+1是本次投遞任務(wù)的兩個(gè)目標(biāo)站點(diǎn),站點(diǎn)Z1~Z4是區(qū)域內(nèi)位于這兩個(gè)目標(biāo)站點(diǎn)附近的其它快遞站點(diǎn)(非本次投遞任務(wù)的目標(biāo)站點(diǎn),也稱為非任務(wù)站點(diǎn))。分別以I和I+1這兩個(gè)站點(diǎn)為圓心、以Lmax為半徑畫(huà)兩個(gè)圓,由圖可見(jiàn)這兩個(gè)圓并無(wú)重疊區(qū)域,連接這兩個(gè)目標(biāo)站點(diǎn)的路徑段的長(zhǎng)度大于2Lmax。無(wú)人機(jī)從站點(diǎn)I出發(fā),無(wú)法直接飛到站點(diǎn)I+1,必須在這兩個(gè)目標(biāo)站點(diǎn)之間尋找合適的中轉(zhuǎn)站點(diǎn)經(jīng)停以補(bǔ)充電量。按照步驟(8),算法首先會(huì)找到站點(diǎn)Z1作為第1個(gè)中轉(zhuǎn)站點(diǎn);接著,將站點(diǎn)Z1和站點(diǎn)I+1用一條直線相連,構(gòu)成一條新的路徑段,再分別以該直線的起點(diǎn)Z1和終點(diǎn)I+1為圓心、以Lmax為半徑畫(huà)兩個(gè)圓,這兩個(gè)圓也不相交,沒(méi)有重疊區(qū)域,所以需再次執(zhí)行步驟(8),算法又找到站點(diǎn)Z2作為第2個(gè)中轉(zhuǎn)站點(diǎn);以此類推,繼續(xù)執(zhí)行步驟(8),算法進(jìn)一步找到站點(diǎn)Z3作為第3個(gè)中轉(zhuǎn)站點(diǎn);最后,以Z3為圓心、以Lmax為半徑畫(huà)圓,該圓與站點(diǎn)I+1的圓有重疊區(qū)域,并且在該區(qū)域內(nèi)有一個(gè)站點(diǎn)Z4,執(zhí)行步驟(7),算法找到站點(diǎn)Z4作為第4個(gè)中轉(zhuǎn)站點(diǎn)。所以,經(jīng)過(guò)步驟(7)和(8),在目標(biāo)站點(diǎn)I和I+1附近,算法依次找到Z1、Z2、Z3、Z4四個(gè)中轉(zhuǎn)站點(diǎn)。但是,經(jīng)過(guò)仔細(xì)觀察會(huì)發(fā)現(xiàn),由于Z1和Z2都在以站點(diǎn)I為圓心、以Lmax為半徑的圓以內(nèi),無(wú)人機(jī)在目標(biāo)站點(diǎn)I完成快遞投送并充滿電后可以直接飛到站點(diǎn)Z2而無(wú)需充電,所以Z1就是多余的中轉(zhuǎn)站點(diǎn),需要?jiǎng)h除。這樣,最終確定的中轉(zhuǎn)站點(diǎn)實(shí)際上只有Z2、Z3、Z4三個(gè),無(wú)人機(jī)從目標(biāo)站點(diǎn)I到目標(biāo)站點(diǎn)I+1按照I→Z2→Z3→Z4→I+1的路徑飛行,途徑中轉(zhuǎn)站點(diǎn)Z2、Z3、Z4通過(guò)它們的充電樁補(bǔ)充電量。
步驟(4)至步驟(8)執(zhí)行完畢,就可以尋找出無(wú)人機(jī)在整個(gè)飛行路徑上的全部中轉(zhuǎn)站點(diǎn)。
(9)根據(jù)無(wú)人機(jī)的最大單次飛行距離Lmax,確定出在哪些目標(biāo)站點(diǎn)既需要投遞快件又需要充電,在哪些目標(biāo)站點(diǎn)只需投遞快件而無(wú)需充電,在給無(wú)人機(jī)的任務(wù)規(guī)劃中注明這些信息,從而節(jié)省無(wú)人機(jī)的總投遞時(shí)間;
(10)飛行路徑規(guī)劃完畢,將路徑規(guī)劃信息發(fā)送給無(wú)人機(jī)開(kāi)始執(zhí)行派件任務(wù)。
與現(xiàn)有技術(shù)相比,本發(fā)明所具有的突出優(yōu)點(diǎn)為:能在所有的快遞站點(diǎn)中選擇最優(yōu)的非任務(wù)站點(diǎn)(非目標(biāo)站點(diǎn))作為總的路徑規(guī)劃的中轉(zhuǎn)站點(diǎn),供無(wú)人機(jī)充電提高續(xù)航能力,以有效提高無(wú)人機(jī)的活動(dòng)范圍。同時(shí),可以使無(wú)人機(jī)在完成任務(wù)的前提下總的飛行路程最短,總的時(shí)間花費(fèi)最少,從而最有效地減少能源的消耗、提高快遞投送效率。
附圖說(shuō)明
圖1為刪除多余中轉(zhuǎn)站點(diǎn)的方法的示意圖。圖中,Z1是多余的中轉(zhuǎn)站點(diǎn),需要?jiǎng)h除。
圖2為本發(fā)明實(shí)施例快遞站點(diǎn)分布示意圖,選取其中的快遞站點(diǎn)12和15作為本次無(wú)人機(jī)快遞投送任務(wù)的兩個(gè)目標(biāo)站點(diǎn)。如圖2所示,在一個(gè)30km×30km矩形區(qū)域內(nèi)總共設(shè)置有18個(gè)快遞站點(diǎn),它們的(橫坐標(biāo)x,縱坐標(biāo)y)分別為:站點(diǎn)1(0,0),站點(diǎn)2(9,3),站點(diǎn)3(16,4.5),站點(diǎn)4(20.5,6.5),站點(diǎn)5(23,2.5),站點(diǎn)6(30,2),站點(diǎn)7(25,8),站點(diǎn)8(18,13),站點(diǎn)9(24,19),站點(diǎn)10(25,24),站點(diǎn)11(21,23),站點(diǎn)12(12,20),站點(diǎn)13(8,23),站點(diǎn)14(8,28),站點(diǎn)15(5,30),站點(diǎn)16(1.5,25),站點(diǎn)17(4,18),站點(diǎn)18(3,9)。其中,站點(diǎn)1設(shè)置為快遞集散中心,各坐標(biāo)的單位為km。
圖3為本發(fā)明實(shí)施例當(dāng)快遞集散中心(站點(diǎn)1)到目標(biāo)站點(diǎn)12的距離大于無(wú)人機(jī)的最大單次飛行距離Lmax時(shí),分別以站點(diǎn)1和站點(diǎn)12為圓心、以10km為半徑(假設(shè)無(wú)人機(jī)的最大單次飛行距離Lmax=10km)作兩個(gè)圓的示意圖。
圖4為本發(fā)明實(shí)施例在路徑段(站點(diǎn)1→站點(diǎn)12)附近尋找到中轉(zhuǎn)站點(diǎn)18,它到站點(diǎn)1和站點(diǎn)12的距離之和為最短的示意圖。
圖5為本發(fā)明實(shí)施例分別以中轉(zhuǎn)站點(diǎn)18和目標(biāo)站點(diǎn)12為圓心、以Lmax=10km為半徑畫(huà)兩個(gè)圓,在兩個(gè)圓的重疊區(qū)域內(nèi)找到站點(diǎn)17作為中轉(zhuǎn)站點(diǎn)的示意圖。
圖6為本發(fā)明實(shí)施例從快遞集散中心(站點(diǎn)1)到目標(biāo)站點(diǎn)12的路徑規(guī)劃示意圖,它由站點(diǎn)1→站點(diǎn)18、站點(diǎn)18→站點(diǎn)17、站點(diǎn)17→站點(diǎn)12三條路徑段構(gòu)成。
圖7為本發(fā)明實(shí)施例的路徑規(guī)劃結(jié)果的示意圖,規(guī)劃出的路徑為:站點(diǎn)1→站點(diǎn)18→站點(diǎn)17→站點(diǎn)12→站點(diǎn)14→站點(diǎn)15→站點(diǎn)16→站點(diǎn)17→站點(diǎn)18→站點(diǎn)1,如圖中帶箭頭的封閉曲線所示。其中,站點(diǎn)18、17、14、16為中轉(zhuǎn)站點(diǎn);無(wú)人機(jī)在站點(diǎn)18、17、12、14、16處需要補(bǔ)充電量;而在17、18這兩個(gè)站點(diǎn)無(wú)人機(jī)往返都需要經(jīng)停補(bǔ)充電量。
圖8為本發(fā)明具體實(shí)現(xiàn)過(guò)程流程圖。
具體實(shí)施方式
本發(fā)明的主要任務(wù)是為無(wú)人機(jī)在一次快遞投送任務(wù)中,根據(jù)其最大單次飛行距離Lmax,規(guī)劃出一條能夠途徑所有的目標(biāo)站點(diǎn)且具有最少數(shù)量中轉(zhuǎn)站點(diǎn)的最短飛行路線,使無(wú)人機(jī)既可以安全地完成快遞投送任務(wù),又具有最節(jié)約的飛行成本。該方案的具體實(shí)現(xiàn)方式可用示例演示如下:
如圖2所示,假設(shè)本次無(wú)人機(jī)快遞投送任務(wù)有兩個(gè)目標(biāo)站點(diǎn),分別為站點(diǎn)12和站點(diǎn)15;并假設(shè)無(wú)人機(jī)的最大單次飛行距離Lmax=10km。
(1)掃描快件條形碼或者二維碼讀取每個(gè)快件的地址信息,確定本次投遞任務(wù)所有快件各自對(duì)應(yīng)的目標(biāo)站點(diǎn);然后,基于旅行推銷(xiāo)商問(wèn)題的解決方法,采用遺傳算法對(duì)兩個(gè)目標(biāo)站點(diǎn)進(jìn)行路徑規(guī)劃,使得無(wú)人機(jī)從快遞集散中心(站點(diǎn)1)出發(fā)、經(jīng)過(guò)每個(gè)目標(biāo)站點(diǎn)僅一次且再返回到快遞集散中心的總飛行路程最短,規(guī)劃出的路徑如圖2中的封閉虛線所示:站點(diǎn)1→站點(diǎn)12→站點(diǎn)15→站點(diǎn)1,設(shè)無(wú)人機(jī)按逆時(shí)針?lè)较蝻w行;
(2)在步驟(1)規(guī)劃出的路徑上,計(jì)算出相鄰站點(diǎn)與站點(diǎn)之間每一條路徑段的長(zhǎng)度Si,并判斷各路徑段的長(zhǎng)度與無(wú)人機(jī)的最大單次飛行距離Lmax的大小關(guān)系;如圖2所示,第1條路徑段從快遞集散中心(站點(diǎn)1)到目標(biāo)站點(diǎn)12,路徑段的長(zhǎng)度S1=23.32km;第2條路徑段從目標(biāo)站點(diǎn)12到目標(biāo)站點(diǎn)15,路徑段的長(zhǎng)度S2=12.21km;第3條路徑段從目標(biāo)站點(diǎn)15返回到快遞集散中心(站點(diǎn)1),路徑段的長(zhǎng)度S3=30.41km;可見(jiàn),S1、S2、S3均大于10km,所以在本實(shí)施例中,長(zhǎng)度大于Lmax的路徑段的數(shù)目m=3;
【若每一條路徑段的長(zhǎng)度Si均小于或等于Lmax,則步驟(1)規(guī)劃出的路徑便是所求的路徑。但由于本實(shí)施例中所有各條路徑段的長(zhǎng)度S1、S2、S3均大于Lmax,因此需要以步驟(1)規(guī)劃出的路徑為基礎(chǔ)繼續(xù)進(jìn)行路徑規(guī)劃,按照無(wú)人機(jī)的飛行順序,依次在各條路徑段的附近尋找合適的中轉(zhuǎn)站點(diǎn)?!?/p>
(3)令k=1,尋找第1條路徑段的中轉(zhuǎn)站點(diǎn);如圖3所示,分別以第1條路徑段的起點(diǎn)(站點(diǎn)1)和終點(diǎn)(站點(diǎn)12)為圓心,以Lmax=10km為半徑畫(huà)兩個(gè)圓;由圖3可見(jiàn),作出的兩個(gè)圓并無(wú)重疊區(qū)域,但在這兩個(gè)圓以內(nèi)包含有站點(diǎn)2、8、11、13、14、17、18;如圖4所示,通過(guò)計(jì)算可得,站點(diǎn)18到站點(diǎn)1和站點(diǎn)12的距離之和為最短,因此選擇站點(diǎn)18作為第1條路徑段(快遞集散中心→目標(biāo)站點(diǎn)12)的第1個(gè)中轉(zhuǎn)站點(diǎn);
(4)因步驟(3)確定的中轉(zhuǎn)站點(diǎn)18到目標(biāo)站點(diǎn)12的距離仍大于Lmax=10km,故繼續(xù)以站點(diǎn)18和站點(diǎn)12為圓心、Lmax=10km為半徑畫(huà)兩個(gè)圓;如圖5所示,得到的兩個(gè)圓有重疊區(qū)域并且在重疊區(qū)域內(nèi)有僅有一個(gè)站點(diǎn),即站點(diǎn)17,因此直接選擇站點(diǎn)17作為第2個(gè)中轉(zhuǎn)站點(diǎn);由于站點(diǎn)17位于以站點(diǎn)12為圓心、以Lmax=10km為半徑的圓內(nèi),所以無(wú)人機(jī)在站點(diǎn)17補(bǔ)充電量后可以直達(dá)站點(diǎn)12;至此,從快遞集散中心(站點(diǎn)1)到目標(biāo)站點(diǎn)12的路徑規(guī)劃完成,為站點(diǎn)1→站點(diǎn)18→站點(diǎn)17→站點(diǎn)12,如圖6中帶箭頭的折線所示;
(5)令k=2,尋找第2條路徑段的中轉(zhuǎn)站點(diǎn);分別以第2條路徑段的起點(diǎn)(站點(diǎn)12)和終點(diǎn)(站點(diǎn)15)為圓心、以Lmax=10km為半徑畫(huà)兩個(gè)圓;由于從站點(diǎn)12到站點(diǎn)15的路徑段的長(zhǎng)度S2=12.21km<2Lmax,所以這兩個(gè)圓會(huì)有重疊區(qū)域,在此重疊區(qū)域內(nèi),通過(guò)計(jì)算可得,站點(diǎn)14到站點(diǎn)12和站點(diǎn)15的距離之和為最短,因此選擇站點(diǎn)14作為第2條路徑段(目標(biāo)站點(diǎn)12→目標(biāo)站點(diǎn)15)的中轉(zhuǎn)站點(diǎn);
(6)令k=3,尋找第3條路徑段的中轉(zhuǎn)站點(diǎn);仿照步驟(3)和步驟(4)的原理,可以找到第3條路徑段(目標(biāo)站點(diǎn)15→站點(diǎn)1)的中轉(zhuǎn)站點(diǎn)共有三個(gè),為站點(diǎn)16、站點(diǎn)17、站點(diǎn)18;
(7)在所有各條路徑段的中轉(zhuǎn)站點(diǎn)都找到之后,就可以得到無(wú)人機(jī)的總飛行路徑,如圖7中帶箭頭的封閉折線所示,為站點(diǎn)1→站點(diǎn)18→站點(diǎn)17→站點(diǎn)12→站點(diǎn)14→站點(diǎn)15→站點(diǎn)16→站點(diǎn)17→站點(diǎn)18→站點(diǎn)1,其中,站點(diǎn)14、16、17、18為算法確定的中轉(zhuǎn)站點(diǎn);
(8)判斷有無(wú)多余的中轉(zhuǎn)站點(diǎn)需要?jiǎng)h除;在步驟(7)確定的總飛行路徑上,根據(jù)無(wú)人機(jī)的最大單次飛行距離Lmax,判斷中轉(zhuǎn)站點(diǎn)14、16、17、18中是否存在多余的中轉(zhuǎn)站點(diǎn),在本實(shí)施例中,不存在多余的中轉(zhuǎn)站點(diǎn)需要?jiǎng)h除;
(9)判斷無(wú)人機(jī)在哪個(gè)目標(biāo)站點(diǎn)既需要投遞快件又需要充電、在哪個(gè)目標(biāo)站點(diǎn)只需投遞快件而無(wú)需充電;如圖7所示,根據(jù)無(wú)人機(jī)最大單次飛行距離Lmax,在本實(shí)施例中,因?yàn)閺恼军c(diǎn)17→站點(diǎn)12→站點(diǎn)14的距離為:8.25km+8.94km=17.19km>Lmax=10km,因此,當(dāng)無(wú)人機(jī)在中轉(zhuǎn)站點(diǎn)17補(bǔ)充電量后,在目標(biāo)站點(diǎn)12處仍需補(bǔ)充電量,才能飛到站點(diǎn)14,所以目標(biāo)站點(diǎn)12屬于既需要投遞快件又需要充電的類型;而從站點(diǎn)14→站點(diǎn)15→站點(diǎn)16的距離為:3.61km+6.10km=9.71km<Lmax=10km,因此,當(dāng)無(wú)人機(jī)在中轉(zhuǎn)站點(diǎn)14補(bǔ)充電量后,無(wú)需再在站點(diǎn)15補(bǔ)充電量,所以目標(biāo)站點(diǎn)15屬于只需投遞快件而無(wú)需充電的類型。
至此,本實(shí)施例快遞無(wú)人機(jī)的飛行路徑規(guī)劃完畢。完整的路徑規(guī)劃信息如下:①總飛行路徑:站點(diǎn)1→站點(diǎn)18→站點(diǎn)17→站點(diǎn)12→站點(diǎn)14→站點(diǎn)15→站點(diǎn)16→站點(diǎn)17→站點(diǎn)18→站點(diǎn)1,如圖7中帶箭頭的封閉折線所示;②站點(diǎn)18、17、14、16為中轉(zhuǎn)站點(diǎn);③無(wú)人機(jī)在站點(diǎn)18、17、12、14、16處需要通過(guò)其充電樁補(bǔ)充電量;④在17、18這兩個(gè)中轉(zhuǎn)站點(diǎn)處,無(wú)人機(jī)往返都需要經(jīng)停補(bǔ)充電量;⑤在目標(biāo)站點(diǎn)12處無(wú)人機(jī)既需要投遞快件也需要充電,而在目標(biāo)站點(diǎn)15處無(wú)人機(jī)只需投遞快件而無(wú)需充電。
這條規(guī)劃出的總飛行路徑,滿足途徑所有的目標(biāo)站點(diǎn)、具有最少數(shù)量的中轉(zhuǎn)站點(diǎn)并且飛行路線最短,無(wú)人機(jī)既可以安全地完成快遞投送任務(wù),又具有最節(jié)約的飛行成本。